@youjunhuang/entity-core 1.0.3 → 1.0.7

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 (95) hide show
  1. package/dist/data_access/mongo/account-mongo.repository.d.ts +3 -1
  2. package/dist/data_access/mongo/account-mongo.repository.d.ts.map +1 -1
  3. package/dist/models/auth-credential.d.ts +6 -5
  4. package/dist/models/auth-credential.d.ts.map +1 -1
  5. package/dist/models/auth-credential.js +6 -7
  6. package/dist/models/auth-credential.js.map +1 -1
  7. package/dist/models/camera.d.ts +13 -11
  8. package/dist/models/camera.d.ts.map +1 -1
  9. package/dist/models/camera.js +15 -17
  10. package/dist/models/camera.js.map +1 -1
  11. package/dist/models/event.d.ts +33 -30
  12. package/dist/models/event.d.ts.map +1 -1
  13. package/dist/models/event.js +13 -26
  14. package/dist/models/event.js.map +1 -1
  15. package/dist/models/inform.d.ts +23 -20
  16. package/dist/models/inform.d.ts.map +1 -1
  17. package/dist/models/inform.js +19 -22
  18. package/dist/models/inform.js.map +1 -1
  19. package/dist/models/permission.d.ts +49 -42
  20. package/dist/models/permission.d.ts.map +1 -1
  21. package/dist/models/permission.js +49 -56
  22. package/dist/models/permission.js.map +1 -1
  23. package/dist/models/report.d.ts +41 -35
  24. package/dist/models/report.d.ts.map +1 -1
  25. package/dist/models/report.js +36 -42
  26. package/dist/models/report.js.map +1 -1
  27. package/dist/models/role.d.ts +14 -13
  28. package/dist/models/role.d.ts.map +1 -1
  29. package/dist/models/role.js +14 -15
  30. package/dist/models/role.js.map +1 -1
  31. package/dist/models/task.d.ts +7 -6
  32. package/dist/models/task.d.ts.map +1 -1
  33. package/dist/models/task.js +7 -8
  34. package/dist/models/task.js.map +1 -1
  35. package/dist/models/template.d.ts +46 -57
  36. package/dist/models/template.d.ts.map +1 -1
  37. package/dist/models/template.js +15 -24
  38. package/dist/models/template.js.map +1 -1
  39. package/dist/models/ui-item.d.ts +10 -9
  40. package/dist/models/ui-item.d.ts.map +1 -1
  41. package/dist/models/ui-item.js +9 -10
  42. package/dist/models/ui-item.js.map +1 -1
  43. package/dist/models/user.d.ts +8 -7
  44. package/dist/models/user.d.ts.map +1 -1
  45. package/dist/models/user.js +8 -9
  46. package/dist/models/user.js.map +1 -1
  47. package/dist/schemas/mongo/account-mongo.schema.d.ts +8 -8
  48. package/dist/schemas/mongo/account-mongo.schema.d.ts.map +1 -1
  49. package/dist/schemas/mongo/attachment-mongo.schema.d.ts +63 -50
  50. package/dist/schemas/mongo/attachment-mongo.schema.d.ts.map +1 -1
  51. package/dist/schemas/mongo/attachment-mongo.schema.js +1 -1
  52. package/dist/schemas/mongo/attachment-mongo.schema.js.map +1 -1
  53. package/dist/schemas/mongo/biometric-cred.schema.d.ts +8 -8
  54. package/dist/schemas/mongo/biometric-cred.schema.d.ts.map +1 -1
  55. package/dist/schemas/mongo/biometric-cred.schema.js +1 -1
  56. package/dist/schemas/mongo/biometric-cred.schema.js.map +1 -1
  57. package/dist/schemas/mongo/camera-mongo.schema.d.ts +12 -6
  58. package/dist/schemas/mongo/camera-mongo.schema.d.ts.map +1 -1
  59. package/dist/schemas/mongo/camera-mongo.schema.js +1 -1
  60. package/dist/schemas/mongo/camera-mongo.schema.js.map +1 -1
  61. package/dist/schemas/mongo/camera-recording-mongo.schema.d.ts +12 -6
  62. package/dist/schemas/mongo/camera-recording-mongo.schema.d.ts.map +1 -1
  63. package/dist/schemas/mongo/camera-recording-mongo.schema.js.map +1 -1
  64. package/dist/schemas/mongo/event-mongo.schema.d.ts +10 -8
  65. package/dist/schemas/mongo/event-mongo.schema.d.ts.map +1 -1
  66. package/dist/schemas/mongo/event-mongo.schema.js +22 -21
  67. package/dist/schemas/mongo/event-mongo.schema.js.map +1 -1
  68. package/dist/schemas/mongo/event-template-mongo.schema.d.ts +9 -12
  69. package/dist/schemas/mongo/event-template-mongo.schema.d.ts.map +1 -1
  70. package/dist/schemas/mongo/event-template-mongo.schema.js +17 -11
  71. package/dist/schemas/mongo/event-template-mongo.schema.js.map +1 -1
  72. package/dist/schemas/mongo/map-mongo.schema.d.ts +5 -5
  73. package/dist/schemas/mongo/map-mongo.schema.d.ts.map +1 -1
  74. package/dist/schemas/mongo/map-mongo.schema.js.map +1 -1
  75. package/dist/schemas/mongo/password-cred.schema.d.ts +8 -8
  76. package/dist/schemas/mongo/password-cred.schema.d.ts.map +1 -1
  77. package/dist/schemas/mongo/permission-mongo.schema.d.ts +5 -5
  78. package/dist/schemas/mongo/permission-mongo.schema.d.ts.map +1 -1
  79. package/dist/schemas/mongo/permission-mongo.schema.js +1 -1
  80. package/dist/schemas/mongo/permission-mongo.schema.js.map +1 -1
  81. package/dist/schemas/mongo/report-mongo.schema.d.ts +5 -5
  82. package/dist/schemas/mongo/report-mongo.schema.d.ts.map +1 -1
  83. package/dist/schemas/mongo/report-mongo.schema.js +1 -1
  84. package/dist/schemas/mongo/report-mongo.schema.js.map +1 -1
  85. package/dist/schemas/mongo/role-mongo.schema.d.ts +11 -6
  86. package/dist/schemas/mongo/role-mongo.schema.d.ts.map +1 -1
  87. package/dist/schemas/mongo/third-party-cred.schema.d.ts +8 -8
  88. package/dist/schemas/mongo/third-party-cred.schema.d.ts.map +1 -1
  89. package/dist/schemas/mongo/third-party-cred.schema.js.map +1 -1
  90. package/dist/schemas/mongo/ui-item.schema.d.ts.map +1 -1
  91. package/dist/schemas/mongo/ui-item.schema.js +1 -1
  92. package/dist/schemas/mongo/ui-item.schema.js.map +1 -1
  93. package/dist/schemas/mongo/user-mongo.schema.d.ts +14 -7
  94. package/dist/schemas/mongo/user-mongo.schema.d.ts.map +1 -1
  95. package/package.json +1 -1
@@ -4,7 +4,9 @@ import { AccountDocument } from '../../schemas/mongo/account-mongo.schema';
4
4
  export declare class AccountMongoRepository extends MongoBaseRepository<AccountDocument> {
5
5
  private accountModel;
6
6
  constructor(accountModel: Model<AccountDocument>);
7
- findByEmail(email: string): Promise<(import("mongoose").Document<unknown, {}, AccountDocument, {}, {}> & AccountDocument & Required<{
7
+ findByEmail(email: string): Promise<(import("mongoose").Document<unknown, {}, AccountDocument, {}, {}> & import("mongoose").Document<import("mongoose").Types.ObjectId, any, any, Record<string, any>, {}> & import("../..").Account & {
8
+ _user?: import("../..").UserProfileDocument;
9
+ } & Required<{
8
10
  _id: import("mongoose").Types.ObjectId;
9
11
  }> & {
10
12
  __v: number;
@@ -1 +1 @@
1
- {"version":3,"file":"account-mongo.repository.d.ts","sourceRoot":"","sources":["../../../data_access/mongo/account-mongo.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAgB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACzF,qBACa,sBAAuB,SAAQ,mBAAmB,CAAC,eAAe,CAAC;IAClC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;IAMlF,WAAW,CAAC,KAAK,EAAE,MAAM;;;;;IAIzB,cAAc,CAAC,QAAQ,EAAE,MAAM;CAOtC"}
1
+ {"version":3,"file":"account-mongo.repository.d.ts","sourceRoot":"","sources":["../../../data_access/mongo/account-mongo.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAgB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACzF,qBACa,sBAAuB,SAAQ,mBAAmB,CAAC,eAAe,CAAC;IAClC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC;IAMlF,WAAW,CAAC,KAAK,EAAE,MAAM;;;;;;;IAIzB,cAAc,CAAC,QAAQ,EAAE,MAAM;CAOtC"}
@@ -1,10 +1,11 @@
1
1
  import { User } from "./user";
2
2
  import { Base } from "./utils";
3
- export declare enum BiometricType {
4
- Face = "face",
5
- Voice = "voice",
6
- Fingerprint = "fingerprint"
7
- }
3
+ export declare const BiometricTypes: {
4
+ readonly Face: "face";
5
+ readonly Voice: "voice";
6
+ readonly Fingerprint: "fingerprint";
7
+ };
8
+ export type BiometricType = typeof BiometricTypes[keyof typeof BiometricTypes];
8
9
  export interface PasswordCredential extends Base {
9
10
  /** 關聯的使用者 ID。 */
10
11
  userId: User["id"];
@@ -1 +1 @@
1
- {"version":3,"file":"auth-credential.d.ts","sourceRoot":"","sources":["../../models/auth-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI;IAC9C,iBAAiB;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,SAAS;IACT,YAAY,EAAE,MAAM,CAAC;IAErB,gBAAgB;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI;IAC/C,iBAAiB;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,eAAe;IACf,aAAa,EAAE,aAAa,CAAC;IAE7B,gBAAgB;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,QAAQ,EAAE,OAAO,CAAC;IAElB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI;IAChD,iBAAiB;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IAErB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IAEtB,oBAAoB;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,sBAAsB;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,mBAAmB;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"auth-credential.d.ts","sourceRoot":"","sources":["../../models/auth-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE/E,MAAM,WAAW,kBAAmB,SAAQ,IAAI;IAC9C,iBAAiB;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,SAAS;IACT,YAAY,EAAE,MAAM,CAAC;IAErB,gBAAgB;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI;IAC/C,iBAAiB;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,eAAe;IACf,aAAa,EAAE,aAAa,CAAC;IAE7B,gBAAgB;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,QAAQ,EAAE,OAAO,CAAC;IAElB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI;IAChD,iBAAiB;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IAErB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IAEtB,oBAAoB;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,sBAAsB;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,mBAAmB;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BiometricType = void 0;
4
- var BiometricType;
5
- (function (BiometricType) {
6
- BiometricType["Face"] = "face";
7
- BiometricType["Voice"] = "voice";
8
- BiometricType["Fingerprint"] = "fingerprint";
9
- })(BiometricType || (exports.BiometricType = BiometricType = {}));
3
+ exports.BiometricTypes = void 0;
4
+ exports.BiometricTypes = {
5
+ Face: "face",
6
+ Voice: "voice",
7
+ Fingerprint: "fingerprint",
8
+ };
10
9
  //# sourceMappingURL=auth-credential.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-credential.js","sourceRoot":"","sources":["../../models/auth-credential.ts"],"names":[],"mappings":";;;AAGA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,4CAA2B,CAAA;AAC7B,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
1
+ {"version":3,"file":"auth-credential.js","sourceRoot":"","sources":["../../models/auth-credential.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAClB,CAAC"}
@@ -8,22 +8,24 @@ import { Map } from './map';
8
8
  * - **`Offline`**:已開始串流,但物理/網路層無法連線
9
9
  * - **`Online`**:攝影機正在串流
10
10
  */
11
- export declare enum CameraStatus {
12
- Inactive = "inactive",
13
- NoStream = "no_stream",
14
- Offline = "offline",
15
- Online = "online"
16
- }
11
+ export declare const CameraStatuses: {
12
+ readonly Inactive: "inactive";
13
+ readonly NoStream: "no_stream";
14
+ readonly Offline: "offline";
15
+ readonly Online: "online";
16
+ };
17
+ export type CameraStatus = typeof CameraStatuses[keyof typeof CameraStatuses];
17
18
  export declare const CameraStatusMap: Record<string, CameraStatus>;
18
19
  /**
19
20
  * **攝影機類型 (CameraType)**
20
21
  * - **`Shotgun`**:槍型攝影機
21
22
  * - **`Panoramic`**:全景攝影機
22
23
  */
23
- export declare enum CameraType {
24
- SHOTGUN = "shotgun",
25
- PANORAMIC = "panoramic"
26
- }
24
+ export declare const CameraTypes: {
25
+ readonly SHOTGUN: "shotgun";
26
+ readonly PANORAMIC: "panoramic";
27
+ };
28
+ export type CameraType = typeof CameraTypes[keyof typeof CameraTypes];
27
29
  /**
28
30
  * **攝影機 (Camera)**
29
31
  *
@@ -87,7 +89,7 @@ export interface Camera extends Device {
87
89
  * 攝影機的型號 (DeviceModel)
88
90
  * @example "D-Link DCS-930L"
89
91
  */
90
- deviceModel: string;
92
+ deviceModel?: string;
91
93
  /**
92
94
  * 裝置/攝影機描述
93
95
  * @example "監看大門人流,連接至 NVR-01"
@@ -1 +1 @@
1
- {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../models/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;;;;;GAMG;AACH,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,cAAc;IACtB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAKxD,CAAC;AAEF;;;;GAIG;AACH,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAGD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC;;;OAGG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAIF;;MAEE;IACF,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE;QACd;;;SAGC;QACD,CAAC,EAAE,MAAM,CAAC;QAEV;;;WAGG;QACH,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;AAED;;;;GAIG;AAEH,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../models/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAKxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAGtE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC;;;OAGG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAIF;;MAEE;IACF,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE;QACd;;;SAGC;QACD,CAAC,EAAE,MAAM,CAAC;QAEV;;;WAGG;QACH,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH;AAED;;;;GAIG;AAEH,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CameraType = exports.CameraStatusMap = exports.CameraStatus = void 0;
3
+ exports.CameraTypes = exports.CameraStatusMap = exports.CameraStatuses = void 0;
4
4
  /**
5
5
  * **攝影機狀態 (CameraStatus)**
6
6
  * - **`Inactive`**:系統層面「禁用」此攝影機
@@ -8,27 +8,25 @@ exports.CameraType = exports.CameraStatusMap = exports.CameraStatus = void 0;
8
8
  * - **`Offline`**:已開始串流,但物理/網路層無法連線
9
9
  * - **`Online`**:攝影機正在串流
10
10
  */
11
- var CameraStatus;
12
- (function (CameraStatus) {
13
- CameraStatus["Inactive"] = "inactive";
14
- CameraStatus["NoStream"] = "no_stream";
15
- CameraStatus["Offline"] = "offline";
16
- CameraStatus["Online"] = "online";
17
- })(CameraStatus || (exports.CameraStatus = CameraStatus = {}));
11
+ exports.CameraStatuses = {
12
+ Inactive: 'inactive',
13
+ NoStream: 'no_stream',
14
+ Offline: 'offline',
15
+ Online: 'online'
16
+ };
18
17
  exports.CameraStatusMap = {
19
- '在線': CameraStatus.Online,
20
- '離線': CameraStatus.Offline,
21
- '無串流': CameraStatus.NoStream,
22
- '未啟用': CameraStatus.Inactive,
18
+ '在線': exports.CameraStatuses.Online,
19
+ '離線': exports.CameraStatuses.Offline,
20
+ '無串流': exports.CameraStatuses.NoStream,
21
+ '未啟用': exports.CameraStatuses.Inactive,
23
22
  };
24
23
  /**
25
24
  * **攝影機類型 (CameraType)**
26
25
  * - **`Shotgun`**:槍型攝影機
27
26
  * - **`Panoramic`**:全景攝影機
28
27
  */
29
- var CameraType;
30
- (function (CameraType) {
31
- CameraType["SHOTGUN"] = "shotgun";
32
- CameraType["PANORAMIC"] = "panoramic";
33
- })(CameraType || (exports.CameraType = CameraType = {}));
28
+ exports.CameraTypes = {
29
+ SHOTGUN: 'shotgun',
30
+ PANORAMIC: 'panoramic',
31
+ };
34
32
  //# sourceMappingURL=camera.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../models/camera.ts"],"names":[],"mappings":";;;AAIA;;;;;;GAMG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,sCAAsB,CAAA;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAEY,QAAA,eAAe,GAAiC;IAC3D,IAAI,EAAE,YAAY,CAAC,MAAM;IACzB,IAAI,EAAE,YAAY,CAAC,OAAO;IAC1B,KAAK,EAAE,YAAY,CAAC,QAAQ;IAC5B,KAAK,EAAE,YAAY,CAAC,QAAQ;CAC7B,CAAC;AAEF;;;;GAIG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;AACzB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
1
+ {"version":3,"file":"camera.js","sourceRoot":"","sources":["../../models/camera.ts"],"names":[],"mappings":";;;AAIA;;;;;;GAMG;AACU,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,eAAe,GAAiC;IAC3D,IAAI,EAAE,sBAAc,CAAC,MAAM;IAC3B,IAAI,EAAE,sBAAc,CAAC,OAAO;IAC5B,KAAK,EAAE,sBAAc,CAAC,QAAQ;IAC9B,KAAK,EAAE,sBAAc,CAAC,QAAQ;CAC/B,CAAC;AAEF;;;;GAIG;AACU,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACd,CAAC"}
@@ -1,35 +1,37 @@
1
1
  import { EventCategory, EventType, EventTemplate } from './template';
2
2
  import { Base } from './utils';
3
- /**
4
- * **事件狀態 (EventStatus)**
5
- *
6
- * 定義事件處理的常見狀態:
7
- * - **`Unprocessed`**:事件尚未處理(初始狀態)。
8
- * - **`Notified`**:事件已通知相關人員,但尚未開始處理。
9
- * - **`Processing`**:事件正在處理中。
10
- * - **`Completed`**:事件處理完成。
11
- *
12
- * @enum {string}
13
- */
14
- export declare enum EventStatus {
15
- Unprocessed = "unprocessed",
16
- Notified = "notified",
17
- Processing = "processing",
18
- Completed = "completed"
3
+ export declare const EventStatuses: {
4
+ readonly Unprocessed: "unprocessed";
5
+ readonly Notified: "notified";
6
+ readonly Processing: "processing";
7
+ readonly Completed: "completed";
8
+ };
9
+ export type EventStatus = typeof EventStatuses[keyof typeof EventStatuses];
10
+ export declare const SubjectType: {
11
+ readonly Camera: "camera";
12
+ readonly User: "user";
13
+ };
14
+ export type SubjectType = typeof SubjectType[keyof typeof SubjectType];
15
+ export interface ViolationPayload {
16
+ snapshotUrl: string;
17
+ reid: string;
19
18
  }
20
- export declare enum SubjectType {
21
- Entrance = "Entrance",
22
- Camera = "Camera",
23
- Device = "Device",
24
- User = "User"
19
+ export interface ObservationPayload {
20
+ }
21
+ export interface TranscriptPayload {
25
22
  }
26
23
  export interface Event extends Base {
27
- /** 關聯樣板 */
24
+ /** 所屬的作業場景 ID (選填,因為可能是無場景的系統事件) */
25
+ readonly sceneId?: string | null;
28
26
  readonly templateId: EventTemplate['id'];
27
+ /** 事件名稱 */
28
+ readonly name: string;
29
+ /** 事件代碼 */
30
+ readonly code: string;
29
31
  /** 冗餘寫入,便於查詢(避免 Join/Lookup) */
30
32
  readonly category: EventCategory;
31
33
  readonly type: EventType;
32
- /** 主體(來源) */
34
+ /** 主體類型 (誰產生的?) */
33
35
  readonly subjectType: SubjectType;
34
36
  readonly subjectId: string;
35
37
  /** 嚴重度(可覆蓋 Template 預設;建議一經寫入不再改動) */
@@ -38,14 +40,15 @@ export interface Event extends Base {
38
40
  readonly description?: string | null;
39
41
  /** 事件實際發生時間(來源設備/AI 的時間) */
40
42
  readonly occurredAt: Date;
41
- /** (可選)事件群組/事故 ID(做關聯彙整) */
43
+ /** 事件群組 ID (例如:同一事故的連續 5 張截圖,可共用一個 groupId) */
42
44
  readonly groupId?: string | null;
43
- /** (可選)去重指紋,用於抑制重複事件 */
44
- /** (可選)標準化子型與自由標籤(若需要可加在 event_data.norm) */
45
- /** (可選)人臉reid */
46
- readonly reId?: string | null;
47
- /** (可選)處理截圖URL */
48
- readonly snapshotUrl?: string | null;
45
+ /** 去重指紋 (用於防止 AI 重複報警,例如 md5(code + subjectId + time_window)) */
46
+ readonly fingerprint?: string | null;
47
+ /** 標準化子型與自由標籤(若需要可加在 event_data.norm) */
48
+ /** * 結構化資料,根據 code 變化
49
+ * 包含: snapshotUrl, reId, batteryLevel, audioText 等等
50
+ */
51
+ readonly data: ViolationPayload | ObservationPayload | TranscriptPayload;
49
52
  }
50
53
  export interface EventData {
51
54
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../models/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,oBAAY,WAAW;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;CACxB;AAED,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,KAAM,SAAQ,IAAI;IACjC,WAAW;IACX,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAEzC,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,aAAa;IACb,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,8BAA8B;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAE1B,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,wBAAwB;IAGxB,6CAA6C;IAI7C,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,kBAAkB;IAClB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;CACH"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../models/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAG3E,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAGvE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;CAElC;AAED,MAAM,WAAW,iBAAiB;CAEjC;AAED,MAAM,WAAW,KAAM,SAAQ,IAAI;IACjC,oCAAoC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGjC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAGzC,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAGzB,mBAAmB;IACnB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,8BAA8B;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrC,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAG1B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,yCAAyC;IAKzC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;CAC1E;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;CACH"}
@@ -1,29 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubjectType = exports.EventStatus = void 0;
4
- /**
5
- * **事件狀態 (EventStatus)**
6
- *
7
- * 定義事件處理的常見狀態:
8
- * - **`Unprocessed`**:事件尚未處理(初始狀態)。
9
- * - **`Notified`**:事件已通知相關人員,但尚未開始處理。
10
- * - **`Processing`**:事件正在處理中。
11
- * - **`Completed`**:事件處理完成。
12
- *
13
- * @enum {string}
14
- */
15
- var EventStatus;
16
- (function (EventStatus) {
17
- EventStatus["Unprocessed"] = "unprocessed";
18
- EventStatus["Notified"] = "notified";
19
- EventStatus["Processing"] = "processing";
20
- EventStatus["Completed"] = "completed";
21
- })(EventStatus || (exports.EventStatus = EventStatus = {}));
22
- var SubjectType;
23
- (function (SubjectType) {
24
- SubjectType["Entrance"] = "Entrance";
25
- SubjectType["Camera"] = "Camera";
26
- SubjectType["Device"] = "Device";
27
- SubjectType["User"] = "User";
28
- })(SubjectType || (exports.SubjectType = SubjectType = {}));
3
+ exports.SubjectType = exports.EventStatuses = void 0;
4
+ // 事件狀態
5
+ exports.EventStatuses = {
6
+ Unprocessed: 'unprocessed', // 尚未處理
7
+ Notified: 'notified', // 已通知
8
+ Processing: 'processing', // 正在處理
9
+ Completed: 'completed', // 已完成
10
+ };
11
+ // 主體類型
12
+ exports.SubjectType = {
13
+ Camera: 'camera', // 摄像機
14
+ User: 'user', // 用戶
15
+ };
29
16
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../models/event.ts"],"names":[],"mappings":";;;AAIA;;;;;;;;;;GAUG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,sCAAuB,CAAA;AACzB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;AACf,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../models/event.ts"],"names":[],"mappings":";;;AAIA,OAAO;AACM,QAAA,aAAa,GAAG;IAC3B,WAAW,EAAE,aAAa,EAAI,OAAO;IACrC,QAAQ,EAAE,UAAU,EAAU,MAAM;IACpC,UAAU,EAAE,YAAY,EAAM,OAAO;IACrC,SAAS,EAAE,WAAW,EAAQ,MAAM;CAC5B,CAAC;AAIX,OAAO;AACM,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ,EAAc,MAAM;IACpC,IAAI,EAAE,MAAM,EAAkB,KAAK;CAC3B,CAAC"}
@@ -12,20 +12,21 @@ import { Base } from "./utils";
12
12
  * - **`Web`**:透過通知 Web 。
13
13
  * - **`Webhook`**:透過 Webhook 送達通知。
14
14
  */
15
- export declare enum InformChannel {
15
+ export declare const InformChannels: {
16
16
  /** 電子郵件 */
17
- Email = "email",
17
+ readonly Email: "email";
18
18
  /** 簡訊 (SMS) */
19
- SMS = "sms",
19
+ readonly SMS: "sms";
20
20
  /** Firebase Cloud Messaging */
21
- FCM = "fcm",
21
+ readonly FCM: "fcm";
22
22
  /** Apple Push Inform Service */
23
- APNs = "apns",
23
+ readonly APNs: "apns";
24
24
  /** Web */
25
- Web = "web",
25
+ readonly Web: "web";
26
26
  /** Webhook */
27
- Webhook = "webhook"
28
- }
27
+ readonly Webhook: "webhook";
28
+ };
29
+ export type InformChannel = typeof InformChannels[keyof typeof InformChannels];
29
30
  /**
30
31
  * **通知狀態**
31
32
  *
@@ -35,16 +36,17 @@ export declare enum InformChannel {
35
36
  * - **`Read`**:已讀取。
36
37
  * - **`Failed`**:發送失敗。
37
38
  */
38
- export declare enum InformStatus {
39
+ export declare const InformStatuses: {
39
40
  /** 通知已建立,尚未發送。 */
40
- Pending = "pending",
41
+ readonly Pending: "pending";
41
42
  /** 通知已發送。 */
42
- Sent = "sent",
43
+ readonly Sent: "sent";
43
44
  /** 通知已讀取。 */
44
- Read = "read",
45
+ readonly Read: "read";
45
46
  /** 通知發送失敗。 */
46
- Failed = "failed"
47
- }
47
+ readonly Failed: "failed";
48
+ };
49
+ export type InformStatus = typeof InformStatuses[keyof typeof InformStatuses];
48
50
  /**
49
51
  * **通知主表**
50
52
  *
@@ -98,10 +100,11 @@ export interface InformStatusRecord extends Base {
98
100
  * - `Repeated`:持續通知 X 次,每次間隔 Y 分鐘,直到 Z 分鐘或者被 attachment 標記已處理。
99
101
  * - `Difference`:當 event 的同一種類的子類型 T1 和 T0 出現差異時通知。
100
102
  */
101
- export declare enum InformStrategyType {
102
- Repeated = "repeated",
103
- Difference = "difference"
104
- }
103
+ export declare const InformStrategyTypes: {
104
+ readonly Repeated: "repeated";
105
+ readonly Difference: "difference";
106
+ };
107
+ export type InformStrategyType = typeof InformStrategyTypes[keyof typeof InformStrategyTypes];
105
108
  /**
106
109
  * **持續通知策略**
107
110
  *
@@ -113,7 +116,7 @@ export declare enum InformStrategyType {
113
116
  * - `attachmentIdToResolve`:當特定附件標記已處理時停止通知。
114
117
  */
115
118
  export interface RepeatedInformStrategy {
116
- strategy: InformStrategyType.Repeated;
119
+ strategy: typeof InformStrategyTypes.Repeated;
117
120
  /** 最大通知次數 (X) */
118
121
  maxAttempts: number;
119
122
  /** 每次通知的時間間隔 (Y)(分鐘) */
@@ -133,7 +136,7 @@ export interface RepeatedInformStrategy {
133
136
  * - `currentSubType`:新的事件子類型 (T1)。
134
137
  */
135
138
  export interface SubTypeDifferenceInformStrategy {
136
- strategy: InformStrategyType.Difference;
139
+ strategy: typeof InformStrategyTypes.Difference;
137
140
  /** 事件類別 (例如 `visual` 或 `system`) */
138
141
  type: EventType;
139
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inform.d.ts","sourceRoot":"","sources":["../../models/inform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B;;;;;;;;;;GAUG;AACH,oBAAY,aAAa;IACvB,WAAW;IACX,KAAK,UAAU;IAEf,eAAe;IACf,GAAG,QAAQ;IAEX,+BAA+B;IAC/B,GAAG,QAAQ;IAEX,gCAAgC;IAChC,IAAI,SAAS;IAEb,UAAU;IACV,GAAG,QAAQ;IAEX,cAAc;IACd,OAAO,YAAY;CACpB;AAED;;;;;;;;GAQG;AACH,oBAAY,YAAY;IACtB,kBAAkB;IAClB,OAAO,YAAY;IAEnB,aAAa;IACb,IAAI,SAAS;IAEb,aAAa;IACb,IAAI,SAAS;IAEb,cAAc;IACd,MAAM,WAAW;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAO,SAAQ,IAAI;IAClC,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,sBAAsB;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AACD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;CACxB,CAAA;AAGD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI;IAC9C,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,OAAO,EAAE,aAAa,CAAC;IAEvB,YAAY;IACZ,MAAM,EAAE,YAAY,CAAC;IAErB,kCAAkC;IAClC,MAAM,CAAC,EAAE,IAAI,CAAC;CACf;AAGD;;;;;GAKG;AACH,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AACD;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IAEtC,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IAExB,qBAAqB;IACrB,eAAe,EAAE,MAAM,CAAC;IAExB,8BAA8B;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAExC,oCAAoC;IACpC,IAAI,EAAE,SAAS,CAAC;CAOjB;AACD,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GACvD,+BAA+B,CAAC"}
1
+ {"version":3,"file":"inform.d.ts","sourceRoot":"","sources":["../../models/inform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;IACzB,WAAW;;IAGX,eAAe;;IAGf,+BAA+B;;IAG/B,gCAAgC;;IAGhC,UAAU;;IAGV,cAAc;;CAEN,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE/E;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;IACzB,kBAAkB;;IAGlB,aAAa;;IAGb,aAAa;;IAGb,cAAc;;CAEN,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,WAAW,MAAO,SAAQ,IAAI;IAClC,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAEhB,sBAAsB;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AACD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;CACxB,CAAA;AAGD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI;IAC9C,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,iDAAiD;IACjD,OAAO,EAAE,aAAa,CAAC;IAEvB,YAAY;IACZ,MAAM,EAAE,YAAY,CAAC;IAErB,kCAAkC;IAClC,MAAM,CAAC,EAAE,IAAI,CAAC;CACf;AAGD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAC9F;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IAE9C,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC;IAExB,qBAAqB;IACrB,eAAe,EAAE,MAAM,CAAC;IAExB,8BAA8B;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,OAAO,mBAAmB,CAAC,UAAU,CAAC;IAEhD,oCAAoC;IACpC,IAAI,EAAE,SAAS,CAAC;CAOjB;AACD,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GACvD,+BAA+B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InformStrategyType = exports.InformStatus = exports.InformChannel = void 0;
3
+ exports.InformStrategyTypes = exports.InformStatuses = exports.InformChannels = void 0;
4
4
  /**
5
5
  * **通知發送渠道**
6
6
  *
@@ -12,21 +12,20 @@ exports.InformStrategyType = exports.InformStatus = exports.InformChannel = void
12
12
  * - **`Web`**:透過通知 Web 。
13
13
  * - **`Webhook`**:透過 Webhook 送達通知。
14
14
  */
15
- var InformChannel;
16
- (function (InformChannel) {
15
+ exports.InformChannels = {
17
16
  /** 電子郵件 */
18
- InformChannel["Email"] = "email";
17
+ Email: 'email',
19
18
  /** 簡訊 (SMS) */
20
- InformChannel["SMS"] = "sms";
19
+ SMS: 'sms',
21
20
  /** Firebase Cloud Messaging */
22
- InformChannel["FCM"] = "fcm";
21
+ FCM: 'fcm',
23
22
  /** Apple Push Inform Service */
24
- InformChannel["APNs"] = "apns";
23
+ APNs: 'apns',
25
24
  /** Web */
26
- InformChannel["Web"] = "web";
25
+ Web: 'web',
27
26
  /** Webhook */
28
- InformChannel["Webhook"] = "webhook";
29
- })(InformChannel || (exports.InformChannel = InformChannel = {}));
27
+ Webhook: 'webhook'
28
+ };
30
29
  /**
31
30
  * **通知狀態**
32
31
  *
@@ -36,26 +35,24 @@ var InformChannel;
36
35
  * - **`Read`**:已讀取。
37
36
  * - **`Failed`**:發送失敗。
38
37
  */
39
- var InformStatus;
40
- (function (InformStatus) {
38
+ exports.InformStatuses = {
41
39
  /** 通知已建立,尚未發送。 */
42
- InformStatus["Pending"] = "pending";
40
+ Pending: 'pending',
43
41
  /** 通知已發送。 */
44
- InformStatus["Sent"] = "sent";
42
+ Sent: 'sent',
45
43
  /** 通知已讀取。 */
46
- InformStatus["Read"] = "read";
44
+ Read: 'read',
47
45
  /** 通知發送失敗。 */
48
- InformStatus["Failed"] = "failed";
49
- })(InformStatus || (exports.InformStatus = InformStatus = {}));
46
+ Failed: 'failed'
47
+ };
50
48
  /**
51
49
  * **通知策略類型**
52
50
  *
53
51
  * - `Repeated`:持續通知 X 次,每次間隔 Y 分鐘,直到 Z 分鐘或者被 attachment 標記已處理。
54
52
  * - `Difference`:當 event 的同一種類的子類型 T1 和 T0 出現差異時通知。
55
53
  */
56
- var InformStrategyType;
57
- (function (InformStrategyType) {
58
- InformStrategyType["Repeated"] = "repeated";
59
- InformStrategyType["Difference"] = "difference";
60
- })(InformStrategyType || (exports.InformStrategyType = InformStrategyType = {}));
54
+ exports.InformStrategyTypes = {
55
+ Repeated: "repeated",
56
+ Difference: "difference"
57
+ };
61
58
  //# sourceMappingURL=inform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inform.js","sourceRoot":"","sources":["../../models/inform.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;;;GAUG;AACH,IAAY,aAkBX;AAlBD,WAAY,aAAa;IACvB,WAAW;IACX,gCAAe,CAAA;IAEf,eAAe;IACf,4BAAW,CAAA;IAEX,+BAA+B;IAC/B,4BAAW,CAAA;IAEX,gCAAgC;IAChC,8BAAa,CAAA;IAEb,UAAU;IACV,4BAAW,CAAA;IAEX,cAAc;IACd,oCAAmB,CAAA;AACrB,CAAC,EAlBW,aAAa,6BAAb,aAAa,QAkBxB;AAED;;;;;;;;GAQG;AACH,IAAY,YAYX;AAZD,WAAY,YAAY;IACtB,kBAAkB;IAClB,mCAAmB,CAAA;IAEnB,aAAa;IACb,6BAAa,CAAA;IAEb,aAAa;IACb,6BAAa,CAAA;IAEb,cAAc;IACd,iCAAiB,CAAA;AACnB,CAAC,EAZW,YAAY,4BAAZ,YAAY,QAYvB;AA2DD;;;;;GAKG;AACH,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,2CAAqB,CAAA;IACrB,+CAAyB,CAAA;AAC3B,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B"}
1
+ {"version":3,"file":"inform.js","sourceRoot":"","sources":["../../models/inform.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;;;GAUG;AACU,QAAA,cAAc,GAAG;IAC5B,WAAW;IACX,KAAK,EAAE,OAAO;IAEd,eAAe;IACf,GAAG,EAAE,KAAK;IAEV,+BAA+B;IAC/B,GAAG,EAAE,KAAK;IAEV,gCAAgC;IAChC,IAAI,EAAE,MAAM;IAEZ,UAAU;IACV,GAAG,EAAE,KAAK;IAEV,cAAc;IACd,OAAO,EAAE,SAAS;CACV,CAAC;AAIX;;;;;;;;GAQG;AACU,QAAA,cAAc,GAAG;IAC5B,kBAAkB;IAClB,OAAO,EAAE,SAAS;IAElB,aAAa;IACb,IAAI,EAAE,MAAM;IAEZ,aAAa;IACb,IAAI,EAAE,MAAM;IAEZ,cAAc;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AA6DX;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG;IACjC,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC"}
@@ -6,56 +6,63 @@
6
6
  * 例如:Chatroom, Inform, Event, Group, Server ...
7
7
  * 未來若出現新功能,可在此擴充。
8
8
  */
9
- export declare enum PermissionCategory {
9
+ export declare const PermissionCategories: {
10
10
  /** 聊天室 */
11
- Chatroom = "chatroom",
12
- Inform = "inform",
13
- Event = "event",
14
- Report = "report",
15
- Group = "group",
16
- Server = "server"
17
- }
11
+ readonly Chatroom: "chatroom";
12
+ readonly Inform: "inform";
13
+ readonly Event: "event";
14
+ readonly Report: "report";
15
+ readonly Group: "group";
16
+ readonly Server: "server";
17
+ };
18
+ export type PermissionCategory = typeof PermissionCategories[keyof typeof PermissionCategories];
18
19
  /**
19
20
  * **聊天室可用動作 (ChatroomPermissionAction)**
20
21
  */
21
- export declare enum ChatroomPermissionAction {
22
+ export declare const ChatroomPermissionActions: {
22
23
  /** 可讀取訊息 */
23
- ReadMessage = "readMessage",
24
+ readonly ReadMessage: "readMessage";
24
25
  /** 可傳送訊息 */
25
- SendMessage = "sendMessage",
26
+ readonly SendMessage: "sendMessage";
26
27
  /** 可編輯/刪除他人訊息 */
27
- ManageMessages = "manageMessages",
28
+ readonly ManageMessages: "manageMessages";
28
29
  /** 可管理聊天室 (新增移除成員、修改設定) */
29
- ManageChatroom = "manageChatroom"
30
- }
31
- export declare enum ServerPermissionAction {
32
- RestartServer = "restartServer",
33
- ManageUsers = "manageUsers",
34
- ConfigureSettings = "configureSettings"
35
- }
36
- export declare enum ReportPermissionAction {
37
- ViewReport = "viewReport",
38
- GenerateReport = "generateReport"
39
- }
40
- export declare enum GroupPermissionAction {
41
- ViewGroup = "viewGroup",
42
- CreateGroup = "createGroup",
43
- EditGroup = "editGroup",
44
- DeleteGroup = "deleteGroup",
45
- ManageMembers = "manageMembers"
46
- }
47
- export declare enum InformPermissionAction {
48
- ViewNotifications = "viewNotifications",
49
- SendNotifications = "sendNotifications",
50
- ManageNotifications = "manageNotifications"
51
- }
52
- export declare enum EventPermissionAction {
53
- ViewEvent = "viewEvent",
54
- CreateEvent = "createEvent",
55
- EditEvent = "editEvent",
56
- DeleteEvent = "deleteEvent",
57
- ManageParticipants = "manageParticipants"
58
- }
30
+ readonly ManageChatroom: "manageChatroom";
31
+ };
32
+ export type ChatroomPermissionAction = typeof ChatroomPermissionActions[keyof typeof ChatroomPermissionActions];
33
+ export declare const ServerPermissionActions: {
34
+ readonly RestartServer: "restartServer";
35
+ readonly ManageUsers: "manageUsers";
36
+ readonly ConfigureSettings: "configureSettings";
37
+ };
38
+ export type ServerPermissionAction = typeof ServerPermissionActions[keyof typeof ServerPermissionActions];
39
+ export declare const ReportPermissionActions: {
40
+ readonly ViewReport: "viewReport";
41
+ readonly GenerateReport: "generateReport";
42
+ };
43
+ export type ReportPermissionAction = typeof ReportPermissionActions[keyof typeof ReportPermissionActions];
44
+ export declare const GroupPermissionActions: {
45
+ readonly ViewGroup: "viewGroup";
46
+ readonly CreateGroup: "createGroup";
47
+ readonly EditGroup: "editGroup";
48
+ readonly DeleteGroup: "deleteGroup";
49
+ readonly ManageMembers: "manageMembers";
50
+ };
51
+ export type GroupPermissionAction = typeof GroupPermissionActions[keyof typeof GroupPermissionActions];
52
+ export declare const InformPermissionActions: {
53
+ readonly ViewNotifications: "viewNotifications";
54
+ readonly SendNotifications: "sendNotifications";
55
+ readonly ManageNotifications: "manageNotifications";
56
+ };
57
+ export type InformPermissionAction = typeof InformPermissionActions[keyof typeof InformPermissionActions];
58
+ export declare const EventPermissionActions: {
59
+ readonly ViewEvent: "viewEvent";
60
+ readonly CreateEvent: "createEvent";
61
+ readonly EditEvent: "editEvent";
62
+ readonly DeleteEvent: "deleteEvent";
63
+ readonly ManageParticipants: "manageParticipants";
64
+ };
65
+ export type EventPermissionAction = typeof EventPermissionActions[keyof typeof EventPermissionActions];
59
66
  export type PermissionAction = ChatroomPermissionAction | ServerPermissionAction | ReportPermissionAction | GroupPermissionAction | InformPermissionAction | EventPermissionAction;
60
67
  export declare const PermissionActionMap: Record<PermissionCategory, Record<string, string>>;
61
68
  /**