cyc-type-def 5.3.0 → 5.4.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/DOCUMENTATION.md +425 -0
- package/package.json +3 -2
package/DOCUMENTATION.md
ADDED
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
# Project Documentation
|
|
2
|
+
|
|
3
|
+
## 1. Project Overview
|
|
4
|
+
|
|
5
|
+
This project is a comprehensive TypeScript type definition library designed to serve as the central source of truth for data contracts, domain models, and shared utilities within the ecosystem. It defines the core structures for attendance tracking, pastoral care management, education (MSJ), finance (claims), and user management.
|
|
6
|
+
|
|
7
|
+
The library is intended to be consumed by other applications (likely frontend and backend services) to ensure type safety and consistency across the system.
|
|
8
|
+
|
|
9
|
+
## 2. Architecture & Folder Structure
|
|
10
|
+
|
|
11
|
+
The project is organized into logical domains within the `src` directory:
|
|
12
|
+
|
|
13
|
+
- **`src/classes/`**: Contains the core domain models, grouped by functional area.
|
|
14
|
+
- `attendance/`: Models related to weekly attendance tracking.
|
|
15
|
+
- `attendance-report/`: Models specific to attendance reporting views.
|
|
16
|
+
- `education/`: Models for the MSJ education system (classes, students, batches).
|
|
17
|
+
- `finance/`: Models for the claims and reimbursement system.
|
|
18
|
+
- `flw-up/`: Models for follow-up tracking.
|
|
19
|
+
- `pastoral-team/`: Core organizational structure (Sheep, CG, Cluster, Small Team).
|
|
20
|
+
- `user-management/`: Application user definitions and assignments.
|
|
21
|
+
- `*.ts` (Root): Shared base classes and generic application types (AppUser, AppPage, Base).
|
|
22
|
+
- **`src/constants/`**: Holds system-wide constants, enums, and configuration values.
|
|
23
|
+
- **`src/util/`**: Provides shared utility functions for common operations like date formatting and sorting.
|
|
24
|
+
|
|
25
|
+
## 3. Core Domain Types
|
|
26
|
+
|
|
27
|
+
### 3.1. Base Abstractions
|
|
28
|
+
|
|
29
|
+
#### `Base`
|
|
30
|
+
*File: `src/classes/Base.ts`*
|
|
31
|
+
|
|
32
|
+
The foundational interface for all persistent entities in the system.
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
export interface Base {
|
|
36
|
+
id: string; // Unique identifier
|
|
37
|
+
deleted: boolean; // Soft delete flag
|
|
38
|
+
createdAt?: number; // Timestamp of creation
|
|
39
|
+
createdBy?: string; // User ID who created the record
|
|
40
|
+
updatedAt?: number; // Timestamp of last update
|
|
41
|
+
updatedBy?: string; // User ID who last updated the record
|
|
42
|
+
remark?: string; // Optional remarks/notes
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### `Device`
|
|
47
|
+
*File: `src/classes/Device.ts`*
|
|
48
|
+
*Extends: `Base`*
|
|
49
|
+
|
|
50
|
+
Represents a user device, likely for tracking app versions or device-specific settings.
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
export interface Device extends Base {
|
|
54
|
+
version?: number; // App version number on the device
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3.2. Pastoral Team Domain
|
|
59
|
+
*Folder: `src/classes/pastoral-team/`*
|
|
60
|
+
|
|
61
|
+
This domain models the organizational hierarchy: Cluster -> Small Team (ST) -> Connect Group (CG) -> Sheep (Member).
|
|
62
|
+
|
|
63
|
+
#### `Sheep`
|
|
64
|
+
*File: `src/classes/pastoral-team/Sheep.ts`*
|
|
65
|
+
*Implements: `Base`*
|
|
66
|
+
|
|
67
|
+
Represents a member of the church. This is a central entity linked to attendance, education, and pastoral care.
|
|
68
|
+
|
|
69
|
+
**Properties:**
|
|
70
|
+
- **Pastoral Info:**
|
|
71
|
+
- `st: string`: Small Team ID.
|
|
72
|
+
- `cluster: string`: Cluster ID.
|
|
73
|
+
- `cg: string`: Connect Group ID.
|
|
74
|
+
- `status: string`: Membership status (e.g., 'OM', 'NB').
|
|
75
|
+
- `discipler?: string`: ID of the discipler.
|
|
76
|
+
- **Personal Info:**
|
|
77
|
+
- `name: string`: Full name.
|
|
78
|
+
- `age?: number`: Age.
|
|
79
|
+
- `birthday?: number`: Birthday timestamp.
|
|
80
|
+
- `isBaptised?: boolean`: Baptism status.
|
|
81
|
+
- `dtBaptism?: number`: Baptism date timestamp.
|
|
82
|
+
- `contact?: string`: Contact number.
|
|
83
|
+
- `gender?: string`: Gender.
|
|
84
|
+
- `nric?: string`: National ID.
|
|
85
|
+
- `address?: string`: Residential address.
|
|
86
|
+
- **Attendance & System:**
|
|
87
|
+
- `attCnt: number`: Attendance count (likely for statistics).
|
|
88
|
+
- `hideAtt?: boolean`: Flag to hide from attendance lists.
|
|
89
|
+
- `show: boolean`: Flag to show in MSJ progress tracker.
|
|
90
|
+
- `arrFlwUpCnt?: number[]`: Array of follow-up counts (not submitted).
|
|
91
|
+
- `msj?: Map<String, MsjStudBatch>`: Map of MSJ student batches.
|
|
92
|
+
- `msjRecords?: Map<String, MsjStudBatch[]>`: Historical MSJ records.
|
|
93
|
+
|
|
94
|
+
#### `CG` (Connect Group)
|
|
95
|
+
*File: `src/classes/pastoral-team/CG.ts`*
|
|
96
|
+
*Implements: `Base`*
|
|
97
|
+
|
|
98
|
+
Represents a Connect Group.
|
|
99
|
+
|
|
100
|
+
**Properties:**
|
|
101
|
+
- `name: string`: Group name.
|
|
102
|
+
- `st: string`: Parent Small Team ID.
|
|
103
|
+
- `cluster: string`: Parent Cluster ID.
|
|
104
|
+
- `cglCnt?: number`: Count of CGLs (Connect Group Leaders).
|
|
105
|
+
- `sglCnt?: number`: Count of SGLs (Section Group Leaders).
|
|
106
|
+
- `cglName?: string`: Name of the CGL.
|
|
107
|
+
- `rptRowIdx?: number`: Row index for attendance reports.
|
|
108
|
+
|
|
109
|
+
#### `SmallTeam`
|
|
110
|
+
*File: `src/classes/pastoral-team/SmallTeam.ts`*
|
|
111
|
+
*Implements: `Base`*
|
|
112
|
+
|
|
113
|
+
Represents a Small Team, which contains multiple CGs.
|
|
114
|
+
|
|
115
|
+
**Properties:**
|
|
116
|
+
- `name: string`: Team name.
|
|
117
|
+
- `cluster: string`: Parent Cluster ID.
|
|
118
|
+
|
|
119
|
+
#### `Cluster`
|
|
120
|
+
*File: `src/classes/pastoral-team/Cluster.ts`*
|
|
121
|
+
*Implements: `Base`*
|
|
122
|
+
|
|
123
|
+
Represents a Cluster, the highest level of the local organizational hierarchy.
|
|
124
|
+
|
|
125
|
+
**Properties:**
|
|
126
|
+
- `name: string`: Cluster name.
|
|
127
|
+
|
|
128
|
+
### 3.3. Attendance Domain
|
|
129
|
+
*Folder: `src/classes/attendance/`*
|
|
130
|
+
|
|
131
|
+
Models for tracking weekly service and CG attendance.
|
|
132
|
+
|
|
133
|
+
#### `Attendance`
|
|
134
|
+
*File: `src/classes/attendance/Attendance.ts`*
|
|
135
|
+
*Extends: `Title`*
|
|
136
|
+
|
|
137
|
+
Represents the attendance record for a specific week (Title) within a specific context (CG, Small Team, Cluster).
|
|
138
|
+
|
|
139
|
+
**Properties:**
|
|
140
|
+
- `idTitle: string`: Reference to the Title (week).
|
|
141
|
+
- `idCg: string`: ID of the CG.
|
|
142
|
+
- `idSt: string`: ID of the Small Team.
|
|
143
|
+
- `idCluster: string`: ID of the Cluster.
|
|
144
|
+
- `timestamp: number`: Submission timestamp.
|
|
145
|
+
- `timeTaken?: number`: Time taken to fill attendance (seconds).
|
|
146
|
+
- `arrSessionAttendance: SessionAttendance[]`: Detailed attendance per session.
|
|
147
|
+
|
|
148
|
+
**Key Methods:**
|
|
149
|
+
- `setSessionAttendance(arrSession: Session[])`: Initializes or updates session attendance records, preserving existing data where possible.
|
|
150
|
+
- `deepCopySessionAttendance(...)`: Creates a deep copy of session attendance arrays.
|
|
151
|
+
- `clearArrAttSheep(...)`: Filters out sheep that don't belong to the specified CG.
|
|
152
|
+
|
|
153
|
+
#### `SessionAttendance`
|
|
154
|
+
*File: `src/classes/attendance/SessionAttendance.ts`*
|
|
155
|
+
*Extends: `Session`*
|
|
156
|
+
|
|
157
|
+
Stores attendance data for a specific session (e.g., "Service", "CG Meeting").
|
|
158
|
+
|
|
159
|
+
**Properties:**
|
|
160
|
+
- `arrSheep: AttSheep[]`: List of members and their attendance status.
|
|
161
|
+
- `input: string`: Search input filter.
|
|
162
|
+
- `sky: DisplayAttendance`: Aggregated stats for "Sky" method.
|
|
163
|
+
- `ground: DisplayAttendance`: Aggregated stats for "Ground" method.
|
|
164
|
+
- `total: DisplayAttendance`: Total aggregated stats.
|
|
165
|
+
- `cntAbs: number`: Count of absentees.
|
|
166
|
+
- `desAbs: string`: Description/Names of absentees.
|
|
167
|
+
|
|
168
|
+
**Key Methods:**
|
|
169
|
+
- `sortedArrAttSheep()`: Returns `arrSheep` sorted by attendance status and name.
|
|
170
|
+
- `calc()`: Calculates all statistics (sky, ground, total) and descriptions.
|
|
171
|
+
- `getCnt(status, attType)`: Helper to count sheep by status and method.
|
|
172
|
+
|
|
173
|
+
#### `AttSheep`
|
|
174
|
+
*File: `src/classes/attendance/SessionAttendance.ts`*
|
|
175
|
+
|
|
176
|
+
Represents a single member's attendance status within a session.
|
|
177
|
+
|
|
178
|
+
**Properties:**
|
|
179
|
+
- `idSheep: string`: ID of the sheep.
|
|
180
|
+
- `name: string`: Name of the sheep.
|
|
181
|
+
- `status: string`: Membership status.
|
|
182
|
+
- `attended: boolean`: Whether they attended.
|
|
183
|
+
- `absReason: string`: Reason for absence.
|
|
184
|
+
- `method: string`: Attendance method (Sky/Ground).
|
|
185
|
+
|
|
186
|
+
#### `Title`
|
|
187
|
+
*File: `src/classes/attendance/Title.ts`*
|
|
188
|
+
*Extends: `Base`*
|
|
189
|
+
|
|
190
|
+
Represents a Week or Event Title (e.g., "Week 1", "Special Service").
|
|
191
|
+
|
|
192
|
+
**Properties:**
|
|
193
|
+
- `startDt: number`: Start timestamp.
|
|
194
|
+
- `endDt: number`: End timestamp.
|
|
195
|
+
- `code: string`: Unique code for the title.
|
|
196
|
+
- `arrSession: Session[]`: Defined sessions for this title.
|
|
197
|
+
|
|
198
|
+
#### `Session`
|
|
199
|
+
*File: `src/classes/attendance/Session.ts`*
|
|
200
|
+
*Extends: `Base`*
|
|
201
|
+
|
|
202
|
+
Definition of a session type.
|
|
203
|
+
|
|
204
|
+
**Properties:**
|
|
205
|
+
- `code: string`: Session code.
|
|
206
|
+
- `desc: string`: Description.
|
|
207
|
+
- `seq: number`: Sequence number.
|
|
208
|
+
- `type: string`: Session type.
|
|
209
|
+
- `needAbsReason: boolean`: Whether absence reason is required.
|
|
210
|
+
|
|
211
|
+
#### `DisplayAttendance`
|
|
212
|
+
*File: `src/classes/attendance/SessionAttendance.ts`*
|
|
213
|
+
|
|
214
|
+
Aggregated attendance statistics class.
|
|
215
|
+
|
|
216
|
+
**Properties:**
|
|
217
|
+
- `cntOM`, `cntNB`, `cntAC`, `cntNF`, `cntRNF`: Counts for each status.
|
|
218
|
+
- `desOM`, `desNB`, ...: Comma-separated names for each status.
|
|
219
|
+
- `total`: Sum of all counts.
|
|
220
|
+
|
|
221
|
+
### 3.4. Education (MSJ) Domain
|
|
222
|
+
*Folder: `src/classes/education/`*
|
|
223
|
+
|
|
224
|
+
Models for the "My Sheep Journey" (MSJ) education system.
|
|
225
|
+
|
|
226
|
+
#### `MsjClassType`
|
|
227
|
+
*File: `src/classes/education/MsjClassType.ts`*
|
|
228
|
+
*Extends: `Base`*
|
|
229
|
+
|
|
230
|
+
Defines a type of class (e.g., "Beginner Class").
|
|
231
|
+
|
|
232
|
+
**Properties:**
|
|
233
|
+
- `title: string`: Class title.
|
|
234
|
+
- `seq?: number`: Sequence.
|
|
235
|
+
- `defaultMinAtt?: number`: Default minimum attendance required.
|
|
236
|
+
- `labelEn`, `labelZh`: localized labels.
|
|
237
|
+
|
|
238
|
+
#### `MsjClassBatch`
|
|
239
|
+
*File: `src/classes/education/MsjClassBatch.ts`*
|
|
240
|
+
*Extends: `Base`*
|
|
241
|
+
|
|
242
|
+
Represents a specific intake or batch of a class type.
|
|
243
|
+
|
|
244
|
+
**Properties:**
|
|
245
|
+
- `idMsjClassType: string`: Reference to Class Type.
|
|
246
|
+
- `yearTimestamp`, `monthTimestamp`: Timing info.
|
|
247
|
+
- `numOfClass: number`: Total number of lessons.
|
|
248
|
+
- `minAtt?: number`: Minimum attendance required to pass.
|
|
249
|
+
- `sheetName?: string`: Related Google Sheet name (implied).
|
|
250
|
+
|
|
251
|
+
#### `MsjStudBatch`
|
|
252
|
+
*File: `src/classes/education/MsjStudBatch.ts`*
|
|
253
|
+
*Extends: `Base`*
|
|
254
|
+
|
|
255
|
+
Link between a Student (Sheep) and a Class Batch.
|
|
256
|
+
|
|
257
|
+
**Properties:**
|
|
258
|
+
- `idSheep: string`: Student ID.
|
|
259
|
+
- `idBatch: string`: Batch ID.
|
|
260
|
+
- `completed?: boolean`: Completion status.
|
|
261
|
+
- `proceed?: boolean`: Whether they can proceed to next level.
|
|
262
|
+
- `attendance?: MsjStudClass[]`: Attendance records for lessons.
|
|
263
|
+
- `status?: string`: Enrollment status.
|
|
264
|
+
- `joinStatus?: string`: e.g., First Timer, Companion.
|
|
265
|
+
- `regUuid?: string`: Registration UUID.
|
|
266
|
+
|
|
267
|
+
#### `MsjStudClass`
|
|
268
|
+
*File: `src/classes/education/MsjStudClass.ts`*
|
|
269
|
+
|
|
270
|
+
Attendance record for a single lesson within a batch for a student.
|
|
271
|
+
|
|
272
|
+
**Properties:**
|
|
273
|
+
- `idClass?: string`: Class ID.
|
|
274
|
+
- `attended: boolean`: Presence.
|
|
275
|
+
- `classNo: number`: Lesson number.
|
|
276
|
+
- `replaced?: boolean`: If make-up class.
|
|
277
|
+
- `absReason?: string`: Absence reason.
|
|
278
|
+
- `markBy?: string`: User ID who marked attendance.
|
|
279
|
+
- `markAt?: number`: Timestamp.
|
|
280
|
+
|
|
281
|
+
### 3.5. Finance Domain
|
|
282
|
+
*Folder: `src/classes/finance/`*
|
|
283
|
+
|
|
284
|
+
#### `Claim`
|
|
285
|
+
*File: `src/classes/finance/Claim.ts`*
|
|
286
|
+
*Extends: `Base`*
|
|
287
|
+
|
|
288
|
+
Represents a financial claim/reimbursement request.
|
|
289
|
+
|
|
290
|
+
**Properties:**
|
|
291
|
+
- `type: ClaimType`: Type of claim (Birthday, Refreshment, etc.).
|
|
292
|
+
- `cgs: string[]`: List of involved CG IDs.
|
|
293
|
+
- `amount?: number`: Claim amount.
|
|
294
|
+
- `payableSheepId: string`: ID of person to be reimbursed.
|
|
295
|
+
- `payableName: string`: Name of person to be reimbursed.
|
|
296
|
+
- `bankAcc`, `bankName`, `bankHolder`: Bank details.
|
|
297
|
+
- `receiptUrl?: string[]`: URLs of receipt images.
|
|
298
|
+
- `status: string`: Current status (Pending, Submitted, etc.).
|
|
299
|
+
- `receiptCollected: boolean`: Admin verification flag.
|
|
300
|
+
- `distributed: boolean`: Payment distribution flag.
|
|
301
|
+
|
|
302
|
+
### 3.6. User Management
|
|
303
|
+
*Folder: `src/classes/user-management/`* & *`src/classes/AppUser.ts`*
|
|
304
|
+
|
|
305
|
+
#### `AppUser`
|
|
306
|
+
*File: `src/classes/AppUser.ts`*
|
|
307
|
+
|
|
308
|
+
Represents a logged-in user of the application.
|
|
309
|
+
|
|
310
|
+
**Properties:**
|
|
311
|
+
- `id: string`: User ID.
|
|
312
|
+
- `name: string`: Display name.
|
|
313
|
+
- `phoneNum: string`: Login identifier.
|
|
314
|
+
- `permission: string`: Role/Permission level (e.g., 'Super user', 'CGL').
|
|
315
|
+
- `pastoral_team?: PastoralTeam`: Context (CG, Cluster, ST) for the user.
|
|
316
|
+
- `permissions?: string[]`: Granular permissions.
|
|
317
|
+
- `assigned_cg?: AssignedCG[]`: Specific CGs assigned to this user.
|
|
318
|
+
- `idSheep?: string`: Link to the Sheep profile of this user.
|
|
319
|
+
|
|
320
|
+
#### `AppPage`
|
|
321
|
+
*File: `src/classes/AppPage.ts`*
|
|
322
|
+
|
|
323
|
+
Configuration for navigation items/pages.
|
|
324
|
+
|
|
325
|
+
**Properties:**
|
|
326
|
+
- `title`, `url`, `icon`: Display and routing info.
|
|
327
|
+
- `canAccess`: Boolean flag.
|
|
328
|
+
- `permissions`: Array of roles allowed to access.
|
|
329
|
+
- `isSecure`: Whether login is required.
|
|
330
|
+
|
|
331
|
+
## 4. Utility Types & Functions
|
|
332
|
+
|
|
333
|
+
### `common.util.ts`
|
|
334
|
+
- `cgNum(cgName: string): number`: Extracts the numeric part of a CG name (e.g., "CG10" -> 10).
|
|
335
|
+
|
|
336
|
+
### `date.util.ts`
|
|
337
|
+
- `formatDateDDMMYY(date: Date)`: Formats date as "YYMMDD".
|
|
338
|
+
- `parseYYMMDD(str: string)`: Parses "YYMMDD" into a Date object.
|
|
339
|
+
- `isDateInRangeIgnoreYear(d, start, end)`: Checks if a date falls within a range, ignoring the year (useful for recurring annual events/cycles).
|
|
340
|
+
- `getAge(timestamp)`: Calculates age.
|
|
341
|
+
- `getDayMonthSortKey(timestamp)`: Generates a sortable key based on month and day.
|
|
342
|
+
|
|
343
|
+
### `sort.util.ts`
|
|
344
|
+
- `compareCG(a: CG, b: CG)`: Comparator function to sort CG objects numerically by name.
|
|
345
|
+
|
|
346
|
+
## 5. Constants & Enums
|
|
347
|
+
|
|
348
|
+
### `src/constants/status.constant.ts`
|
|
349
|
+
- `LIST_STATUS`: `['OM', 'NB', 'AC', 'NF', 'RNF']` - Defines the standard membership statuses.
|
|
350
|
+
|
|
351
|
+
### `src/constants/claim.constant.ts`
|
|
352
|
+
- `ClaimType`: Enum for `BIRTHDAY`, `REFRESHMENT`, `OUTREACH`, `VENUE`.
|
|
353
|
+
- `ClaimStatus`: Enum for `PENDING`, `RECEIPT_COLLECTED`, `SUBMITTED`, `DISTRIBUTED`.
|
|
354
|
+
|
|
355
|
+
### `src/constants/method.constant.ts`
|
|
356
|
+
- `METHOD`: Constants for attendance methods: `SKY` ('S'), `GROUND` ('G'), `TOTAL` ('T').
|
|
357
|
+
|
|
358
|
+
### `src/constants/msj.constant.ts`
|
|
359
|
+
- `MsjJoinStatus`: Enum for `FIRST_TIMER`, `COMPANION`, `REFRESH`.
|
|
360
|
+
- `MsjJoinStatusInfo`: Metadata (labels) for join statuses.
|
|
361
|
+
|
|
362
|
+
### `src/constants/permission.constant.ts`
|
|
363
|
+
- `PERMISSION`: Constants for roles: `SUPER_USER`, `TL`, `SCGL`, `CGL`, `FL`, `WM`, `PASTORAL_ADMIN`, `ST_ADMIN`.
|
|
364
|
+
|
|
365
|
+
### `src/constants/click.constant.ts`
|
|
366
|
+
- `ClickAction`: Enum for tracking user actions (Page visits, Function usage).
|
|
367
|
+
|
|
368
|
+
### `src/constants/dialog.constant.ts`
|
|
369
|
+
- `DialogAction`: Enum for `EDIT`, `ADD`.
|
|
370
|
+
|
|
371
|
+
## 6. Cross-Module Relationships
|
|
372
|
+
|
|
373
|
+
1. **Attendance <-> Pastoral Team**:
|
|
374
|
+
- `Attendance` records are linked to `CG`, `SmallTeam`, and `Cluster` via IDs.
|
|
375
|
+
- `SessionAttendance` contains `AttSheep` objects, which are lightweight representations of `Sheep` specifically for attendance.
|
|
376
|
+
- `Attendance.clearArrAttSheep` filters sheep based on the `CG` structure.
|
|
377
|
+
|
|
378
|
+
2. **Education <-> Pastoral Team**:
|
|
379
|
+
- `MsjStudBatch` links a `Sheep` (student) to a `MsjClassBatch` (course).
|
|
380
|
+
- `MsjClassBatch` is defined by a `MsjClassType`.
|
|
381
|
+
|
|
382
|
+
3. **Finance <-> Pastoral Team**:
|
|
383
|
+
- `Claim` is linked to multiple `CG`s (`cgs: string[]`).
|
|
384
|
+
- `Claim` is linked to a `Sheep` (`payableSheepId`) who made the payment.
|
|
385
|
+
|
|
386
|
+
4. **User Management <-> Pastoral Team**:
|
|
387
|
+
- `AppUser` can be linked to a `Sheep` profile (`idSheep`).
|
|
388
|
+
- `AppUser` has a `PastoralTeam` context (CG/ST/Cluster) defining their scope of authority.
|
|
389
|
+
|
|
390
|
+
## 7. Type Dependency Map
|
|
391
|
+
|
|
392
|
+
```mermaid
|
|
393
|
+
graph TD
|
|
394
|
+
Base --> Sheep
|
|
395
|
+
Base --> CG
|
|
396
|
+
Base --> Cluster
|
|
397
|
+
Base --> SmallTeam
|
|
398
|
+
Base --> Claim
|
|
399
|
+
Base --> MsjClassBatch
|
|
400
|
+
Base --> MsjClassType
|
|
401
|
+
Base --> MsjStudBatch
|
|
402
|
+
Base --> Session
|
|
403
|
+
Base --> Title
|
|
404
|
+
Base --> Device
|
|
405
|
+
|
|
406
|
+
Sheep --> AttSheep
|
|
407
|
+
Sheep --> ReportSheep
|
|
408
|
+
Sheep --> MsjStudBatch
|
|
409
|
+
|
|
410
|
+
Attendance -- extends --> Title
|
|
411
|
+
Attendance -- contains --> SessionAttendance
|
|
412
|
+
SessionAttendance -- extends --> Session
|
|
413
|
+
SessionAttendance -- contains --> AttSheep
|
|
414
|
+
SessionAttendance -- contains --> DisplayAttendance
|
|
415
|
+
|
|
416
|
+
Claim -- uses --> ClaimType
|
|
417
|
+
Claim -- uses --> DisplayAttendance
|
|
418
|
+
|
|
419
|
+
MsjClassBatch -- references --> MsjClassType
|
|
420
|
+
MsjStudBatch -- references --> MsjClassBatch
|
|
421
|
+
MsjStudBatch -- contains --> MsjStudClass
|
|
422
|
+
|
|
423
|
+
AppUser -- references --> AssignedCG
|
|
424
|
+
AppUser -- references --> PastoralTeam
|
|
425
|
+
```
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cyc-type-def",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
|
-
"dist"
|
|
8
|
+
"dist",
|
|
9
|
+
"DOCUMENTATION.md"
|
|
9
10
|
],
|
|
10
11
|
"scripts": {
|
|
11
12
|
"build": "tsup src/index.ts --format cjs,esm --dts",
|