@openinc/parse-server-opendash 3.4.1 → 3.4.3

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.
@@ -1,5 +1,5 @@
1
1
  import { SaveValues } from "../features/openservice";
2
- import { Maintenance_Ticket, _User } from "../types";
2
+ import { _User, Maintenance_Ticket } from "../types";
3
3
  export declare function getUsername(user: _User | undefined): string;
4
4
  export declare function init(name: string): Promise<void>;
5
5
  export declare function saveTicketData(data: SaveValues, user?: _User): Promise<Maintenance_Ticket>;
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getUsername = getUsername;
4
4
  exports.init = init;
5
5
  exports.saveTicketData = saveTicketData;
6
+ const openservice_1 = require("../features/openservice");
6
7
  const openware_1 = require("../features/openware");
7
8
  const catchError_1 = require("../helper/catchError");
8
- const openservice_1 = require("../features/openservice");
9
9
  const types_1 = require("../types");
10
10
  function getUsername(user) {
11
11
  if (!user)
@@ -37,7 +37,7 @@ async function init() {
37
37
  * This function is called upon initialization and uses bree to schedule all jobs.
38
38
  */
39
39
  async function initScheduling() {
40
- console.log("Init Scheduling Maintenance_Schedule_Template jobs");
40
+ console.log("Init scheduling Maintenance_Schedule_Template jobs");
41
41
  //Get all Maintenance_Schedule_Template objects
42
42
  const [queryError, query] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Schedule_Template).find({
43
43
  useMasterKey: true,
@@ -0,0 +1 @@
1
+ export declare function init(): Promise<void>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.init = init;
4
+ const __1 = require("..");
5
+ async function init() {
6
+ (0, __1.beforeSaveHook)("_Role", async (request) => {
7
+ const role = request.object;
8
+ let tenantId = null;
9
+ if (request.user && request.user.get("tenant")) {
10
+ tenantId = request.user.get("tenant").id;
11
+ }
12
+ if (!role.get("name")) {
13
+ role.set("name", crypto.randomUUID());
14
+ }
15
+ //Set ACL to od-tenant-admin-{id_of_tenant}
16
+ if (role.isNew()) {
17
+ role.setACL(new Parse.ACL({
18
+ ...(tenantId && {
19
+ [`role:od-tenant-user-${tenantId}`]: { read: true },
20
+ [`role:od-tenant-admin-${tenantId}`]: { read: true, write: true },
21
+ }),
22
+ public: { read: false, write: false },
23
+ "role:od-admin": { read: true, write: true },
24
+ }));
25
+ }
26
+ });
27
+ // afterSaveHook("_Role", async (request) => {});
28
+ }
@@ -9,6 +9,7 @@ async function init() {
9
9
  const classNames = [
10
10
  "_beforeLogin",
11
11
  "_User",
12
+ "_Role",
12
13
  ...fs_1.default
13
14
  .readdirSync(__dirname)
14
15
  .filter((filename) => !filename.startsWith("_"))
@@ -1,11 +1,11 @@
1
- import type { _Role } from "./_Role";
1
+ import type { Tenant } from "./Tenant";
2
2
  export interface Maintenance_Ticket_FormConfigAttributes {
3
3
  id: string;
4
4
  objectId: string;
5
5
  createdAt: Date;
6
6
  updatedAt: Date;
7
7
  config: any;
8
- roles: Parse.Relation<Maintenance_Ticket_FormConfig, _Role>;
8
+ tenant?: Tenant;
9
9
  view: string;
10
10
  }
11
11
  export declare class Maintenance_Ticket_FormConfig extends Parse.Object<Maintenance_Ticket_FormConfigAttributes> {
@@ -13,7 +13,8 @@ export declare class Maintenance_Ticket_FormConfig extends Parse.Object<Maintena
13
13
  constructor(data?: Partial<Maintenance_Ticket_FormConfigAttributes>);
14
14
  get config(): any;
15
15
  set config(value: any);
16
- get roles(): Parse.Relation<Maintenance_Ticket_FormConfig, _Role>;
16
+ get tenant(): Tenant | undefined;
17
+ set tenant(value: Tenant | undefined);
17
18
  get view(): string;
18
19
  set view(value: string);
19
20
  }
@@ -11,8 +11,11 @@ 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");
14
+ get tenant() {
15
+ return super.get("tenant");
16
+ }
17
+ set tenant(value) {
18
+ super.set("tenant", value);
16
19
  }
17
20
  get view() {
18
21
  return super.get("view");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openinc/parse-server-opendash",
3
- "version": "3.4.1",
3
+ "version": "3.4.3",
4
4
  "description": "Parse Server Cloud Code for open.INC Stack.",
5
5
  "packageManager": "pnpm@10.8.1",
6
6
  "keywords": [
@@ -71,7 +71,7 @@
71
71
  "node-fetch": "^3.3.2",
72
72
  "nodemailer": "^6.10.1",
73
73
  "nunjucks": "^3.2.4",
74
- "parse-server": "^8.1.0",
74
+ "parse-server": "^8.2.0",
75
75
  "pdf-img-convert": "2.0.0",
76
76
  "semantic-release": "^24.2.3",
77
77
  "table": "^6.9.0",
@@ -80,13 +80,13 @@
80
80
  "devDependencies": {
81
81
  "@semantic-release/changelog": "^6.0.3",
82
82
  "@semantic-release/commit-analyzer": "^13.0.1",
83
- "@semantic-release/exec": "^7.0.3",
83
+ "@semantic-release/exec": "^7.1.0",
84
84
  "@semantic-release/git": "^10.0.1",
85
- "@semantic-release/github": "^11.0.1",
85
+ "@semantic-release/github": "^11.0.2",
86
86
  "@semantic-release/npm": "^12.0.1",
87
87
  "@semantic-release/release-notes-generator": "^14.0.3",
88
88
  "@types/jsonwebtoken": "^9.0.9",
89
- "@types/node": "^22.14.1",
89
+ "@types/node": "^22.15.18",
90
90
  "@types/node-fetch": "^2.6.12",
91
91
  "@types/nodemailer": "^6.4.17",
92
92
  "@types/nunjucks": "^3.2.6",
@@ -94,8 +94,8 @@
94
94
  "@types/safe-timers": "^1.1.2",
95
95
  "@types/web-push": "^3.6.4",
96
96
  "semantic-release-export-data": "^1.1.0",
97
- "typedoc": "^0.28.2",
98
- "typedoc-plugin-markdown": "^4.6.2",
97
+ "typedoc": "^0.28.4",
98
+ "typedoc-plugin-markdown": "^4.6.3",
99
99
  "typescript": "^5.8.3"
100
100
  }
101
101
  }
@@ -4,9 +4,9 @@
4
4
  "type": "Object",
5
5
  "required": true
6
6
  },
7
- "roles": {
8
- "type": "Relation",
9
- "targetClass": "_Role",
7
+ "tenant": {
8
+ "type": "Pointer",
9
+ "targetClass": "{{PREFIX}}Tenant",
10
10
  "required": false
11
11
  },
12
12
  "view": {