Commit e7f18e20 authored by malyusgun's avatar malyusgun
Browse files

add pages and users methods and refactor

parent 7d60ae94
Loading
Loading
Loading
Loading
+572 −352

File changed.

Preview size limit exceeded, changes collapsed.

+5 −3
Original line number Diff line number Diff line
{
  "name": "ShelfNote_backend",
  "version": "1.0.0",
  "main": "src/index.js",
  "main": "src/index.ts",
  "repository": "https://gl.iqdev.team/d.malygin/shelfnote_backend",
  "author": "Дмитрий Малюгин <d.malygin@iqdev.digital>",
  "license": "MIT",
  "type": "module",
  "scripts": {
    "start": "nodemon src/index.js"
    "start": "tsx watch src/index.ts"
  },
  "dependencies": {
    "@prisma/client": "^5.18.0",
@@ -20,10 +20,12 @@
  },
  "devDependencies": {
    "@types/node": "^22.3.0",
    "nodemon": "^3.1.4",
    "@types/node-telegram-bot-api": "^0.64.7",
    "@types/ws": "^8.5.12",
    "prettier": "^3.3.3",
    "prisma": "^5.18.0",
    "ts-node": "^10.9.2",
    "tsx": "^4.19.0",
    "typescript": "^5.5.4"
  }
}
+72 −28
Original line number Diff line number Diff line
@@ -18,21 +18,29 @@ datasource db {
model User {
  user_uuid     String        @id @default(uuid())
  nick_name     String        @unique
  password      String
  email         String
  first_name    String?
  middle_name   String?
  last_name     String?
  email         String?
  phone_number  String?
  settings      Json?
  home_entities Json?
  pages_uuid    Json?
}

model Home_entity {
model Page {
  user_uuid             String
  page_uuid             String @id @default(uuid())
  page_title            String
  page_icon             String
  page_navigation_order String
  background_path       String? @db.Text
  page_entities         Json?
}

model Entity {
  entity_uuid           String @id @default(uuid())
  entity_order          Int    @default(autoincrement())
  entity_type           String
  divider_height Int?
  divider_type   String?
  title                 String?
  text                  String? @db.Text
  font_size             String?
@@ -48,8 +56,44 @@ model Home_entity {
  table_data            Json?
}

model Setting {
  setting_uuid String @id @default(uuid())
  setting_name String @unique
  setting_value String
model Divider {
  entity_type           String
  entity_uuid           String @id @default(uuid())
  entity_order          Int
  divider_height        Int?
  divider_type          String?
}

model Paragraph {
  entity_type           String
  entity_uuid           String @id @default(uuid())
  entity_order          Int
  title                 String?
  text                  String? @db.Text
  font_size             String?
  paragraph_size        String?
  entity_position       String?
  entity_title_position String?
}

model Image {
  entity_type           String
  entity_uuid           String @id @default(uuid())
  entity_order          Int
  image_path            String? @db.Text
  image_width           Int?
  image_height          Int?
  image_scale           String?
  title                 String?
  text                  String? @db.Text
  font_size             String?
  paragraph_size        String?
  entity_title_position String?
  text_position         String?
  entity_position       String?
}
// model Setting {
//   setting_uuid  String @id @default(uuid())
//   setting_name  String @unique
//   setting_value String
// }
+58 −0
Original line number Diff line number Diff line
import EntitiesService from '../services/entitiesService';
import { IBodyPageUuid, IChangeEntitiesOrder, IWSRequest } from '../interface/requests';
import { IEntity } from '../interface/database';

class EntitiesController {
  async createEntity(req: IWSRequest<'createEntities', IEntity>) {
    try {
      return await EntitiesService.createEntity(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async createImage(req: Buffer) {
    try {
      return await EntitiesService.createImage(req);
    } catch (error) {
      console.log(error);
    }
  }
  async getEntities(req: IWSRequest<'getEntities', IBodyPageUuid>) {
    try {
      return await EntitiesService.getEntities(req.body.page_uuid);
    } catch (error) {
      console.log(error);
      return error;
    }
  }
  async editEntity(req: IWSRequest<'editEntity', IEntity>) {
    try {
      return await EntitiesService.editEntity(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async cropImage(req: IWSRequest<'cropImage', IEntity>) {
    try {
      return await EntitiesService.cropImage(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async changeEntitiesOrder(req: IChangeEntitiesOrder) {
    try {
      return await EntitiesService.changeEntitiesOrder(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async deleteEntity(req: IWSRequest<'deleteEntity', IEntity>) {
    try {
      return await EntitiesService.deleteEntity(req.body);
    } catch (error) {
      console.log(error);
    }
  }
}

export default new EntitiesController();
+60 −0
Original line number Diff line number Diff line
import HomeService from '../services/homeService.js';
import PagesService from '../services/pagesService';
import { IEditPageBackground, IBodyPageUuid, IWSRequest, IBodyPage } from '../interface/requests';

class HomeController {
  async getHomeBackground() {
class PagesController {
  async createPage(req: IWSRequest<'createPage', IBodyPage>) {
    try {
      return await HomeService.getHomeBackground();
      return await PagesService.createPage(req.body);
    } catch (error) {
      console.log(error);
      return error;
    }
  }
  async changeHomeBackground(req) {
  async getPage(req: IWSRequest<'getPage', IBodyPageUuid>) {
    try {
      return await HomeService.changeHomeBackground(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async removeHomeBackground() {
    try {
      await HomeService.removeHomeBackground();
    } catch (error) {
      console.log(error);
    }
  }
  async getEntities() {
    try {
      return await HomeService.getEntities();
      return await PagesService.getPage(req.body);
    } catch (error) {
      console.log(error);
      return error;
    }
  }
  async createEntity(req) {
    try {
      return await HomeService.createEntity(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async createImage(req) {
  async getPageBackground(req: IWSRequest<'deletePageBackground', IBodyPageUuid>) {
    try {
      return await HomeService.createImage(req);
      return await PagesService.getPageBackground(req.body.page_uuid);
    } catch (error) {
      console.log(error);
      return error;
    }
  }
  async editEntity(req) {
  async editPage(req: IWSRequest<'editPage', IBodyPage>) {
    try {
      return await HomeService.editEntity(req.body);
      return await PagesService.editPage(req.body);
    } catch (error) {
      console.log(error);
      return error;
    }
  }
  async cropImage(req) {
  async editPageBackground(req: IWSRequest<'editPageBackground', IEditPageBackground>) {
    try {
      return await HomeService.cropImage(req.body);
      return await PagesService.editPageBackground(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async deleteEntity(req) {
  async deletePage(req: IWSRequest<'deletePage', IBodyPage>) {
    try {
      return await HomeService.deleteEntity(req.body);
      return PagesService.deletePage(req.body);
    } catch (error) {
      console.log(error);
    }
  }
  async changeOrderEntity(req) {
  async deletePageBackground(req: IWSRequest<'deletePageBackground', IBodyPageUuid>) {
    try {
      return await HomeService.changeOrderEntity(req.body);
      await PagesService.deletePageBackground(req.body.page_uuid);
    } catch (error) {
      console.log(error);
    }
  }
}

export default new HomeController();
export default new PagesController();
Loading