@openinc/parse-server-opendash 3.14.11 → 3.15.0

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 (39) hide show
  1. package/dist/featuremap.json +1 -1
  2. package/dist/hooks/Maintenance_Schedule.js +41 -0
  3. package/dist/hooks/Maintenance_Schedule_Execution.js +29 -17
  4. package/dist/hooks/Maintenance_Schedule_Template.js +33 -0
  5. package/dist/hooks/Maintenance_Ticket_QR_Code.d.ts +1 -0
  6. package/dist/hooks/{Maintenance_SourceMeta.js → Maintenance_Ticket_QR_Code.js} +2 -2
  7. package/dist/types/Knowledge_Chat.d.ts +3 -0
  8. package/dist/types/Knowledge_Chat.js +6 -0
  9. package/dist/types/Maintenance_Schedule.d.ts +47 -0
  10. package/dist/types/Maintenance_Schedule.js +74 -0
  11. package/dist/types/Maintenance_Schedule_Execution.d.ts +4 -0
  12. package/dist/types/Maintenance_Schedule_Execution.js +6 -0
  13. package/dist/types/Maintenance_Schedule_Execution_Step.d.ts +10 -0
  14. package/dist/types/Maintenance_Schedule_Execution_Step.js +18 -0
  15. package/dist/types/Maintenance_Schedule_Step.d.ts +3 -0
  16. package/dist/types/Maintenance_Schedule_Step.js +6 -0
  17. package/dist/types/Maintenance_Schedule_Template.d.ts +3 -0
  18. package/dist/types/Maintenance_Schedule_Template.js +3 -0
  19. package/dist/types/Maintenance_Ticket.d.ts +3 -1
  20. package/dist/types/Maintenance_Ticket.js +6 -0
  21. package/dist/types/Maintenance_Ticket_FormConfig.d.ts +3 -0
  22. package/dist/types/Maintenance_Ticket_FormConfig.js +3 -0
  23. package/dist/types/Permission.d.ts +3 -0
  24. package/dist/types/Permission.js +6 -0
  25. package/dist/types/index.d.ts +2 -2
  26. package/dist/types/index.js +3 -3
  27. package/package.json +2 -2
  28. package/schema/Documentation_Category.json +6 -6
  29. package/schema/Documentation_Document.json +6 -6
  30. package/schema/Maintenance_Schedule.json +86 -0
  31. package/schema/Maintenance_Schedule_Execution.json +5 -0
  32. package/schema/Maintenance_Schedule_Execution_Step.json +15 -0
  33. package/schema/Maintenance_Schedule_Step.json +5 -0
  34. package/schema/Maintenance_Schedule_Template.json +5 -0
  35. package/schema/Maintenance_Ticket_QR_Code.json +6 -6
  36. package/schema/Permission.json +1 -1
  37. package/dist/types/Maintenance_SourceMeta.d.ts +0 -22
  38. package/dist/types/Maintenance_SourceMeta.js +0 -29
  39. /package/dist/hooks/{Maintenance_SourceMeta.d.ts → Maintenance_Schedule.d.ts} +0 -0
@@ -53,11 +53,11 @@
53
53
  "OD3_Maintenance_Priority": "MAINTENANCE",
54
54
  "OD3_Maintenance_Project": "MAINTENANCE",
55
55
  "OD3_Maintenance_Restriction": "MAINTENANCE",
56
+ "OD3_Maintenance_Schedule": "MAINTENANCE",
56
57
  "OD3_Maintenance_Schedule_Execution": "MAINTENANCE",
57
58
  "OD3_Maintenance_Schedule_Execution_Step": "MAINTENANCE",
58
59
  "OD3_Maintenance_Schedule_Step": "MAINTENANCE",
59
60
  "OD3_Maintenance_Schedule_Template": "MAINTENANCE",
60
- "OD3_Maintenance_SourceMeta": "MAINTENANCE",
61
61
  "OD3_Maintenance_Source_File": "MAINTENANCE",
62
62
  "OD3_Maintenance_Ticket": "MAINTENANCE",
63
63
  "OD3_Maintenance_Ticket_Assignment": "MAINTENANCE",
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.init = init;
4
+ const __1 = require("..");
5
+ const types_1 = require("../types");
6
+ async function init() {
7
+ (0, __1.beforeSaveHook)(types_1.Maintenance_Schedule, async (request) => {
8
+ const { object, original, user } = request;
9
+ await (0, __1.defaultHandler)(request);
10
+ await (0, __1.defaultAclHandler)(request);
11
+ });
12
+ (0, __1.afterSaveHook)(types_1.Maintenance_Schedule, async (request) => {
13
+ const { object, original, user } = request;
14
+ if (!original)
15
+ await addToTemplateSources(object);
16
+ });
17
+ (0, __1.beforeDeleteHook)(types_1.Maintenance_Schedule, async (request) => {
18
+ const { object, original, user } = request;
19
+ const scheduleFetched = await object?.fetchWithInclude(["template", "source"], {
20
+ useMasterKey: true,
21
+ });
22
+ const template = scheduleFetched?.get("template");
23
+ const source = scheduleFetched?.get("source");
24
+ if (source)
25
+ template?.relation("sources").remove(source);
26
+ await template?.save(null, { useMasterKey: true });
27
+ });
28
+ }
29
+ async function addToTemplateSources(schedule) {
30
+ const template = schedule.get("template");
31
+ if (!template)
32
+ return;
33
+ const sourcesInRelation = await template
34
+ .relation("sources")
35
+ .query()
36
+ .findAll({ useMasterKey: true });
37
+ if (sourcesInRelation.some((s) => s.id === schedule.source?.id))
38
+ return;
39
+ template.relation("sources").add(schedule.source);
40
+ await template.save(null, { useMasterKey: true });
41
+ }
@@ -28,27 +28,34 @@ async function init() {
28
28
  : Parse.User.current()
29
29
  ? Parse.User.current().get("tenant")
30
30
  : undefined;
31
- if (object.origin === undefined || tenant === undefined) {
31
+ if (tenant === undefined)
32
32
  return;
33
- }
34
- const [fetchedOriginError, fetchedOrigin] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Schedule_Template)
35
- .includeAll()
36
- .get(object.origin.id, {
37
- useMasterKey: true,
38
- }));
39
- if (fetchedOrigin === undefined) {
33
+ const schedule = (await object.fetchWithInclude("schedule", { useMasterKey: true })).get("schedule");
34
+ if (schedule === undefined) {
40
35
  return;
41
36
  }
42
- const [stepserror, steps] = await (0, catchError_1.catchError)(fetchedOrigin
43
- .get("steps")
44
- .query()
45
- .includeAll()
46
- .find({ useMasterKey: true }));
37
+ let actualSteps = [];
38
+ const [stepserror, steps] = await (0, catchError_1.catchError)(schedule.get("steps").query().includeAll().find({ useMasterKey: true }));
47
39
  if (stepserror) {
48
40
  throw stepserror;
49
41
  }
42
+ if (!steps || steps.length === 0) {
43
+ const scheduleWithTemplate = await schedule.fetchWithInclude("template", {
44
+ useMasterKey: true,
45
+ });
46
+ const template = scheduleWithTemplate.get("template");
47
+ if (!template)
48
+ return;
49
+ const [templateError, templateSteps] = await (0, catchError_1.catchError)(template.get("steps").query().includeAll().find({ useMasterKey: true }));
50
+ if (templateError)
51
+ throw templateError;
52
+ actualSteps = templateSteps;
53
+ }
54
+ else {
55
+ actualSteps = steps;
56
+ }
50
57
  //For every step create a new step object and save as Maintenance_Schedule_Execution_Step
51
- for await (const step of steps) {
58
+ for await (const step of actualSteps) {
52
59
  const [roleserror, roles] = await (0, catchError_1.catchError)(step.relation("roles").query().find({ useMasterKey: true }));
53
60
  const [mediaerror, media] = await (0, catchError_1.catchError)(step.relation("media").query().find({ useMasterKey: true }));
54
61
  const executionstep = new types_1.Maintenance_Schedule_Execution_Step({
@@ -59,6 +66,7 @@ async function init() {
59
66
  description: step.get("description"),
60
67
  title: step.get("title"),
61
68
  fields: step.get("fields"),
69
+ order: step.get("order"),
62
70
  });
63
71
  const mediarelation = executionstep.relation("media");
64
72
  if (media !== undefined) {
@@ -74,10 +82,14 @@ async function init() {
74
82
  }
75
83
  async function addMachinelogMessage(object, user) {
76
84
  const source = await object.get("source")?.fetch({ useMasterKey: true });
77
- if (source)
85
+ const scheduleSource = (await object
86
+ .get("schedule")
87
+ ?.fetchWithInclude("source", { useMasterKey: true }))?.get("source");
88
+ let actualSource = source || scheduleSource;
89
+ if (actualSource)
78
90
  new types_1.Maintenance_Message({
79
- referencedObjectId: source.id,
80
- classname: source.className,
91
+ referencedObjectId: actualSource.id,
92
+ classname: actualSource.className,
81
93
  title: TRANSLATION_TITLE,
82
94
  content: TRANSLATION_CONTENT,
83
95
  user: user,
@@ -16,6 +16,8 @@ async function init() {
16
16
  });
17
17
  (0, __1.afterSaveHook)(types_1.Maintenance_Schedule_Template, async (request) => {
18
18
  const { object, original, user } = request;
19
+ if (object)
20
+ await createSchedulesWithTemplate(object);
19
21
  });
20
22
  (0, __1.beforeDeleteHook)(types_1.Maintenance_Schedule_Template, async (request) => {
21
23
  const { object, original, user } = request;
@@ -24,3 +26,34 @@ async function init() {
24
26
  const { object, original, user } = request;
25
27
  });
26
28
  }
29
+ /**
30
+ * Creates schedules based on the provided template.
31
+ * @param template the maintenance schedule template
32
+ */
33
+ async function createSchedulesWithTemplate(template) {
34
+ // find existing schedules based on the template
35
+ const matchingSchedules = await new Parse.Query(types_1.Maintenance_Schedule)
36
+ .equalTo("template", template)
37
+ .include("source")
38
+ .findAll({ useMasterKey: true });
39
+ const sourcesInRelation = await template
40
+ .relation("sources")
41
+ .query()
42
+ .findAll({ useMasterKey: true });
43
+ for (const source of sourcesInRelation) {
44
+ if (matchingSchedules.some((s) => s.get("source")?.id === source.id))
45
+ continue;
46
+ const title = `${source.get("name")} - ${template.get("title")}`;
47
+ const newSchedule = new types_1.Maintenance_Schedule({
48
+ title,
49
+ template,
50
+ source: source,
51
+ description: template.get("description"),
52
+ color: template.get("color"),
53
+ cron: undefined,
54
+ enabled: true,
55
+ tenant: template.get("tenant"),
56
+ });
57
+ await newSchedule.save(null, { useMasterKey: true });
58
+ }
59
+ }
@@ -0,0 +1 @@
1
+ export declare function init(): Promise<void>;
@@ -4,13 +4,13 @@ exports.init = init;
4
4
  const __1 = require("..");
5
5
  const types_1 = require("../types");
6
6
  async function init() {
7
- (0, __1.beforeSaveHook)(types_1.Maintenance_SourceMeta, async (request) => {
7
+ (0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_QR_Code, async (request) => {
8
8
  const { object, original, user } = request;
9
9
  await (0, __1.defaultHandler)(request);
10
10
  await (0, __1.defaultAclHandler)(request);
11
11
  // TODO
12
12
  });
13
- (0, __1.afterSaveHook)(types_1.Maintenance_SourceMeta, async (request) => {
13
+ (0, __1.afterSaveHook)(types_1.Maintenance_Ticket_QR_Code, async (request) => {
14
14
  const { object, original, user } = request;
15
15
  // TODO
16
16
  });
@@ -5,12 +5,15 @@ export interface Knowledge_ChatAttributes {
5
5
  objectId: string;
6
6
  createdAt: Date;
7
7
  updatedAt: Date;
8
+ firstUserMessage?: string;
8
9
  tenant?: Tenant;
9
10
  user: _User;
10
11
  }
11
12
  export declare class Knowledge_Chat extends Parse.Object<Knowledge_ChatAttributes> {
12
13
  static className: string;
13
14
  constructor(data?: Partial<Knowledge_ChatAttributes>);
15
+ get firstUserMessage(): string | undefined;
16
+ set firstUserMessage(value: string | undefined);
14
17
  get tenant(): Tenant | undefined;
15
18
  set tenant(value: Tenant | undefined);
16
19
  get user(): _User;
@@ -5,6 +5,12 @@ class Knowledge_Chat extends Parse.Object {
5
5
  constructor(data) {
6
6
  super("OD3_Knowledge_Chat", data);
7
7
  }
8
+ get firstUserMessage() {
9
+ return super.get("firstUserMessage");
10
+ }
11
+ set firstUserMessage(value) {
12
+ super.set("firstUserMessage", value);
13
+ }
8
14
  get tenant() {
9
15
  return super.get("tenant");
10
16
  }
@@ -0,0 +1,47 @@
1
+ import type { Maintenance_Schedule_Execution } from "./Maintenance_Schedule_Execution";
2
+ import type { Maintenance_Schedule_Step } from "./Maintenance_Schedule_Step";
3
+ import type { Maintenance_Schedule_Template } from "./Maintenance_Schedule_Template";
4
+ import type { Source } from "./Source";
5
+ import type { Tenant } from "./Tenant";
6
+ export interface Maintenance_ScheduleAttributes {
7
+ id: string;
8
+ objectId: string;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ color?: string;
12
+ cron?: any;
13
+ description?: string;
14
+ enabled: boolean;
15
+ lastExecution?: Maintenance_Schedule_Execution;
16
+ notifyBeforeDue?: any;
17
+ source: Source;
18
+ steps: Parse.Relation<Maintenance_Schedule, Maintenance_Schedule_Step>;
19
+ template?: Maintenance_Schedule_Template;
20
+ tenant?: Tenant;
21
+ title?: string;
22
+ }
23
+ export declare class Maintenance_Schedule extends Parse.Object<Maintenance_ScheduleAttributes> {
24
+ static className: string;
25
+ constructor(data?: Partial<Maintenance_ScheduleAttributes>);
26
+ get color(): string | undefined;
27
+ set color(value: string | undefined);
28
+ get cron(): any | undefined;
29
+ set cron(value: any | undefined);
30
+ get description(): string | undefined;
31
+ set description(value: string | undefined);
32
+ get enabled(): boolean;
33
+ set enabled(value: boolean);
34
+ get lastExecution(): Maintenance_Schedule_Execution | undefined;
35
+ set lastExecution(value: Maintenance_Schedule_Execution | undefined);
36
+ get notifyBeforeDue(): any | undefined;
37
+ set notifyBeforeDue(value: any | undefined);
38
+ get source(): Source;
39
+ set source(value: Source);
40
+ get steps(): Parse.Relation<Maintenance_Schedule, Maintenance_Schedule_Step>;
41
+ get template(): Maintenance_Schedule_Template | undefined;
42
+ set template(value: Maintenance_Schedule_Template | undefined);
43
+ get tenant(): Tenant | undefined;
44
+ set tenant(value: Tenant | undefined);
45
+ get title(): string | undefined;
46
+ set title(value: string | undefined);
47
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Maintenance_Schedule = void 0;
4
+ class Maintenance_Schedule extends Parse.Object {
5
+ constructor(data) {
6
+ super("OD3_Maintenance_Schedule", data);
7
+ }
8
+ get color() {
9
+ return super.get("color");
10
+ }
11
+ set color(value) {
12
+ super.set("color", value);
13
+ }
14
+ get cron() {
15
+ return super.get("cron");
16
+ }
17
+ set cron(value) {
18
+ super.set("cron", value);
19
+ }
20
+ get description() {
21
+ return super.get("description");
22
+ }
23
+ set description(value) {
24
+ super.set("description", value);
25
+ }
26
+ get enabled() {
27
+ return super.get("enabled");
28
+ }
29
+ set enabled(value) {
30
+ super.set("enabled", value);
31
+ }
32
+ get lastExecution() {
33
+ return super.get("lastExecution");
34
+ }
35
+ set lastExecution(value) {
36
+ super.set("lastExecution", value);
37
+ }
38
+ get notifyBeforeDue() {
39
+ return super.get("notifyBeforeDue");
40
+ }
41
+ set notifyBeforeDue(value) {
42
+ super.set("notifyBeforeDue", value);
43
+ }
44
+ get source() {
45
+ return super.get("source");
46
+ }
47
+ set source(value) {
48
+ super.set("source", value);
49
+ }
50
+ get steps() {
51
+ return super.relation("steps");
52
+ }
53
+ get template() {
54
+ return super.get("template");
55
+ }
56
+ set template(value) {
57
+ super.set("template", value);
58
+ }
59
+ get tenant() {
60
+ return super.get("tenant");
61
+ }
62
+ set tenant(value) {
63
+ super.set("tenant", value);
64
+ }
65
+ get title() {
66
+ return super.get("title");
67
+ }
68
+ set title(value) {
69
+ super.set("title", value);
70
+ }
71
+ }
72
+ exports.Maintenance_Schedule = Maintenance_Schedule;
73
+ Maintenance_Schedule.className = "OD3_Maintenance_Schedule";
74
+ Parse.Object.registerSubclass("OD3_Maintenance_Schedule", Maintenance_Schedule);
@@ -1,4 +1,5 @@
1
1
  import type { Maintenance_Media } from "./Maintenance_Media";
2
+ import type { Maintenance_Schedule } from "./Maintenance_Schedule";
2
3
  import type { Maintenance_Schedule_Template } from "./Maintenance_Schedule_Template";
3
4
  import type { Source } from "./Source";
4
5
  import type { Tenant } from "./Tenant";
@@ -14,6 +15,7 @@ export interface Maintenance_Schedule_ExecutionAttributes {
14
15
  media: Parse.Relation<Maintenance_Schedule_Execution, Maintenance_Media>;
15
16
  origin?: Maintenance_Schedule_Template;
16
17
  origin_cron?: any;
18
+ schedule?: Maintenance_Schedule;
17
19
  source?: Source;
18
20
  tenant?: Tenant;
19
21
  title?: string;
@@ -33,6 +35,8 @@ export declare class Maintenance_Schedule_Execution extends Parse.Object<Mainten
33
35
  set origin(value: Maintenance_Schedule_Template | undefined);
34
36
  get origin_cron(): any | undefined;
35
37
  set origin_cron(value: any | undefined);
38
+ get schedule(): Maintenance_Schedule | undefined;
39
+ set schedule(value: Maintenance_Schedule | undefined);
36
40
  get source(): Source | undefined;
37
41
  set source(value: Source | undefined);
38
42
  get tenant(): Tenant | undefined;
@@ -38,6 +38,12 @@ class Maintenance_Schedule_Execution extends Parse.Object {
38
38
  set origin_cron(value) {
39
39
  super.set("origin_cron", value);
40
40
  }
41
+ get schedule() {
42
+ return super.get("schedule");
43
+ }
44
+ set schedule(value) {
45
+ super.set("schedule", value);
46
+ }
41
47
  get source() {
42
48
  return super.get("source");
43
49
  }
@@ -1,5 +1,6 @@
1
1
  import type { Maintenance_Media } from "./Maintenance_Media";
2
2
  import type { Maintenance_Schedule_Execution } from "./Maintenance_Schedule_Execution";
3
+ import { Maintenance_Schedule_Step } from "./Maintenance_Schedule_Step";
3
4
  import type { Tenant } from "./Tenant";
4
5
  import type { _Role } from "./_Role";
5
6
  export interface Maintenance_Schedule_Execution_StepAttributes {
@@ -12,8 +13,11 @@ export interface Maintenance_Schedule_Execution_StepAttributes {
12
13
  done: boolean;
13
14
  fields: any[];
14
15
  media: Parse.Relation<Maintenance_Schedule_Execution_Step, Maintenance_Media>;
16
+ meta: any[];
17
+ order: number;
15
18
  roles: Parse.Relation<Maintenance_Schedule_Execution_Step, _Role>;
16
19
  scheduleexecution?: Maintenance_Schedule_Execution;
20
+ step: Maintenance_Schedule_Step;
17
21
  tenant: Tenant;
18
22
  title?: string;
19
23
  }
@@ -29,9 +33,15 @@ export declare class Maintenance_Schedule_Execution_Step extends Parse.Object<Ma
29
33
  get fields(): any[];
30
34
  set fields(value: any[]);
31
35
  get media(): Parse.Relation<Maintenance_Schedule_Execution_Step, Maintenance_Media>;
36
+ get meta(): any[];
37
+ set meta(value: any[]);
38
+ get order(): number;
39
+ set order(value: number);
32
40
  get roles(): Parse.Relation<Maintenance_Schedule_Execution_Step, _Role>;
33
41
  get scheduleexecution(): Maintenance_Schedule_Execution | undefined;
34
42
  set scheduleexecution(value: Maintenance_Schedule_Execution | undefined);
43
+ get step(): Maintenance_Schedule_Step;
44
+ set step(value: Maintenance_Schedule_Step);
35
45
  get tenant(): Tenant;
36
46
  set tenant(value: Tenant);
37
47
  get title(): string | undefined;
@@ -32,6 +32,18 @@ class Maintenance_Schedule_Execution_Step extends Parse.Object {
32
32
  get media() {
33
33
  return super.relation("media");
34
34
  }
35
+ get meta() {
36
+ return super.get("meta");
37
+ }
38
+ set meta(value) {
39
+ super.set("meta", value);
40
+ }
41
+ get order() {
42
+ return super.get("order");
43
+ }
44
+ set order(value) {
45
+ super.set("order", value);
46
+ }
35
47
  get roles() {
36
48
  return super.relation("roles");
37
49
  }
@@ -41,6 +53,12 @@ class Maintenance_Schedule_Execution_Step extends Parse.Object {
41
53
  set scheduleexecution(value) {
42
54
  super.set("scheduleexecution", value);
43
55
  }
56
+ get step() {
57
+ return super.get("step");
58
+ }
59
+ set step(value) {
60
+ super.set("step", value);
61
+ }
44
62
  get tenant() {
45
63
  return super.get("tenant");
46
64
  }
@@ -9,6 +9,7 @@ export interface Maintenance_Schedule_StepAttributes {
9
9
  description?: string;
10
10
  fields?: any[];
11
11
  media: Parse.Relation<Maintenance_Schedule_Step, Maintenance_Media>;
12
+ order: number;
12
13
  roles: Parse.Relation<Maintenance_Schedule_Step, _Role>;
13
14
  tenant?: Tenant;
14
15
  title?: string;
@@ -21,6 +22,8 @@ export declare class Maintenance_Schedule_Step extends Parse.Object<Maintenance_
21
22
  get fields(): any[] | undefined;
22
23
  set fields(value: any[] | undefined);
23
24
  get media(): Parse.Relation<Maintenance_Schedule_Step, Maintenance_Media>;
25
+ get order(): number;
26
+ set order(value: number);
24
27
  get roles(): Parse.Relation<Maintenance_Schedule_Step, _Role>;
25
28
  get tenant(): Tenant | undefined;
26
29
  set tenant(value: Tenant | undefined);
@@ -20,6 +20,12 @@ class Maintenance_Schedule_Step extends Parse.Object {
20
20
  get media() {
21
21
  return super.relation("media");
22
22
  }
23
+ get order() {
24
+ return super.get("order");
25
+ }
26
+ set order(value) {
27
+ super.set("order", value);
28
+ }
23
29
  get roles() {
24
30
  return super.relation("roles");
25
31
  }
@@ -1,3 +1,4 @@
1
+ import type { Contact } from "./Contact";
1
2
  import type { Maintenance_Schedule_Step } from "./Maintenance_Schedule_Step";
2
3
  import type { Source } from "./Source";
3
4
  import type { Tenant } from "./Tenant";
@@ -7,6 +8,7 @@ export interface Maintenance_Schedule_TemplateAttributes {
7
8
  createdAt: Date;
8
9
  updatedAt: Date;
9
10
  color?: string;
11
+ contacts: Parse.Relation<Maintenance_Schedule_Template, Contact>;
10
12
  cron?: any;
11
13
  description?: string;
12
14
  enabled: boolean;
@@ -21,6 +23,7 @@ export declare class Maintenance_Schedule_Template extends Parse.Object<Maintena
21
23
  constructor(data?: Partial<Maintenance_Schedule_TemplateAttributes>);
22
24
  get color(): string | undefined;
23
25
  set color(value: string | undefined);
26
+ get contacts(): Parse.Relation<Maintenance_Schedule_Template, Contact>;
24
27
  get cron(): any | undefined;
25
28
  set cron(value: any | undefined);
26
29
  get description(): string | undefined;
@@ -11,6 +11,9 @@ class Maintenance_Schedule_Template extends Parse.Object {
11
11
  set color(value) {
12
12
  super.set("color", value);
13
13
  }
14
+ get contacts() {
15
+ return super.relation("contacts");
16
+ }
14
17
  get cron() {
15
18
  return super.get("cron");
16
19
  }
@@ -9,8 +9,8 @@ export interface Maintenance_TicketAttributes {
9
9
  updatedAt: Date;
10
10
  assignedroles: Parse.Relation<Maintenance_Ticket, _Role>;
11
11
  assignedusers: Parse.Relation<Maintenance_Ticket, _User>;
12
- enabled: boolean;
13
12
  description?: string;
13
+ enabled: boolean;
14
14
  latestPriorityValue?: number;
15
15
  meta?: any;
16
16
  project?: Maintenance_Project;
@@ -23,6 +23,8 @@ export declare class Maintenance_Ticket extends Parse.Object<Maintenance_TicketA
23
23
  constructor(data?: Partial<Maintenance_TicketAttributes>);
24
24
  get assignedroles(): Parse.Relation<Maintenance_Ticket, _Role>;
25
25
  get assignedusers(): Parse.Relation<Maintenance_Ticket, _User>;
26
+ get description(): string | undefined;
27
+ set description(value: string | undefined);
26
28
  get enabled(): boolean;
27
29
  set enabled(value: boolean);
28
30
  get latestPriorityValue(): number | undefined;
@@ -11,6 +11,12 @@ class Maintenance_Ticket extends Parse.Object {
11
11
  get assignedusers() {
12
12
  return super.relation("assignedusers");
13
13
  }
14
+ get description() {
15
+ return super.get("description");
16
+ }
17
+ set description(value) {
18
+ super.set("description", value);
19
+ }
14
20
  get enabled() {
15
21
  return super.get("enabled");
16
22
  }
@@ -1,10 +1,12 @@
1
1
  import type { Tenant } from "./Tenant";
2
+ import type { _Role } from "./_Role";
2
3
  export interface Maintenance_Ticket_FormConfigAttributes {
3
4
  id: string;
4
5
  objectId: string;
5
6
  createdAt: Date;
6
7
  updatedAt: Date;
7
8
  config: any;
9
+ roles: Parse.Relation<Maintenance_Ticket_FormConfig, _Role>;
8
10
  tenant?: Tenant;
9
11
  view: string;
10
12
  }
@@ -13,6 +15,7 @@ export declare class Maintenance_Ticket_FormConfig extends Parse.Object<Maintena
13
15
  constructor(data?: Partial<Maintenance_Ticket_FormConfigAttributes>);
14
16
  get config(): any;
15
17
  set config(value: any);
18
+ get roles(): Parse.Relation<Maintenance_Ticket_FormConfig, _Role>;
16
19
  get tenant(): Tenant | undefined;
17
20
  set tenant(value: Tenant | undefined);
18
21
  get view(): string;
@@ -11,6 +11,9 @@ class Maintenance_Ticket_FormConfig extends Parse.Object {
11
11
  set config(value) {
12
12
  super.set("config", value);
13
13
  }
14
+ get roles() {
15
+ return super.relation("roles");
16
+ }
14
17
  get tenant() {
15
18
  return super.get("tenant");
16
19
  }
@@ -4,6 +4,7 @@ export interface PermissionAttributes {
4
4
  objectId: string;
5
5
  createdAt: Date;
6
6
  updatedAt: Date;
7
+ adminOnly?: boolean;
7
8
  description?: string;
8
9
  key: string;
9
10
  label?: string;
@@ -12,6 +13,8 @@ export interface PermissionAttributes {
12
13
  export declare class Permission extends Parse.Object<PermissionAttributes> {
13
14
  static className: string;
14
15
  constructor(data?: Partial<PermissionAttributes>);
16
+ get adminOnly(): boolean | undefined;
17
+ set adminOnly(value: boolean | undefined);
15
18
  get description(): string | undefined;
16
19
  set description(value: string | undefined);
17
20
  get key(): string;
@@ -5,6 +5,12 @@ class Permission extends Parse.Object {
5
5
  constructor(data) {
6
6
  super("OD3_Permission", data);
7
7
  }
8
+ get adminOnly() {
9
+ return super.get("adminOnly");
10
+ }
11
+ set adminOnly(value) {
12
+ super.set("adminOnly", value);
13
+ }
8
14
  get description() {
9
15
  return super.get("description");
10
16
  }
@@ -116,6 +116,8 @@ export { Maintenance_Project } from "./Maintenance_Project";
116
116
  export type { Maintenance_ProjectAttributes } from "./Maintenance_Project";
117
117
  export { Maintenance_Restriction } from "./Maintenance_Restriction";
118
118
  export type { Maintenance_RestrictionAttributes } from "./Maintenance_Restriction";
119
+ export { Maintenance_Schedule } from "./Maintenance_Schedule";
120
+ export type { Maintenance_ScheduleAttributes } from "./Maintenance_Schedule";
119
121
  export { Maintenance_Schedule_Execution } from "./Maintenance_Schedule_Execution";
120
122
  export type { Maintenance_Schedule_ExecutionAttributes } from "./Maintenance_Schedule_Execution";
121
123
  export { Maintenance_Schedule_Execution_Step } from "./Maintenance_Schedule_Execution_Step";
@@ -124,8 +126,6 @@ export { Maintenance_Schedule_Step } from "./Maintenance_Schedule_Step";
124
126
  export type { Maintenance_Schedule_StepAttributes } from "./Maintenance_Schedule_Step";
125
127
  export { Maintenance_Schedule_Template } from "./Maintenance_Schedule_Template";
126
128
  export type { Maintenance_Schedule_TemplateAttributes } from "./Maintenance_Schedule_Template";
127
- export { Maintenance_SourceMeta } from "./Maintenance_SourceMeta";
128
- export type { Maintenance_SourceMetaAttributes } from "./Maintenance_SourceMeta";
129
129
  export { Maintenance_Source_File } from "./Maintenance_Source_File";
130
130
  export type { Maintenance_Source_FileAttributes } from "./Maintenance_Source_File";
131
131
  export { Maintenance_Ticket } from "./Maintenance_Ticket";
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Maintenance_Frequency = exports.Maintenance_Duedate = exports.Maintenance_Downtime = exports.MailTemplate = exports.ML_DataSelection = exports.MIAAS_MDSEndpoint = exports.MES_OrderPlan = exports.MES_Order = exports.MES_Article = exports.Log = exports.Language = exports.Knowledge_Video = exports.Knowledge_DocumentPage = exports.Knowledge_Document = exports.Knowledge_ChatMessage = exports.Knowledge_Chat = exports.Knowledge_Category = exports.Knowledge_Article = exports.GTFS_Wheelchair_Boarding = exports.GTFS_Wheelchair_Accessible = exports.GTFS_Trip = exports.GTFS_Stop_Times = exports.GTFS_Stop = exports.GTFS_Route_Type = exports.GTFS_Route = exports.GTFS_Location_Type = exports.GTFS_Level = exports.GTFS_Direction = exports.GTFS_Calendar = exports.GTFS_Bikes_Allowed = exports.GTFS_Agency = exports.Documentation_Document = exports.Documentation_Category = exports.Dashboard = exports.Core_Token = exports.Core_Email = exports.Contact = exports.Config = exports.Company = exports.BDE_Unit = exports.BDE_Result = exports.BDE_Page = exports.BDE_ListEntry = exports.BDE_List = exports.BDE_Form = exports.Attachment = exports.Assets = exports.AlarmWebhook = exports.AlarmAction = exports.Alarm = void 0;
4
- exports.WebPush = exports.VirtualKPI = exports.User_Setting = exports.UserData = exports.TenantTrustedDomain = exports.TenantMeta = exports.Tenant = exports.SourceMeta = exports.Source = exports.Share = exports.Report = exports.Push = exports.Permission = exports.OWPlcItem = exports.OWPlcDevice = exports.Notification_Setting = exports.Notification = exports.NavigationItem = exports.NavigationGroup = exports.Monitoring_Slideshow = exports.Monitoring_ReportImage = exports.Monitoring_ParseTableSensor = exports.Monitoring_Jobs = exports.Monitoring_DataHierachies = exports.Maintenance_Ticket_Title = exports.Maintenance_Ticket_Source = exports.Maintenance_Ticket_QR_Code = exports.Maintenance_Ticket_Project = exports.Maintenance_Ticket_Material = exports.Maintenance_Ticket_Kanban_State_Current = exports.Maintenance_Ticket_Kanban_State = exports.Maintenance_Ticket_Issuecategory = exports.Maintenance_Ticket_FormConfig = exports.Maintenance_Ticket_Assignment = exports.Maintenance_Ticket = exports.Maintenance_Source_File = exports.Maintenance_SourceMeta = exports.Maintenance_Schedule_Template = exports.Maintenance_Schedule_Step = exports.Maintenance_Schedule_Execution_Step = exports.Maintenance_Schedule_Execution = exports.Maintenance_Restriction = exports.Maintenance_Project = exports.Maintenance_Priority = exports.Maintenance_Order = exports.Maintenance_Message = exports.Maintenance_Media = exports.Maintenance_Kanban_State = exports.Maintenance_Item = exports.Maintenance_Issuecategory = void 0;
4
+ exports.WebPush = exports.VirtualKPI = exports.User_Setting = exports.UserData = exports.TenantTrustedDomain = exports.TenantMeta = exports.Tenant = exports.SourceMeta = exports.Source = exports.Share = exports.Report = exports.Push = exports.Permission = exports.OWPlcItem = exports.OWPlcDevice = exports.Notification_Setting = exports.Notification = exports.NavigationItem = exports.NavigationGroup = exports.Monitoring_Slideshow = exports.Monitoring_ReportImage = exports.Monitoring_ParseTableSensor = exports.Monitoring_Jobs = exports.Monitoring_DataHierachies = exports.Maintenance_Ticket_Title = exports.Maintenance_Ticket_Source = exports.Maintenance_Ticket_QR_Code = exports.Maintenance_Ticket_Project = exports.Maintenance_Ticket_Material = exports.Maintenance_Ticket_Kanban_State_Current = exports.Maintenance_Ticket_Kanban_State = exports.Maintenance_Ticket_Issuecategory = exports.Maintenance_Ticket_FormConfig = exports.Maintenance_Ticket_Assignment = exports.Maintenance_Ticket = exports.Maintenance_Source_File = exports.Maintenance_Schedule_Template = exports.Maintenance_Schedule_Step = exports.Maintenance_Schedule_Execution_Step = exports.Maintenance_Schedule_Execution = exports.Maintenance_Schedule = exports.Maintenance_Restriction = exports.Maintenance_Project = exports.Maintenance_Priority = exports.Maintenance_Order = exports.Maintenance_Message = exports.Maintenance_Media = exports.Maintenance_Kanban_State = exports.Maintenance_Item = exports.Maintenance_Issuecategory = void 0;
5
5
  exports.WidgetPreset = exports.Widget = void 0;
6
6
  var Alarm_1 = require("./Alarm");
7
7
  Object.defineProperty(exports, "Alarm", { enumerable: true, get: function () { return Alarm_1.Alarm; } });
@@ -121,6 +121,8 @@ var Maintenance_Project_1 = require("./Maintenance_Project");
121
121
  Object.defineProperty(exports, "Maintenance_Project", { enumerable: true, get: function () { return Maintenance_Project_1.Maintenance_Project; } });
122
122
  var Maintenance_Restriction_1 = require("./Maintenance_Restriction");
123
123
  Object.defineProperty(exports, "Maintenance_Restriction", { enumerable: true, get: function () { return Maintenance_Restriction_1.Maintenance_Restriction; } });
124
+ var Maintenance_Schedule_1 = require("./Maintenance_Schedule");
125
+ Object.defineProperty(exports, "Maintenance_Schedule", { enumerable: true, get: function () { return Maintenance_Schedule_1.Maintenance_Schedule; } });
124
126
  var Maintenance_Schedule_Execution_1 = require("./Maintenance_Schedule_Execution");
125
127
  Object.defineProperty(exports, "Maintenance_Schedule_Execution", { enumerable: true, get: function () { return Maintenance_Schedule_Execution_1.Maintenance_Schedule_Execution; } });
126
128
  var Maintenance_Schedule_Execution_Step_1 = require("./Maintenance_Schedule_Execution_Step");
@@ -129,8 +131,6 @@ var Maintenance_Schedule_Step_1 = require("./Maintenance_Schedule_Step");
129
131
  Object.defineProperty(exports, "Maintenance_Schedule_Step", { enumerable: true, get: function () { return Maintenance_Schedule_Step_1.Maintenance_Schedule_Step; } });
130
132
  var Maintenance_Schedule_Template_1 = require("./Maintenance_Schedule_Template");
131
133
  Object.defineProperty(exports, "Maintenance_Schedule_Template", { enumerable: true, get: function () { return Maintenance_Schedule_Template_1.Maintenance_Schedule_Template; } });
132
- var Maintenance_SourceMeta_1 = require("./Maintenance_SourceMeta");
133
- Object.defineProperty(exports, "Maintenance_SourceMeta", { enumerable: true, get: function () { return Maintenance_SourceMeta_1.Maintenance_SourceMeta; } });
134
134
  var Maintenance_Source_File_1 = require("./Maintenance_Source_File");
135
135
  Object.defineProperty(exports, "Maintenance_Source_File", { enumerable: true, get: function () { return Maintenance_Source_File_1.Maintenance_Source_File; } });
136
136
  var Maintenance_Ticket_1 = require("./Maintenance_Ticket");
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@openinc/parse-server-opendash",
3
- "version": "3.14.11",
3
+ "version": "3.15.0",
4
4
  "description": "Parse Server Cloud Code for open.INC Stack.",
5
- "packageManager": "pnpm@10.13.1",
5
+ "packageManager": "pnpm@10.15.0",
6
6
  "keywords": [
7
7
  "parse",
8
8
  "opendash"
@@ -31,12 +31,6 @@
31
31
  }
32
32
  },
33
33
  "classLevelPermissions": {
34
- "ACL": {
35
- "*": {
36
- "read": true,
37
- "write": true
38
- }
39
- },
40
34
  "find": {
41
35
  "*": true
42
36
  },
@@ -60,6 +54,12 @@
60
54
  },
61
55
  "protectedFields": {
62
56
  "*": []
57
+ },
58
+ "ACL": {
59
+ "*": {
60
+ "read": true,
61
+ "write": true
62
+ }
63
63
  }
64
64
  }
65
65
  }
@@ -34,12 +34,6 @@
34
34
  }
35
35
  },
36
36
  "classLevelPermissions": {
37
- "ACL": {
38
- "*": {
39
- "read": true,
40
- "write": true
41
- }
42
- },
43
37
  "find": {
44
38
  "*": true
45
39
  },
@@ -63,6 +57,12 @@
63
57
  },
64
58
  "protectedFields": {
65
59
  "*": []
60
+ },
61
+ "ACL": {
62
+ "*": {
63
+ "read": true,
64
+ "write": true
65
+ }
66
66
  }
67
67
  }
68
68
  }
@@ -0,0 +1,86 @@
1
+ {
2
+ "fields": {
3
+ "color": {
4
+ "type": "String",
5
+ "required": false
6
+ },
7
+ "cron": {
8
+ "type": "Object",
9
+ "required": false
10
+ },
11
+ "description": {
12
+ "type": "String",
13
+ "required": false
14
+ },
15
+ "enabled": {
16
+ "type": "Boolean",
17
+ "required": false,
18
+ "defaultValue": true
19
+ },
20
+ "lastExecution": {
21
+ "type": "Pointer",
22
+ "targetClass": "{{PREFIX}}Maintenance_Schedule_Execution",
23
+ "required": false
24
+ },
25
+ "notifyBeforeDue": {
26
+ "type": "Object",
27
+ "required": false
28
+ },
29
+ "source": {
30
+ "type": "Pointer",
31
+ "targetClass": "{{PREFIX}}Source",
32
+ "required": true
33
+ },
34
+ "steps": {
35
+ "type": "Relation",
36
+ "targetClass": "{{PREFIX}}Maintenance_Schedule_Step",
37
+ "required": false
38
+ },
39
+ "template": {
40
+ "type": "Pointer",
41
+ "targetClass": "{{PREFIX}}Maintenance_Schedule_Template",
42
+ "required": false
43
+ },
44
+ "tenant": {
45
+ "type": "Pointer",
46
+ "targetClass": "{{PREFIX}}Tenant",
47
+ "required": false
48
+ },
49
+ "title": {
50
+ "type": "String",
51
+ "required": false
52
+ }
53
+ },
54
+ "classLevelPermissions": {
55
+ "find": {
56
+ "*": true
57
+ },
58
+ "count": {
59
+ "*": true
60
+ },
61
+ "get": {
62
+ "*": true
63
+ },
64
+ "create": {
65
+ "*": true
66
+ },
67
+ "update": {
68
+ "*": true
69
+ },
70
+ "delete": {
71
+ "*": true
72
+ },
73
+ "addField": {
74
+ "*": true
75
+ },
76
+ "protectedFields": {
77
+ "*": []
78
+ },
79
+ "ACL": {
80
+ "*": {
81
+ "read": true,
82
+ "write": true
83
+ }
84
+ }
85
+ }
86
+ }
@@ -26,6 +26,11 @@
26
26
  "type": "Object",
27
27
  "required": false
28
28
  },
29
+ "schedule": {
30
+ "type": "Pointer",
31
+ "targetClass": "{{PREFIX}}Maintenance_Schedule",
32
+ "required": false
33
+ },
29
34
  "source": {
30
35
  "type": "Pointer",
31
36
  "targetClass": "{{PREFIX}}Source",
@@ -23,6 +23,16 @@
23
23
  "targetClass": "{{PREFIX}}Maintenance_Media",
24
24
  "required": false
25
25
  },
26
+ "meta": {
27
+ "type": "Array",
28
+ "required": false,
29
+ "defaultValue": []
30
+ },
31
+ "order": {
32
+ "type": "Number",
33
+ "required": true,
34
+ "defaultValue": 0
35
+ },
26
36
  "roles": {
27
37
  "type": "Relation",
28
38
  "targetClass": "_Role",
@@ -33,6 +43,11 @@
33
43
  "targetClass": "{{PREFIX}}Maintenance_Schedule_Execution",
34
44
  "required": false
35
45
  },
46
+ "step": {
47
+ "type": "Pointer",
48
+ "targetClass": "{{PREFIX}}Maintenance_Schedule_Step",
49
+ "required": false
50
+ },
36
51
  "tenant": {
37
52
  "type": "Pointer",
38
53
  "targetClass": "{{PREFIX}}Tenant",
@@ -13,6 +13,11 @@
13
13
  "targetClass": "{{PREFIX}}Maintenance_Media",
14
14
  "required": false
15
15
  },
16
+ "order": {
17
+ "type": "Number",
18
+ "required": true,
19
+ "defaultValue": 0
20
+ },
16
21
  "roles": {
17
22
  "type": "Relation",
18
23
  "targetClass": "_Role",
@@ -4,6 +4,11 @@
4
4
  "type": "String",
5
5
  "required": false
6
6
  },
7
+ "contacts": {
8
+ "type": "Relation",
9
+ "targetClass": "{{PREFIX}}Contact",
10
+ "required": false
11
+ },
7
12
  "cron": {
8
13
  "type": "Object",
9
14
  "required": true
@@ -20,12 +20,6 @@
20
20
  }
21
21
  },
22
22
  "classLevelPermissions": {
23
- "ACL": {
24
- "*": {
25
- "read": true,
26
- "write": true
27
- }
28
- },
29
23
  "find": {
30
24
  "*": true
31
25
  },
@@ -49,6 +43,12 @@
49
43
  },
50
44
  "protectedFields": {
51
45
  "*": []
46
+ },
47
+ "ACL": {
48
+ "*": {
49
+ "read": true,
50
+ "write": true
51
+ }
52
52
  }
53
53
  }
54
54
  }
@@ -49,4 +49,4 @@
49
49
  "*": []
50
50
  }
51
51
  }
52
- }
52
+ }
@@ -1,22 +0,0 @@
1
- import type { Maintenance_Item } from "./Maintenance_Item";
2
- import type { Source } from "./Source";
3
- import type { Tenant } from "./Tenant";
4
- export interface Maintenance_SourceMetaAttributes {
5
- id: string;
6
- objectId: string;
7
- createdAt: Date;
8
- updatedAt: Date;
9
- item?: Maintenance_Item;
10
- source: Source;
11
- tenant: Tenant;
12
- }
13
- export declare class Maintenance_SourceMeta extends Parse.Object<Maintenance_SourceMetaAttributes> {
14
- static className: string;
15
- constructor(data?: Partial<Maintenance_SourceMetaAttributes>);
16
- get item(): Maintenance_Item | undefined;
17
- set item(value: Maintenance_Item | undefined);
18
- get source(): Source;
19
- set source(value: Source);
20
- get tenant(): Tenant;
21
- set tenant(value: Tenant);
22
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Maintenance_SourceMeta = void 0;
4
- class Maintenance_SourceMeta extends Parse.Object {
5
- constructor(data) {
6
- super("OD3_Maintenance_SourceMeta", data);
7
- }
8
- get item() {
9
- return super.get("item");
10
- }
11
- set item(value) {
12
- super.set("item", value);
13
- }
14
- get source() {
15
- return super.get("source");
16
- }
17
- set source(value) {
18
- super.set("source", value);
19
- }
20
- get tenant() {
21
- return super.get("tenant");
22
- }
23
- set tenant(value) {
24
- super.set("tenant", value);
25
- }
26
- }
27
- exports.Maintenance_SourceMeta = Maintenance_SourceMeta;
28
- Maintenance_SourceMeta.className = "OD3_Maintenance_SourceMeta";
29
- Parse.Object.registerSubclass("OD3_Maintenance_SourceMeta", Maintenance_SourceMeta);