@mitreka/coreflow-types 0.0.1

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/Auth.ts ADDED
@@ -0,0 +1,61 @@
1
+ export interface AccessCompany {
2
+ id: string;
3
+ name: string;
4
+ is_active: boolean;
5
+ }
6
+
7
+ export interface AccessRole {
8
+ id: string;
9
+ name: string;
10
+ permissions: string[];
11
+ company_id: string;
12
+ is_active: boolean;
13
+ }
14
+
15
+ export interface AccessToken {
16
+ company: AccessCompany;
17
+ role: AccessRole;
18
+ user: AccessUser;
19
+ iat: number;
20
+ exp: number;
21
+ }
22
+
23
+ export interface AccessUser {
24
+ id: string;
25
+ username: string;
26
+ name: string;
27
+ email: string;
28
+ phone?: string;
29
+ }
30
+
31
+ export interface KeyPair {
32
+ private?: string;
33
+ public?: string;
34
+ }
35
+
36
+ export interface RefreshToken {
37
+ jti: string;
38
+ iat: number;
39
+ exp: number;
40
+ }
41
+
42
+ export interface RefreshTokenOptions {
43
+ role_id?: string;
44
+ }
45
+
46
+ export interface TokenExpires {
47
+ accessExpiresIn: string;
48
+ refreshExpiresIn: string;
49
+ }
50
+
51
+ export interface TokenPair {
52
+ access_token: string;
53
+ refresh_token: string;
54
+ }
55
+
56
+ export interface UserVerify {
57
+ companies: AccessCompany[];
58
+ jti: string;
59
+ roles: AccessRole[];
60
+ user: AccessUser;
61
+ }
package/Company.ts ADDED
@@ -0,0 +1,89 @@
1
+ import { type Point } from "./DB.js";
2
+
3
+ export interface City {
4
+ id: string;
5
+ name: string;
6
+ province_id: string;
7
+ created_at: Date;
8
+ created_by: string;
9
+ updated_at?: Date;
10
+ updated_by?: string;
11
+ deleted_at?: Date;
12
+ deleted_by?: string;
13
+ }
14
+
15
+ export interface Client {
16
+ id: string;
17
+ parent_id?: string;
18
+ company_id: string;
19
+ user_am_id: string; // Account Manager
20
+ name: string;
21
+ code: string;
22
+ abbrev: string; // Singkatan
23
+ coordinate: Point; // Maps
24
+ address?: string;
25
+ }
26
+
27
+ export interface Company {
28
+ id: string;
29
+ name: string;
30
+ address?: string;
31
+ country?: string;
32
+ province?: string;
33
+ city?: string;
34
+ zip_code?: string;
35
+ phone_number?: string;
36
+ email?: string;
37
+ fax?: string;
38
+ website?: string;
39
+ coordinate?: Point;
40
+ radius?: number;
41
+ created_at: Date;
42
+ created_by: string;
43
+ updated_at?: Date;
44
+ updated_by?: string;
45
+ deleted_at?: Date;
46
+ deleted_by?: string;
47
+ }
48
+
49
+ export interface Country {
50
+ id: string;
51
+ country_code: string;
52
+ name: string;
53
+ phone_code: string;
54
+ created_at: Date;
55
+ created_by: string;
56
+ updated_at: Date;
57
+ updated_by: string;
58
+ deleted_at?: Date;
59
+ deleted_by?: string;
60
+ }
61
+
62
+ export interface Industry {
63
+ id: string;
64
+ name: string;
65
+ created_at: Date;
66
+ created_by: string;
67
+ updated_at?: Date;
68
+ updated_by?: string;
69
+ deleted_at?: Date;
70
+ deleted_by?: string;
71
+ }
72
+
73
+ export interface Project {
74
+ id: string;
75
+ company_id: string;
76
+ client_id: string;
77
+ name: string;
78
+ start_date: Date;
79
+ end_date: Date;
80
+ user_pm_id: string;
81
+ pic_name: string;
82
+ pic_phone: string;
83
+ created_at: Date;
84
+ created_by: string;
85
+ updated_at?: Date;
86
+ updated_by?: string;
87
+ deleted_at?: Date;
88
+ deleted_by?: string;
89
+ }
package/CoreFlow.ts ADDED
@@ -0,0 +1,15 @@
1
+ import type { KeyPair, TokenPair } from "./Auth.js";
2
+
3
+ export interface CoreFlowConfig {
4
+ endpoints?: EndpointList;
5
+ keys?: KeyPair;
6
+ tokens?: TokenPair;
7
+ }
8
+
9
+ export interface EndpointList {
10
+ auth?: string;
11
+ company?: string;
12
+ subscription?: string;
13
+ task?: string;
14
+ user?: string;
15
+ }
package/DB.ts ADDED
@@ -0,0 +1,21 @@
1
+ export type FindOptions<T> = {
2
+ page: number;
3
+ limit: number;
4
+ search: string;
5
+ order: FindOrderOptions<T>;
6
+ where: FindWhereOptions<T>;
7
+ with?: string[];
8
+ }
9
+
10
+ export type FindOrder = "ASC" | "DESC";
11
+
12
+ export type FindOrderOptions<T> = Array<{ [K in keyof T]?: FindOrder }>;
13
+
14
+ export type FindWhereOptions<T> = {
15
+ [K in keyof T]?: T[K] | T[K][];
16
+ }
17
+
18
+ export type Point = {
19
+ x: number;
20
+ y: number;
21
+ }
package/HR.ts ADDED
File without changes
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # CoreFlow Types Definition
2
+
3
+ All required type definition files
@@ -0,0 +1,23 @@
1
+ export interface Subscriber {
2
+ id: string;
3
+ email: string;
4
+ is_validated: boolean;
5
+ created_at: Date;
6
+ created_by: string;
7
+ updated_at?: Date;
8
+ updated_by?: string;
9
+ deleted_at?: Date;
10
+ deleted_by?: string;
11
+ }
12
+
13
+ export interface Subscription {
14
+ id: string;
15
+ name: string;
16
+ price: number;
17
+ created_at: Date;
18
+ created_by: string;
19
+ deleted_at?: Date,
20
+ deleted_by?: string,
21
+ updated_at?: Date,
22
+ updated_by?: string
23
+ }
package/Task.ts ADDED
@@ -0,0 +1,254 @@
1
+ export interface Board {
2
+ id: string;
3
+ company_id: string;
4
+ workspace_id: string;
5
+ name: string;
6
+ board_type: BoardType;
7
+ order_no: number;
8
+ order_position: number;
9
+ created_at: Date;
10
+ created_by: string;
11
+ updated_at?: Date;
12
+ updated_by?: string;
13
+ deleted_at?: Date;
14
+ deleted_by?: string;
15
+ }
16
+
17
+ export enum BoardType {
18
+ Backlog, Progress, Done
19
+ }
20
+
21
+ export interface Color {
22
+ id: string;
23
+ name: string;
24
+ color_code: string;
25
+ color_order: number;
26
+ }
27
+
28
+ export interface Comment {
29
+ id: string;
30
+ parent_id: string;
31
+ task_id: string;
32
+ comment_text: string;
33
+ member_id: string;
34
+ created_at: Date;
35
+ created_by: string;
36
+ updated_at?: Date;
37
+ updated_by?: string;
38
+ deleted_at?: Date;
39
+ deleted_by?: string;
40
+ }
41
+
42
+ export interface Label {
43
+ id: string;
44
+ workspace_id: string;
45
+ color_id: string;
46
+ }
47
+
48
+ export interface Priority {
49
+ id: string;
50
+ company_id: string;
51
+ workspace_id: string;
52
+ color_id: string;
53
+ name: string;
54
+ order_position: number;
55
+ created_at: Date;
56
+ created_by: string;
57
+ updated_at?: Date;
58
+ updated_by?: string;
59
+ deleted_at?: Date;
60
+ deleted_by?: string;
61
+ }
62
+
63
+ export interface StoryPoint {
64
+ id: string;
65
+ story_point_type_id: string;
66
+ story_point_label: string;
67
+ story_point_value: number;
68
+ created_at: Date;
69
+ created_by: string;
70
+ updated_at?: Date;
71
+ updated_by?: string;
72
+ deleted_at?: Date;
73
+ deleted_by?: string;
74
+ }
75
+
76
+ export interface StoryPointType {
77
+ id: string;
78
+ name: string;
79
+ }
80
+
81
+ export interface Subtask {
82
+ id: string;
83
+ task_id: string;
84
+ subtask_group_id: string;
85
+ name: string;
86
+ is_done: boolean;
87
+ completed_at?: Date;
88
+ completed_by?: string;
89
+ created_at: Date;
90
+ created_by: string;
91
+ updated_at?: Date;
92
+ updated_by?: string;
93
+ deleted_at?: Date;
94
+ deleted_by?: string;
95
+ }
96
+
97
+ export interface SubtaskAssignee {
98
+ id: string;
99
+ subtask_id: string;
100
+ member_id: string;
101
+ created_at: Date;
102
+ created_by: string;
103
+ updated_at?: Date;
104
+ updated_by?: string;
105
+ deleted_at?: Date;
106
+ deleted_by?: string;
107
+ }
108
+
109
+ export interface SubtaskGroup {
110
+ id: string;
111
+ company_id: string;
112
+ task_id: string;
113
+ name: string;
114
+ created_at: Date;
115
+ created_by: string;
116
+ updated_at?: Date;
117
+ updated_by?: string;
118
+ deleted_at?: Date;
119
+ deleted_by?: string;
120
+ }
121
+
122
+ export interface Task {
123
+ id: string;
124
+ company_id: string;
125
+ workspace_id?: string;
126
+ board_id?: string;
127
+ priority_id?: string;
128
+ story_point_id?: string;
129
+ title: string;
130
+ description?: string;
131
+ start_end?: Date;
132
+ due_date?: Date;
133
+ is_due_date: boolean;
134
+ assignee_id?: string;
135
+ assigner_id?: string;
136
+ status_checklist?: number;
137
+ order_position?: string;
138
+ created_at: Date;
139
+ created_by: string;
140
+ updated_at?: Date;
141
+ updated_by?: string;
142
+ deleted_at?: Date;
143
+ deleted_by?: string;
144
+ }
145
+
146
+ export interface TaskActivity {
147
+ id: string;
148
+ task_id: string;
149
+ message: string;
150
+ created_at: Date;
151
+ created_by: string;
152
+ updated_at?: Date;
153
+ updated_by?: string;
154
+ deleted_at?: Date;
155
+ deleted_by?: string;
156
+ }
157
+
158
+ export interface TaskAttachment {
159
+ id: string;
160
+ task_id: string;
161
+ upload_id: string;
162
+ file_name: string;
163
+ file_type: string;
164
+ size: number;
165
+ created_at: Date;
166
+ created_by: string;
167
+ updated_at?: Date;
168
+ updated_by?: string;
169
+ deleted_at?: Date;
170
+ deleted_by?: string;
171
+ }
172
+
173
+ export interface TaskLabel {
174
+ id: string;
175
+ task_id: string;
176
+ label_id: string;
177
+ created_at: Date;
178
+ created_by: string;
179
+ updated_at?: Date;
180
+ updated_by?: string;
181
+ deleted_at?: Date;
182
+ deleted_by?: string;
183
+ }
184
+
185
+ export interface TaskMember {
186
+ id: string;
187
+ task_id: string;
188
+ member_id: string;
189
+ created_at: Date;
190
+ created_by: string;
191
+ updated_at?: Date;
192
+ updated_by?: string;
193
+ deleted_at?: Date;
194
+ deleted_by?: string;
195
+ }
196
+
197
+ export interface Workspace {
198
+ id: string;
199
+ color_id: string;
200
+ company_id: string;
201
+ title: string;
202
+ description: string;
203
+ order_position: number;
204
+ project_manager_id: string;
205
+ story_point_type_id: string;
206
+ workspace_status: WorkspaceStatus;
207
+ created_at: Date;
208
+ created_by: string;
209
+ updated_at?: Date;
210
+ updated_by?: string;
211
+ deleted_at?: Date;
212
+ deleted_by?: string;
213
+ }
214
+
215
+ export interface WorkspaceMember {
216
+ id: string;
217
+ workspace_id: string;
218
+ member_id: string;
219
+ position_id: string;
220
+ email: string;
221
+ role: string;
222
+ is_favorite: boolean;
223
+ workspace_member_status: WorkspaceMemberStatus;
224
+ created_at: Date;
225
+ created_by: string;
226
+ updated_at?: Date;
227
+ updated_by?: string;
228
+ deleted_at?: Date;
229
+ deleted_by?: string;
230
+ }
231
+
232
+ export enum WorkspaceMemberStatus {
233
+ Active = "Active",
234
+ Inactive = "Inactive"
235
+ }
236
+
237
+ export interface WorkspaceSkill {
238
+ id: string;
239
+ workspace_id: string;
240
+ skill_id: string;
241
+ created_at: Date;
242
+ created_by: string;
243
+ updated_at?: Date;
244
+ updated_by?: string;
245
+ deleted_at?: Date;
246
+ deleted_by?: string;
247
+ }
248
+
249
+ export enum WorkspaceStatus {
250
+ Active = "Active",
251
+ Closed = "Closed",
252
+ Hold = "Hold",
253
+ Planned = "Planned"
254
+ }
package/User.ts ADDED
@@ -0,0 +1,127 @@
1
+ export interface CreateUser {
2
+ company_id: string;
3
+ role_id: string;
4
+ username: string;
5
+ password: string;
6
+ name: string;
7
+ email: string;
8
+ phone?: string;
9
+ is_active: boolean;
10
+ is_loginable: boolean;
11
+ address?: string;
12
+ avatar?: string;
13
+ gender: UserGender;
14
+ birth_date?: Date;
15
+ birth_place?: string;
16
+ country?: string;
17
+ meta?: UserMeta
18
+ }
19
+
20
+ export interface Permission {
21
+ id: string;
22
+ name: string;
23
+ actions: string[];
24
+ created_at: Date;
25
+ created_by: string;
26
+ update_at: Date;
27
+ update_by: string;
28
+ deleted_at?: Date;
29
+ deleted_by?: string;
30
+ }
31
+
32
+ export interface Role {
33
+ id: string;
34
+ company_id: string;
35
+ name: string;
36
+ permission: string[];
37
+ created_at: Date;
38
+ created_by: string;
39
+ updated_at?: Date;
40
+ updated_by?: string;
41
+ deleted_at?: Date;
42
+ deleted_by?: string;
43
+ }
44
+
45
+ export interface Skill {
46
+ id: string;
47
+ company_id: string;
48
+ parent_id: string;
49
+ name: string;
50
+ created_at: Date;
51
+ created_by: string;
52
+ updated_at?: Date;
53
+ updated_by?: string;
54
+ deleted_at?: Date;
55
+ deleted_by?: string;
56
+ }
57
+
58
+ export interface User {
59
+ id: string;
60
+ username: string;
61
+ password: string;
62
+ name: string;
63
+ email: string;
64
+ phone?: string;
65
+ is_active: boolean;
66
+ is_loginable: boolean;
67
+ address?: string;
68
+ avatar?: string;
69
+ gender: UserGender;
70
+ birth_date?: Date;
71
+ birth_place?: string;
72
+ country?: string;
73
+ meta?: UserMeta
74
+ created_at: Date;
75
+ created_by: string;
76
+ updated_at?: Date;
77
+ updated_by?: string;
78
+ deleted_at?: Date;
79
+ deleted_by?: string;
80
+ }
81
+
82
+ export interface UserCompany {
83
+ id: string;
84
+ user_id: string;
85
+ company_id: string;
86
+ is_active: boolean;
87
+ load?: UserLoad;
88
+ created_at: Date;
89
+ created_by: string;
90
+ }
91
+
92
+ export type UserGender = "F" | "M";
93
+
94
+ export type UserLoad = {
95
+ status: UserLoadStatus;
96
+ task: number;
97
+ project: number;
98
+ }
99
+
100
+ export type UserLoadStatus = "High" | "Normal" | "Low";
101
+
102
+ export type UserMeta = {
103
+ token: string;
104
+ }
105
+
106
+ export interface UserRole {
107
+ id: string;
108
+ user_id: string;
109
+ role_id: string;
110
+ is_active: boolean;
111
+ created_at: Date;
112
+ created_by: string;
113
+ }
114
+
115
+ export interface UserSkill {
116
+ id: string;
117
+ user_id: string;
118
+ skill_id: string;
119
+ created_at: Date;
120
+ created_by: string;
121
+ }
122
+
123
+ export interface UserSubscription {
124
+ id: string;
125
+ user_id: string;
126
+ subscription_id: string;
127
+ }
package/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export * from "./Auth.ts";
2
+ export * from "./DB.ts";
3
+ export * from "./Company.ts";
4
+ export * from "./CoreFlow.ts";
5
+ export * from "./Subscription.ts";
6
+ export * from "./Task.ts";
7
+ export * from "./User.ts";
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@mitreka/coreflow-types",
3
+ "version": "0.0.1",
4
+ "description": "CoreFlow Types Definition",
5
+ "author": {
6
+ "name": "Riyan Widiyanto",
7
+ "email": "rw056h@gmail.com",
8
+ "url": "https://gitlab.mitrekasolusi.co.id/ridintek"
9
+ },
10
+ "contributors": [
11
+ {
12
+ "name": "Riyan Widiyanto",
13
+ "email": "rw056h@gmail.com",
14
+ "url": "https://gitlab.mitrekasolusi.co.id/ridintek"
15
+ }
16
+ ],
17
+ "keywords": [
18
+ "coreflow",
19
+ "types",
20
+ "mitreka"
21
+ ],
22
+ "license": "UNLICENSED",
23
+ "type": "module",
24
+ "main": "",
25
+ "types": "index.d.ts",
26
+ "scripts": {},
27
+ "dependencies": {},
28
+ "peerDependencies": {}
29
+ }