diff --git a/package-lock.json b/package-lock.json index 8a68a34..399e7f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "pg": "^8.8.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "remult": "^0.16.0" + "remult": "^0.16.3-exp.1" }, "devDependencies": { "@types/compression": "^1.7.2", @@ -2800,9 +2800,9 @@ "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "node_modules/remult": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/remult/-/remult-0.16.1.tgz", - "integrity": "sha512-aUMTvyfdr/xgFPAIgBXHJc6SCReqMFBfG93KXjWvT6yBSDHRXM+Xu1s6coeMsCM8gildjER7f0i2+dIou8XnyA==", + "version": "0.16.3-exp.1", + "resolved": "https://registry.npmjs.org/remult/-/remult-0.16.3-exp.1.tgz", + "integrity": "sha512-PqQo6Gys4jqjP7nTTlMElzPrdrW6/XYppW/8yhqsYCIO/0fC1uO8EUEibEfBSBNEjgoEfdVcIEceiF403fqw4g==", "dependencies": { "reflect-metadata": "^0.1.13", "tslib": "^2.3.1", @@ -5479,9 +5479,9 @@ "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "remult": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/remult/-/remult-0.16.1.tgz", - "integrity": "sha512-aUMTvyfdr/xgFPAIgBXHJc6SCReqMFBfG93KXjWvT6yBSDHRXM+Xu1s6coeMsCM8gildjER7f0i2+dIou8XnyA==", + "version": "0.16.3-exp.1", + "resolved": "https://registry.npmjs.org/remult/-/remult-0.16.3-exp.1.tgz", + "integrity": "sha512-PqQo6Gys4jqjP7nTTlMElzPrdrW6/XYppW/8yhqsYCIO/0fC1uO8EUEibEfBSBNEjgoEfdVcIEceiF403fqw4g==", "requires": { "reflect-metadata": "^0.1.13", "tslib": "^2.3.1", diff --git a/package.json b/package.json index c28fdf3..e47e7b9 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "pg": "^8.8.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "remult": "^0.16.0" + "remult": "^0.16.3-exp.1" }, "devDependencies": { "@types/compression": "^1.7.2", diff --git a/src/shared/Task.ts b/src/shared/Task.ts index 3c7c3bb..0f104d5 100644 --- a/src/shared/Task.ts +++ b/src/shared/Task.ts @@ -1,22 +1,22 @@ -import { Allow, Entity, Fields, Validators } from "remult"; +import { Allow, describeClass, Entity, Fields, Validators } from "remult"; import { Roles } from "./Roles"; -@Entity("tasks", { - allowApiRead: Allow.authenticated, - allowApiUpdate: Allow.authenticated, - allowApiInsert: Roles.admin, - allowApiDelete: Roles.admin -}) export class Task { - @Fields.uuid() id!: string; - - @Fields.string({ - validate: Validators.required, - allowApiUpdate: Roles.admin - }) title = ''; - - @Fields.boolean() completed = false; } + +describeClass(Task, Entity("tasks", { + allowApiRead: Allow.authenticated, + allowApiUpdate: Allow.authenticated, + allowApiInsert: Roles.admin, + allowApiDelete: Roles.admin +}), { + id: Fields.uuid(), + title: Fields.string({ + validate: Validators.required, + allowApiUpdate: Roles.admin + }), + completed: Fields.boolean() +}) \ No newline at end of file diff --git a/src/shared/TasksController.ts b/src/shared/TasksController.ts index 99cbd5a..7ff2a08 100644 --- a/src/shared/TasksController.ts +++ b/src/shared/TasksController.ts @@ -1,9 +1,8 @@ -import { Allow, BackendMethod, remult } from "remult"; +import { Allow, BackendMethod, describeClass, remult } from "remult"; import { Task } from "./Task"; import { Roles } from "./Roles"; export class TasksController { - @BackendMethod({ allowed: Roles.admin }) static async setAll(completed: boolean) { const taskRepo = remult.repo(Task); @@ -12,3 +11,7 @@ export class TasksController { } } } + +describeClass(TasksController, undefined, undefined, { + setAll: BackendMethod({ allowed: Roles.admin }) +}) \ No newline at end of file