Jelajahi Sumber

criação de model para usuarios

leonardo 3 bulan lalu
induk
melakukan
34c2608ec7
3 mengubah file dengan 52 tambahan dan 6 penghapusan
  1. 5 5
      app.js
  2. 1 1
      server.js
  3. 46 0
      src/models/Usuario.model.js

+ 5 - 5
app.js

@@ -2,11 +2,11 @@ import express from "express";
 import cors from "cors";
 import helmet from "helmet";
 import morgan from "morgan";
-import { config } from "./config/index.js";
-import { authMiddleware } from "./middleware/auth.js";
-import { rateLimitMiddleware } from "./middleware/rateLimit.js";
-import { errorHandler } from "./middleware/errorHandler.js";
-import { apiRouter } from "./routes/index.js";
+import { config } from "./src/config/index.js";
+import { authMiddleware } from "./src/middleware/auth.js";
+import { rateLimitMiddleware } from "./src/middleware/rateLimit.js";
+import { errorHandler } from "./src/middleware/errorHandler.js";
+import { apiRouter } from "./src/routes/index.js";
 
 export function createApp() {
   const app = express();

+ 1 - 1
server.js

@@ -1,5 +1,5 @@
 import { createApp } from "./app.js";
-import { config } from "./config/index.js";
+import { config } from "./src/config/index.js";
 
 const app = createApp();
 

+ 46 - 0
src/models/Usuario.model.js

@@ -0,0 +1,46 @@
+const { knex } = require("../config/db.config");
+const { Model } = require("objection");
+
+Model.knex(knex);
+const unique = require("objection-unique")({
+    fields: ["Id"],
+    identifiers: ["Id"]
+});
+
+class Usuario extends unique(Model) {
+    static get tableName() {
+        return "usuarios";
+    }
+
+    static get idColumn() {
+        return "Id";
+    }
+
+    $formatJson(json) {
+        const formatted = super.$formatJson(json);
+
+        try{
+            formatted.Perfil = JSON.parse(formatted.Perfil);
+        } catch (e) {
+            formatted.Perfil = [];
+        }
+
+        return formatted;
+    }
+
+    static get relationMappings() {
+        const { Setor } = require("./Setor");
+        return {
+            setor: {
+                relation: Model.HasOneRelation,
+                modelClass: Setor,
+                join: {
+                    to: "usuarios.Setor",
+                    from: "setores.Id"
+                }
+            }
+        };
+    }
+}
+
+module.exports.Usuario = Usuario;