@openinc/parse-server-opendash 1.11.0 → 1.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/helper/pdf2img.d.ts +12 -0
  2. package/dist/helper/pdf2img.js +111 -0
  3. package/dist/hooks/Knowledge_Document.js +44 -2
  4. package/dist/hooks/Knowledge_DocumentPage.js +4 -0
  5. package/dist/index.js +0 -2
  6. package/dist/types/BDE_Unit.d.ts +2 -3
  7. package/dist/types/BDE_Unit.js +1 -4
  8. package/dist/types/Knowledge_DocumentPage.d.ts +4 -0
  9. package/dist/types/Knowledge_DocumentPage.js +6 -0
  10. package/dist/types/Maintenance_Article.d.ts +5 -6
  11. package/dist/types/Maintenance_Article.js +7 -10
  12. package/dist/types/Maintenance_Issuecategory.d.ts +2 -3
  13. package/dist/types/Maintenance_Issuecategory.js +1 -4
  14. package/dist/types/Maintenance_Schedule.d.ts +5 -3
  15. package/dist/types/Maintenance_Schedule.js +7 -4
  16. package/dist/types/Maintenance_Schedule_Execution.d.ts +35 -0
  17. package/dist/types/Maintenance_Schedule_Execution.js +50 -0
  18. package/dist/types/Maintenance_Schedule_Execution_Step.d.ts +40 -0
  19. package/dist/types/Maintenance_Schedule_Execution_Step.js +65 -0
  20. package/dist/types/Maintenance_Ticket.d.ts +3 -3
  21. package/dist/types/Maintenance_Ticket.js +6 -6
  22. package/dist/types/Maintenance_Ticket_Issuecategory.d.ts +3 -3
  23. package/dist/types/Maintenance_Ticket_Issuecategory.js +6 -6
  24. package/dist/types/Maintenance_Ticket_Kanban_State.d.ts +3 -3
  25. package/dist/types/Maintenance_Ticket_Kanban_State.js +6 -6
  26. package/dist/types/Maintenance_Ticket_Source.d.ts +3 -3
  27. package/dist/types/Maintenance_Ticket_Source.js +6 -6
  28. package/dist/types/Source.d.ts +2 -3
  29. package/dist/types/Source.js +1 -4
  30. package/dist/types/_Role.d.ts +2 -2
  31. package/dist/types/index.d.ts +4 -0
  32. package/dist/types/index.js +6 -2
  33. package/package.json +2 -1
  34. package/schema/Knowledge_DocumentPage.json +5 -0
  35. package/schema/Maintenance_Article.json +5 -5
  36. package/schema/Maintenance_Schedule.json +5 -0
  37. package/schema/Maintenance_Schedule_Execution.json +60 -0
  38. package/schema/Maintenance_Schedule_Execution_Step.json +66 -0
  39. package/schema/Maintenance_Schedule_Step.json +7 -9
  40. package/schema/Maintenance_Ticket.json +5 -5
  41. package/schema/Maintenance_Ticket_Issuecategory.json +5 -5
  42. package/schema/Maintenance_Ticket_Kanban_State.json +5 -5
  43. package/schema/Maintenance_Ticket_Source.json +4 -4
@@ -0,0 +1,12 @@
1
+ interface Options {
2
+ /** Number in px */
3
+ width?: number;
4
+ /** Number in px */
5
+ height?: number;
6
+ /** A list of pages to render instead of all of them */
7
+ page_numbers?: number[];
8
+ /** Output as base64 */
9
+ base64?: boolean;
10
+ }
11
+ export declare function convert(pdf: string, conversion_config?: Options): Promise<any[]>;
12
+ export {};
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ // @ts-nocheck
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.convert = void 0;
8
+ // Fork of: https://www.npmjs.com/package/pdf-img-convert
9
+ // node_modules/pdf-img-convert/pdf-img-convert.js
10
+ const node_fetch_1 = __importDefault(require("node-fetch"));
11
+ const strict_1 = __importDefault(require("assert/strict"));
12
+ // import pdfjs from "pdfjs-dist/legacy/build/pdf.js";
13
+ // import Canvas from "canvas";
14
+ // Somehow the import does not work
15
+ const pdfjs = require("pdfjs-dist/legacy/build/pdf.js");
16
+ const Canvas = require("canvas");
17
+ function NodeCanvasFactory() { }
18
+ NodeCanvasFactory.prototype = {
19
+ create: function NodeCanvasFactory_create(width, height) {
20
+ (0, strict_1.default)(width > 0 && height > 0, "Invalid canvas size");
21
+ var canvas = Canvas.createCanvas(width, height);
22
+ var context = canvas.getContext("2d");
23
+ return {
24
+ canvas: canvas,
25
+ context: context,
26
+ };
27
+ },
28
+ reset: function NodeCanvasFactory_reset(canvasAndContext, width, height) {
29
+ (0, strict_1.default)(canvasAndContext.canvas, "Canvas is not specified");
30
+ (0, strict_1.default)(width > 0 && height > 0, "Invalid canvas size");
31
+ canvasAndContext.canvas.width = width;
32
+ canvasAndContext.canvas.height = height;
33
+ },
34
+ destroy: function NodeCanvasFactory_destroy(canvasAndContext) {
35
+ (0, strict_1.default)(canvasAndContext.canvas, "Canvas is not specified");
36
+ // Zeroing the width and height cause Firefox to release graphics
37
+ // resources immediately, which can greatly reduce memory consumption.
38
+ canvasAndContext.canvas.width = 0;
39
+ canvasAndContext.canvas.height = 0;
40
+ canvasAndContext.canvas = null;
41
+ canvasAndContext.context = null;
42
+ },
43
+ };
44
+ async function convert(pdf, conversion_config = {}) {
45
+ // Get the PDF in Uint8Array form
46
+ const resp = await (0, node_fetch_1.default)(pdf);
47
+ const pdfData = new Uint8Array(await resp.arrayBuffer());
48
+ var outputPages = [];
49
+ var loadingTask = pdfjs.getDocument({ data: pdfData, verbosity: 0 });
50
+ var pdfDocument = await loadingTask.promise;
51
+ var canvasFactory = new NodeCanvasFactory();
52
+ if (conversion_config.height <= 0 || conversion_config.width <= 0)
53
+ console.error("Negative viewport dimension given. Defaulting to 100% scale.");
54
+ // If there are page numbers supplied in the conversion config
55
+ if (conversion_config.page_numbers)
56
+ for (let i = 0; i < conversion_config.page_numbers.length; i++) {
57
+ // This just pushes a render of the page to the array
58
+ let currentPage = await doc_render(pdfDocument, conversion_config.page_numbers[i], canvasFactory, conversion_config);
59
+ if (currentPage != null) {
60
+ // This allows for base64 conversion of output images
61
+ if (conversion_config.base64)
62
+ outputPages.push(currentPage.toString("base64"));
63
+ else
64
+ outputPages.push(new Uint8Array(currentPage));
65
+ }
66
+ }
67
+ // Otherwise just loop the whole doc
68
+ else
69
+ for (let i = 1; i <= pdfDocument.numPages; i++) {
70
+ let currentPage = await doc_render(pdfDocument, i, canvasFactory, conversion_config);
71
+ if (currentPage != null) {
72
+ // This allows for base64 conversion of output images
73
+ if (conversion_config.base64)
74
+ outputPages.push(currentPage.toString("base64"));
75
+ else
76
+ outputPages.push(new Uint8Array(currentPage));
77
+ }
78
+ }
79
+ return outputPages;
80
+ } // convert method
81
+ exports.convert = convert;
82
+ async function doc_render(pdfDocument, pageNo, canvasFactory, conversion_config) {
83
+ // Page number sanity check
84
+ if (pageNo < 1 || pageNo > pdfDocument.numPages) {
85
+ console.error("Invalid page number " + pageNo);
86
+ return;
87
+ }
88
+ // Get the page
89
+ let page = await pdfDocument.getPage(pageNo);
90
+ // Create a viewport at 100% scale
91
+ let outputScale = 1.0;
92
+ let viewport = page.getViewport({ scale: outputScale });
93
+ // Scale it up / down dependent on the sizes given in the config (if there
94
+ // are any)
95
+ if (conversion_config.width)
96
+ outputScale = conversion_config.width / viewport.width;
97
+ else if (conversion_config.height)
98
+ outputScale = conversion_config.height / viewport.height;
99
+ if (outputScale != 1 && outputScale > 0)
100
+ viewport = page.getViewport({ scale: outputScale });
101
+ let canvasAndContext = canvasFactory.create(viewport.width, viewport.height);
102
+ let renderContext = {
103
+ canvasContext: canvasAndContext.context,
104
+ viewport: viewport,
105
+ canvasFactory: canvasFactory,
106
+ };
107
+ let renderTask = await page.render(renderContext).promise;
108
+ // Convert the canvas to an image buffer.
109
+ let image = canvasAndContext.canvas.toBuffer();
110
+ return image;
111
+ } // doc_render
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.init = void 0;
4
+ const pdf2img_1 = require("../helper/pdf2img");
4
5
  const __1 = require("..");
5
6
  const types_1 = require("../types");
6
7
  async function init() {
@@ -8,11 +9,52 @@ async function init() {
8
9
  const { object, original, user } = request;
9
10
  await (0, __1.defaultHandler)(request);
10
11
  await (0, __1.defaultAclHandler)(request);
11
- // TODO
12
+ await (0, __1.immutableField)(request, "document");
12
13
  });
13
14
  (0, __1.afterSaveHook)(types_1.Knowledge_Document, async (request) => {
14
15
  const { object, original, user } = request;
15
- // TODO
16
+ const pdfUrl = object.document?.url();
17
+ const previousPdfUrl = original?.document?.url();
18
+ if (pdfUrl !== previousPdfUrl) {
19
+ const previousPages = await new Parse.Query(types_1.Knowledge_DocumentPage)
20
+ .equalTo("document", object)
21
+ .limit(1000000)
22
+ .find({ useMasterKey: true });
23
+ for (const page of previousPages) {
24
+ // page.image.destroy({ useMasterKey: true });
25
+ await page.image.destroy();
26
+ await page.destroy({ useMasterKey: true });
27
+ }
28
+ const images = await (0, pdf2img_1.convert)(pdfUrl, {
29
+ base64: true,
30
+ width: 2000,
31
+ });
32
+ for (let i = 0; i < images.length; i++) {
33
+ const page = i + 1;
34
+ const name = `page-${page}.png`;
35
+ const base64 = images[i];
36
+ const image = new Parse.File(name, { base64 }, "image/png");
37
+ const pageObject = new types_1.Knowledge_DocumentPage({
38
+ tenant: object.tenant,
39
+ document: object,
40
+ page,
41
+ image,
42
+ label: name,
43
+ });
44
+ await pageObject.save(null, { useMasterKey: true });
45
+ }
46
+ }
47
+ });
48
+ (0, __1.beforeDeleteHook)(types_1.Knowledge_Document, async (request) => {
49
+ const { object, original, user } = request;
50
+ const previousPages = await new Parse.Query(types_1.Knowledge_DocumentPage)
51
+ .equalTo("document", object)
52
+ .limit(1000000)
53
+ .find({ useMasterKey: true });
54
+ for (const page of previousPages) {
55
+ await page.image.destroy();
56
+ await page.destroy({ useMasterKey: true });
57
+ }
16
58
  });
17
59
  }
18
60
  exports.init = init;
@@ -14,5 +14,9 @@ async function init() {
14
14
  const { object, original, user } = request;
15
15
  // TODO
16
16
  });
17
+ (0, __1.beforeDeleteHook)(types_1.Knowledge_DocumentPage, async (request) => {
18
+ const { object, original, user } = request;
19
+ await object.image.destroy();
20
+ });
17
21
  }
18
22
  exports.init = init;
package/dist/index.js CHANGED
@@ -18,8 +18,6 @@ async function init(cfg = {}) {
18
18
  console.log(`[${pkg.name}] init (v${pkg.version})`);
19
19
  }
20
20
  catch (error) { }
21
- const config = await Parse.Config.get();
22
- exports.PREFIX = config.get("OPENDASH_CLASS_PREFIX") || exports.PREFIX;
23
21
  const schemaConfig = await (0, parse_server_schema_1.loadConfig)(cfg.configPath);
24
22
  try {
25
23
  await (0, parse_server_schema_1.up)(schemaConfig, (0, path_1.resolve)(__dirname, "../schema"), {
@@ -5,7 +5,7 @@ export interface BDE_UnitAttributes {
5
5
  objectId: string;
6
6
  createdAt: Date;
7
7
  updatedAt: Date;
8
- forms?: Parse.Relation<BDE_Form>;
8
+ forms: Parse.Relation<BDE_Unit, BDE_Form>;
9
9
  image?: Parse.File;
10
10
  name?: string;
11
11
  source?: string;
@@ -13,8 +13,7 @@ export interface BDE_UnitAttributes {
13
13
  export declare class BDE_Unit extends Parse.Object<BDE_UnitAttributes> {
14
14
  static className: string;
15
15
  constructor(data?: Partial<BDE_UnitAttributes>);
16
- get forms(): Parse.Relation<BDE_Form> | undefined;
17
- set forms(value: Parse.Relation<BDE_Form> | undefined);
16
+ get forms(): Parse.Relation<BDE_Unit, BDE_Form>;
18
17
  get image(): Parse.File | undefined;
19
18
  set image(value: Parse.File | undefined);
20
19
  get name(): string | undefined;
@@ -6,10 +6,7 @@ class BDE_Unit extends Parse.Object {
6
6
  super("OD3_BDE_Unit", data);
7
7
  }
8
8
  get forms() {
9
- return super.get("forms");
10
- }
11
- set forms(value) {
12
- super.set("forms", value);
9
+ return super.relation("forms");
13
10
  }
14
11
  get image() {
15
12
  return super.get("image");
@@ -1,5 +1,6 @@
1
1
  /// <reference types="parse" />
2
2
  import type { Knowledge_Document } from "./Knowledge_Document";
3
+ import type { Tenant } from "./Tenant";
3
4
  export interface Knowledge_DocumentPageAttributes {
4
5
  id: string;
5
6
  objectId: string;
@@ -10,6 +11,7 @@ export interface Knowledge_DocumentPageAttributes {
10
11
  image: Parse.File;
11
12
  label: string;
12
13
  page: number;
14
+ tenant: Tenant;
13
15
  }
14
16
  export declare class Knowledge_DocumentPage extends Parse.Object<Knowledge_DocumentPageAttributes> {
15
17
  static className: string;
@@ -24,4 +26,6 @@ export declare class Knowledge_DocumentPage extends Parse.Object<Knowledge_Docum
24
26
  set label(value: string);
25
27
  get page(): number;
26
28
  set page(value: number);
29
+ get tenant(): Tenant;
30
+ set tenant(value: Tenant);
27
31
  }
@@ -35,6 +35,12 @@ class Knowledge_DocumentPage extends Parse.Object {
35
35
  set page(value) {
36
36
  super.set("page", value);
37
37
  }
38
+ get tenant() {
39
+ return super.get("tenant");
40
+ }
41
+ set tenant(value) {
42
+ super.set("tenant", value);
43
+ }
38
44
  }
39
45
  exports.Knowledge_DocumentPage = Knowledge_DocumentPage;
40
46
  Knowledge_DocumentPage.className = "OD3_Knowledge_DocumentPage";
@@ -8,26 +8,25 @@ export interface Maintenance_ArticleAttributes {
8
8
  objectId: string;
9
9
  createdAt: Date;
10
10
  updatedAt: Date;
11
- author?: _User;
12
11
  body?: string;
13
- media?: Parse.Relation<Maintenance_Media>;
12
+ media: Parse.Relation<Maintenance_Article, Maintenance_Media>;
14
13
  subject?: string;
15
14
  tenant?: Tenant;
16
15
  ticket: Maintenance_Ticket;
16
+ user?: _User;
17
17
  }
18
18
  export declare class Maintenance_Article extends Parse.Object<Maintenance_ArticleAttributes> {
19
19
  static className: string;
20
20
  constructor(data?: Partial<Maintenance_ArticleAttributes>);
21
- get author(): _User | undefined;
22
- set author(value: _User | undefined);
23
21
  get body(): string | undefined;
24
22
  set body(value: string | undefined);
25
- get media(): Parse.Relation<Maintenance_Media> | undefined;
26
- set media(value: Parse.Relation<Maintenance_Media> | undefined);
23
+ get media(): Parse.Relation<Maintenance_Article, Maintenance_Media>;
27
24
  get subject(): string | undefined;
28
25
  set subject(value: string | undefined);
29
26
  get tenant(): Tenant | undefined;
30
27
  set tenant(value: Tenant | undefined);
31
28
  get ticket(): Maintenance_Ticket;
32
29
  set ticket(value: Maintenance_Ticket);
30
+ get user(): _User | undefined;
31
+ set user(value: _User | undefined);
33
32
  }
@@ -5,12 +5,6 @@ class Maintenance_Article extends Parse.Object {
5
5
  constructor(data) {
6
6
  super("OD3_Maintenance_Article", data);
7
7
  }
8
- get author() {
9
- return super.get("author");
10
- }
11
- set author(value) {
12
- super.set("author", value);
13
- }
14
8
  get body() {
15
9
  return super.get("body");
16
10
  }
@@ -18,10 +12,7 @@ class Maintenance_Article extends Parse.Object {
18
12
  super.set("body", value);
19
13
  }
20
14
  get media() {
21
- return super.get("media");
22
- }
23
- set media(value) {
24
- super.set("media", value);
15
+ return super.relation("media");
25
16
  }
26
17
  get subject() {
27
18
  return super.get("subject");
@@ -41,6 +32,12 @@ class Maintenance_Article extends Parse.Object {
41
32
  set ticket(value) {
42
33
  super.set("ticket", value);
43
34
  }
35
+ get user() {
36
+ return super.get("user");
37
+ }
38
+ set user(value) {
39
+ super.set("user", value);
40
+ }
44
41
  }
45
42
  exports.Maintenance_Article = Maintenance_Article;
46
43
  Maintenance_Article.className = "OD3_Maintenance_Article";
@@ -11,7 +11,7 @@ export interface Maintenance_IssuecategoryAttributes {
11
11
  issuecode?: string;
12
12
  name: string;
13
13
  parent?: Maintenance_Issuecategory;
14
- source?: Parse.Relation<Source>;
14
+ source: Parse.Relation<Maintenance_Issuecategory, Source>;
15
15
  tenant?: Tenant;
16
16
  }
17
17
  export declare class Maintenance_Issuecategory extends Parse.Object<Maintenance_IssuecategoryAttributes> {
@@ -27,8 +27,7 @@ export declare class Maintenance_Issuecategory extends Parse.Object<Maintenance_
27
27
  set name(value: string);
28
28
  get parent(): Maintenance_Issuecategory | undefined;
29
29
  set parent(value: Maintenance_Issuecategory | undefined);
30
- get source(): Parse.Relation<Source> | undefined;
31
- set source(value: Parse.Relation<Source> | undefined);
30
+ get source(): Parse.Relation<Maintenance_Issuecategory, Source>;
32
31
  get tenant(): Tenant | undefined;
33
32
  set tenant(value: Tenant | undefined);
34
33
  }
@@ -36,10 +36,7 @@ class Maintenance_Issuecategory extends Parse.Object {
36
36
  super.set("parent", value);
37
37
  }
38
38
  get source() {
39
- return super.get("source");
40
- }
41
- set source(value) {
42
- super.set("source", value);
39
+ return super.relation("source");
43
40
  }
44
41
  get tenant() {
45
42
  return super.get("tenant");
@@ -8,7 +8,8 @@ export interface Maintenance_ScheduleAttributes {
8
8
  createdAt: Date;
9
9
  updatedAt: Date;
10
10
  description?: string;
11
- media?: Parse.Relation<Maintenance_Media>;
11
+ enabled: boolean;
12
+ media: Parse.Relation<Maintenance_Schedule, Maintenance_Media>;
12
13
  source: Source;
13
14
  tenant?: Tenant;
14
15
  title: string;
@@ -18,8 +19,9 @@ export declare class Maintenance_Schedule extends Parse.Object<Maintenance_Sched
18
19
  constructor(data?: Partial<Maintenance_ScheduleAttributes>);
19
20
  get description(): string | undefined;
20
21
  set description(value: string | undefined);
21
- get media(): Parse.Relation<Maintenance_Media> | undefined;
22
- set media(value: Parse.Relation<Maintenance_Media> | undefined);
22
+ get enabled(): boolean;
23
+ set enabled(value: boolean);
24
+ get media(): Parse.Relation<Maintenance_Schedule, Maintenance_Media>;
23
25
  get source(): Source;
24
26
  set source(value: Source);
25
27
  get tenant(): Tenant | undefined;
@@ -11,11 +11,14 @@ class Maintenance_Schedule extends Parse.Object {
11
11
  set description(value) {
12
12
  super.set("description", value);
13
13
  }
14
- get media() {
15
- return super.get("media");
14
+ get enabled() {
15
+ return super.get("enabled");
16
+ }
17
+ set enabled(value) {
18
+ super.set("enabled", value);
16
19
  }
17
- set media(value) {
18
- super.set("media", value);
20
+ get media() {
21
+ return super.relation("media");
19
22
  }
20
23
  get source() {
21
24
  return super.get("source");
@@ -0,0 +1,35 @@
1
+ /// <reference types="parse" />
2
+ import type { Maintenance_Media } from "./Maintenance_Media";
3
+ import type { Source } from "./Source";
4
+ import type { Tenant } from "./Tenant";
5
+ import type { _User } from "./_User";
6
+ export interface Maintenance_Schedule_ExecutionAttributes {
7
+ id: string;
8
+ objectId: string;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ description?: string;
12
+ finishedAt?: Date;
13
+ media: Parse.Relation<Maintenance_Schedule_Execution, Maintenance_Media>;
14
+ source?: Source;
15
+ tenant?: Tenant;
16
+ title?: string;
17
+ user: _User;
18
+ }
19
+ export declare class Maintenance_Schedule_Execution extends Parse.Object<Maintenance_Schedule_ExecutionAttributes> {
20
+ static className: string;
21
+ constructor(data?: Partial<Maintenance_Schedule_ExecutionAttributes>);
22
+ get description(): string | undefined;
23
+ set description(value: string | undefined);
24
+ get finishedAt(): Date | undefined;
25
+ set finishedAt(value: Date | undefined);
26
+ get media(): Parse.Relation<Maintenance_Schedule_Execution, Maintenance_Media>;
27
+ get source(): Source | undefined;
28
+ set source(value: Source | undefined);
29
+ get tenant(): Tenant | undefined;
30
+ set tenant(value: Tenant | undefined);
31
+ get title(): string | undefined;
32
+ set title(value: string | undefined);
33
+ get user(): _User;
34
+ set user(value: _User);
35
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Maintenance_Schedule_Execution = void 0;
4
+ class Maintenance_Schedule_Execution extends Parse.Object {
5
+ constructor(data) {
6
+ super("OD3_Maintenance_Schedule_Execution", data);
7
+ }
8
+ get description() {
9
+ return super.get("description");
10
+ }
11
+ set description(value) {
12
+ super.set("description", value);
13
+ }
14
+ get finishedAt() {
15
+ return super.get("finishedAt");
16
+ }
17
+ set finishedAt(value) {
18
+ super.set("finishedAt", value);
19
+ }
20
+ get media() {
21
+ return super.relation("media");
22
+ }
23
+ get source() {
24
+ return super.get("source");
25
+ }
26
+ set source(value) {
27
+ super.set("source", value);
28
+ }
29
+ get tenant() {
30
+ return super.get("tenant");
31
+ }
32
+ set tenant(value) {
33
+ super.set("tenant", value);
34
+ }
35
+ get title() {
36
+ return super.get("title");
37
+ }
38
+ set title(value) {
39
+ super.set("title", value);
40
+ }
41
+ get user() {
42
+ return super.get("user");
43
+ }
44
+ set user(value) {
45
+ super.set("user", value);
46
+ }
47
+ }
48
+ exports.Maintenance_Schedule_Execution = Maintenance_Schedule_Execution;
49
+ Maintenance_Schedule_Execution.className = "OD3_Maintenance_Schedule_Execution";
50
+ Parse.Object.registerSubclass("OD3_Maintenance_Schedule_Execution", Maintenance_Schedule_Execution);
@@ -0,0 +1,40 @@
1
+ /// <reference types="parse" />
2
+ import type { Maintenance_Schedule_Execution } from "./Maintenance_Schedule_Execution";
3
+ import type { Tenant } from "./Tenant";
4
+ export interface Maintenance_Schedule_Execution_StepAttributes {
5
+ id: string;
6
+ objectId: string;
7
+ createdAt: Date;
8
+ updatedAt: Date;
9
+ comment?: string;
10
+ description?: string;
11
+ done?: boolean;
12
+ location?: string;
13
+ protectivegear?: string;
14
+ schedule: Maintenance_Schedule_Execution;
15
+ tenant?: Tenant;
16
+ type?: string;
17
+ usedmaterial?: string;
18
+ }
19
+ export declare class Maintenance_Schedule_Execution_Step extends Parse.Object<Maintenance_Schedule_Execution_StepAttributes> {
20
+ static className: string;
21
+ constructor(data?: Partial<Maintenance_Schedule_Execution_StepAttributes>);
22
+ get comment(): string | undefined;
23
+ set comment(value: string | undefined);
24
+ get description(): string | undefined;
25
+ set description(value: string | undefined);
26
+ get done(): boolean | undefined;
27
+ set done(value: boolean | undefined);
28
+ get location(): string | undefined;
29
+ set location(value: string | undefined);
30
+ get protectivegear(): string | undefined;
31
+ set protectivegear(value: string | undefined);
32
+ get schedule(): Maintenance_Schedule_Execution;
33
+ set schedule(value: Maintenance_Schedule_Execution);
34
+ get tenant(): Tenant | undefined;
35
+ set tenant(value: Tenant | undefined);
36
+ get type(): string | undefined;
37
+ set type(value: string | undefined);
38
+ get usedmaterial(): string | undefined;
39
+ set usedmaterial(value: string | undefined);
40
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Maintenance_Schedule_Execution_Step = void 0;
4
+ class Maintenance_Schedule_Execution_Step extends Parse.Object {
5
+ constructor(data) {
6
+ super("OD3_Maintenance_Schedule_Execution_Step", data);
7
+ }
8
+ get comment() {
9
+ return super.get("comment");
10
+ }
11
+ set comment(value) {
12
+ super.set("comment", value);
13
+ }
14
+ get description() {
15
+ return super.get("description");
16
+ }
17
+ set description(value) {
18
+ super.set("description", value);
19
+ }
20
+ get done() {
21
+ return super.get("done");
22
+ }
23
+ set done(value) {
24
+ super.set("done", value);
25
+ }
26
+ get location() {
27
+ return super.get("location");
28
+ }
29
+ set location(value) {
30
+ super.set("location", value);
31
+ }
32
+ get protectivegear() {
33
+ return super.get("protectivegear");
34
+ }
35
+ set protectivegear(value) {
36
+ super.set("protectivegear", value);
37
+ }
38
+ get schedule() {
39
+ return super.get("schedule");
40
+ }
41
+ set schedule(value) {
42
+ super.set("schedule", value);
43
+ }
44
+ get tenant() {
45
+ return super.get("tenant");
46
+ }
47
+ set tenant(value) {
48
+ super.set("tenant", value);
49
+ }
50
+ get type() {
51
+ return super.get("type");
52
+ }
53
+ set type(value) {
54
+ super.set("type", value);
55
+ }
56
+ get usedmaterial() {
57
+ return super.get("usedmaterial");
58
+ }
59
+ set usedmaterial(value) {
60
+ super.set("usedmaterial", value);
61
+ }
62
+ }
63
+ exports.Maintenance_Schedule_Execution_Step = Maintenance_Schedule_Execution_Step;
64
+ Maintenance_Schedule_Execution_Step.className = "OD3_Maintenance_Schedule_Execution_Step";
65
+ Parse.Object.registerSubclass("OD3_Maintenance_Schedule_Execution_Step", Maintenance_Schedule_Execution_Step);
@@ -7,19 +7,19 @@ export interface Maintenance_TicketAttributes {
7
7
  createdAt: Date;
8
8
  updatedAt: Date;
9
9
  enabled: boolean;
10
- owner?: _User;
11
10
  tenant?: Tenant;
12
11
  title?: string;
12
+ user?: _User;
13
13
  }
14
14
  export declare class Maintenance_Ticket extends Parse.Object<Maintenance_TicketAttributes> {
15
15
  static className: string;
16
16
  constructor(data?: Partial<Maintenance_TicketAttributes>);
17
17
  get enabled(): boolean;
18
18
  set enabled(value: boolean);
19
- get owner(): _User | undefined;
20
- set owner(value: _User | undefined);
21
19
  get tenant(): Tenant | undefined;
22
20
  set tenant(value: Tenant | undefined);
23
21
  get title(): string | undefined;
24
22
  set title(value: string | undefined);
23
+ get user(): _User | undefined;
24
+ set user(value: _User | undefined);
25
25
  }
@@ -11,12 +11,6 @@ class Maintenance_Ticket extends Parse.Object {
11
11
  set enabled(value) {
12
12
  super.set("enabled", value);
13
13
  }
14
- get owner() {
15
- return super.get("owner");
16
- }
17
- set owner(value) {
18
- super.set("owner", value);
19
- }
20
14
  get tenant() {
21
15
  return super.get("tenant");
22
16
  }
@@ -29,6 +23,12 @@ class Maintenance_Ticket extends Parse.Object {
29
23
  set title(value) {
30
24
  super.set("title", value);
31
25
  }
26
+ get user() {
27
+ return super.get("user");
28
+ }
29
+ set user(value) {
30
+ super.set("user", value);
31
+ }
32
32
  }
33
33
  exports.Maintenance_Ticket = Maintenance_Ticket;
34
34
  Maintenance_Ticket.className = "OD3_Maintenance_Ticket";
@@ -8,20 +8,20 @@ export interface Maintenance_Ticket_IssuecategoryAttributes {
8
8
  objectId: string;
9
9
  createdAt: Date;
10
10
  updatedAt: Date;
11
- creator?: _User;
12
11
  issuecategory: Maintenance_Issuecategory;
13
12
  tenant?: Tenant;
14
13
  ticket: Maintenance_Ticket;
14
+ user?: _User;
15
15
  }
16
16
  export declare class Maintenance_Ticket_Issuecategory extends Parse.Object<Maintenance_Ticket_IssuecategoryAttributes> {
17
17
  static className: string;
18
18
  constructor(data?: Partial<Maintenance_Ticket_IssuecategoryAttributes>);
19
- get creator(): _User | undefined;
20
- set creator(value: _User | undefined);
21
19
  get issuecategory(): Maintenance_Issuecategory;
22
20
  set issuecategory(value: Maintenance_Issuecategory);
23
21
  get tenant(): Tenant | undefined;
24
22
  set tenant(value: Tenant | undefined);
25
23
  get ticket(): Maintenance_Ticket;
26
24
  set ticket(value: Maintenance_Ticket);
25
+ get user(): _User | undefined;
26
+ set user(value: _User | undefined);
27
27
  }
@@ -5,12 +5,6 @@ class Maintenance_Ticket_Issuecategory extends Parse.Object {
5
5
  constructor(data) {
6
6
  super("OD3_Maintenance_Ticket_Issuecategory", data);
7
7
  }
8
- get creator() {
9
- return super.get("creator");
10
- }
11
- set creator(value) {
12
- super.set("creator", value);
13
- }
14
8
  get issuecategory() {
15
9
  return super.get("issuecategory");
16
10
  }
@@ -29,6 +23,12 @@ class Maintenance_Ticket_Issuecategory extends Parse.Object {
29
23
  set ticket(value) {
30
24
  super.set("ticket", value);
31
25
  }
26
+ get user() {
27
+ return super.get("user");
28
+ }
29
+ set user(value) {
30
+ super.set("user", value);
31
+ }
32
32
  }
33
33
  exports.Maintenance_Ticket_Issuecategory = Maintenance_Ticket_Issuecategory;
34
34
  Maintenance_Ticket_Issuecategory.className = "OD3_Maintenance_Ticket_Issuecategory";
@@ -8,20 +8,20 @@ export interface Maintenance_Ticket_Kanban_StateAttributes {
8
8
  objectId: string;
9
9
  createdAt: Date;
10
10
  updatedAt: Date;
11
- creator?: _User;
12
11
  state: Maintenance_Kanban_State;
13
12
  tenant?: Tenant;
14
13
  ticket: Maintenance_Ticket;
14
+ user?: _User;
15
15
  }
16
16
  export declare class Maintenance_Ticket_Kanban_State extends Parse.Object<Maintenance_Ticket_Kanban_StateAttributes> {
17
17
  static className: string;
18
18
  constructor(data?: Partial<Maintenance_Ticket_Kanban_StateAttributes>);
19
- get creator(): _User | undefined;
20
- set creator(value: _User | undefined);
21
19
  get state(): Maintenance_Kanban_State;
22
20
  set state(value: Maintenance_Kanban_State);
23
21
  get tenant(): Tenant | undefined;
24
22
  set tenant(value: Tenant | undefined);
25
23
  get ticket(): Maintenance_Ticket;
26
24
  set ticket(value: Maintenance_Ticket);
25
+ get user(): _User | undefined;
26
+ set user(value: _User | undefined);
27
27
  }
@@ -5,12 +5,6 @@ class Maintenance_Ticket_Kanban_State extends Parse.Object {
5
5
  constructor(data) {
6
6
  super("OD3_Maintenance_Ticket_Kanban_State", data);
7
7
  }
8
- get creator() {
9
- return super.get("creator");
10
- }
11
- set creator(value) {
12
- super.set("creator", value);
13
- }
14
8
  get state() {
15
9
  return super.get("state");
16
10
  }
@@ -29,6 +23,12 @@ class Maintenance_Ticket_Kanban_State extends Parse.Object {
29
23
  set ticket(value) {
30
24
  super.set("ticket", value);
31
25
  }
26
+ get user() {
27
+ return super.get("user");
28
+ }
29
+ set user(value) {
30
+ super.set("user", value);
31
+ }
32
32
  }
33
33
  exports.Maintenance_Ticket_Kanban_State = Maintenance_Ticket_Kanban_State;
34
34
  Maintenance_Ticket_Kanban_State.className = "OD3_Maintenance_Ticket_Kanban_State";
@@ -8,20 +8,20 @@ export interface Maintenance_Ticket_SourceAttributes {
8
8
  objectId: string;
9
9
  createdAt: Date;
10
10
  updatedAt: Date;
11
- creator?: _User;
12
11
  source: Source;
13
12
  tenant?: Tenant;
14
13
  ticket: Maintenance_Ticket;
14
+ user?: _User;
15
15
  }
16
16
  export declare class Maintenance_Ticket_Source extends Parse.Object<Maintenance_Ticket_SourceAttributes> {
17
17
  static className: string;
18
18
  constructor(data?: Partial<Maintenance_Ticket_SourceAttributes>);
19
- get creator(): _User | undefined;
20
- set creator(value: _User | undefined);
21
19
  get source(): Source;
22
20
  set source(value: Source);
23
21
  get tenant(): Tenant | undefined;
24
22
  set tenant(value: Tenant | undefined);
25
23
  get ticket(): Maintenance_Ticket;
26
24
  set ticket(value: Maintenance_Ticket);
25
+ get user(): _User | undefined;
26
+ set user(value: _User | undefined);
27
27
  }
@@ -5,12 +5,6 @@ class Maintenance_Ticket_Source extends Parse.Object {
5
5
  constructor(data) {
6
6
  super("OD3_Maintenance_Ticket_Source", data);
7
7
  }
8
- get creator() {
9
- return super.get("creator");
10
- }
11
- set creator(value) {
12
- super.set("creator", value);
13
- }
14
8
  get source() {
15
9
  return super.get("source");
16
10
  }
@@ -29,6 +23,12 @@ class Maintenance_Ticket_Source extends Parse.Object {
29
23
  set ticket(value) {
30
24
  super.set("ticket", value);
31
25
  }
26
+ get user() {
27
+ return super.get("user");
28
+ }
29
+ set user(value) {
30
+ super.set("user", value);
31
+ }
32
32
  }
33
33
  exports.Maintenance_Ticket_Source = Maintenance_Ticket_Source;
34
34
  Maintenance_Ticket_Source.className = "OD3_Maintenance_Ticket_Source";
@@ -6,7 +6,7 @@ export interface SourceAttributes {
6
6
  objectId: string;
7
7
  createdAt: Date;
8
8
  updatedAt: Date;
9
- children?: Parse.Relation<Source>;
9
+ children: Parse.Relation<Source, Source>;
10
10
  meta?: SourceMeta;
11
11
  name?: string;
12
12
  parent?: Source;
@@ -16,8 +16,7 @@ export interface SourceAttributes {
16
16
  export declare class Source extends Parse.Object<SourceAttributes> {
17
17
  static className: string;
18
18
  constructor(data?: Partial<SourceAttributes>);
19
- get children(): Parse.Relation<Source> | undefined;
20
- set children(value: Parse.Relation<Source> | undefined);
19
+ get children(): Parse.Relation<Source, Source>;
21
20
  get meta(): SourceMeta | undefined;
22
21
  set meta(value: SourceMeta | undefined);
23
22
  get name(): string | undefined;
@@ -6,10 +6,7 @@ class Source extends Parse.Object {
6
6
  super("OD3_Source", data);
7
7
  }
8
8
  get children() {
9
- return super.get("children");
10
- }
11
- set children(value) {
12
- super.set("children", value);
9
+ return super.relation("children");
13
10
  }
14
11
  get meta() {
15
12
  return super.get("meta");
@@ -7,7 +7,7 @@ export interface _RoleAttributes {
7
7
  updatedAt: Date;
8
8
  label?: string;
9
9
  name?: string;
10
- roles?: Parse.Relation<_Role>;
11
- users?: Parse.Relation<_User>;
10
+ roles: Parse.Relation<_Role, _Role>;
11
+ users: Parse.Relation<_Role, _User>;
12
12
  }
13
13
  export declare type _Role = Parse.Role<_RoleAttributes>;
@@ -58,6 +58,10 @@ export { Maintenance_Restriction } from "./Maintenance_Restriction";
58
58
  export type { Maintenance_RestrictionAttributes } from "./Maintenance_Restriction";
59
59
  export { Maintenance_Schedule } from "./Maintenance_Schedule";
60
60
  export type { Maintenance_ScheduleAttributes } from "./Maintenance_Schedule";
61
+ export { Maintenance_Schedule_Execution } from "./Maintenance_Schedule_Execution";
62
+ export type { Maintenance_Schedule_ExecutionAttributes } from "./Maintenance_Schedule_Execution";
63
+ export { Maintenance_Schedule_Execution_Step } from "./Maintenance_Schedule_Execution_Step";
64
+ export type { Maintenance_Schedule_Execution_StepAttributes } from "./Maintenance_Schedule_Execution_Step";
61
65
  export { Maintenance_Schedule_Step } from "./Maintenance_Schedule_Step";
62
66
  export type { Maintenance_Schedule_StepAttributes } from "./Maintenance_Schedule_Step";
63
67
  export { Maintenance_Ticket } from "./Maintenance_Ticket";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Widget = exports.WebPush = exports.UserData = exports.TenantTrustedDomain = exports.TenantMeta = exports.Tenant = exports.SourceMeta = exports.Source = exports.Share = exports.Report = exports.Push = exports.Permission = exports.Notification = exports.NavigationItem = exports.NavigationGroup = exports.Maintenance_Ticket_Source = exports.Maintenance_Ticket_Kanban_State = exports.Maintenance_Ticket_Issuecategory = exports.Maintenance_Ticket = exports.Maintenance_Schedule_Step = exports.Maintenance_Schedule = exports.Maintenance_Restriction = exports.Maintenance_Priority = exports.Maintenance_Media = exports.Maintenance_Kanban_State = exports.Maintenance_Issuecategory = exports.Maintenance_Frequency = exports.Maintenance_Duedate = exports.Maintenance_Downtime = exports.Maintenance_Article = exports.Language = exports.Knowledge_Video = exports.Knowledge_DocumentPage = exports.Knowledge_Document = exports.Knowledge_Category = exports.Knowledge_Article = exports.Group_UserRelation = exports.Group = exports.Dashboard = exports.Config = exports.BDE_Unit = exports.BDE_Result = exports.BDE_Page = exports.BDE_ListEntry = exports.BDE_List = exports.BDE_Form = exports.Attachment = exports.AlarmWebhook = exports.AlarmAction = exports.Alarm = void 0;
4
- exports.WidgetPreset = void 0;
3
+ exports.UserData = exports.TenantTrustedDomain = exports.TenantMeta = exports.Tenant = exports.SourceMeta = exports.Source = exports.Share = exports.Report = exports.Push = exports.Permission = exports.Notification = exports.NavigationItem = exports.NavigationGroup = exports.Maintenance_Ticket_Source = exports.Maintenance_Ticket_Kanban_State = exports.Maintenance_Ticket_Issuecategory = exports.Maintenance_Ticket = exports.Maintenance_Schedule_Step = exports.Maintenance_Schedule_Execution_Step = exports.Maintenance_Schedule_Execution = exports.Maintenance_Schedule = exports.Maintenance_Restriction = exports.Maintenance_Priority = exports.Maintenance_Media = exports.Maintenance_Kanban_State = exports.Maintenance_Issuecategory = exports.Maintenance_Frequency = exports.Maintenance_Duedate = exports.Maintenance_Downtime = exports.Maintenance_Article = exports.Language = exports.Knowledge_Video = exports.Knowledge_DocumentPage = exports.Knowledge_Document = exports.Knowledge_Category = exports.Knowledge_Article = exports.Group_UserRelation = exports.Group = exports.Dashboard = exports.Config = exports.BDE_Unit = exports.BDE_Result = exports.BDE_Page = exports.BDE_ListEntry = exports.BDE_List = exports.BDE_Form = exports.Attachment = exports.AlarmWebhook = exports.AlarmAction = exports.Alarm = void 0;
4
+ exports.WidgetPreset = exports.Widget = exports.WebPush = void 0;
5
5
  var Alarm_1 = require("./Alarm");
6
6
  Object.defineProperty(exports, "Alarm", { enumerable: true, get: function () { return Alarm_1.Alarm; } });
7
7
  var AlarmAction_1 = require("./AlarmAction");
@@ -62,6 +62,10 @@ var Maintenance_Restriction_1 = require("./Maintenance_Restriction");
62
62
  Object.defineProperty(exports, "Maintenance_Restriction", { enumerable: true, get: function () { return Maintenance_Restriction_1.Maintenance_Restriction; } });
63
63
  var Maintenance_Schedule_1 = require("./Maintenance_Schedule");
64
64
  Object.defineProperty(exports, "Maintenance_Schedule", { enumerable: true, get: function () { return Maintenance_Schedule_1.Maintenance_Schedule; } });
65
+ var Maintenance_Schedule_Execution_1 = require("./Maintenance_Schedule_Execution");
66
+ Object.defineProperty(exports, "Maintenance_Schedule_Execution", { enumerable: true, get: function () { return Maintenance_Schedule_Execution_1.Maintenance_Schedule_Execution; } });
67
+ var Maintenance_Schedule_Execution_Step_1 = require("./Maintenance_Schedule_Execution_Step");
68
+ Object.defineProperty(exports, "Maintenance_Schedule_Execution_Step", { enumerable: true, get: function () { return Maintenance_Schedule_Execution_Step_1.Maintenance_Schedule_Execution_Step; } });
65
69
  var Maintenance_Schedule_Step_1 = require("./Maintenance_Schedule_Step");
66
70
  Object.defineProperty(exports, "Maintenance_Schedule_Step", { enumerable: true, get: function () { return Maintenance_Schedule_Step_1.Maintenance_Schedule_Step; } });
67
71
  var Maintenance_Ticket_1 = require("./Maintenance_Ticket");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openinc/parse-server-opendash",
3
- "version": "1.11.0",
3
+ "version": "1.12.2",
4
4
  "description": "Parse Server Cloud Code for open.DASH",
5
5
  "keywords": [
6
6
  "parse",
@@ -23,6 +23,7 @@
23
23
  "fast-deep-equal": "^3.0.0",
24
24
  "jsonwebtoken": "^8.0.0",
25
25
  "node-fetch": "^2.0.0",
26
+ "pdf-img-convert": "1.0.6",
26
27
  "web-push": "^3.0.0"
27
28
  },
28
29
  "devDependencies": {
@@ -1,5 +1,10 @@
1
1
  {
2
2
  "fields": {
3
+ "tenant": {
4
+ "type": "Pointer",
5
+ "targetClass": "{{PREFIX}}Tenant",
6
+ "required": true
7
+ },
3
8
  "document": {
4
9
  "type": "Pointer",
5
10
  "targetClass": "{{PREFIX}}Knowledge_Document",
@@ -4,11 +4,6 @@
4
4
  "type": "String",
5
5
  "required": false
6
6
  },
7
- "user": {
8
- "type": "Pointer",
9
- "targetClass": "_User",
10
- "required": false
11
- },
12
7
  "subject": {
13
8
  "type": "String",
14
9
  "required": false
@@ -27,6 +22,11 @@
27
22
  "type": "Pointer",
28
23
  "targetClass": "{{PREFIX}}Tenant",
29
24
  "required": false
25
+ },
26
+ "user": {
27
+ "type": "Pointer",
28
+ "targetClass": "_User",
29
+ "required": false
30
30
  }
31
31
  },
32
32
  "classLevelPermissions": {
@@ -22,6 +22,11 @@
22
22
  "type": "Pointer",
23
23
  "targetClass": "{{PREFIX}}Tenant",
24
24
  "required": false
25
+ },
26
+ "enabled": {
27
+ "type": "Boolean",
28
+ "required": false,
29
+ "defaultValue": true
25
30
  }
26
31
  },
27
32
  "classLevelPermissions": {
@@ -0,0 +1,60 @@
1
+ {
2
+ "fields": {
3
+ "user": {
4
+ "type": "Pointer",
5
+ "targetClass": "_User",
6
+ "required": true
7
+ },
8
+ "source": {
9
+ "type": "Pointer",
10
+ "targetClass": "{{PREFIX}}Source",
11
+ "required": false
12
+ },
13
+ "title": {
14
+ "type": "String",
15
+ "required": false
16
+ },
17
+ "description": {
18
+ "type": "String",
19
+ "required": false
20
+ },
21
+ "media": {
22
+ "type": "Relation",
23
+ "targetClass": "{{PREFIX}}Maintenance_Media",
24
+ "required": false
25
+ },
26
+ "tenant": {
27
+ "type": "Pointer",
28
+ "targetClass": "{{PREFIX}}Tenant",
29
+ "required": false
30
+ },
31
+ "finishedAt": {
32
+ "type": "Date",
33
+ "required": false
34
+ }
35
+ },
36
+ "classLevelPermissions": {
37
+ "find": {
38
+ "requiresAuthentication": true
39
+ },
40
+ "count": {
41
+ "requiresAuthentication": true
42
+ },
43
+ "get": {
44
+ "requiresAuthentication": true
45
+ },
46
+ "create": {
47
+ "requiresAuthentication": true
48
+ },
49
+ "update": {
50
+ "requiresAuthentication": true
51
+ },
52
+ "delete": {
53
+ "requiresAuthentication": true
54
+ },
55
+ "addField": {},
56
+ "protectedFields": {
57
+ "*": []
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "fields": {
3
+ "comment": {
4
+ "type": "String",
5
+ "required": false
6
+ },
7
+ "location": {
8
+ "type": "String",
9
+ "required": false
10
+ },
11
+ "protectivegear": {
12
+ "type": "String",
13
+ "required": false
14
+ },
15
+ "type": {
16
+ "type": "String",
17
+ "required": false
18
+ },
19
+ "description": {
20
+ "type": "String",
21
+ "required": false
22
+ },
23
+ "usedmaterial": {
24
+ "type": "String",
25
+ "required": false
26
+ },
27
+ "tenant": {
28
+ "type": "Pointer",
29
+ "targetClass": "{{PREFIX}}Tenant",
30
+ "required": false
31
+ },
32
+ "schedule": {
33
+ "type": "Pointer",
34
+ "targetClass": "{{PREFIX}}Maintenance_Schedule_Execution",
35
+ "required": true
36
+ },
37
+ "done": {
38
+ "type": "Boolean",
39
+ "required": false
40
+ }
41
+ },
42
+ "classLevelPermissions": {
43
+ "find": {
44
+ "requiresAuthentication": true
45
+ },
46
+ "count": {
47
+ "requiresAuthentication": true
48
+ },
49
+ "get": {
50
+ "requiresAuthentication": true
51
+ },
52
+ "create": {
53
+ "requiresAuthentication": true
54
+ },
55
+ "update": {
56
+ "requiresAuthentication": true
57
+ },
58
+ "delete": {
59
+ "requiresAuthentication": true
60
+ },
61
+ "addField": {},
62
+ "protectedFields": {
63
+ "*": []
64
+ }
65
+ }
66
+ }
@@ -33,26 +33,24 @@
33
33
  },
34
34
  "classLevelPermissions": {
35
35
  "find": {
36
- "*": true
36
+ "requiresAuthentication": true
37
37
  },
38
38
  "count": {
39
- "*": true
39
+ "requiresAuthentication": true
40
40
  },
41
41
  "get": {
42
- "*": true
42
+ "requiresAuthentication": true
43
43
  },
44
44
  "create": {
45
- "*": true
45
+ "requiresAuthentication": true
46
46
  },
47
47
  "update": {
48
- "*": true
48
+ "requiresAuthentication": true
49
49
  },
50
50
  "delete": {
51
- "*": true
52
- },
53
- "addField": {
54
- "*": true
51
+ "requiresAuthentication": true
55
52
  },
53
+ "addField": {},
56
54
  "protectedFields": {
57
55
  "*": []
58
56
  }
@@ -4,11 +4,6 @@
4
4
  "type": "String",
5
5
  "required": false
6
6
  },
7
- "user": {
8
- "type": "Pointer",
9
- "targetClass": "_User",
10
- "required": false
11
- },
12
7
  "enabled": {
13
8
  "type": "Boolean",
14
9
  "required": false,
@@ -18,6 +13,11 @@
18
13
  "type": "Pointer",
19
14
  "targetClass": "{{PREFIX}}Tenant",
20
15
  "required": false
16
+ },
17
+ "user": {
18
+ "type": "Pointer",
19
+ "targetClass": "_User",
20
+ "required": false
21
21
  }
22
22
  },
23
23
  "classLevelPermissions": {
@@ -1,10 +1,5 @@
1
1
  {
2
2
  "fields": {
3
- "user": {
4
- "type": "Pointer",
5
- "targetClass": "_User",
6
- "required": false
7
- },
8
3
  "ticket": {
9
4
  "type": "Pointer",
10
5
  "targetClass": "{{PREFIX}}Maintenance_Ticket",
@@ -19,6 +14,11 @@
19
14
  "type": "Pointer",
20
15
  "targetClass": "{{PREFIX}}Tenant",
21
16
  "required": false
17
+ },
18
+ "user": {
19
+ "type": "Pointer",
20
+ "targetClass": "_User",
21
+ "required": false
22
22
  }
23
23
  },
24
24
  "classLevelPermissions": {
@@ -1,10 +1,5 @@
1
1
  {
2
2
  "fields": {
3
- "user": {
4
- "type": "Pointer",
5
- "targetClass": "_User",
6
- "required": false
7
- },
8
3
  "ticket": {
9
4
  "type": "Pointer",
10
5
  "targetClass": "{{PREFIX}}Maintenance_Ticket",
@@ -19,6 +14,11 @@
19
14
  "type": "Pointer",
20
15
  "targetClass": "{{PREFIX}}Tenant",
21
16
  "required": false
17
+ },
18
+ "user": {
19
+ "type": "Pointer",
20
+ "targetClass": "_User",
21
+ "required": false
22
22
  }
23
23
  },
24
24
  "classLevelPermissions": {
@@ -10,14 +10,14 @@
10
10
  "targetClass": "{{PREFIX}}Source",
11
11
  "required": true
12
12
  },
13
- "user": {
13
+ "tenant": {
14
14
  "type": "Pointer",
15
- "targetClass": "_User",
15
+ "targetClass": "{{PREFIX}}Tenant",
16
16
  "required": false
17
17
  },
18
- "tenant": {
18
+ "user": {
19
19
  "type": "Pointer",
20
- "targetClass": "{{PREFIX}}Tenant",
20
+ "targetClass": "_User",
21
21
  "required": false
22
22
  }
23
23
  },