@youjunhuang/entity-core 1.0.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.
- package/dist/data_access/base/base.repository.d.ts +29 -0
- package/dist/data_access/base/base.repository.d.ts.map +1 -0
- package/dist/data_access/base/base.repository.js +7 -0
- package/dist/data_access/base/base.repository.js.map +1 -0
- package/dist/data_access/base/index.d.ts +4 -0
- package/dist/data_access/base/index.d.ts.map +1 -0
- package/dist/data_access/base/index.js +20 -0
- package/dist/data_access/base/index.js.map +1 -0
- package/dist/data_access/base/mongo-base.repository.d.ts +34 -0
- package/dist/data_access/base/mongo-base.repository.d.ts.map +1 -0
- package/dist/data_access/base/mongo-base.repository.js +229 -0
- package/dist/data_access/base/mongo-base.repository.js.map +1 -0
- package/dist/data_access/base/sql-base.repository.d.ts +20 -0
- package/dist/data_access/base/sql-base.repository.d.ts.map +1 -0
- package/dist/data_access/base/sql-base.repository.js +180 -0
- package/dist/data_access/base/sql-base.repository.js.map +1 -0
- package/dist/data_access/index.d.ts +3 -0
- package/dist/data_access/index.d.ts.map +1 -0
- package/dist/data_access/index.js +20 -0
- package/dist/data_access/index.js.map +1 -0
- package/dist/data_access/mongo/account-mongo.repository.d.ts +14 -0
- package/dist/data_access/mongo/account-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/account-mongo.repository.js +43 -0
- package/dist/data_access/mongo/account-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/attachment-mongo.repository.d.ts +139 -0
- package/dist/data_access/mongo/attachment-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/attachment-mongo.repository.js +355 -0
- package/dist/data_access/mongo/attachment-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/biometric-cred.repository.d.ts +8 -0
- package/dist/data_access/mongo/biometric-cred.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/biometric-cred.repository.js +32 -0
- package/dist/data_access/mongo/biometric-cred.repository.js.map +1 -0
- package/dist/data_access/mongo/camera-mongo.repository.d.ts +9 -0
- package/dist/data_access/mongo/camera-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/camera-mongo.repository.js +39 -0
- package/dist/data_access/mongo/camera-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/camera-recording-mongo.repository.d.ts +9 -0
- package/dist/data_access/mongo/camera-recording-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/camera-recording-mongo.repository.js +39 -0
- package/dist/data_access/mongo/camera-recording-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/event-mongo.repository.d.ts +23 -0
- package/dist/data_access/mongo/event-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/event-mongo.repository.js +175 -0
- package/dist/data_access/mongo/event-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/event-template-mongo.repository.d.ts +8 -0
- package/dist/data_access/mongo/event-template-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/event-template-mongo.repository.js +36 -0
- package/dist/data_access/mongo/event-template-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/event-template-name-mongo.repository.d.ts +19 -0
- package/dist/data_access/mongo/event-template-name-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/event-template-name-mongo.repository.js +47 -0
- package/dist/data_access/mongo/event-template-name-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/index.d.ts +17 -0
- package/dist/data_access/mongo/index.d.ts.map +1 -0
- package/dist/data_access/mongo/index.js +33 -0
- package/dist/data_access/mongo/index.js.map +1 -0
- package/dist/data_access/mongo/map-mongo.repository.d.ts +9 -0
- package/dist/data_access/mongo/map-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/map-mongo.repository.js +46 -0
- package/dist/data_access/mongo/map-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/password-cred.repository.d.ts +8 -0
- package/dist/data_access/mongo/password-cred.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/password-cred.repository.js +32 -0
- package/dist/data_access/mongo/password-cred.repository.js.map +1 -0
- package/dist/data_access/mongo/permission-mongo.repository.d.ts +8 -0
- package/dist/data_access/mongo/permission-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/permission-mongo.repository.js +32 -0
- package/dist/data_access/mongo/permission-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/report.repository.d.ts +12 -0
- package/dist/data_access/mongo/report.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/report.repository.js +52 -0
- package/dist/data_access/mongo/report.repository.js.map +1 -0
- package/dist/data_access/mongo/role-mongo.repository.d.ts +7 -0
- package/dist/data_access/mongo/role-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/role-mongo.repository.js +35 -0
- package/dist/data_access/mongo/role-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/third-party-cred.repository.d.ts +8 -0
- package/dist/data_access/mongo/third-party-cred.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/third-party-cred.repository.js +32 -0
- package/dist/data_access/mongo/third-party-cred.repository.js.map +1 -0
- package/dist/data_access/mongo/ui-item-mongo.repository.d.ts +7 -0
- package/dist/data_access/mongo/ui-item-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/ui-item-mongo.repository.js +35 -0
- package/dist/data_access/mongo/ui-item-mongo.repository.js.map +1 -0
- package/dist/data_access/mongo/user-mongo.repository.d.ts +8 -0
- package/dist/data_access/mongo/user-mongo.repository.d.ts.map +1 -0
- package/dist/data_access/mongo/user-mongo.repository.js +39 -0
- package/dist/data_access/mongo/user-mongo.repository.js.map +1 -0
- package/dist/data_access/sql/index.d.ts +1 -0
- package/dist/data_access/sql/index.d.ts.map +1 -0
- package/dist/data_access/sql/index.js +3 -0
- package/dist/data_access/sql/index.js.map +1 -0
- package/dist/data_access/sql/user-profiles.repository.d.ts +1 -0
- package/dist/data_access/sql/user-profiles.repository.d.ts.map +1 -0
- package/dist/data_access/sql/user-profiles.repository.js +36 -0
- package/dist/data_access/sql/user-profiles.repository.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/models/account.d.ts +27 -0
- package/dist/models/account.d.ts.map +1 -0
- package/dist/models/account.js +3 -0
- package/dist/models/account.js.map +1 -0
- package/dist/models/attachment.d.ts +147 -0
- package/dist/models/attachment.d.ts.map +1 -0
- package/dist/models/attachment.js +25 -0
- package/dist/models/attachment.js.map +1 -0
- package/dist/models/auth-credential.d.ts +46 -0
- package/dist/models/auth-credential.d.ts.map +1 -0
- package/dist/models/auth-credential.js +10 -0
- package/dist/models/auth-credential.js.map +1 -0
- package/dist/models/camera.d.ts +156 -0
- package/dist/models/camera.d.ts.map +1 -0
- package/dist/models/camera.js +34 -0
- package/dist/models/camera.js.map +1 -0
- package/dist/models/chatroom.d.ts +55 -0
- package/dist/models/chatroom.d.ts.map +1 -0
- package/dist/models/chatroom.js +3 -0
- package/dist/models/chatroom.js.map +1 -0
- package/dist/models/device.d.ts +50 -0
- package/dist/models/device.d.ts.map +1 -0
- package/dist/models/device.js +3 -0
- package/dist/models/device.js.map +1 -0
- package/dist/models/event.d.ts +170 -0
- package/dist/models/event.d.ts.map +1 -0
- package/dist/models/event.js +195 -0
- package/dist/models/event.js.map +1 -0
- package/dist/models/index.d.ts +19 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +35 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/inform.d.ts +146 -0
- package/dist/models/inform.d.ts.map +1 -0
- package/dist/models/inform.js +61 -0
- package/dist/models/inform.js.map +1 -0
- package/dist/models/map.d.ts +26 -0
- package/dist/models/map.d.ts.map +1 -0
- package/dist/models/map.js +3 -0
- package/dist/models/map.js.map +1 -0
- package/dist/models/permission.d.ts +83 -0
- package/dist/models/permission.d.ts.map +1 -0
- package/dist/models/permission.js +78 -0
- package/dist/models/permission.js.map +1 -0
- package/dist/models/report.d.ts +167 -0
- package/dist/models/report.d.ts.map +1 -0
- package/dist/models/report.js +61 -0
- package/dist/models/report.js.map +1 -0
- package/dist/models/role.d.ts +84 -0
- package/dist/models/role.d.ts.map +1 -0
- package/dist/models/role.js +25 -0
- package/dist/models/role.js.map +1 -0
- package/dist/models/schedule.d.ts +39 -0
- package/dist/models/schedule.d.ts.map +1 -0
- package/dist/models/schedule.js +3 -0
- package/dist/models/schedule.js.map +1 -0
- package/dist/models/task.d.ts +97 -0
- package/dist/models/task.d.ts.map +1 -0
- package/dist/models/task.js +24 -0
- package/dist/models/task.js.map +1 -0
- package/dist/models/template.d.ts +197 -0
- package/dist/models/template.d.ts.map +1 -0
- package/dist/models/template.js +64 -0
- package/dist/models/template.js.map +1 -0
- package/dist/models/ui-item.d.ts +40 -0
- package/dist/models/ui-item.d.ts.map +1 -0
- package/dist/models/ui-item.js +17 -0
- package/dist/models/ui-item.js.map +1 -0
- package/dist/models/user.d.ts +125 -0
- package/dist/models/user.d.ts.map +1 -0
- package/dist/models/user.js +22 -0
- package/dist/models/user.js.map +1 -0
- package/dist/models/utils.d.ts +28 -0
- package/dist/models/utils.d.ts.map +1 -0
- package/dist/models/utils.js +3 -0
- package/dist/models/utils.js.map +1 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +18 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/mongo/account-mongo.schema.d.ts +27 -0
- package/dist/schemas/mongo/account-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/account-mongo.schema.js +22 -0
- package/dist/schemas/mongo/account-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/attachment-mongo.schema.d.ts +134 -0
- package/dist/schemas/mongo/attachment-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/attachment-mongo.schema.js +182 -0
- package/dist/schemas/mongo/attachment-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/biometric-cred.schema.d.ts +27 -0
- package/dist/schemas/mongo/biometric-cred.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/biometric-cred.schema.js +24 -0
- package/dist/schemas/mongo/biometric-cred.schema.js.map +1 -0
- package/dist/schemas/mongo/camera-mongo.schema.d.ts +21 -0
- package/dist/schemas/mongo/camera-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/camera-mongo.schema.js +54 -0
- package/dist/schemas/mongo/camera-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/camera-recording-mongo.schema.d.ts +21 -0
- package/dist/schemas/mongo/camera-recording-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/camera-recording-mongo.schema.js +24 -0
- package/dist/schemas/mongo/camera-recording-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/event-mongo.schema.d.ts +51 -0
- package/dist/schemas/mongo/event-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/event-mongo.schema.js +63 -0
- package/dist/schemas/mongo/event-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/event-template-mongo.schema.d.ts +39 -0
- package/dist/schemas/mongo/event-template-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/event-template-mongo.schema.js +33 -0
- package/dist/schemas/mongo/event-template-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/index.d.ts +16 -0
- package/dist/schemas/mongo/index.d.ts.map +1 -0
- package/dist/schemas/mongo/index.js +32 -0
- package/dist/schemas/mongo/index.js.map +1 -0
- package/dist/schemas/mongo/map-mongo.schema.d.ts +20 -0
- package/dist/schemas/mongo/map-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/map-mongo.schema.js +16 -0
- package/dist/schemas/mongo/map-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/password-cred.schema.d.ts +27 -0
- package/dist/schemas/mongo/password-cred.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/password-cred.schema.js +22 -0
- package/dist/schemas/mongo/password-cred.schema.js.map +1 -0
- package/dist/schemas/mongo/permission-mongo.schema.d.ts +21 -0
- package/dist/schemas/mongo/permission-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/permission-mongo.schema.js +70 -0
- package/dist/schemas/mongo/permission-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/report-mongo.schema.d.ts +41 -0
- package/dist/schemas/mongo/report-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/report-mongo.schema.js +71 -0
- package/dist/schemas/mongo/report-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/role-mongo.schema.d.ts +22 -0
- package/dist/schemas/mongo/role-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/role-mongo.schema.js +73 -0
- package/dist/schemas/mongo/role-mongo.schema.js.map +1 -0
- package/dist/schemas/mongo/third-party-cred.schema.d.ts +27 -0
- package/dist/schemas/mongo/third-party-cred.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/third-party-cred.schema.js +30 -0
- package/dist/schemas/mongo/third-party-cred.schema.js.map +1 -0
- package/dist/schemas/mongo/ui-item.schema.d.ts +23 -0
- package/dist/schemas/mongo/ui-item.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/ui-item.schema.js +61 -0
- package/dist/schemas/mongo/ui-item.schema.js.map +1 -0
- package/dist/schemas/mongo/user-mongo.schema.d.ts +24 -0
- package/dist/schemas/mongo/user-mongo.schema.d.ts.map +1 -0
- package/dist/schemas/mongo/user-mongo.schema.js +34 -0
- package/dist/schemas/mongo/user-mongo.schema.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SubjectType = exports.EventStatus = exports.EventSubTypeEnum = exports.MedicalSubType = exports.UserBehaviorSubType = exports.SystemSubType = exports.VisualSubType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 視覺辨識類事件子類型 (VisualSubType)
|
|
6
|
+
*
|
|
7
|
+
* @enum {string}
|
|
8
|
+
* @description
|
|
9
|
+
* 此枚舉列出所有視覺辨識相關的事件子類型,
|
|
10
|
+
* 例如超速、車禍、倒地等。
|
|
11
|
+
*/
|
|
12
|
+
var VisualSubType;
|
|
13
|
+
(function (VisualSubType) {
|
|
14
|
+
/** 超速 */
|
|
15
|
+
VisualSubType["OverSpeed"] = "overSpeed";
|
|
16
|
+
/** 車禍 */
|
|
17
|
+
VisualSubType["CarAccident"] = "carAccident";
|
|
18
|
+
/** 倒地 */
|
|
19
|
+
VisualSubType["FallDown"] = "fallDown";
|
|
20
|
+
/** 違規右轉 */
|
|
21
|
+
VisualSubType["IllegalRightTurn"] = "illegalRightTurn";
|
|
22
|
+
/** 異常停留 */
|
|
23
|
+
VisualSubType["AbnormalStay"] = "abnormalStay";
|
|
24
|
+
/** 穿著不正確 */
|
|
25
|
+
VisualSubType["ImproperDress"] = "improperDress";
|
|
26
|
+
/** 器械數量錯誤 */
|
|
27
|
+
VisualSubType["EquipmentCountError"] = "equipmentCountError";
|
|
28
|
+
/** 器械順序錯誤 */
|
|
29
|
+
VisualSubType["EquipmentOrderError"] = "equipmentOrderError";
|
|
30
|
+
})(VisualSubType || (exports.VisualSubType = VisualSubType = {}));
|
|
31
|
+
/**
|
|
32
|
+
* 系統類事件子類型 (SystemSubType)
|
|
33
|
+
*
|
|
34
|
+
* @enum {string}
|
|
35
|
+
* @description
|
|
36
|
+
* 此枚舉列出所有系統相關的事件子類型,
|
|
37
|
+
* 例如設備故障、服務崩潰、數據異常等。
|
|
38
|
+
*/
|
|
39
|
+
var SystemSubType;
|
|
40
|
+
(function (SystemSubType) {
|
|
41
|
+
/** 設備故障 */
|
|
42
|
+
SystemSubType["DeviceFailure"] = "deviceFailure";
|
|
43
|
+
/** 服務崩潰 */
|
|
44
|
+
SystemSubType["ServiceCrash"] = "serviceCrash";
|
|
45
|
+
/** 數據異常 */
|
|
46
|
+
SystemSubType["DataAnomaly"] = "dataAnomaly";
|
|
47
|
+
})(SystemSubType || (exports.SystemSubType = SystemSubType = {}));
|
|
48
|
+
/**
|
|
49
|
+
* 使用者行為類事件子類型 (UserBehaviorSubType)
|
|
50
|
+
*
|
|
51
|
+
* @enum {string}
|
|
52
|
+
* @description
|
|
53
|
+
* 此枚舉列出所有使用者行為相關的事件子類型,
|
|
54
|
+
* 例如異常登入、權限違規操作等。
|
|
55
|
+
*/
|
|
56
|
+
var UserBehaviorSubType;
|
|
57
|
+
(function (UserBehaviorSubType) {
|
|
58
|
+
/** 異常登入 */
|
|
59
|
+
UserBehaviorSubType["AbnormalLogin"] = "abnormalLogin";
|
|
60
|
+
/** 權限違規操作 */
|
|
61
|
+
UserBehaviorSubType["PermissionViolation"] = "permissionViolation";
|
|
62
|
+
})(UserBehaviorSubType || (exports.UserBehaviorSubType = UserBehaviorSubType = {}));
|
|
63
|
+
/**
|
|
64
|
+
* 醫療類事件子類型 (MedicalSubType)
|
|
65
|
+
*
|
|
66
|
+
* @enum {string}
|
|
67
|
+
* @description
|
|
68
|
+
* 此枚舉列出所有醫療相關的事件子類型,
|
|
69
|
+
* 例如抵達等候室時間、手術開始時間等。
|
|
70
|
+
*/
|
|
71
|
+
var MedicalSubType;
|
|
72
|
+
(function (MedicalSubType) {
|
|
73
|
+
/** 抵達等候室時間 */
|
|
74
|
+
MedicalSubType["ArriveWaitingRoomTime"] = "arriveWaitingRoomTime";
|
|
75
|
+
/** 入手術房時間 */
|
|
76
|
+
MedicalSubType["EnterOperatingRoomTime"] = "enterOperatingRoomTime";
|
|
77
|
+
/** 麻醉開始時間 */
|
|
78
|
+
MedicalSubType["AnesthesiaStartTime"] = "anesthesiaStartTime";
|
|
79
|
+
/** 手術開始時間 */
|
|
80
|
+
MedicalSubType["SurgeryStartTime"] = "surgeryStartTime";
|
|
81
|
+
/** 手術結束時間 */
|
|
82
|
+
MedicalSubType["SurgeryEndTime"] = "surgeryEndTime";
|
|
83
|
+
/** 病人至下個單位時間 */
|
|
84
|
+
MedicalSubType["PatientToNextUnitTime"] = "patientToNextUnitTime";
|
|
85
|
+
/** 手術類別 */
|
|
86
|
+
MedicalSubType["SurgeryType"] = "surgeryType";
|
|
87
|
+
/** 麻醉方式 */
|
|
88
|
+
MedicalSubType["AnesthesiaType"] = "anesthesiaType";
|
|
89
|
+
/** 照會其他科手術 */
|
|
90
|
+
MedicalSubType["ConsultOtherDepartmentSurgery"] = "consultOtherDepartmentSurgery";
|
|
91
|
+
/** 擺位正確 */
|
|
92
|
+
MedicalSubType["CorrectPositioning"] = "correctPositioning";
|
|
93
|
+
/** 植入物 */
|
|
94
|
+
MedicalSubType["Implant"] = "implant";
|
|
95
|
+
/** Timeout查核項目/時間 */
|
|
96
|
+
MedicalSubType["TimeoutCheckItemTime"] = "timeoutCheckItemTime";
|
|
97
|
+
/** 確認血品 */
|
|
98
|
+
MedicalSubType["ConfirmBloodProduct"] = "confirmBloodProduct";
|
|
99
|
+
/** 畫刀前六十分鐘內給予預防性抗生素 */
|
|
100
|
+
MedicalSubType["AdministerProphylacticAntibioticWithin60MinutesBeforeIncision"] = "administerProphylacticAntibioticWithin60MinutesBeforeIncision";
|
|
101
|
+
})(MedicalSubType || (exports.MedicalSubType = MedicalSubType = {}));
|
|
102
|
+
/**
|
|
103
|
+
* 統合的事件子類型 (EventSubType)
|
|
104
|
+
*
|
|
105
|
+
* @typedef {VisualSubType | SystemSubType | UserBehaviorSubType} EventSubType
|
|
106
|
+
* @description
|
|
107
|
+
* 利用 TypeScript 聯合型別 (Union) 將三個不同的大類事件子類型合併。
|
|
108
|
+
* 若程式中某處需要一個既能表示「視覺辨識類」、
|
|
109
|
+
* 「系統異常類」或「使用者行為類」的子類型,則可使用本型別。
|
|
110
|
+
*/
|
|
111
|
+
// export type EventSubType = VisualSubType |
|
|
112
|
+
// SystemSubType |
|
|
113
|
+
// UserBehaviorSubType |
|
|
114
|
+
// MedicalSubType;
|
|
115
|
+
exports.EventSubTypeEnum = [
|
|
116
|
+
...Object.values(VisualSubType),
|
|
117
|
+
...Object.values(SystemSubType),
|
|
118
|
+
...Object.values(UserBehaviorSubType),
|
|
119
|
+
...Object.values(MedicalSubType),
|
|
120
|
+
];
|
|
121
|
+
// /**
|
|
122
|
+
// * **事件介面**
|
|
123
|
+
// * 用於記錄系統內發生的各種事件。
|
|
124
|
+
// *
|
|
125
|
+
// * - **`type`**:事件大分類(視覺辨識 / 系統類 / 使用者行為)。
|
|
126
|
+
// * - **`subType`**:具體事件子類型,例如 `overspeed`、`carAccident` 等。
|
|
127
|
+
// * - **`freeTags`**:可額外標註任何關鍵字或標籤,讓系統可彈性紀錄事件。
|
|
128
|
+
// * - **`description`**:事件描述文字。
|
|
129
|
+
// * - **`[scheduleId]`** _(可選)_:需要循環時才關聯 Schedule。
|
|
130
|
+
// * - **`[templateId]`** _(可選)_:根據模板產生。
|
|
131
|
+
// *
|
|
132
|
+
// * @interface Event
|
|
133
|
+
// */
|
|
134
|
+
// export interface IEvent extends Base {
|
|
135
|
+
// /**
|
|
136
|
+
// * 事件大分類,如視覺辨識 (visual)、系統類 (system) 或使用者行為 (userBehavior)。
|
|
137
|
+
// */
|
|
138
|
+
// type: EventType;
|
|
139
|
+
// /**
|
|
140
|
+
// * 事件子類型,具體類型視 type 欄位而定,例如 overSpeed、deviceFailure、abnormalLogin。
|
|
141
|
+
// */
|
|
142
|
+
// subType: string;
|
|
143
|
+
// /**
|
|
144
|
+
// * 與此事件相關的父實體種類,例如 'SurgicalReport'、'Camera' 等。
|
|
145
|
+
// */
|
|
146
|
+
// relateType?: string;
|
|
147
|
+
// /**
|
|
148
|
+
// * 此事件關聯的父實體 ID(由 relateType 指明所屬實體的主鍵或 UUID)。
|
|
149
|
+
// */
|
|
150
|
+
// relateId?: string;
|
|
151
|
+
// /**
|
|
152
|
+
// * 可自由添加的標籤,用於更靈活地分類和搜尋事件。
|
|
153
|
+
// * 例如:['緊急', '需處理', '高風險'] 或 ['定期檢查', '維護']
|
|
154
|
+
// */
|
|
155
|
+
// freeTags: string[];
|
|
156
|
+
// /**
|
|
157
|
+
// * 事件的詳細描述,說明事件的具體情況。
|
|
158
|
+
// * 例如:'攝影機A偵測到一輛車速超過80km/h,地點:中山路口。'
|
|
159
|
+
// */
|
|
160
|
+
// description: string;
|
|
161
|
+
// /**
|
|
162
|
+
// * 關聯的排程ID,僅當事件需要循環執行時才設定。
|
|
163
|
+
// */
|
|
164
|
+
// scheduleId?: string;
|
|
165
|
+
// /**
|
|
166
|
+
// * 關聯的模板ID,表示此事件是根據特定模板產生的。
|
|
167
|
+
// */
|
|
168
|
+
// templateId?: string;
|
|
169
|
+
// }
|
|
170
|
+
/**
|
|
171
|
+
* **事件狀態 (EventStatus)**
|
|
172
|
+
*
|
|
173
|
+
* 定義事件處理的常見狀態:
|
|
174
|
+
* - **`Unprocessed`**:事件尚未處理(初始狀態)。
|
|
175
|
+
* - **`Notified`**:事件已通知相關人員,但尚未開始處理。
|
|
176
|
+
* - **`Processing`**:事件正在處理中。
|
|
177
|
+
* - **`Completed`**:事件處理完成。
|
|
178
|
+
*
|
|
179
|
+
* @enum {string}
|
|
180
|
+
*/
|
|
181
|
+
var EventStatus;
|
|
182
|
+
(function (EventStatus) {
|
|
183
|
+
EventStatus["Unprocessed"] = "unprocessed";
|
|
184
|
+
EventStatus["Notified"] = "notified";
|
|
185
|
+
EventStatus["Processing"] = "processing";
|
|
186
|
+
EventStatus["Completed"] = "completed";
|
|
187
|
+
})(EventStatus || (exports.EventStatus = EventStatus = {}));
|
|
188
|
+
var SubjectType;
|
|
189
|
+
(function (SubjectType) {
|
|
190
|
+
SubjectType["Entrance"] = "Entrance";
|
|
191
|
+
SubjectType["Camera"] = "Camera";
|
|
192
|
+
SubjectType["Device"] = "Device";
|
|
193
|
+
SubjectType["User"] = "User";
|
|
194
|
+
})(SubjectType || (exports.SubjectType = SubjectType = {}));
|
|
195
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../models/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from './account';
|
|
2
|
+
export * from './attachment';
|
|
3
|
+
export * from './camera';
|
|
4
|
+
export * from './chatroom';
|
|
5
|
+
export * from './device';
|
|
6
|
+
export * from './event';
|
|
7
|
+
export * from './map';
|
|
8
|
+
export * from './inform';
|
|
9
|
+
export * from './permission';
|
|
10
|
+
export * from './report';
|
|
11
|
+
export * from './role';
|
|
12
|
+
export * from './schedule';
|
|
13
|
+
export * from './task';
|
|
14
|
+
export * from './template';
|
|
15
|
+
export * from './user';
|
|
16
|
+
export * from './utils';
|
|
17
|
+
export * from './auth-credential';
|
|
18
|
+
export * from './ui-item';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../models/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./account"), exports);
|
|
18
|
+
__exportStar(require("./attachment"), exports);
|
|
19
|
+
__exportStar(require("./camera"), exports);
|
|
20
|
+
__exportStar(require("./chatroom"), exports);
|
|
21
|
+
__exportStar(require("./device"), exports);
|
|
22
|
+
__exportStar(require("./event"), exports);
|
|
23
|
+
__exportStar(require("./map"), exports);
|
|
24
|
+
__exportStar(require("./inform"), exports);
|
|
25
|
+
__exportStar(require("./permission"), exports);
|
|
26
|
+
__exportStar(require("./report"), exports);
|
|
27
|
+
__exportStar(require("./role"), exports);
|
|
28
|
+
__exportStar(require("./schedule"), exports);
|
|
29
|
+
__exportStar(require("./task"), exports);
|
|
30
|
+
__exportStar(require("./template"), exports);
|
|
31
|
+
__exportStar(require("./user"), exports);
|
|
32
|
+
__exportStar(require("./utils"), exports);
|
|
33
|
+
__exportStar(require("./auth-credential"), exports);
|
|
34
|
+
__exportStar(require("./ui-item"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB;AACxB,wCAAsB;AACtB,2CAAyB;AACzB,+CAA6B;AAC7B,2CAAyB;AACzB,yCAAuB;AACvB,6CAA2B;AAC3B,yCAAuB;AACvB,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB;AACxB,oDAAkC;AAClC,4CAA0B"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Attachment } from "./attachment";
|
|
2
|
+
import { EventSubType } from "./event";
|
|
3
|
+
import { EventInformTemplate, EventType } from "./template";
|
|
4
|
+
import { Base } from "./utils";
|
|
5
|
+
/**
|
|
6
|
+
* **通知發送渠道**
|
|
7
|
+
*
|
|
8
|
+
* 定義通知的傳送方式:
|
|
9
|
+
* - **`Email`**:透過電子郵件發送通知。
|
|
10
|
+
* - **`SMS`**:透過簡訊發送通知。
|
|
11
|
+
* - **`FCM`**:透過 Firebase Cloud Messaging (Android/Web) 推送通知。
|
|
12
|
+
* - **`APNs`**:透過 Apple Push Inform Service (iOS) 推送通知。
|
|
13
|
+
* - **`Web`**:透過通知 Web 。
|
|
14
|
+
* - **`Webhook`**:透過 Webhook 送達通知。
|
|
15
|
+
*/
|
|
16
|
+
export declare enum InformChannel {
|
|
17
|
+
/** 電子郵件 */
|
|
18
|
+
Email = "email",
|
|
19
|
+
/** 簡訊 (SMS) */
|
|
20
|
+
SMS = "sms",
|
|
21
|
+
/** Firebase Cloud Messaging */
|
|
22
|
+
FCM = "fcm",
|
|
23
|
+
/** Apple Push Inform Service */
|
|
24
|
+
APNs = "apns",
|
|
25
|
+
/** Web */
|
|
26
|
+
Web = "web",
|
|
27
|
+
/** Webhook */
|
|
28
|
+
Webhook = "webhook"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* **通知狀態**
|
|
32
|
+
*
|
|
33
|
+
* 定義通知的處理狀態:
|
|
34
|
+
* - **`Pending`**:尚未發送。
|
|
35
|
+
* - **`Sent`**:已發送。
|
|
36
|
+
* - **`Read`**:已讀取。
|
|
37
|
+
* - **`Failed`**:發送失敗。
|
|
38
|
+
*/
|
|
39
|
+
export declare enum InformStatus {
|
|
40
|
+
/** 通知已建立,尚未發送。 */
|
|
41
|
+
Pending = "pending",
|
|
42
|
+
/** 通知已發送。 */
|
|
43
|
+
Sent = "sent",
|
|
44
|
+
/** 通知已讀取。 */
|
|
45
|
+
Read = "read",
|
|
46
|
+
/** 通知發送失敗。 */
|
|
47
|
+
Failed = "failed"
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* **通知主表**
|
|
51
|
+
*
|
|
52
|
+
* - **`subject`**:通知主旨。
|
|
53
|
+
* - **`content`**:通知內容。
|
|
54
|
+
* - **`[templateId]`** _(可選)_: 根據模板設定什麼事件需要通知。
|
|
55
|
+
*/
|
|
56
|
+
export interface Inform extends Base {
|
|
57
|
+
/** 通知的主旨。 */
|
|
58
|
+
subject: string;
|
|
59
|
+
/** 通知的內容。 */
|
|
60
|
+
content: string;
|
|
61
|
+
/** 根據模板設定什麼事件需要通知。 */
|
|
62
|
+
templateId?: EventInformTemplate;
|
|
63
|
+
}
|
|
64
|
+
export type InformAttachment = Attachment & {
|
|
65
|
+
attachTo?: never;
|
|
66
|
+
/** 關聯的通知 ID。 */
|
|
67
|
+
informId: Inform['id'];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* **通知狀態表**
|
|
71
|
+
*
|
|
72
|
+
* 每個收件人對應一條記錄,追蹤其通知的讀取與發送狀態。
|
|
73
|
+
*
|
|
74
|
+
* - **`informId`**:關聯的通知 ID。
|
|
75
|
+
* - **`recipientId`**:收件者 ID (使用者 ID / Webhook URL)。
|
|
76
|
+
* - **`channel`**:通知發送渠道(Email/SMS/FCM/APNs/Webhook)。
|
|
77
|
+
* - **`status`**:通知的狀態(Pending/Sent/Read/Failed)。
|
|
78
|
+
* - **`[readAt]`** _(可選)_:通知讀取時間。
|
|
79
|
+
*/
|
|
80
|
+
export interface InformStatusRecord extends Base {
|
|
81
|
+
/** 關聯的通知 ID */
|
|
82
|
+
informId: Inform["id"];
|
|
83
|
+
/**
|
|
84
|
+
* 收件者 ID:
|
|
85
|
+
* - 若 `channel` 為 Email / SMS / FCM / APNs,則此處為使用者 ID。
|
|
86
|
+
* - 若 `channel` 為 Webhook,則此處為 Webhook URL。
|
|
87
|
+
*/
|
|
88
|
+
recipientId: string;
|
|
89
|
+
/** 發送渠道 (Email / SMS / FCM / APNs / Webhook)。 */
|
|
90
|
+
channel: InformChannel;
|
|
91
|
+
/** 通知狀態。 */
|
|
92
|
+
status: InformStatus;
|
|
93
|
+
/** 通知讀取時間,若尚未讀取則為 `undefined`。 */
|
|
94
|
+
readAt?: Date;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* **通知策略類型**
|
|
98
|
+
*
|
|
99
|
+
* - `Repeated`:持續通知 X 次,每次間隔 Y 分鐘,直到 Z 分鐘或者被 attachment 標記已處理。
|
|
100
|
+
* - `Difference`:當 event 的同一種類的子類型 T1 和 T0 出現差異時通知。
|
|
101
|
+
*/
|
|
102
|
+
export declare enum InformStrategyType {
|
|
103
|
+
Repeated = "repeated",
|
|
104
|
+
Difference = "difference"
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* **持續通知策略**
|
|
108
|
+
*
|
|
109
|
+
* 當事件發生時,按照設定的次數與時間間隔發送通知,直到條件滿足。
|
|
110
|
+
*
|
|
111
|
+
* - `maxAttempts`:最大通知次數 (X)。
|
|
112
|
+
* - `intervalMinutes`:每次通知的時間間隔 (Y)(分鐘)。
|
|
113
|
+
* - `coolDownMinutes`:通知冷卻時間 (Z)(分鐘)。
|
|
114
|
+
* - `attachmentIdToResolve`:當特定附件標記已處理時停止通知。
|
|
115
|
+
*/
|
|
116
|
+
export interface RepeatedInformStrategy {
|
|
117
|
+
strategy: InformStrategyType.Repeated;
|
|
118
|
+
/** 最大通知次數 (X) */
|
|
119
|
+
maxAttempts: number;
|
|
120
|
+
/** 每次通知的時間間隔 (Y)(分鐘) */
|
|
121
|
+
intervalMinutes: number;
|
|
122
|
+
/** 通知冷卻時間 (Z)(分鐘) */
|
|
123
|
+
coolDownMinutes: number;
|
|
124
|
+
/** 若指定附件 ID 被標記已處理,則提前終止通知 */
|
|
125
|
+
attachmentIdToResolve?: string;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* **子類型變化通知策略**
|
|
129
|
+
*
|
|
130
|
+
* 當同一事件類別 (`type`) 下的不同子類型 (`subType`) 出現變化時觸發通知。
|
|
131
|
+
*
|
|
132
|
+
* - `type`:事件類別,如 `visual`、`system`。
|
|
133
|
+
* - `previousSubType`:之前的事件子類型 (T0)。
|
|
134
|
+
* - `currentSubType`:新的事件子類型 (T1)。
|
|
135
|
+
*/
|
|
136
|
+
export interface SubTypeDifferenceInformStrategy {
|
|
137
|
+
strategy: InformStrategyType.Difference;
|
|
138
|
+
/** 事件類別 (例如 `visual` 或 `system`) */
|
|
139
|
+
type: EventType;
|
|
140
|
+
/** 之前的事件子類型 (T0) */
|
|
141
|
+
previousSubType: EventSubType;
|
|
142
|
+
/** 當前的事件子類型 (T1) */
|
|
143
|
+
currentSubType: EventSubType;
|
|
144
|
+
}
|
|
145
|
+
export type InformStrategyConfig = RepeatedInformStrategy | SubTypeDifferenceInformStrategy;
|
|
146
|
+
//# sourceMappingURL=inform.d.ts.map
|
|
@@ -0,0 +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,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,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;IAEhB,oBAAoB;IACpB,eAAe,EAAE,YAAY,CAAC;IAE9B,oBAAoB;IACpB,cAAc,EAAE,YAAY,CAAC;CAC9B;AACD,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GACvD,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InformStrategyType = exports.InformStatus = exports.InformChannel = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* **通知發送渠道**
|
|
6
|
+
*
|
|
7
|
+
* 定義通知的傳送方式:
|
|
8
|
+
* - **`Email`**:透過電子郵件發送通知。
|
|
9
|
+
* - **`SMS`**:透過簡訊發送通知。
|
|
10
|
+
* - **`FCM`**:透過 Firebase Cloud Messaging (Android/Web) 推送通知。
|
|
11
|
+
* - **`APNs`**:透過 Apple Push Inform Service (iOS) 推送通知。
|
|
12
|
+
* - **`Web`**:透過通知 Web 。
|
|
13
|
+
* - **`Webhook`**:透過 Webhook 送達通知。
|
|
14
|
+
*/
|
|
15
|
+
var InformChannel;
|
|
16
|
+
(function (InformChannel) {
|
|
17
|
+
/** 電子郵件 */
|
|
18
|
+
InformChannel["Email"] = "email";
|
|
19
|
+
/** 簡訊 (SMS) */
|
|
20
|
+
InformChannel["SMS"] = "sms";
|
|
21
|
+
/** Firebase Cloud Messaging */
|
|
22
|
+
InformChannel["FCM"] = "fcm";
|
|
23
|
+
/** Apple Push Inform Service */
|
|
24
|
+
InformChannel["APNs"] = "apns";
|
|
25
|
+
/** Web */
|
|
26
|
+
InformChannel["Web"] = "web";
|
|
27
|
+
/** Webhook */
|
|
28
|
+
InformChannel["Webhook"] = "webhook";
|
|
29
|
+
})(InformChannel || (exports.InformChannel = InformChannel = {}));
|
|
30
|
+
/**
|
|
31
|
+
* **通知狀態**
|
|
32
|
+
*
|
|
33
|
+
* 定義通知的處理狀態:
|
|
34
|
+
* - **`Pending`**:尚未發送。
|
|
35
|
+
* - **`Sent`**:已發送。
|
|
36
|
+
* - **`Read`**:已讀取。
|
|
37
|
+
* - **`Failed`**:發送失敗。
|
|
38
|
+
*/
|
|
39
|
+
var InformStatus;
|
|
40
|
+
(function (InformStatus) {
|
|
41
|
+
/** 通知已建立,尚未發送。 */
|
|
42
|
+
InformStatus["Pending"] = "pending";
|
|
43
|
+
/** 通知已發送。 */
|
|
44
|
+
InformStatus["Sent"] = "sent";
|
|
45
|
+
/** 通知已讀取。 */
|
|
46
|
+
InformStatus["Read"] = "read";
|
|
47
|
+
/** 通知發送失敗。 */
|
|
48
|
+
InformStatus["Failed"] = "failed";
|
|
49
|
+
})(InformStatus || (exports.InformStatus = InformStatus = {}));
|
|
50
|
+
/**
|
|
51
|
+
* **通知策略類型**
|
|
52
|
+
*
|
|
53
|
+
* - `Repeated`:持續通知 X 次,每次間隔 Y 分鐘,直到 Z 分鐘或者被 attachment 標記已處理。
|
|
54
|
+
* - `Difference`:當 event 的同一種類的子類型 T1 和 T0 出現差異時通知。
|
|
55
|
+
*/
|
|
56
|
+
var InformStrategyType;
|
|
57
|
+
(function (InformStrategyType) {
|
|
58
|
+
InformStrategyType["Repeated"] = "repeated";
|
|
59
|
+
InformStrategyType["Difference"] = "difference";
|
|
60
|
+
})(InformStrategyType || (exports.InformStrategyType = InformStrategyType = {}));
|
|
61
|
+
//# sourceMappingURL=inform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inform.js","sourceRoot":"","sources":["../../models/inform.ts"],"names":[],"mappings":";;;AAMA;;;;;;;;;;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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Base } from './utils';
|
|
2
|
+
/**
|
|
3
|
+
* **地圖介面**
|
|
4
|
+
* 用於儲存地圖的基本資訊,例如室內平面圖片及說明等。
|
|
5
|
+
*
|
|
6
|
+
* - **`name`**:地圖名稱。
|
|
7
|
+
* - **`imageUrl`**:地圖圖片的 URL,描述室內平面的圖片。
|
|
8
|
+
* - **`width`**:圖片長。
|
|
9
|
+
* - **`height`**圖片寬。
|
|
10
|
+
* - **`[description]`** _(可選)_:對地圖的附加說明,若無則為 `undefined`。
|
|
11
|
+
*
|
|
12
|
+
* @interface Map
|
|
13
|
+
*/
|
|
14
|
+
export interface Map extends Base {
|
|
15
|
+
/** 地圖名稱。 */
|
|
16
|
+
name: string;
|
|
17
|
+
/** 地圖圖片的 URL,描述室內平面的圖片。 */
|
|
18
|
+
imageUrl: string;
|
|
19
|
+
/** 圖片長 */
|
|
20
|
+
width: number;
|
|
21
|
+
/** 圖片寬 */
|
|
22
|
+
height: number;
|
|
23
|
+
/** 對地圖的附加說明,若無則為 `undefined`。 */
|
|
24
|
+
description?: string;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../models/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAI,SAAQ,IAAI;IAC/B,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU;IACV,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU;IACV,MAAM,EAAE,MAAM,CAAC;IAEf,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../models/map.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **權限類別 (PermissionCategory)**
|
|
3
|
+
*
|
|
4
|
+
* 列舉所有權限的領域,讓每個權限可以歸屬到特定類別。
|
|
5
|
+
* 定義本系統中所有可能的功能/子系統。
|
|
6
|
+
* 例如:Chatroom, Inform, Event, Group, Server ...
|
|
7
|
+
* 未來若出現新功能,可在此擴充。
|
|
8
|
+
*/
|
|
9
|
+
export declare enum PermissionCategory {
|
|
10
|
+
/** 聊天室 */
|
|
11
|
+
Chatroom = "chatroom",
|
|
12
|
+
Inform = "inform",
|
|
13
|
+
Event = "event",
|
|
14
|
+
Report = "report",
|
|
15
|
+
Group = "group",
|
|
16
|
+
Server = "server"
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* **聊天室可用動作 (ChatroomPermissionAction)**
|
|
20
|
+
*/
|
|
21
|
+
export declare enum ChatroomPermissionAction {
|
|
22
|
+
/** 可讀取訊息 */
|
|
23
|
+
ReadMessage = "readMessage",
|
|
24
|
+
/** 可傳送訊息 */
|
|
25
|
+
SendMessage = "sendMessage",
|
|
26
|
+
/** 可編輯/刪除他人訊息 */
|
|
27
|
+
ManageMessages = "manageMessages",
|
|
28
|
+
/** 可管理聊天室 (新增移除成員、修改設定) */
|
|
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
|
+
}
|
|
59
|
+
export type PermissionAction = ChatroomPermissionAction | ServerPermissionAction | ReportPermissionAction | GroupPermissionAction | InformPermissionAction | EventPermissionAction;
|
|
60
|
+
export declare const PermissionActionMap: Record<PermissionCategory, Record<string, string>>;
|
|
61
|
+
/**
|
|
62
|
+
* **權限 (Permission)**
|
|
63
|
+
*
|
|
64
|
+
* - **`id`**:唯一識別碼,用於標識該物件。
|
|
65
|
+
* - **`category`**:權限所屬的類別
|
|
66
|
+
* - **`action`**:可執行的動作 (如 "read", "create", "manageMessages" ...)
|
|
67
|
+
* - **`[description]`** _(可選)_:補充說明此權限在系統中代表的含義
|
|
68
|
+
*/
|
|
69
|
+
export interface Permission {
|
|
70
|
+
/** 唯一識別碼,用於標識該物件。 */
|
|
71
|
+
id: string;
|
|
72
|
+
/** 權限所屬的類別 */
|
|
73
|
+
category: PermissionCategory;
|
|
74
|
+
/**
|
|
75
|
+
* 權限的動作名稱,可用於程式邏輯判斷。
|
|
76
|
+
* 例如 "read", "write", "manageMessages", "viewAnalytics"...
|
|
77
|
+
* 視實際需求而定,可以自由定義。
|
|
78
|
+
*/
|
|
79
|
+
action: PermissionAction;
|
|
80
|
+
/** 權限的補充說明,若無則為 `undefined` */
|
|
81
|
+
description?: string;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=permission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../models/permission.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,oBAAY,kBAAkB;IAC5B,UAAU;IACV,QAAQ,aAAa;IAErB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;CAElB;AAGD;;GAEG;AACH,oBAAY,wBAAwB;IAClC,YAAY;IACZ,WAAW,gBAAgB;IAE3B,YAAY;IACZ,WAAW,gBAAgB;IAE3B,iBAAiB;IACjB,cAAc,mBAAmB;IAEjC,2BAA2B;IAC3B,cAAc,mBAAmB;CAClC;AAED,oBAAY,sBAAsB;IAChC,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,sBAAsB;IAChC,UAAU,eAAe;IACzB,cAAc,mBAAmB;CAClC;AAED,oBAAY,qBAAqB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;CAChC;AAED,oBAAY,sBAAsB;IAChC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,qBAAqB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;CAC1C;AAED,MAAM,MAAM,gBAAgB,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,CAAA;AAEvB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IAEX,cAAc;IACd,QAAQ,EAAE,kBAAkB,CAAC;IAE7B;;;;OAIG;IACH,MAAM,EAAE,gBAAgB,CAAC;IAEzB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|