@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,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PermissionActionMap = exports.EventPermissionAction = exports.InformPermissionAction = exports.GroupPermissionAction = exports.ReportPermissionAction = exports.ServerPermissionAction = exports.ChatroomPermissionAction = exports.PermissionCategory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* **權限類別 (PermissionCategory)**
|
|
6
|
+
*
|
|
7
|
+
* 列舉所有權限的領域,讓每個權限可以歸屬到特定類別。
|
|
8
|
+
* 定義本系統中所有可能的功能/子系統。
|
|
9
|
+
* 例如:Chatroom, Inform, Event, Group, Server ...
|
|
10
|
+
* 未來若出現新功能,可在此擴充。
|
|
11
|
+
*/
|
|
12
|
+
var PermissionCategory;
|
|
13
|
+
(function (PermissionCategory) {
|
|
14
|
+
/** 聊天室 */
|
|
15
|
+
PermissionCategory["Chatroom"] = "chatroom";
|
|
16
|
+
PermissionCategory["Inform"] = "inform";
|
|
17
|
+
PermissionCategory["Event"] = "event";
|
|
18
|
+
PermissionCategory["Report"] = "report";
|
|
19
|
+
PermissionCategory["Group"] = "group";
|
|
20
|
+
PermissionCategory["Server"] = "server";
|
|
21
|
+
// ... 其他服務可自行添加
|
|
22
|
+
})(PermissionCategory || (exports.PermissionCategory = PermissionCategory = {}));
|
|
23
|
+
/**
|
|
24
|
+
* **聊天室可用動作 (ChatroomPermissionAction)**
|
|
25
|
+
*/
|
|
26
|
+
var ChatroomPermissionAction;
|
|
27
|
+
(function (ChatroomPermissionAction) {
|
|
28
|
+
/** 可讀取訊息 */
|
|
29
|
+
ChatroomPermissionAction["ReadMessage"] = "readMessage";
|
|
30
|
+
/** 可傳送訊息 */
|
|
31
|
+
ChatroomPermissionAction["SendMessage"] = "sendMessage";
|
|
32
|
+
/** 可編輯/刪除他人訊息 */
|
|
33
|
+
ChatroomPermissionAction["ManageMessages"] = "manageMessages";
|
|
34
|
+
/** 可管理聊天室 (新增移除成員、修改設定) */
|
|
35
|
+
ChatroomPermissionAction["ManageChatroom"] = "manageChatroom";
|
|
36
|
+
})(ChatroomPermissionAction || (exports.ChatroomPermissionAction = ChatroomPermissionAction = {}));
|
|
37
|
+
var ServerPermissionAction;
|
|
38
|
+
(function (ServerPermissionAction) {
|
|
39
|
+
ServerPermissionAction["RestartServer"] = "restartServer";
|
|
40
|
+
ServerPermissionAction["ManageUsers"] = "manageUsers";
|
|
41
|
+
ServerPermissionAction["ConfigureSettings"] = "configureSettings";
|
|
42
|
+
})(ServerPermissionAction || (exports.ServerPermissionAction = ServerPermissionAction = {}));
|
|
43
|
+
var ReportPermissionAction;
|
|
44
|
+
(function (ReportPermissionAction) {
|
|
45
|
+
ReportPermissionAction["ViewReport"] = "viewReport";
|
|
46
|
+
ReportPermissionAction["GenerateReport"] = "generateReport";
|
|
47
|
+
})(ReportPermissionAction || (exports.ReportPermissionAction = ReportPermissionAction = {}));
|
|
48
|
+
var GroupPermissionAction;
|
|
49
|
+
(function (GroupPermissionAction) {
|
|
50
|
+
GroupPermissionAction["ViewGroup"] = "viewGroup";
|
|
51
|
+
GroupPermissionAction["CreateGroup"] = "createGroup";
|
|
52
|
+
GroupPermissionAction["EditGroup"] = "editGroup";
|
|
53
|
+
GroupPermissionAction["DeleteGroup"] = "deleteGroup";
|
|
54
|
+
GroupPermissionAction["ManageMembers"] = "manageMembers";
|
|
55
|
+
})(GroupPermissionAction || (exports.GroupPermissionAction = GroupPermissionAction = {}));
|
|
56
|
+
var InformPermissionAction;
|
|
57
|
+
(function (InformPermissionAction) {
|
|
58
|
+
InformPermissionAction["ViewNotifications"] = "viewNotifications";
|
|
59
|
+
InformPermissionAction["SendNotifications"] = "sendNotifications";
|
|
60
|
+
InformPermissionAction["ManageNotifications"] = "manageNotifications";
|
|
61
|
+
})(InformPermissionAction || (exports.InformPermissionAction = InformPermissionAction = {}));
|
|
62
|
+
var EventPermissionAction;
|
|
63
|
+
(function (EventPermissionAction) {
|
|
64
|
+
EventPermissionAction["ViewEvent"] = "viewEvent";
|
|
65
|
+
EventPermissionAction["CreateEvent"] = "createEvent";
|
|
66
|
+
EventPermissionAction["EditEvent"] = "editEvent";
|
|
67
|
+
EventPermissionAction["DeleteEvent"] = "deleteEvent";
|
|
68
|
+
EventPermissionAction["ManageParticipants"] = "manageParticipants";
|
|
69
|
+
})(EventPermissionAction || (exports.EventPermissionAction = EventPermissionAction = {}));
|
|
70
|
+
exports.PermissionActionMap = {
|
|
71
|
+
[PermissionCategory.Chatroom]: { ...ChatroomPermissionAction },
|
|
72
|
+
[PermissionCategory.Server]: { ...ServerPermissionAction },
|
|
73
|
+
[PermissionCategory.Report]: { ...ReportPermissionAction },
|
|
74
|
+
[PermissionCategory.Group]: { ...GroupPermissionAction },
|
|
75
|
+
[PermissionCategory.Inform]: { ...InformPermissionAction },
|
|
76
|
+
[PermissionCategory.Event]: { ...EventPermissionAction },
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../models/permission.ts"],"names":[],"mappings":";;;AACA;;;;;;;GAOG;AACH,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,UAAU;IACV,2CAAqB,CAAA;IAErB,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,gBAAgB;AAClB,CAAC,EAVW,kBAAkB,kCAAlB,kBAAkB,QAU7B;AAGD;;GAEG;AACH,IAAY,wBAYX;AAZD,WAAY,wBAAwB;IAClC,YAAY;IACZ,uDAA2B,CAAA;IAE3B,YAAY;IACZ,uDAA2B,CAAA;IAE3B,iBAAiB;IACjB,6DAAiC,CAAA;IAEjC,2BAA2B;IAC3B,6DAAiC,CAAA;AACnC,CAAC,EAZW,wBAAwB,wCAAxB,wBAAwB,QAYnC;AAED,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,yDAA+B,CAAA;IAC/B,qDAA2B,CAAA;IAC3B,iEAAuC,CAAA;AACzC,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,mDAAyB,CAAA;IACzB,2DAAiC,CAAA;AACnC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAED,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,gDAAuB,CAAA;IACvB,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;IACvB,oDAA2B,CAAA;IAC3B,wDAA+B,CAAA;AACjC,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAED,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,iEAAuC,CAAA;IACvC,iEAAuC,CAAA;IACvC,qEAA2C,CAAA;AAC7C,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC;AAED,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,gDAAuB,CAAA;IACvB,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;IACvB,oDAA2B,CAAA;IAC3B,kEAAyC,CAAA;AAC3C,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC;AAUY,QAAA,mBAAmB,GAAuD;IACrF,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,wBAAwB,EAAE;IAC9D,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,sBAAsB,EAAE;IAC1D,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,sBAAsB,EAAE;IAC1D,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,qBAAqB,EAAE;IACxD,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,sBAAsB,EAAE;IAC1D,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,qBAAqB,EAAE;CACzD,CAAC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 手術報告狀態 (SurgicalReportStatus)
|
|
3
|
+
*/
|
|
4
|
+
export declare enum SurgicalReportStatus {
|
|
5
|
+
INIT = "init",// 初始狀態
|
|
6
|
+
DRAFT = "draft",// 草稿狀態
|
|
7
|
+
SUBMITTED = "submitted"
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 手術報告類型 (SurgicalReportType)
|
|
11
|
+
*/
|
|
12
|
+
export declare enum SurgicalReportType {
|
|
13
|
+
GENERAL = "general",// 一般手術報告
|
|
14
|
+
EMERGENCY = "emergency",// 緊急手術報告
|
|
15
|
+
ELECTIVE = "elective"
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 手術報告麻醉類型 (SurgicalReportAnesthesiaType)
|
|
19
|
+
*/
|
|
20
|
+
export declare enum SurgicalReportAnesthesiaType {
|
|
21
|
+
GENERAL = "general",// 全身麻醉
|
|
22
|
+
REGIONAL = "regional",// 區域麻醉
|
|
23
|
+
LOCAL = "local",// 局部麻醉
|
|
24
|
+
SEDATION = "sedation"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 醫院科別 (HospitalDepartment)
|
|
28
|
+
*/
|
|
29
|
+
export declare enum HospitalDepartment {
|
|
30
|
+
ORTHOPEDICS = "orthopedics",// 骨科
|
|
31
|
+
CARDIOLOGY = "cardiology",// 心臟科
|
|
32
|
+
NEUROLOGY = "neurology",// 神經科
|
|
33
|
+
ONCOLOGY = "oncology",// 腫瘤科
|
|
34
|
+
GASTROENTEROLOGY = "gastroenterology"
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 手術擺位 (SurgicalPositioning)
|
|
38
|
+
*/
|
|
39
|
+
export declare enum SurgicalPositioning {
|
|
40
|
+
SUPINE = "supine",// 仰臥位
|
|
41
|
+
PRONE = "prone",// 俯臥位
|
|
42
|
+
LATERAL = "lateral"
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 照會其他科手術資訊
|
|
46
|
+
*/
|
|
47
|
+
export interface ConsultOtherDepartmentInfo {
|
|
48
|
+
consulted: boolean;
|
|
49
|
+
department?: HospitalDepartment | null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Timeout 查核項目時間
|
|
53
|
+
*/
|
|
54
|
+
export interface TimeoutCheckItemInfo {
|
|
55
|
+
time: string;
|
|
56
|
+
items: string[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 手術報告 (SurgicalReport)
|
|
60
|
+
*/
|
|
61
|
+
export interface SurgicalReport {
|
|
62
|
+
caseCode: string;
|
|
63
|
+
file_path?: string;
|
|
64
|
+
status?: SurgicalReportStatus;
|
|
65
|
+
arriveWaitingRoomTime?: string | null;
|
|
66
|
+
enterOperatingRoomTime?: string | null;
|
|
67
|
+
anesthesiaStartTime?: string | null;
|
|
68
|
+
surgeryStartTime?: string | null;
|
|
69
|
+
surgeryEndTime?: string | null;
|
|
70
|
+
patientToNextUnitTime?: string | null;
|
|
71
|
+
surgeryType?: SurgicalReportType | null;
|
|
72
|
+
anesthesiaType?: SurgicalReportAnesthesiaType | null;
|
|
73
|
+
consultOtherDepartmentSurgery?: ConsultOtherDepartmentInfo | null;
|
|
74
|
+
correctPositioning?: SurgicalPositioning | null;
|
|
75
|
+
implant?: string | null;
|
|
76
|
+
timeoutCheckItems?: TimeoutCheckItemInfo[] | null;
|
|
77
|
+
confirmBloodProduct?: boolean | null;
|
|
78
|
+
administerProphylacticAntibioticWithin60MinutesBeforeIncision?: boolean | null;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 報告類型 (ReportType)
|
|
82
|
+
*/
|
|
83
|
+
/**
|
|
84
|
+
* 報告 (Report)
|
|
85
|
+
* 支援多種分類,surgicalReport 為其中一種
|
|
86
|
+
*/
|
|
87
|
+
import { Types } from "mongoose";
|
|
88
|
+
import { Base } from "./utils";
|
|
89
|
+
import { EventCategory } from "./template";
|
|
90
|
+
export interface ReportSectionRule {
|
|
91
|
+
eventType: string;
|
|
92
|
+
keywords?: string[];
|
|
93
|
+
payloadFilter?: Record<string, any>;
|
|
94
|
+
}
|
|
95
|
+
export interface ReportSection {
|
|
96
|
+
title: string;
|
|
97
|
+
rules: ReportSectionRule[];
|
|
98
|
+
template: string;
|
|
99
|
+
}
|
|
100
|
+
export interface ReportDefinition extends Base {
|
|
101
|
+
name: string;
|
|
102
|
+
code: string;
|
|
103
|
+
category: EventCategory;
|
|
104
|
+
description?: string;
|
|
105
|
+
eventFilters?: Record<string, any>[];
|
|
106
|
+
sections: ReportSection[];
|
|
107
|
+
isActive: boolean;
|
|
108
|
+
}
|
|
109
|
+
/** 報告執行狀態 */
|
|
110
|
+
export declare enum ReportRunStatus {
|
|
111
|
+
Draft = "draft",
|
|
112
|
+
Running = "running",
|
|
113
|
+
Completed = "completed",
|
|
114
|
+
Failed = "failed",
|
|
115
|
+
Finalized = "finalized"
|
|
116
|
+
}
|
|
117
|
+
/** 報告輸出的章節內容 */
|
|
118
|
+
export interface ReportRunSection {
|
|
119
|
+
/** 章節標題(如:手術步驟、器械使用等) */
|
|
120
|
+
title: string;
|
|
121
|
+
/** 章節純文字/Markdown 內容 */
|
|
122
|
+
content: string;
|
|
123
|
+
/** 可選:用於前端渲染的結構化資料(圖表資料、表格資料) */
|
|
124
|
+
data?: Record<string, any>;
|
|
125
|
+
}
|
|
126
|
+
/** 報告輸出主體 */
|
|
127
|
+
export interface ReportRunGeneratedContent {
|
|
128
|
+
title: string;
|
|
129
|
+
summary?: string;
|
|
130
|
+
sections: ReportRunSection[];
|
|
131
|
+
/** 方便追蹤生成依據(規則、模型版本、參數等) */
|
|
132
|
+
provenance?: {
|
|
133
|
+
definitionName?: string;
|
|
134
|
+
definitionVersion?: number;
|
|
135
|
+
model?: {
|
|
136
|
+
name?: string;
|
|
137
|
+
version?: string;
|
|
138
|
+
};
|
|
139
|
+
params?: Record<string, any>;
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/** 這次報告實際用到的事件 */
|
|
143
|
+
export interface ReportRunEventRef {
|
|
144
|
+
eventId: Types.ObjectId | string;
|
|
145
|
+
eventType: string;
|
|
146
|
+
/** 可選:事件時間,方便除錯與比對 */
|
|
147
|
+
startTime?: Date;
|
|
148
|
+
}
|
|
149
|
+
/** ReportRun 主體 */
|
|
150
|
+
export interface ReportRun extends Base {
|
|
151
|
+
/** 指向 ReportDefinition */
|
|
152
|
+
definitionId: ReportDefinition["id"];
|
|
153
|
+
/** 本次報告所屬手術/就醫事件 ID asr event sessionId */
|
|
154
|
+
encounterId: string;
|
|
155
|
+
/** 本次報告所屬病人 ID */
|
|
156
|
+
patientCaseCode: string;
|
|
157
|
+
/** 狀態機:draft → running → completed → finalized(或 failed) */
|
|
158
|
+
status: ReportRunStatus;
|
|
159
|
+
/** 這次生成實際用到的事件清單(可追溯) */
|
|
160
|
+
eventsUsed: ReportRunEventRef[];
|
|
161
|
+
/** 產生的報告內容(可 Markdown / 結構化) */
|
|
162
|
+
generatedContent?: ReportRunGeneratedContent;
|
|
163
|
+
/** 失敗原因(若 failed) */
|
|
164
|
+
failureReason?: string;
|
|
165
|
+
finalizedAt?: Date;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../models/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReportRunStatus = exports.SurgicalPositioning = exports.HospitalDepartment = exports.SurgicalReportAnesthesiaType = exports.SurgicalReportType = exports.SurgicalReportStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 手術報告狀態 (SurgicalReportStatus)
|
|
6
|
+
*/
|
|
7
|
+
var SurgicalReportStatus;
|
|
8
|
+
(function (SurgicalReportStatus) {
|
|
9
|
+
SurgicalReportStatus["INIT"] = "init";
|
|
10
|
+
SurgicalReportStatus["DRAFT"] = "draft";
|
|
11
|
+
SurgicalReportStatus["SUBMITTED"] = "submitted"; // 已提交狀態
|
|
12
|
+
})(SurgicalReportStatus || (exports.SurgicalReportStatus = SurgicalReportStatus = {}));
|
|
13
|
+
/**
|
|
14
|
+
* 手術報告類型 (SurgicalReportType)
|
|
15
|
+
*/
|
|
16
|
+
var SurgicalReportType;
|
|
17
|
+
(function (SurgicalReportType) {
|
|
18
|
+
SurgicalReportType["GENERAL"] = "general";
|
|
19
|
+
SurgicalReportType["EMERGENCY"] = "emergency";
|
|
20
|
+
SurgicalReportType["ELECTIVE"] = "elective"; // 計劃性手術報告
|
|
21
|
+
})(SurgicalReportType || (exports.SurgicalReportType = SurgicalReportType = {}));
|
|
22
|
+
/**
|
|
23
|
+
* 手術報告麻醉類型 (SurgicalReportAnesthesiaType)
|
|
24
|
+
*/
|
|
25
|
+
var SurgicalReportAnesthesiaType;
|
|
26
|
+
(function (SurgicalReportAnesthesiaType) {
|
|
27
|
+
SurgicalReportAnesthesiaType["GENERAL"] = "general";
|
|
28
|
+
SurgicalReportAnesthesiaType["REGIONAL"] = "regional";
|
|
29
|
+
SurgicalReportAnesthesiaType["LOCAL"] = "local";
|
|
30
|
+
SurgicalReportAnesthesiaType["SEDATION"] = "sedation"; // 鎮靜麻醉
|
|
31
|
+
})(SurgicalReportAnesthesiaType || (exports.SurgicalReportAnesthesiaType = SurgicalReportAnesthesiaType = {}));
|
|
32
|
+
/**
|
|
33
|
+
* 醫院科別 (HospitalDepartment)
|
|
34
|
+
*/
|
|
35
|
+
var HospitalDepartment;
|
|
36
|
+
(function (HospitalDepartment) {
|
|
37
|
+
HospitalDepartment["ORTHOPEDICS"] = "orthopedics";
|
|
38
|
+
HospitalDepartment["CARDIOLOGY"] = "cardiology";
|
|
39
|
+
HospitalDepartment["NEUROLOGY"] = "neurology";
|
|
40
|
+
HospitalDepartment["ONCOLOGY"] = "oncology";
|
|
41
|
+
HospitalDepartment["GASTROENTEROLOGY"] = "gastroenterology"; // 腸胃科
|
|
42
|
+
})(HospitalDepartment || (exports.HospitalDepartment = HospitalDepartment = {}));
|
|
43
|
+
/**
|
|
44
|
+
* 手術擺位 (SurgicalPositioning)
|
|
45
|
+
*/
|
|
46
|
+
var SurgicalPositioning;
|
|
47
|
+
(function (SurgicalPositioning) {
|
|
48
|
+
SurgicalPositioning["SUPINE"] = "supine";
|
|
49
|
+
SurgicalPositioning["PRONE"] = "prone";
|
|
50
|
+
SurgicalPositioning["LATERAL"] = "lateral"; // 側臥位
|
|
51
|
+
})(SurgicalPositioning || (exports.SurgicalPositioning = SurgicalPositioning = {}));
|
|
52
|
+
/** 報告執行狀態 */
|
|
53
|
+
var ReportRunStatus;
|
|
54
|
+
(function (ReportRunStatus) {
|
|
55
|
+
ReportRunStatus["Draft"] = "draft";
|
|
56
|
+
ReportRunStatus["Running"] = "running";
|
|
57
|
+
ReportRunStatus["Completed"] = "completed";
|
|
58
|
+
ReportRunStatus["Failed"] = "failed";
|
|
59
|
+
ReportRunStatus["Finalized"] = "finalized";
|
|
60
|
+
})(ReportRunStatus || (exports.ReportRunStatus = ReportRunStatus = {}));
|
|
61
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../models/report.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,qCAAa,CAAA;IACb,uCAAe,CAAA;IACf,+CAAuB,CAAA,CAAA,QAAQ;AACjC,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B;AAED;;GAEG;AACH,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA,CAAI,UAAU;AACrC,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAED;;GAEG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,mDAAmB,CAAA;IACnB,qDAAqB,CAAA;IACrB,+CAAe,CAAA;IACf,qDAAqB,CAAA,CAAE,OAAO;AAChC,CAAC,EALW,4BAA4B,4CAA5B,4BAA4B,QAKvC;AAED;;GAEG;AACH,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,iDAA2B,CAAA;IAC3B,+CAAyB,CAAA;IACzB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2DAAqC,CAAA,CAAA,MAAM;AAC7C,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B;AAED;;GAEG;AACH,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,sCAAe,CAAA;IACf,0CAAmB,CAAA,CAAI,MAAM;AAC/B,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B;AA4FD,aAAa;AACb,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,oCAAiB,CAAA;IACjB,0CAAuB,CAAA;AACzB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Permission } from './permission';
|
|
2
|
+
import { User } from './user';
|
|
3
|
+
import { Base } from './utils';
|
|
4
|
+
/**
|
|
5
|
+
* **角色擁有者類型 (OwnerType)**
|
|
6
|
+
* 為了抽象化「角色隸屬於哪個實體」而設計。
|
|
7
|
+
* - 例如: "server"、"group"、或未來更多像 "organization"、"project" 等等
|
|
8
|
+
* - 可以自由延伸
|
|
9
|
+
*/
|
|
10
|
+
export declare enum OwnerType {
|
|
11
|
+
System = "system",
|
|
12
|
+
Platform = "platform",
|
|
13
|
+
Chatroom = "chatroom",
|
|
14
|
+
Inform = "Inform",
|
|
15
|
+
Event = "event",
|
|
16
|
+
Report = "report",
|
|
17
|
+
Group = "group",
|
|
18
|
+
Department = "department",
|
|
19
|
+
Server = "server",
|
|
20
|
+
ChannelCategory = "channel_category",
|
|
21
|
+
Channel = "channel"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* **角色 (Role)**
|
|
25
|
+
* 用於定義某個實體 (ownerType + ownerId) 底下的一種角色,擁有一組權限。
|
|
26
|
+
*
|
|
27
|
+
* - **`ownerType`**: 角色隸屬於哪種實體 (server / group / ...)
|
|
28
|
+
* - **`ownerId`**: 角色隸屬於哪個實體的 ID
|
|
29
|
+
* - **`name`**: 角色名稱 (如 "admin", "moderator", "user")
|
|
30
|
+
* - **`[permissionIds]`** _(可選)_: 角色擁有的權限清單,若未設置則預設為空陣列 `[]`。
|
|
31
|
+
*/
|
|
32
|
+
export interface Role extends Base {
|
|
33
|
+
/**
|
|
34
|
+
* 角色隸屬於哪種實體類型,例如 Server, Group ...
|
|
35
|
+
* 若需要更抽象,也可使用 "ownerType: string" 由程式邏輯自行決定
|
|
36
|
+
*/
|
|
37
|
+
ownerType: OwnerType;
|
|
38
|
+
/** 對應的實體 ID,如某個 Server["id"] 或 Group["id"] */
|
|
39
|
+
ownerId: string;
|
|
40
|
+
/** 角色名稱 (如 "admin", "moderator", "member", ...) */
|
|
41
|
+
name: string;
|
|
42
|
+
/** 該角色擁有哪些權限 (Permission IDs) */
|
|
43
|
+
permissionId_list?: Permission['id'][];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* **角色權限 (RolePermission)**
|
|
47
|
+
* 角色擁有哪一個權限。
|
|
48
|
+
*
|
|
49
|
+
* - **`roleId`**: 角色的 ID
|
|
50
|
+
* - **`permissionId`**: 該角色擁有哪些權限 (Permission)
|
|
51
|
+
*/
|
|
52
|
+
export interface RolePermission extends Base {
|
|
53
|
+
/** 角色的 ID */
|
|
54
|
+
roleId: Role['id'];
|
|
55
|
+
/** 該角色擁有哪些權限 (Permission) */
|
|
56
|
+
permissionId: Permission['id'];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* **抽象的 Membership**
|
|
60
|
+
*
|
|
61
|
+
* 用來表示「使用者隸屬於某個實體 (ownerType + ownerId)」的關係,
|
|
62
|
+
* 以及該使用者在該實體下的角色與其他資訊。
|
|
63
|
+
*
|
|
64
|
+
* - **`ownerType`**: 此 Membership 屬於哪個類型 (server / group / ...)
|
|
65
|
+
* - **`ownerId`**: 此 Membership 屬於哪個實體的 ID
|
|
66
|
+
* - **`userId`**: 使用者 ID
|
|
67
|
+
* - **`[roleIds]`** _(可選)_: 該使用者在此實體下擁有哪些角色
|
|
68
|
+
*/
|
|
69
|
+
export interface Membership extends Base {
|
|
70
|
+
/** 隸屬的實體類型 (server, group...) */
|
|
71
|
+
ownerType: OwnerType;
|
|
72
|
+
/** 對應實體的 ID (例如某個 Server["id"] 或 Group["id"]) */
|
|
73
|
+
ownerId: string;
|
|
74
|
+
/** 哪位使用者 (User["id"]) */
|
|
75
|
+
userId: User['id'];
|
|
76
|
+
/**
|
|
77
|
+
* 在此實體下使用者所擁有的角色集合
|
|
78
|
+
* 這些角色需要符合:
|
|
79
|
+
* - role.ownerType = 同樣的 ownerType
|
|
80
|
+
* - role.ownerId = 同樣的 ownerId
|
|
81
|
+
*/
|
|
82
|
+
roleIds?: Role['id'][];
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../models/role.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAG9B;;;;;GAKG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IAErB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,MAAM,WAAW;IAEjB,KAAK,UAAU;IACf,UAAU,eAAe;IAEzB,MAAM,WAAW;IACjB,eAAe,qBAAqB;IACpC,OAAO,YAAY;CAEpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,IAAK,SAAQ,IAAI;IAChC;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;CACxC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI;IAC1C,aAAa;IACb,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,6BAA6B;IAC7B,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;CAChC;AAID;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAW,SAAQ,IAAI;IACtC,iCAAiC;IACjC,SAAS,EAAE,SAAS,CAAC;IAErB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;CACxB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OwnerType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* **角色擁有者類型 (OwnerType)**
|
|
6
|
+
* 為了抽象化「角色隸屬於哪個實體」而設計。
|
|
7
|
+
* - 例如: "server"、"group"、或未來更多像 "organization"、"project" 等等
|
|
8
|
+
* - 可以自由延伸
|
|
9
|
+
*/
|
|
10
|
+
var OwnerType;
|
|
11
|
+
(function (OwnerType) {
|
|
12
|
+
OwnerType["System"] = "system";
|
|
13
|
+
OwnerType["Platform"] = "platform";
|
|
14
|
+
OwnerType["Chatroom"] = "chatroom";
|
|
15
|
+
OwnerType["Inform"] = "Inform";
|
|
16
|
+
OwnerType["Event"] = "event";
|
|
17
|
+
OwnerType["Report"] = "report";
|
|
18
|
+
OwnerType["Group"] = "group";
|
|
19
|
+
OwnerType["Department"] = "department";
|
|
20
|
+
OwnerType["Server"] = "server";
|
|
21
|
+
OwnerType["ChannelCategory"] = "channel_category";
|
|
22
|
+
OwnerType["Channel"] = "channel";
|
|
23
|
+
// ... 如果將來還有其他實體,也能加在這裡
|
|
24
|
+
})(OwnerType || (exports.OwnerType = OwnerType = {}));
|
|
25
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../models/role.ts"],"names":[],"mappings":";;;AAMA;;;;;GAKG;AACH,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IAErB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IAEjB,4BAAe,CAAA;IACf,sCAAyB,CAAA;IAEzB,8BAAiB,CAAA;IACjB,iDAAoC,CAAA;IACpC,gCAAmB,CAAA;IACnB,wBAAwB;AAC1B,CAAC,EAhBW,SAAS,yBAAT,SAAS,QAgBpB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Template } from "./template";
|
|
2
|
+
import { Base } from "./utils";
|
|
3
|
+
/**
|
|
4
|
+
* **排程 (Schedule)**
|
|
5
|
+
*
|
|
6
|
+
* 表示需要重複執行某項事件或動作的排程資訊。
|
|
7
|
+
*
|
|
8
|
+
* - **`name`**:排程名稱
|
|
9
|
+
* - **`recurrenceRule`**:使用 iCalendar `RRULE` 格式定義循環規則 (如 `FREQ=WEEKLY;BYDAY=MO,WE,FR`)
|
|
10
|
+
* - **`nextOccurrence`**:程式計算出的下一次執行時間
|
|
11
|
+
* - **`isActive`**:排程是否處於啟用狀態 (true/false)
|
|
12
|
+
*
|
|
13
|
+
* @interface Schedule
|
|
14
|
+
*/
|
|
15
|
+
export interface Schedule extends Base {
|
|
16
|
+
/**
|
|
17
|
+
* 排程名稱
|
|
18
|
+
* @example "每週報表產生"
|
|
19
|
+
*/
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* 重複規則,使用 iCalendar `RRULE` 格式
|
|
23
|
+
* @example "FREQ=WEEKLY;BYDAY=MO,WE,FR"
|
|
24
|
+
*/
|
|
25
|
+
recurrenceRule: string;
|
|
26
|
+
/**
|
|
27
|
+
* 下一次執行時間
|
|
28
|
+
* 由系統根據 recurrenceRule 計算出
|
|
29
|
+
* @example new Date("2025-02-24T08:00:00Z")
|
|
30
|
+
*/
|
|
31
|
+
nextOccurrence: Date;
|
|
32
|
+
/**
|
|
33
|
+
* 排程是否啟用
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
isActive: boolean;
|
|
37
|
+
templateId: Template['id'];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=schedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../models/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,cAAc,EAAE,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB,UAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../models/schedule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Attachment } from "./attachment";
|
|
2
|
+
import { TaskTemplate } from "./template";
|
|
3
|
+
import { User } from "./user";
|
|
4
|
+
import { Base } from "./utils";
|
|
5
|
+
/**
|
|
6
|
+
* **任務狀態**
|
|
7
|
+
*
|
|
8
|
+
* 定義任務的執行與阻塞狀態:
|
|
9
|
+
* - **`NOT_STARTED`**:尚未開始。
|
|
10
|
+
* - **`IN_PROGRESS`**:進行中。
|
|
11
|
+
* - **`COMPLETED`**:已完成。
|
|
12
|
+
* - **`BLOCKED`**:因依賴或其他原因被阻塞,無法繼續。
|
|
13
|
+
*/
|
|
14
|
+
export declare enum TaskStatus {
|
|
15
|
+
/** 尚未開始 */
|
|
16
|
+
NOT_STARTED = "NOT_STARTED",
|
|
17
|
+
/** 進行中 */
|
|
18
|
+
IN_PROGRESS = "IN_PROGRESS",
|
|
19
|
+
/** 已完成 */
|
|
20
|
+
COMPLETED = "COMPLETED",
|
|
21
|
+
/** 被阻塞 */
|
|
22
|
+
BLOCKED = "BLOCKED"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* **任務表**
|
|
26
|
+
*
|
|
27
|
+
* 用於存儲各種任務資訊,包括基礎的任務狀態、指派人、執行人、驗證人,以及任務所需技能等。
|
|
28
|
+
*
|
|
29
|
+
* - **`status`**:任務狀態 (NOT_STARTED / IN_PROGRESS / COMPLETED / BLOCKED)。
|
|
30
|
+
* - **`assignor`**:派發人 (指派此任務的人)。
|
|
31
|
+
* - **`executorId`**:執行人 (實際負責此任務的人)。
|
|
32
|
+
* - **`startAt`**:任務實際開始執行的時間,與建立時間不同。
|
|
33
|
+
* - **`endAt`**:任務完成或結束的時間。
|
|
34
|
+
* - **`[dueDate]`** _(可選)_:任務截止日期。
|
|
35
|
+
* - **`[templateId]`** _(可選)_:根據模板產生。
|
|
36
|
+
* - **`[validatorId]`** _(可選)_:驗證人 (負責審核或驗證任務品質)。
|
|
37
|
+
*/
|
|
38
|
+
export interface Task extends TaskTemplate {
|
|
39
|
+
/** 上層任務 ID (若為最上層則可為 undefined) */
|
|
40
|
+
parentId?: Task['id'];
|
|
41
|
+
/**
|
|
42
|
+
* 依賴的任務 ID :
|
|
43
|
+
* 若其中任務尚未完成,則本任務可能處於 BLOCKED 狀態
|
|
44
|
+
*/
|
|
45
|
+
dependencyId?: Task['id'];
|
|
46
|
+
/** 任務狀態 (NOT_STARTED / IN_PROGRESS / COMPLETED / BLOCKED) */
|
|
47
|
+
status: TaskStatus;
|
|
48
|
+
/** 派發人 (指派此任務的人) */
|
|
49
|
+
assignor: User['id'];
|
|
50
|
+
/** 執行人 (負責實際完成此任務) */
|
|
51
|
+
executorId: User['id'];
|
|
52
|
+
/**
|
|
53
|
+
* 任務開始執行的時間。
|
|
54
|
+
* 與建立時間 (createdAt) 不同,此時間表示任務實際開始進行工作時的時間點。
|
|
55
|
+
* @example new Date("2025-03-01T09:00:00Z")
|
|
56
|
+
*/
|
|
57
|
+
startAt: Date;
|
|
58
|
+
/**
|
|
59
|
+
* 任務完成或結束的時間。
|
|
60
|
+
* 當任務狀態更新為 COMPLETED 或其他結束狀態時,記錄此時間。
|
|
61
|
+
* @example new Date("2025-03-01T17:00:00Z")
|
|
62
|
+
*/
|
|
63
|
+
endAt: Date;
|
|
64
|
+
/** 任務截止日期 */
|
|
65
|
+
dueDate?: Date;
|
|
66
|
+
/** 根據模板產生。 */
|
|
67
|
+
templateId?: TaskTemplate['id'];
|
|
68
|
+
/** 驗證人 (負責審核此任務完成品質,可為 undefined) */
|
|
69
|
+
validatorId?: User['id'];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* **任務指派歷史表**
|
|
73
|
+
*
|
|
74
|
+
* 用於記錄每一次任務指派或重新分派的行為,包括:
|
|
75
|
+
* - **`taskId`**:關聯到哪個任務。
|
|
76
|
+
* - **`fromUserId`** _(可選)_:原執行人或原派發人。
|
|
77
|
+
* - **`toUserId`**:新的執行人或接手者。
|
|
78
|
+
* - **`assignedAt`**:何時進行該次指派。
|
|
79
|
+
* - **`reason`** _(可選)_:轉派原因說明。
|
|
80
|
+
*/
|
|
81
|
+
export interface TaskAssignmentHistory extends Base {
|
|
82
|
+
/** 關聯到哪個 Task 的 ID */
|
|
83
|
+
taskId: Task["id"];
|
|
84
|
+
/** 原執行人 (可為空,若是第一次指派則可能無 fromUserId) */
|
|
85
|
+
fromUserId?: string;
|
|
86
|
+
/** 新的執行人 / 接手人 */
|
|
87
|
+
toUserId: string;
|
|
88
|
+
/** 何時進行該次指派 */
|
|
89
|
+
assignedAt: Date;
|
|
90
|
+
/** 轉派原因 (可選) */
|
|
91
|
+
reason?: string;
|
|
92
|
+
}
|
|
93
|
+
export type TaskReport = Attachment & {
|
|
94
|
+
attachTo?: never;
|
|
95
|
+
taskId: Task['id'];
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../models/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;;;;;;;GAQG;AACH,oBAAY,UAAU;IACpB,WAAW;IACX,WAAW,gBAAgB;IAE3B,UAAU;IACV,WAAW,gBAAgB;IAE3B,UAAU;IACV,SAAS,cAAc;IAEvB,UAAU;IACV,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,IAAK,SAAQ,YAAY;IACxC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1B,6DAA6D;IAC7D,MAAM,EAAE,UAAU,CAAC;IAEnB,oBAAoB;IACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAErB,sBAAsB;IACtB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,IAAI,CAAC;IAEd;;;;OAIG;IACH,KAAK,EAAE,IAAI,CAAC;IAEZ,aAAa;IACb,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,cAAc;IACd,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAEhC,qCAAqC;IACrC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI;IACjD,sBAAsB;IACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IAEjB,eAAe;IACf,UAAU,EAAE,IAAI,CAAC;IAEjB,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;CACpB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* **任務狀態**
|
|
6
|
+
*
|
|
7
|
+
* 定義任務的執行與阻塞狀態:
|
|
8
|
+
* - **`NOT_STARTED`**:尚未開始。
|
|
9
|
+
* - **`IN_PROGRESS`**:進行中。
|
|
10
|
+
* - **`COMPLETED`**:已完成。
|
|
11
|
+
* - **`BLOCKED`**:因依賴或其他原因被阻塞,無法繼續。
|
|
12
|
+
*/
|
|
13
|
+
var TaskStatus;
|
|
14
|
+
(function (TaskStatus) {
|
|
15
|
+
/** 尚未開始 */
|
|
16
|
+
TaskStatus["NOT_STARTED"] = "NOT_STARTED";
|
|
17
|
+
/** 進行中 */
|
|
18
|
+
TaskStatus["IN_PROGRESS"] = "IN_PROGRESS";
|
|
19
|
+
/** 已完成 */
|
|
20
|
+
TaskStatus["COMPLETED"] = "COMPLETED";
|
|
21
|
+
/** 被阻塞 */
|
|
22
|
+
TaskStatus["BLOCKED"] = "BLOCKED";
|
|
23
|
+
})(TaskStatus || (exports.TaskStatus = TaskStatus = {}));
|
|
24
|
+
//# sourceMappingURL=task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../models/task.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;GAQG;AACH,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,WAAW;IACX,yCAA2B,CAAA;IAE3B,UAAU;IACV,yCAA2B,CAAA;IAE3B,UAAU;IACV,qCAAuB,CAAA;IAEvB,UAAU;IACV,iCAAmB,CAAA;AACrB,CAAC,EAZW,UAAU,0BAAV,UAAU,QAYrB"}
|