@youjunhuang/entity-core 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -4
- package/dist/data_access/mongo/event-mongo.repository.d.ts.map +1 -1
- package/dist/data_access/mongo/event-mongo.repository.js.map +1 -1
- package/dist/models/event.d.ts +0 -110
- package/dist/models/event.d.ts.map +1 -1
- package/dist/models/event.js +1 -167
- package/dist/models/event.js.map +1 -1
- package/dist/models/inform.d.ts +0 -5
- package/dist/models/inform.d.ts.map +1 -1
- package/dist/models/inform.js.map +1 -1
- package/dist/models/template.d.ts +0 -2
- package/dist/models/template.d.ts.map +1 -1
- package/dist/models/template.js.map +1 -1
- package/dist/schemas/mongo/camera-mongo.schema.js +1 -1
- package/dist/schemas/mongo/camera-mongo.schema.js.map +1 -1
- package/dist/schemas/mongo/event-mongo.schema.d.ts.map +1 -1
- package/dist/schemas/mongo/event-mongo.schema.js.map +1 -1
- package/dist/schemas/mongo/event-template-mongo.schema.d.ts.map +1 -1
- package/dist/schemas/mongo/event-template-mongo.schema.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,12 +8,80 @@ Shared entity core library for Mycena core.
|
|
|
8
8
|
npm i --save-dev @youjunhuang/entity-core
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
## Concepts
|
|
13
|
+
|
|
14
|
+
This library is structured around three main concepts:
|
|
15
|
+
|
|
16
|
+
### 1. Models (`/models`)
|
|
17
|
+
**Database-agnostic entity definitions.**
|
|
18
|
+
These are pure TypeScript interfaces and enums that define the shape of your data entities. They are independent of any specific database implementation.
|
|
19
|
+
- **Purpose**: Define the "What".
|
|
20
|
+
- **Example**: `Camera`, `User`, `Event`.
|
|
21
|
+
|
|
22
|
+
### 2. Schemas (`/schemas`)
|
|
23
|
+
**Database-specific implementations.**
|
|
24
|
+
These define how the Models are mapped to a specific database (e.g., MongoDB via Mongoose, SQL via TypeORM).
|
|
25
|
+
- **Purpose**: Define the "How" (storage).
|
|
26
|
+
- **Current Support**: MongoDB (`/schemas/mongo`).
|
|
27
|
+
|
|
28
|
+
### 3. Data Access (`/data_access`)
|
|
29
|
+
**Repositories and Services.**
|
|
30
|
+
These provide the logic to interact with the database using the Schemas. They abstract the database operations from the business logic.
|
|
31
|
+
- **Purpose**: Define the "How" (access).
|
|
32
|
+
- **Current Support**: MongoDB Repositories (`/data_access/mongo`).
|
|
33
|
+
|
|
11
34
|
## Usage
|
|
12
35
|
|
|
13
|
-
|
|
36
|
+
### Importing Models
|
|
37
|
+
|
|
38
|
+
Use Models to type your objects and ensure type safety across your application.
|
|
14
39
|
|
|
15
40
|
```typescript
|
|
16
|
-
import { Camera } from '@youjunhuang/entity-core';
|
|
17
|
-
|
|
18
|
-
|
|
41
|
+
import { Camera, CameraStatus, CameraType } from '@youjunhuang/entity-core';
|
|
42
|
+
|
|
43
|
+
const myCamera: Camera = {
|
|
44
|
+
id: 'cam-001',
|
|
45
|
+
name: 'Front Door',
|
|
46
|
+
type: CameraType.SHOTGUN,
|
|
47
|
+
status: CameraStatus.Online,
|
|
48
|
+
// ... other properties
|
|
49
|
+
};
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Using Schemas (NestJS Example)
|
|
53
|
+
|
|
54
|
+
Import Schemas to define your Mongoose models in a NestJS application.
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { Module } from '@nestjs/common';
|
|
58
|
+
import { MongooseModule } from '@nestjs/mongoose';
|
|
59
|
+
import { CameraMongo, CameraMongoSchema } from '@youjunhuang/entity-core';
|
|
60
|
+
|
|
61
|
+
@Module({
|
|
62
|
+
imports: [
|
|
63
|
+
MongooseModule.forFeature([
|
|
64
|
+
{ name: CameraMongo.name, schema: CameraMongoSchema },
|
|
65
|
+
]),
|
|
66
|
+
],
|
|
67
|
+
})
|
|
68
|
+
export class CameraModule {}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Using Data Access Repositories
|
|
72
|
+
|
|
73
|
+
Import and use Repositories to perform database operations.
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import { Injectable } from '@nestjs/common';
|
|
77
|
+
import { CameraMongoRepository } from '@youjunhuang/entity-core';
|
|
78
|
+
|
|
79
|
+
@Injectable()
|
|
80
|
+
export class CameraService {
|
|
81
|
+
constructor(private readonly cameraRepo: CameraMongoRepository) {}
|
|
82
|
+
|
|
83
|
+
async findAll() {
|
|
84
|
+
return this.cameraRepo.findAll();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
19
87
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-mongo.repository.d.ts","sourceRoot":"","sources":["../../../data_access/mongo/event-mongo.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAA8B,iBAAiB,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"event-mongo.repository.d.ts","sourceRoot":"","sources":["../../../data_access/mongo/event-mongo.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAA8B,iBAAiB,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGtH,qBACa,oBAAqB,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IAChC,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;IAW5E,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAInE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAW1D,KAAK,CAAC,MAAM,GAAE,WAAW,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrE;;;;;;OAMG;IACG,2BAA2B,CAAC,UAAU,GAAE,GAAQ,EAAE,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAW;CA+G7F;AAED,qBACa,wBAAyB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IACpC,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;CAS/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-mongo.repository.js","sourceRoot":"","sources":["../../../data_access/mongo/event-mongo.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,uCAA8C;AAC9C,yEAAoE;AACpE,+EAAsH;
|
|
1
|
+
{"version":3,"file":"event-mongo.repository.js","sourceRoot":"","sources":["../../../data_access/mongo/event-mongo.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,uCAA8C;AAC9C,yEAAoE;AACpE,+EAAsH;AAI/G,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,2CAAkC;IAC1E,YAAkD,UAAgC;QAEhF,KAAK,CAAC,UAAU,CAAC,CAAC;QAF8B,eAAU,GAAV,UAAU,CAAsB;QAIhF,sBAAsB;QACtB,IAAI,CAAC,yBAAyB,CAAC;YAC7B,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,UAAU,EAAE;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAc;QACnC,OAAO,IAAI,CAAC,UAAU;aACnB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;aACjC,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,iFAAiF;IACjF,oEAAoE;IACpE,6CAA6C;IAC7C,IAAI;IAEJ,KAAK,CAAC,KAAK,CAAC,SAAqC,EAAE;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAGD;;;;;;OAMG;IACH,KAAK,CAAC,2BAA2B,CAAC,aAAkB,EAAE,EAAE,OAAe,CAAC,EAAE,QAAgB,EAAE;QAC1F,MAAM,QAAQ,GAAG;YACf,YAAY;YACZ,EAAE,MAAM,EAAE,UAAU,EAAE;YAEtB,gCAAgC;YAChC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,YAAY;oBACxB,YAAY,EAAE,IAAI;oBAClB,EAAE,EAAE,WAAW;iBAChB;aACF;YAED,6CAA6C;YAC7C;gBACE,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE;iBAC/C;aACF;YACD,sCAAsC;YACtC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,YAAY;oBAC1B,EAAE,EAAE,iBAAiB;iBACtB;aACF;YAED;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,mBAAmB;oBACzB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,YAAY;oBAC1B,EAAE,EAAE,kBAAkB;iBACvB;aACF;YAED;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,mBAAmB;oBACzB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,YAAY;oBAC1B,EAAE,EAAE,kBAAkB;iBACvB;aACF;YAED;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,mBAAmB;oBACzB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,YAAY;oBAC1B,EAAE,EAAE,kBAAkB;iBACvB;aACF;YAED;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,YAAY;oBAC1B,EAAE,EAAE,iBAAiB;iBACtB;aACF;YAED;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,mBAAmB;oBACzB,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,YAAY;oBAC1B,EAAE,EAAE,kBAAkB;iBACvB;aACF;YAED,cAAc;YACd;gBACE,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,KAAK,EAAE,mBAAmB;wBAC1B,IAAI,EAAE,kBAAkB;wBACxB,KAAK,EAAE,mBAAmB;wBAC1B,KAAK,EAAE,mBAAmB;wBAC1B,KAAK,EAAE,mBAAmB;wBAC1B,IAAI,EAAE,kBAAkB;qBACzB;iBACF;aACF;YAED,gBAAgB;YAChB;gBACE,QAAQ,EAAE;oBACR,gBAAgB,EAAE,CAAC;oBACnB,eAAe,EAAE,CAAC;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,EAAE,CAAC;oBACnB,eAAe,EAAE,CAAC;iBACnB;aACF;YAED,gDAAgD;YAChD,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAChD,EAAE,KAAK,EAAE,IAAI,EAAE;YACf,EAAE,MAAM,EAAE,KAAK,EAAE;SAClB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAtJY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,+BAAU,CAAC,SAAS,CAAC,CAAA;qCAAqB,gBAAK;GADxD,oBAAoB,CAsJhC;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,2CAAsC;IAClF,YAAsD,cAAwC;QAE5F,KAAK,CAAC,cAAc,CAAC,CAAC;QAF8B,mBAAc,GAAd,cAAc,CAA0B;QAI5F,sBAAsB;QACtB,IAAI,CAAC,yBAAyB,CAAC;YAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAVY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,mCAAc,CAAC,SAAS,CAAC,CAAA;qCAAyB,gBAAK;GADhE,wBAAwB,CAUpC"}
|
package/dist/models/event.d.ts
CHANGED
|
@@ -1,110 +1,5 @@
|
|
|
1
1
|
import { EventCategory, EventType, EventTemplate } from './template';
|
|
2
2
|
import { Base } from './utils';
|
|
3
|
-
/**
|
|
4
|
-
* 視覺辨識類事件子類型 (VisualSubType)
|
|
5
|
-
*
|
|
6
|
-
* @enum {string}
|
|
7
|
-
* @description
|
|
8
|
-
* 此枚舉列出所有視覺辨識相關的事件子類型,
|
|
9
|
-
* 例如超速、車禍、倒地等。
|
|
10
|
-
*/
|
|
11
|
-
export declare enum VisualSubType {
|
|
12
|
-
/** 超速 */
|
|
13
|
-
OverSpeed = "overSpeed",
|
|
14
|
-
/** 車禍 */
|
|
15
|
-
CarAccident = "carAccident",
|
|
16
|
-
/** 倒地 */
|
|
17
|
-
FallDown = "fallDown",
|
|
18
|
-
/** 違規右轉 */
|
|
19
|
-
IllegalRightTurn = "illegalRightTurn",
|
|
20
|
-
/** 異常停留 */
|
|
21
|
-
AbnormalStay = "abnormalStay",
|
|
22
|
-
/** 穿著不正確 */
|
|
23
|
-
ImproperDress = "improperDress",
|
|
24
|
-
/** 器械數量錯誤 */
|
|
25
|
-
EquipmentCountError = "equipmentCountError",
|
|
26
|
-
/** 器械順序錯誤 */
|
|
27
|
-
EquipmentOrderError = "equipmentOrderError"
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* 系統類事件子類型 (SystemSubType)
|
|
31
|
-
*
|
|
32
|
-
* @enum {string}
|
|
33
|
-
* @description
|
|
34
|
-
* 此枚舉列出所有系統相關的事件子類型,
|
|
35
|
-
* 例如設備故障、服務崩潰、數據異常等。
|
|
36
|
-
*/
|
|
37
|
-
export declare enum SystemSubType {
|
|
38
|
-
/** 設備故障 */
|
|
39
|
-
DeviceFailure = "deviceFailure",
|
|
40
|
-
/** 服務崩潰 */
|
|
41
|
-
ServiceCrash = "serviceCrash",
|
|
42
|
-
/** 數據異常 */
|
|
43
|
-
DataAnomaly = "dataAnomaly"
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* 使用者行為類事件子類型 (UserBehaviorSubType)
|
|
47
|
-
*
|
|
48
|
-
* @enum {string}
|
|
49
|
-
* @description
|
|
50
|
-
* 此枚舉列出所有使用者行為相關的事件子類型,
|
|
51
|
-
* 例如異常登入、權限違規操作等。
|
|
52
|
-
*/
|
|
53
|
-
export declare enum UserBehaviorSubType {
|
|
54
|
-
/** 異常登入 */
|
|
55
|
-
AbnormalLogin = "abnormalLogin",
|
|
56
|
-
/** 權限違規操作 */
|
|
57
|
-
PermissionViolation = "permissionViolation"
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 醫療類事件子類型 (MedicalSubType)
|
|
61
|
-
*
|
|
62
|
-
* @enum {string}
|
|
63
|
-
* @description
|
|
64
|
-
* 此枚舉列出所有醫療相關的事件子類型,
|
|
65
|
-
* 例如抵達等候室時間、手術開始時間等。
|
|
66
|
-
*/
|
|
67
|
-
export declare enum MedicalSubType {
|
|
68
|
-
/** 抵達等候室時間 */
|
|
69
|
-
ArriveWaitingRoomTime = "arriveWaitingRoomTime",
|
|
70
|
-
/** 入手術房時間 */
|
|
71
|
-
EnterOperatingRoomTime = "enterOperatingRoomTime",
|
|
72
|
-
/** 麻醉開始時間 */
|
|
73
|
-
AnesthesiaStartTime = "anesthesiaStartTime",
|
|
74
|
-
/** 手術開始時間 */
|
|
75
|
-
SurgeryStartTime = "surgeryStartTime",
|
|
76
|
-
/** 手術結束時間 */
|
|
77
|
-
SurgeryEndTime = "surgeryEndTime",
|
|
78
|
-
/** 病人至下個單位時間 */
|
|
79
|
-
PatientToNextUnitTime = "patientToNextUnitTime",
|
|
80
|
-
/** 手術類別 */
|
|
81
|
-
SurgeryType = "surgeryType",
|
|
82
|
-
/** 麻醉方式 */
|
|
83
|
-
AnesthesiaType = "anesthesiaType",
|
|
84
|
-
/** 照會其他科手術 */
|
|
85
|
-
ConsultOtherDepartmentSurgery = "consultOtherDepartmentSurgery",
|
|
86
|
-
/** 擺位正確 */
|
|
87
|
-
CorrectPositioning = "correctPositioning",
|
|
88
|
-
/** 植入物 */
|
|
89
|
-
Implant = "implant",
|
|
90
|
-
/** Timeout查核項目/時間 */
|
|
91
|
-
TimeoutCheckItemTime = "timeoutCheckItemTime",
|
|
92
|
-
/** 確認血品 */
|
|
93
|
-
ConfirmBloodProduct = "confirmBloodProduct",
|
|
94
|
-
/** 畫刀前六十分鐘內給予預防性抗生素 */
|
|
95
|
-
AdministerProphylacticAntibioticWithin60MinutesBeforeIncision = "administerProphylacticAntibioticWithin60MinutesBeforeIncision"
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* 統合的事件子類型 (EventSubType)
|
|
99
|
-
*
|
|
100
|
-
* @typedef {VisualSubType | SystemSubType | UserBehaviorSubType} EventSubType
|
|
101
|
-
* @description
|
|
102
|
-
* 利用 TypeScript 聯合型別 (Union) 將三個不同的大類事件子類型合併。
|
|
103
|
-
* 若程式中某處需要一個既能表示「視覺辨識類」、
|
|
104
|
-
* 「系統異常類」或「使用者行為類」的子類型,則可使用本型別。
|
|
105
|
-
*/
|
|
106
|
-
export declare const EventSubTypeEnum: readonly (VisualSubType | SystemSubType | UserBehaviorSubType | MedicalSubType)[];
|
|
107
|
-
export type EventSubType = (typeof EventSubTypeEnum)[number];
|
|
108
3
|
/**
|
|
109
4
|
* **事件狀態 (EventStatus)**
|
|
110
5
|
*
|
|
@@ -139,8 +34,6 @@ export interface Event extends Base {
|
|
|
139
34
|
readonly subjectId: string;
|
|
140
35
|
/** 嚴重度(可覆蓋 Template 預設;建議一經寫入不再改動) */
|
|
141
36
|
readonly severity?: number;
|
|
142
|
-
/** (可選)事件狀態;若遵循「事件不可動」可不放此欄位,改由 Note 追蹤 */
|
|
143
|
-
readonly status?: EventStatus;
|
|
144
37
|
/** 描述文(AI 或人為產生);建議寫入後不再變更 */
|
|
145
38
|
readonly description?: string | null;
|
|
146
39
|
/** 事件實際發生時間(來源設備/AI 的時間) */
|
|
@@ -148,10 +41,7 @@ export interface Event extends Base {
|
|
|
148
41
|
/** (可選)事件群組/事故 ID(做關聯彙整) */
|
|
149
42
|
readonly groupId?: string | null;
|
|
150
43
|
/** (可選)去重指紋,用於抑制重複事件 */
|
|
151
|
-
readonly fingerprint?: string | null;
|
|
152
44
|
/** (可選)標準化子型與自由標籤(若需要可加在 event_data.norm) */
|
|
153
|
-
readonly subTypes?: string[];
|
|
154
|
-
readonly freeTags?: string[];
|
|
155
45
|
/** (可選)人臉reid */
|
|
156
46
|
readonly reId?: string | null;
|
|
157
47
|
/** (可選)處理截圖URL */
|
|
@@ -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
|
|
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"}
|
package/dist/models/event.js
CHANGED
|
@@ -1,172 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubjectType = exports.EventStatus =
|
|
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
|
-
// }
|
|
3
|
+
exports.SubjectType = exports.EventStatus = void 0;
|
|
170
4
|
/**
|
|
171
5
|
* **事件狀態 (EventStatus)**
|
|
172
6
|
*
|
package/dist/models/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../models/event.ts"],"names":[],"mappings":";;;AAIA
|
|
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"}
|
package/dist/models/inform.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Attachment } from "./attachment";
|
|
2
|
-
import { EventSubType } from "./event";
|
|
3
2
|
import { EventInformTemplate, EventType } from "./template";
|
|
4
3
|
import { Base } from "./utils";
|
|
5
4
|
/**
|
|
@@ -137,10 +136,6 @@ export interface SubTypeDifferenceInformStrategy {
|
|
|
137
136
|
strategy: InformStrategyType.Difference;
|
|
138
137
|
/** 事件類別 (例如 `visual` 或 `system`) */
|
|
139
138
|
type: EventType;
|
|
140
|
-
/** 之前的事件子類型 (T0) */
|
|
141
|
-
previousSubType: EventSubType;
|
|
142
|
-
/** 當前的事件子類型 (T1) */
|
|
143
|
-
currentSubType: EventSubType;
|
|
144
139
|
}
|
|
145
140
|
export type InformStrategyConfig = RepeatedInformStrategy | SubTypeDifferenceInformStrategy;
|
|
146
141
|
//# sourceMappingURL=inform.d.ts.map
|
|
@@ -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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inform.js","sourceRoot":"","sources":["../../models/inform.ts"],"names":[],"mappings":";;;
|
|
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,4 +1,3 @@
|
|
|
1
|
-
import { EventSubType } from "./event";
|
|
2
1
|
import { InformChannel, InformStrategyConfig } from "./inform";
|
|
3
2
|
import { Base } from "./utils";
|
|
4
3
|
export declare enum EventCategory {
|
|
@@ -123,7 +122,6 @@ export interface EventInformTemplate extends Base {
|
|
|
123
122
|
/** 監聽的事件類別 */
|
|
124
123
|
eventType: EventType;
|
|
125
124
|
/** 監聽的特定事件子類型(若為空則監聽該類別的所有事件) */
|
|
126
|
-
subTypes?: EventSubType[];
|
|
127
125
|
/** 接收通知的對象 (使用者 ID 或 Webhook URL) */
|
|
128
126
|
recipients: string[];
|
|
129
127
|
/** 發送通知的渠道 (Email, SMS, Webhook...) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../models/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../models/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AA2C/B,oBAAY,aAAa;IACvB,MAAM,WAAW,CAAU,UAAU;IACrC,MAAM,WAAW,CAAU,QAAQ;IACnC,YAAY,iBAAiB,CAAE,WAAW;IAC1C,KAAK,UAAU;CAChB;AAGD,oBAAY,SAAS;IACnB,SAAS,cAAc,CAAM,aAAa;IAC1C,OAAO,YAAY,CAAU,cAAc;IAC3C,QAAQ,aAAa,CAAQ,aAAa;IAC1C,WAAW,gBAAgB,CAAE,QAAQ;IACrC,MAAM,WAAW;CAClB;AAGD,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAOD,MAAM,WAAW,iBAAkB,SAAQ,IAAI;IAC7C,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjD,cAAc;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI;IACzC;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;OASG;IACH,QAAQ,EAAE,aAAa,CAAC;IAExB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,MAAM,CAAC;IAGjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI;IAC/C,cAAc;IACd,SAAS,EAAE,SAAS,CAAC;IAErB,iCAAiC;IAGjC,qCAAqC;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uCAAuC;IACvC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAE1B,WAAW;IACX,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../models/template.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../models/template.ts"],"names":[],"mappings":";;;AAGA,MAAM;AACN,8BAA8B;AAC9B,MAAM;AACN,gCAAgC;AAChC,iCAAiC;AACjC,kDAAkD;AAClD,KAAK;AACL,gDAAgD;AAChD,+DAA+D;AAC/D,mCAAmC;AACnC,kDAAkD;AAClD,8BAA8B;AAC9B,MAAM;AACN,iDAAiD;AACjD,QAAQ;AACR,gCAAgC;AAChC,iCAAiC;AACjC,QAAQ;AACR,qBAAqB;AAErB,QAAQ;AACR,+CAA+C;AAC/C,yCAAyC;AACzC,QAAQ;AACR,2BAA2B;AAE3B,QAAQ;AACR,4BAA4B;AAC5B,gCAAgC;AAChC,QAAQ;AACR,0BAA0B;AAE1B,QAAQ;AACR,0BAA0B;AAC1B,sCAAsC;AACtC,QAAQ;AACR,yBAAyB;AACzB,IAAI;AAGJ,QAAQ;AACR,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,8CAA6B,CAAA;IAC7B,gCAAe,CAAA;AACjB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAED,OAAO;AACP,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,oCAAuB,CAAA;IACvB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB;AAED,gBAAgB;AAChB,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B"}
|
|
@@ -14,7 +14,7 @@ exports.CameraSchema = new mongoose_1.Schema({
|
|
|
14
14
|
// resolutionHeight: { type: Number, required: false }, // 解析度高度 (px)
|
|
15
15
|
// fps: { type: Number, required: false }, // 每秒影格數 (Frames Per Second)
|
|
16
16
|
// encodingFormat: { type: String, required: false }, // 影像編碼格式
|
|
17
|
-
code: { type: String, required: true, unique: true, immutable: true }, // 攝影機代碼
|
|
17
|
+
// code: { type: String, required: true, unique: true, immutable: true }, // 攝影機代碼
|
|
18
18
|
name: { type: String, required: true }, // 攝影機名稱
|
|
19
19
|
description: { type: String, required: false }, // 描述
|
|
20
20
|
// 室外/已校正座標 (對 OSM)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-mongo.schema.js","sourceRoot":"","sources":["../../../schemas/mongo/camera-mongo.schema.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,yCAAgE;AAShE,qBAAqB;AACR,QAAA,YAAY,GAAG,IAAI,iBAAM,CAAiB;IACrD,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,gBAAgB;IACvE,wEAAwE;IACxE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAU,EAAE,EAAE,kCAAkC;IAC5F,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,sBAAsB;IAClE,yEAAyE;IACzE,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,+DAA+D;IAC/D,
|
|
1
|
+
{"version":3,"file":"camera-mongo.schema.js","sourceRoot":"","sources":["../../../schemas/mongo/camera-mongo.schema.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,yCAAgE;AAShE,qBAAqB;AACR,QAAA,YAAY,GAAG,IAAI,iBAAM,CAAiB;IACrD,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,gBAAgB;IACvE,wEAAwE;IACxE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAU,EAAE,EAAE,kCAAkC;IAC5F,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,sBAAsB;IAClE,yEAAyE;IACzE,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,+DAA+D;IAC/D,kFAAkF;IAClF,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ;IAChD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK;IAErD,mBAAmB;IACnB,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,wBAAwB;gBACxC,QAAQ,EAAE;oBACR,SAAS,EAAE,UAAU,CAAW;wBAC9B,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;oBACxB,CAAC;oBACD,OAAO,EAAE,qDAAqD;iBAC/D;aACF;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,kBAAkB;SAC3D;QACD,QAAQ,EAAE,KAAK;KAChB;IAED,0BAA0B;IAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,WAAW;IACrD,aAAa,EAAE;QACb,IAAI,EAAE;YACJ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;SACpC;QACD,QAAQ,EAAE,KAAK;KAChB;CACF,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzB,oBAAY,CAAC,OAAO,CAAC,MAAM,EAAE;IAC3B,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;CACd,CAAC,CAAA;AAGF,kBAAkB;AACL,QAAA,WAAW,GAAG,IAAA,gBAAK,EAAiB,QAAQ,EAAE,oBAAY,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-mongo.schema.d.ts","sourceRoot":"","sources":["../../../schemas/mongo/event-mongo.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAS,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"event-mongo.schema.d.ts","sourceRoot":"","sources":["../../../schemas/mongo/event-mongo.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAS,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAA4B,KAAK,EAAE,SAAS,EAAe,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAAC,GAAG;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAChD,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,QAAQ,EAAE,aAAa;IAC5D,EAAE,EAAE,MAAM,CAAC;CACZ;AAGD,eAAO,MAAM,WAAW;;;;;;;;EAesB,CAAC;AA4B/C,eAAO,MAAM,UAAU;;;;OAA6C,CAAC;AAIrE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAC3D,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,EAAE,iBAAiB;IACpE,EAAE,EAAE,MAAM,CAAC;CACZ;AAGD,eAAO,MAAM,eAAe;;;;;;;;EAMsB,CAAC;AAWnD,eAAO,MAAM,cAAc;;;;OAAyD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-mongo.schema.js","sourceRoot":"","sources":["../../../schemas/mongo/event-mongo.schema.ts"],"names":[],"mappings":";;;AACA,uCAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"event-mongo.schema.js","sourceRoot":"","sources":["../../../schemas/mongo/event-mongo.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-template-mongo.schema.d.ts","sourceRoot":"","sources":["../../../schemas/mongo/event-template-mongo.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"event-template-mongo.schema.d.ts","sourceRoot":"","sources":["../../../schemas/mongo/event-template-mongo.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAA4B,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAK1F,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAE1E,CAAC;AAEF,MAAM,WAAW,yBAA0B,SAAQ,QAAQ,EAAE,yBAAyB;IACpF,EAAE,EAAE,MAAM,CAAC;CACZ;AAGD,eAAO,MAAM,uBAAuB;;;;;;;;EAKZ,CAAC;AAKzB,eAAO,MAAM,sBAAsB;;;;OAAiF,CAAC;AAOrH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,EAElE,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,EAAE,qBAAqB;IAC5E,EAAE,EAAE,MAAM,CAAC;CACZ;AAGD,eAAO,MAAM,mBAAmB;;;;;;;;EAQR,CAAC;AAUzB,eAAO,MAAM,kBAAkB;;;;OAAqE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-template-mongo.schema.js","sourceRoot":"","sources":["../../../schemas/mongo/event-template-mongo.schema.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"event-template-mongo.schema.js","sourceRoot":"","sources":["../../../schemas/mongo/event-template-mongo.schema.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAC1D,yCAA0F;AAa1F,4BAA4B;AACf,QAAA,uBAAuB,GAAG,IAAI,iBAAM,CAA4B;IAC3E,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,gBAAgB;IACvE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO;IAC7D,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO;IAClE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO;CACpD,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAIzB,yBAAyB;AACZ,QAAA,sBAAsB,GAAG,IAAA,gBAAK,EAA4B,mBAAmB,EAAE,+BAAuB,CAAC,CAAC;AAerH,4BAA4B;AACf,QAAA,mBAAmB,GAAG,IAAI,iBAAM,CAAwB;IACnE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,gBAAgB;IACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO;IACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAa,CAAC,EAAE,EAAE,OAAO;IACvF,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAS,CAAC,EAAE,EAAE,OAAO;IAC/E,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS;IACtE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO;IACvD,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CAC3C,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzB,2BAAmB,CAAC,OAAO,CAAC,YAAY,EAAE;IACxC,GAAG,EAAE,mBAAmB,EAAU,sBAAsB;IACxD,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,MAAM;IACpB,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,yBAAyB;AACZ,QAAA,kBAAkB,GAAG,IAAA,gBAAK,EAAwB,eAAe,EAAE,2BAAmB,CAAC,CAAC"}
|