@metad/contracts 0.0.1 → 3.6.0-beta.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.
Files changed (204) hide show
  1. package/.babelrc +5 -0
  2. package/.eslintrc.json +18 -0
  3. package/README.md +3 -1
  4. package/babel.config.json +1 -0
  5. package/jest.config.ts +16 -0
  6. package/package.json +5 -5
  7. package/project.json +46 -0
  8. package/src/agent/ai-model.ts +9 -0
  9. package/src/agent/graph.ts +272 -0
  10. package/src/agent/index.ts +5 -0
  11. package/src/agent/token.ts +23 -0
  12. package/src/agent/utils.spec.ts +283 -0
  13. package/src/agent/utils.ts +122 -0
  14. package/src/agent/variables.ts +21 -0
  15. package/src/ai/ai-model.model.ts +228 -0
  16. package/src/ai/ai-provider.model.ts +53 -0
  17. package/src/ai/ai.model.ts +87 -0
  18. package/src/ai/chat-message-feedback.model.ts +31 -0
  19. package/src/ai/chat-message.model.ts +277 -0
  20. package/src/ai/chat.model.ts +207 -0
  21. package/src/ai/copilot-checkpoint.model.ts +25 -0
  22. package/src/ai/copilot-example.model.ts +23 -0
  23. package/src/ai/copilot-model.model.ts +31 -0
  24. package/src/ai/copilot-organization.model.ts +21 -0
  25. package/src/ai/copilot-provider.model.ts +46 -0
  26. package/src/ai/copilot-role.model.ts +48 -0
  27. package/src/ai/copilot-store.model.ts +34 -0
  28. package/src/ai/copilot-user.model.ts +24 -0
  29. package/src/ai/copilot.model.ts +47 -0
  30. package/src/ai/environment.model.ts +18 -0
  31. package/src/ai/feature.model.ts +6 -0
  32. package/src/ai/index.ts +37 -0
  33. package/src/ai/knowledge-doc-page.model.ts +20 -0
  34. package/src/ai/knowledge-doc.model.ts +217 -0
  35. package/src/ai/knowledge-pipeline.ts +106 -0
  36. package/src/ai/knowledge-retrieval-log.model.ts +19 -0
  37. package/src/ai/knowledgebase-task.model.ts +42 -0
  38. package/src/ai/knowledgebase.model.ts +173 -0
  39. package/src/ai/rag-web.ts +54 -0
  40. package/src/ai/rag.ts +24 -0
  41. package/src/ai/role-permissions.ts +13 -0
  42. package/src/ai/types.ts +83 -0
  43. package/src/ai/xpert-agent-execution.model.ts +115 -0
  44. package/src/ai/xpert-agent.model.ts +258 -0
  45. package/src/ai/xpert-project.model.ts +103 -0
  46. package/src/ai/xpert-task.model.ts +32 -0
  47. package/src/ai/xpert-template.model.ts +53 -0
  48. package/src/ai/xpert-tool-mcp.model.ts +72 -0
  49. package/src/ai/xpert-tool.model.ts +211 -0
  50. package/src/ai/xpert-toolset.model.ts +220 -0
  51. package/src/ai/xpert-workflow-task.prompt.ts +71 -0
  52. package/src/ai/xpert-workflow.model.ts +449 -0
  53. package/src/ai/xpert-workspace.model.ts +42 -0
  54. package/src/ai/xpert.model.ts +781 -0
  55. package/src/analytics/ai.ts +79 -0
  56. package/src/analytics/approval-policy.model.ts +40 -0
  57. package/src/analytics/business-area-user.model.ts +43 -0
  58. package/src/analytics/business-area.ts +20 -0
  59. package/src/analytics/certification.model.ts +12 -0
  60. package/src/analytics/chatbi-conversation.model.ts +16 -0
  61. package/src/analytics/chatbi-model.model.ts +22 -0
  62. package/src/analytics/collection.model.ts +8 -0
  63. package/src/analytics/comment.model.ts +14 -0
  64. package/src/analytics/data-source-type.ts +19 -0
  65. package/src/analytics/data-source.ts +72 -0
  66. package/src/analytics/favorite.ts +18 -0
  67. package/src/analytics/features.ts +19 -0
  68. package/src/analytics/feed-model.ts +15 -0
  69. package/src/analytics/gateway.ts +30 -0
  70. package/src/analytics/index.ts +39 -0
  71. package/src/analytics/indicator-app.ts +49 -0
  72. package/{analytics/indicator-market.d.ts → src/analytics/indicator-market.ts} +8 -4
  73. package/src/analytics/indicator.ts +127 -0
  74. package/src/analytics/model-query-log.model.ts +45 -0
  75. package/src/analytics/model-query.ts +22 -0
  76. package/{analytics/notification-destination.d.ts → src/analytics/notification-destination.ts} +14 -10
  77. package/src/analytics/permission-approval-user.model.ts +12 -0
  78. package/src/analytics/permission-approval.model.ts +58 -0
  79. package/src/analytics/project.model.ts +56 -0
  80. package/src/analytics/role-permissions.ts +36 -0
  81. package/src/analytics/schema.ts +300 -0
  82. package/src/analytics/screenshot.model.ts +28 -0
  83. package/src/analytics/semantic-model-entity.ts +49 -0
  84. package/src/analytics/semantic-model-member.ts +45 -0
  85. package/src/analytics/semantic-model.ts +227 -0
  86. package/{analytics/story-point.d.ts → src/analytics/story-point.ts} +16 -10
  87. package/src/analytics/story-template.model.ts +34 -0
  88. package/src/analytics/story-widget.ts +15 -0
  89. package/src/analytics/story.ts +109 -0
  90. package/src/analytics/subscription.ts +43 -0
  91. package/src/analytics/visit.model.ts +39 -0
  92. package/src/analytics/webSocket.ts +53 -0
  93. package/src/api-key.model.ts +11 -0
  94. package/src/base-entity.model.ts +33 -0
  95. package/src/contact.model.ts +45 -0
  96. package/src/core.model.ts +103 -0
  97. package/{country.model.d.ts → src/country.model.ts} +6 -5
  98. package/src/currency.model.ts +582 -0
  99. package/src/custom-smtp.model.ts +27 -0
  100. package/src/date-picker.model.ts +5 -0
  101. package/src/email-template.model.ts +50 -0
  102. package/src/email.model.ts +46 -0
  103. package/src/employee.model.ts +199 -0
  104. package/src/entity-with-members.model.ts +16 -0
  105. package/src/feature.model.ts +108 -0
  106. package/src/file-provider.ts +37 -0
  107. package/src/help-center-article.model.ts +35 -0
  108. package/src/help-center.model.ts +33 -0
  109. package/src/http-status.enum.ts +58 -0
  110. package/src/import-export.model.ts +42 -0
  111. package/src/index.ts +60 -0
  112. package/src/integration/dify.ts +31 -0
  113. package/src/integration/dingtalk.ts +16 -0
  114. package/src/integration/fastgpt.ts +32 -0
  115. package/src/integration/firecrawl.ts +46 -0
  116. package/src/integration/github.ts +149 -0
  117. package/src/integration/index.ts +19 -0
  118. package/src/integration/lark.ts +79 -0
  119. package/src/integration/ragflow.ts +32 -0
  120. package/src/integration/wecom.ts +16 -0
  121. package/src/integration.model.ts +118 -0
  122. package/src/invite.model.ts +144 -0
  123. package/src/language.model.ts +22 -0
  124. package/src/organization-contact.model.ts +84 -0
  125. package/src/organization-department.model.ts +26 -0
  126. package/src/organization-language.model.ts +24 -0
  127. package/src/organization-projects.model.ts +99 -0
  128. package/src/organization-team-employee-model.ts +14 -0
  129. package/src/organization-team-model.ts +25 -0
  130. package/src/organization.model.ts +266 -0
  131. package/src/password-reset.model.ts +24 -0
  132. package/src/plain-object.model.ts +13 -0
  133. package/src/plugin.ts +15 -0
  134. package/src/role-permission.model.ts +123 -0
  135. package/src/role.model.ts +31 -0
  136. package/src/schedule.ts +71 -0
  137. package/src/secret-token.model.ts +15 -0
  138. package/src/seed.model.ts +50 -0
  139. package/src/storage-file.model.ts +46 -0
  140. package/src/tag-entity.model.ts +23 -0
  141. package/src/tenant.model.ts +52 -0
  142. package/src/tools/index.ts +1 -0
  143. package/src/tools/sandbox.ts +5 -0
  144. package/src/translation.model.ts +37 -0
  145. package/src/types.ts +276 -0
  146. package/src/user-organization.model.ts +31 -0
  147. package/src/user.model.ts +147 -0
  148. package/src/visibility.model.ts +6 -0
  149. package/tsconfig.json +22 -0
  150. package/tsconfig.lib.json +10 -0
  151. package/tsconfig.spec.json +9 -0
  152. package/analytics/business-area-user.model.d.ts +0 -29
  153. package/analytics/business-area.d.ts +0 -16
  154. package/analytics/business-group.d.ts +0 -12
  155. package/analytics/data-source-type.d.ts +0 -12
  156. package/analytics/data-source.d.ts +0 -43
  157. package/analytics/favorite.d.ts +0 -14
  158. package/analytics/features.d.ts +0 -19
  159. package/analytics/feed-model.d.ts +0 -13
  160. package/analytics/index.d.ts +0 -20
  161. package/analytics/indicator.d.ts +0 -31
  162. package/analytics/insight-model.d.ts +0 -14
  163. package/analytics/model-query.d.ts +0 -12
  164. package/analytics/role-permissions.d.ts +0 -19
  165. package/analytics/semantic-model.d.ts +0 -42
  166. package/analytics/story-widget.d.ts +0 -11
  167. package/analytics/story.d.ts +0 -18
  168. package/analytics/subscription.d.ts +0 -38
  169. package/analytics/user-business-group.model.d.ts +0 -29
  170. package/analytics/visit.model.d.ts +0 -27
  171. package/analytics/webSocket.d.ts +0 -40
  172. package/base-entity.model.d.ts +0 -21
  173. package/contact.model.d.ts +0 -41
  174. package/core.model.d.ts +0 -25
  175. package/currency.model.d.ts +0 -579
  176. package/email-template.model.d.ts +0 -47
  177. package/email.model.d.ts +0 -36
  178. package/employee.model.d.ts +0 -128
  179. package/entity-with-members.model.d.ts +0 -13
  180. package/feature.model.d.ts +0 -134
  181. package/file-provider.d.ts +0 -31
  182. package/help-center-article.model.d.ts +0 -27
  183. package/help-center.model.d.ts +0 -28
  184. package/http-status.enum.d.ts +0 -57
  185. package/import-export.model.d.ts +0 -36
  186. package/index.cjs +0 -1283
  187. package/index.d.ts +0 -33
  188. package/index.js +0 -1272
  189. package/language.model.d.ts +0 -19
  190. package/organization-contact.model.d.ts +0 -73
  191. package/organization-department.model.d.ts +0 -20
  192. package/organization-language.model.d.ts +0 -18
  193. package/organization-team-employee-model.d.ts +0 -12
  194. package/organization-team-model.d.ts +0 -19
  195. package/organization.model.d.ts +0 -227
  196. package/role-permission.model.d.ts +0 -63
  197. package/role.model.d.ts +0 -21
  198. package/seed.model.d.ts +0 -38
  199. package/tag-entity.model.d.ts +0 -10
  200. package/tenant.model.d.ts +0 -24
  201. package/translation.model.d.ts +0 -20
  202. package/user-organization.model.d.ts +0 -24
  203. package/user.model.d.ts +0 -117
  204. package/visibility.model.d.ts +0 -5
@@ -0,0 +1,27 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-interface */
2
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
3
+
4
+ export interface ICustomSmtp extends IBasePerTenantAndOrganizationEntityModel {
5
+ host: string;
6
+ port: number;
7
+ secure: boolean;
8
+ username: string;
9
+ password: string;
10
+ isValidate?: boolean;
11
+ fromAddress?: string;
12
+ }
13
+
14
+ export interface ICustomSmtpFindInput extends IBasePerTenantAndOrganizationEntityModel {
15
+ id?: string;
16
+ }
17
+
18
+ export interface ICustomSmtpCreateInput extends ICustomSmtp { }
19
+
20
+ export interface IVerifySMTPTransport extends Omit<ICustomSmtpCreateInput, 'isValidate'> { }
21
+
22
+ export interface ICustomSmtpUpdateInput extends ICustomSmtpCreateInput { }
23
+
24
+ export enum SMTPSecureEnum {
25
+ TRUE = 'True',
26
+ FALSE = 'False'
27
+ }
@@ -0,0 +1,5 @@
1
+ export interface IDateRangePicker {
2
+ startDate: Date;
3
+ endDate: Date;
4
+ isCustomDate?: boolean;
5
+ }
@@ -0,0 +1,50 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
+ import { LanguagesEnum } from './user.model';
3
+
4
+ export interface IEmailTemplate
5
+ extends IBasePerTenantAndOrganizationEntityModel {
6
+ name: string;
7
+ mjml: string;
8
+ hbs: string;
9
+ languageCode: string;
10
+ title?: string;
11
+ }
12
+
13
+ export interface IEmailTemplateFindInput
14
+ extends IBasePerTenantAndOrganizationEntityModel {
15
+ name?: string;
16
+ languageCode?: string;
17
+ }
18
+
19
+ export enum EmailTemplateNameEnum {
20
+ PASSWORD_RESET = 'password',
21
+ WELCOME_USER = 'welcome-user',
22
+ INVITE_USER = 'invite-user',
23
+ EMAIL_VERIFICATION = 'email-verification'
24
+ }
25
+
26
+ export enum EmailTemplateEnum {
27
+ PASSWORD_RESET = 'password',
28
+ MULTI_TENANT_PASSWORD_RESET = 'multi-tenant-password',
29
+ PASSWORD_LESS_AUTHENTICATION = 'password-less-authentication',
30
+ WELCOME_USER = 'welcome-user',
31
+ EMAIL_VERIFICATION = 'email-verification',
32
+ INVITE_USER = 'invite-user',
33
+ }
34
+
35
+ export interface ICustomizeEmailTemplateFindInput
36
+ extends IBasePerTenantAndOrganizationEntityModel {
37
+ name: EmailTemplateNameEnum;
38
+ languageCode: LanguagesEnum;
39
+ }
40
+
41
+ export interface ICustomizableEmailTemplate {
42
+ template: string;
43
+ subject: string;
44
+ }
45
+
46
+ export interface IEmailTemplateSaveInput
47
+ extends ICustomizeEmailTemplateFindInput {
48
+ mjml: string;
49
+ subject: string;
50
+ }
@@ -0,0 +1,46 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
+ import {
3
+ IEmailTemplate,
4
+ IEmailTemplateFindInput
5
+ } from './email-template.model';
6
+ import { IUser } from './user.model';
7
+
8
+ export interface IEmail
9
+ extends IBasePerTenantAndOrganizationEntityModel {
10
+ name: string;
11
+ content: string;
12
+ email: string;
13
+ isArchived?: boolean;
14
+ user?: IUser;
15
+ userId?: string;
16
+ emailTemplate: IEmailTemplate;
17
+ emailTemplateId: string;
18
+ }
19
+
20
+ export interface IEmailUpdateInput
21
+ extends IBasePerTenantAndOrganizationEntityModel {
22
+ name?: string;
23
+ content?: string;
24
+ email?: string;
25
+ emailTemplate?: IEmailTemplate;
26
+ emailTemplateId?: string;
27
+ user?: IUser;
28
+ userId?: string;
29
+ isArchived?: boolean;
30
+ }
31
+
32
+ export interface IEmailFindInput
33
+ extends IBasePerTenantAndOrganizationEntityModel {
34
+ emailTemplate?: IEmailTemplateFindInput;
35
+ emailTemplateId?: string;
36
+ user?: IUser;
37
+ userId?: string;
38
+ email?: string;
39
+ isArchived?: boolean;
40
+ }
41
+
42
+ export interface DisplayEmail {
43
+ from: string;
44
+ to: string;
45
+ date: string;
46
+ }
@@ -0,0 +1,199 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
+ import { IContact } from './contact.model';
3
+ // import { IEmployeeJobsStatistics } from './employee-job.model';
4
+ // import { IOrganizationDepartment } from './organization-department.model';
5
+ // import { IOrganizationEmploymentType } from './organization-employment-type.model';
6
+ import { CrudActionEnum, IOrganizationFindInput } from './organization.model';
7
+ // import { IOrganizationPosition } from './organization-positions.model';
8
+ import { IOrganizationTeam } from './organization-team-model';
9
+ // import { IRequestApprovalEmployee } from './request-approval-employee.model';
10
+ // import { ISkill } from './skill-entity.model';
11
+ import { ITag } from './tag-entity.model';
12
+ import { IUser, IUserFindInput } from './user.model';
13
+ // import { IOrganizationContact } from './organization-contact.model';
14
+ // import { IOrganizationProject } from './organization-projects.model';
15
+ // import { IEmployeeSetting } from './employee-settings.model';
16
+ // import { IExpense } from './expense.model';
17
+ // import { ITimesheet } from './timesheet.model';
18
+
19
+ export interface IEmployee extends IBasePerTenantAndOrganizationEntityModel {
20
+ [x: string]: any;
21
+ endWork?: any;
22
+ startedWorkOn?: any;
23
+ user: IUser;
24
+ userId: string;
25
+ valueDate?: Date;
26
+ isActive: boolean;
27
+ short_description?: string;
28
+ description?: string;
29
+ teams?: IOrganizationTeam[];
30
+ payPeriod?: string;
31
+ billRateValue?: number;
32
+ billRateCurrency?: string;
33
+ reWeeklyLimit?: number;
34
+ // organizationDepartments?: IOrganizationDepartment[];
35
+ // organizationContacts?: IOrganizationContact[];
36
+ // projects?: IOrganizationProject[];
37
+ // organizationPosition?: IOrganizationPosition;
38
+ tags: ITag[];
39
+ // skills: ISkill[];
40
+ offerDate?: Date;
41
+ acceptDate?: Date;
42
+ rejectDate?: Date;
43
+ employeeLevel?: string;
44
+ anonymousBonus?: boolean;
45
+ // organizationEmploymentTypes?: IOrganizationEmploymentType[];
46
+ // requestApprovalEmployee?: IRequestApprovalEmployee[];
47
+ // settings?: IEmployeeSetting[];
48
+ // expenses?: IExpense[];
49
+ // timesheets?: ITimesheet[];
50
+ // contact: IContact;
51
+ // averageIncome?: number;
52
+ // totalWorkHours?: number;
53
+ // averageExpenses?: number;
54
+ // averageBonus?: number;
55
+ // show_anonymous_bonus?: boolean;
56
+ // show_average_bonus?: boolean;
57
+ // show_average_expenses?: boolean;
58
+ // show_average_income?: boolean;
59
+ // show_billrate?: boolean;
60
+ // show_payperiod?: boolean;
61
+ // isJobSearchActive?: boolean;
62
+ // linkedInUrl?: string;
63
+ // facebookUrl?: string;
64
+ // instagramUrl?: string;
65
+ // twitterUrl?: string;
66
+ // githubUrl?: string;
67
+ // gitlabUrl?: string;
68
+ // upworkUrl?: string;
69
+ // jobSuccess?: number;
70
+ // isVerified?: boolean;
71
+ // isVetted?: boolean;
72
+ // totalJobs?: number;
73
+ // fullName?: string;
74
+ }
75
+
76
+ // export type IEmployeeJobsStatisticsResponse = IEmployee &
77
+ // IEmployeeJobsStatistics;
78
+
79
+ export interface UpdateEmployeeJobsStatistics {
80
+ isJobSearchActive?: boolean;
81
+ }
82
+
83
+ export interface IEmployeeFindInput {
84
+ id?: string;
85
+ organization?: IOrganizationFindInput;
86
+ user?: IUserFindInput;
87
+ valueDate?: Date;
88
+ organizationId?: string;
89
+ tenantId?: string;
90
+ tags?: ITag[];
91
+ // skills?: ISkill[];
92
+ }
93
+
94
+ export interface IEmployeeUpdateInput
95
+ extends IBasePerTenantAndOrganizationEntityModel {
96
+ payPeriod?: string;
97
+ billRateValue?: number;
98
+ billRateCurrency?: string;
99
+ reWeeklyLimit?: number;
100
+ // organizationDepartment?: IOrganizationDepartment;
101
+ // organizationPosition?: IOrganizationPosition;
102
+ offerDate?: Date;
103
+ acceptDate?: Date;
104
+ rejectDate?: Date;
105
+ short_description?: string;
106
+ description?: string;
107
+ averageIncome?: number;
108
+ averageExpenses?: number;
109
+ averageBonus?: number;
110
+ // skills?: ISkill[];
111
+ isJobSearchActive?: boolean;
112
+ contact?: IContact;
113
+ linkedInUrl?: string;
114
+ facebookUrl?: string;
115
+ instagramUrl?: string;
116
+ twitterUrl?: string;
117
+ githubUrl?: string;
118
+ gitlabUrl?: string;
119
+ upworkUrl?: string;
120
+ }
121
+
122
+ export interface IEmployeeCreateInput
123
+ extends IBasePerTenantAndOrganizationEntityModel {
124
+ user: IUser;
125
+ password?: string;
126
+ offerDate?: Date;
127
+ acceptDate?: Date;
128
+ rejectDate?: Date;
129
+ members?: IEmployee[];
130
+ tags?: ITag[];
131
+ // skills?: ISkill[];
132
+ startedWorkOn?: any;
133
+ short_description?: string;
134
+ description?: string;
135
+ originalUrl?: string;
136
+ isActive?: boolean;
137
+ }
138
+
139
+ export interface ISelectedEmployee {
140
+ id: string;
141
+ firstName: string;
142
+ lastName: string;
143
+ fullName?: string;
144
+ imageUrl: string;
145
+ defaultType?: DEFAULT_TYPE;
146
+ tags?: ITag[];
147
+ // skills?: ISkill[];
148
+ }
149
+
150
+ export enum DEFAULT_TYPE {
151
+ ALL_EMPLOYEE = 'ALL_EMPLOYEE',
152
+ NO_EMPLOYEE = 'NO_EMPLOYEE'
153
+ }
154
+
155
+ export enum PayPeriodEnum {
156
+ NONE = 'NONE',
157
+ BI_WEEKLY = 'BI_WEEKLY',
158
+ WEEKLY = 'WEEKLY',
159
+ TWICE_PER_MONTH = 'TWICE_PER_MONTH',
160
+ MONTHLY = 'MONTHLY'
161
+ }
162
+ export interface IEmployeeLevel
163
+ extends IBasePerTenantAndOrganizationEntityModel {
164
+ level: string;
165
+ tag?: ITag[];
166
+ // skills?: ISkill[];
167
+ }
168
+
169
+ export interface IEmployeeLevelInput
170
+ extends IBasePerTenantAndOrganizationEntityModel {
171
+ level: string;
172
+ tags?: ITag[];
173
+ // skills?: ISkill[];
174
+ }
175
+
176
+ export interface IEmployeeLevelFindInput {
177
+ organizationId?: string;
178
+ tenantId: string;
179
+ }
180
+ export interface EmployeeViewModel {
181
+ fullName: string;
182
+ email: string;
183
+ bonus?: number;
184
+ endWork?: any;
185
+ id: string;
186
+ imageUrl?: string;
187
+ averageIncome?: number;
188
+ averageExpenses?: number;
189
+ averageBonus?: number;
190
+ workStatus?: string;
191
+ startedWorkOn?: string;
192
+ isActive?: boolean;
193
+ tags?: ITag[];
194
+ }
195
+
196
+ export interface IEmployeeStoreState {
197
+ employee: IEmployee | IEmployee[];
198
+ action: CrudActionEnum;
199
+ }
@@ -0,0 +1,16 @@
1
+ import { IEmployee } from './employee.model';
2
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
3
+ import { ITag } from './tag-entity.model';
4
+
5
+ export interface IBaseEntityWithMembers
6
+ extends IBasePerTenantAndOrganizationEntityModel {
7
+ members?: IEmployee[];
8
+ name?: string;
9
+ tags?: ITag[];
10
+ }
11
+
12
+ export interface IEditEntityByMemberInput {
13
+ addedEntityIds?: string[];
14
+ removedEntityIds?: string[];
15
+ member: IEmployee;
16
+ }
@@ -0,0 +1,108 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
+
3
+ export interface IFeature extends IBasePerTenantAndOrganizationEntityModel {
4
+ code: string;
5
+ description: string;
6
+ featureOrganizations?: IFeatureOrganization[];
7
+ image?: string;
8
+ readonly imageUrl?: string;
9
+ link: string;
10
+ name: string;
11
+ status: string;
12
+ icon: string;
13
+ isEnabled?: boolean;
14
+ isPaid?: boolean;
15
+ readonly parentId?: string;
16
+ parent?: IFeature;
17
+ children?: IFeature[];
18
+ }
19
+ export interface IFeatureCreateInput extends IFeature {
20
+ isEnabled: boolean;
21
+ }
22
+
23
+ export interface IFeatureOrganization
24
+ extends IBasePerTenantAndOrganizationEntityModel {
25
+ feature: IFeature;
26
+ featureId?: string;
27
+ isEnabled: boolean;
28
+ }
29
+
30
+ export interface IFeatureOrganizationUpdateInput
31
+ extends IBasePerTenantAndOrganizationEntityModel {
32
+ featureId: string;
33
+ isEnabled: boolean;
34
+ }
35
+
36
+ export interface IFeatureOrganizationFindInput
37
+ extends IBasePerTenantAndOrganizationEntityModel {
38
+ featureId?: string;
39
+ }
40
+
41
+ export enum FeatureStatusEnum {
42
+ INFO = 'info',
43
+ PRIMARY = 'primary',
44
+ SUCCESS = 'success',
45
+ WARNING = 'warning'
46
+ }
47
+
48
+ export enum IFeatureToggleTypeEnum {
49
+ RELEASE = 'release',
50
+ KILL_SWITCH = 'kill-switch',
51
+ EXPERIMENT = 'experiment',
52
+ OPERATIONAL = 'operational',
53
+ PERMISSION = 'permission'
54
+ }
55
+
56
+ export interface IFeatureToggleVariant {
57
+ name?: string;
58
+ weight?: number;
59
+ weightType?: string;
60
+ payload?: IFeatureTogglePayload;
61
+ overrides?: IFeatureToggleOverride[];
62
+ }
63
+
64
+ export interface IFeatureToggleOverride {
65
+ contextName?: string;
66
+ values?: string[];
67
+ }
68
+
69
+ export interface IFeatureTogglePayload {
70
+ type?: string;
71
+ value?: string;
72
+ }
73
+
74
+ export interface IFeatureToggle {
75
+ name: string;
76
+ description?: string;
77
+ type: IFeatureToggleTypeEnum;
78
+ project?: string;
79
+ enabled: boolean;
80
+ stale?: boolean;
81
+ strategies?: any;
82
+ variants?: IFeatureToggleVariant[];
83
+ createdAt?: string;
84
+ lastSeenAt?: string | null;
85
+ }
86
+
87
+ export enum FeatureEnum {
88
+ FEATURE_DASHBOARD = 'FEATURE_DASHBOARD',
89
+ FEATURE_HOME = 'FEATURE_HOME',
90
+ FEATURE_JOB = 'FEATURE_JOB',
91
+ FEATURE_EMPLOYEES = 'FEATURE_EMPLOYEES',
92
+ FEATURE_MANAGE_INVITE = 'FEATURE_MANAGE_INVITE',
93
+ FEATURE_ORGANIZATION = 'FEATURE_ORGANIZATION',
94
+ FEATURE_ORGANIZATION_TAG = 'FEATURE_ORGANIZATION_TAG',
95
+ FEATURE_ORGANIZATION_PROJECT = 'FEATURE_ORGANIZATION_PROJECT',
96
+ FEATURE_CONTACT = 'FEATURE_CONTACT',
97
+ FEATURE_USER = 'FEATURE_USER',
98
+ FEATURE_ORGANIZATIONS = 'FEATURE_ORGANIZATIONS',
99
+ // FEATURE_APP_INTEGRATION = 'FEATURE_APP_INTEGRATION',
100
+ FEATURE_SETTING = 'FEATURE_SETTING',
101
+ FEATURE_EMAIL_HISTORY = 'FEATURE_EMAIL_HISTORY',
102
+ FEATURE_EMAIL_TEMPLATE = 'FEATURE_EMAIL_TEMPLATE',
103
+ FEATURE_FILE_STORAGE = 'FEATURE_FILE_STORAGE',
104
+ FEATURE_SMS_GATEWAY = 'FEATURE_SMS_GATEWAY',
105
+ FEATURE_SMTP = 'FEATURE_SMTP',
106
+ FEATURE_ROLES_PERMISSION = 'FEATURE_ROLES_PERMISSION',
107
+ FEATURE_INTEGRATION = 'FEATURE_INTEGRATION',
108
+ }
@@ -0,0 +1,37 @@
1
+ export interface FileStorageOption {
2
+ dest: string | CallableFunction;
3
+ provider?: FileStorageProviderEnum;
4
+ prefix?: string;
5
+ filename?: string | CallableFunction;
6
+ }
7
+
8
+ export interface FileSystem {
9
+ rootPath: string;
10
+ baseUrl?: string;
11
+ }
12
+
13
+ export enum FileStorageProviderEnum {
14
+ LOCAL = 'LOCAL',
15
+ S3 = 'S3',
16
+ WASABI = 'WASABI',
17
+ OSS = 'OSS', // 阿里云对象存储 OSS(Object Storage Service)
18
+ }
19
+
20
+ export interface UploadedFile {
21
+ fieldname: string;
22
+ key: string; // path of the file in storage
23
+ originalname: string; // orignal file name
24
+ size: number; // files in bytes
25
+ encoding?: string;
26
+ mimetype?: string;
27
+ filename: string;
28
+ url: string; // file public url
29
+ path: string; // Full path of the file
30
+ }
31
+
32
+ export interface S3FileStorageProviderConfig {
33
+ aws_access_key_id?: string;
34
+ aws_secret_access_key?: string;
35
+ aws_default_region?: string;
36
+ aws_bucket?: string;
37
+ }
@@ -0,0 +1,35 @@
1
+ // import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
2
+ // import { IEmployee } from './employee.model';
3
+
4
+ // export interface IHelpCenterArticle
5
+ // extends IBasePerTenantAndOrganizationEntityModel {
6
+ // name: string;
7
+ // description: string;
8
+ // data: string;
9
+ // index: number;
10
+ // draft: boolean;
11
+ // privacy: boolean;
12
+ // categoryId: string;
13
+ // employees?: IEmployee[];
14
+ // authors?: IHelpCenterAuthor[];
15
+ // }
16
+
17
+ // export interface IHelpCenterAuthor
18
+ // extends IBasePerTenantAndOrganizationEntityModel {
19
+ // articleId: string;
20
+ // article?: IHelpCenterArticle;
21
+ // employeeId: string;
22
+ // employee?: IEmployee;
23
+ // articles?: IHelpCenterArticle[];
24
+ // }
25
+
26
+ // export interface IHelpCenterAuthorCreate
27
+ // extends IBasePerTenantAndOrganizationEntityModel {
28
+ // articleId: string;
29
+ // employeeIds: string[];
30
+ // }
31
+
32
+ // export interface IHelpCenterAuthorFind
33
+ // extends IBasePerTenantAndOrganizationEntityModel {
34
+ // id?: string;
35
+ // }
@@ -0,0 +1,33 @@
1
+ // import { IHelpCenterArticle } from './help-center-article.model';
2
+ // import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
3
+
4
+ // export interface IHelpCenter extends IBasePerTenantAndOrganizationEntityModel {
5
+ // name: string;
6
+ // icon: string;
7
+ // flag: string;
8
+ // privacy: string;
9
+ // language: string;
10
+ // color: string;
11
+ // description?: string;
12
+ // data?: string;
13
+ // index: number;
14
+ // children?: IHelpCenter[];
15
+ // parent?: IHelpCenter;
16
+ // article?: IHelpCenterArticle[];
17
+ // parentId?: string;
18
+ // }
19
+
20
+ // export interface IHelpCenterFind
21
+ // extends IBasePerTenantAndOrganizationEntityModel {
22
+ // id?: string;
23
+ // }
24
+
25
+ // export enum HelpCenterActionEnum {
26
+ // ADD = 'add',
27
+ // EDIT = 'edit'
28
+ // }
29
+
30
+ // export enum HelpCenterFlagEnum {
31
+ // BASE = 'base',
32
+ // CATEGORY = 'category'
33
+ // }
@@ -0,0 +1,58 @@
1
+ export enum HttpStatus {
2
+ CONTINUE = 100,
3
+ SWITCHING_PROTOCOLS = 101,
4
+ PROCESSING = 102,
5
+ OK = 200,
6
+ CREATED = 201,
7
+ ACCEPTED = 202,
8
+ NON_AUTHORITATIVE_INFORMATION = 203,
9
+ NO_CONTENT = 204,
10
+ RESET_CONTENT = 205,
11
+ PARTIAL_CONTENT = 206,
12
+ AMBIGUOUS = 300,
13
+ MOVED_PERMANENTLY = 301,
14
+ FOUND = 302,
15
+ SEE_OTHER = 303,
16
+ NOT_MODIFIED = 304,
17
+ TEMPORARY_REDIRECT = 307,
18
+ PERMANENT_REDIRECT = 308,
19
+ BAD_REQUEST = 400,
20
+ UNAUTHORIZED = 401,
21
+ PAYMENT_REQUIRED = 402,
22
+ FORBIDDEN = 403,
23
+ NOT_FOUND = 404,
24
+ METHOD_NOT_ALLOWED = 405,
25
+ NOT_ACCEPTABLE = 406,
26
+ PROXY_AUTHENTICATION_REQUIRED = 407,
27
+ REQUEST_TIMEOUT = 408,
28
+ CONFLICT = 409,
29
+ GONE = 410,
30
+ LENGTH_REQUIRED = 411,
31
+ PRECONDITION_FAILED = 412,
32
+ PAYLOAD_TOO_LARGE = 413,
33
+ URI_TOO_LONG = 414,
34
+ UNSUPPORTED_MEDIA_TYPE = 415,
35
+ REQUESTED_RANGE_NOT_SATISFIABLE = 416,
36
+ EXPECTATION_FAILED = 417,
37
+ I_AM_A_TEAPOT = 418,
38
+ UNPROCESSABLE_ENTITY = 422,
39
+ FAILED_DEPENDENCY = 424,
40
+ TOO_MANY_REQUESTS = 429,
41
+ INTERNAL_SERVER_ERROR = 500,
42
+ NOT_IMPLEMENTED = 501,
43
+ BAD_GATEWAY = 502,
44
+ SERVICE_UNAVAILABLE = 503,
45
+ GATEWAY_TIMEOUT = 504,
46
+ HTTP_VERSION_NOT_SUPPORTED = 505
47
+ }
48
+
49
+ export enum RequestMethodEnum {
50
+ GET = 'GET',
51
+ POST = 'POST',
52
+ PUT = 'PUT',
53
+ DELETE = 'DELETE',
54
+ PATCH = 'PATCH',
55
+ ALL = 'ALL',
56
+ OPTIONS = 'OPTIONS',
57
+ HEAD = 'HEAD'
58
+ }
@@ -0,0 +1,42 @@
1
+ import { IBasePerTenantEntityModel } from "./base-entity.model";
2
+
3
+ export interface IImportRecord extends IBasePerTenantEntityModel {
4
+ entityType?: string;
5
+ sourceId?: string;
6
+ destinationId?: string;
7
+ importDate?: Date;
8
+ wasCreated?: boolean;
9
+ }
10
+
11
+ export interface IImportRecordFind extends IBasePerTenantEntityModel {
12
+ entityType?: string;
13
+ sourceId?: string;
14
+ destinationId?: string;
15
+ }
16
+
17
+ export interface IImportHistory extends IBasePerTenantEntityModel {
18
+ file: string;
19
+ path: string;
20
+ size: number;
21
+ status: string;
22
+ importDate?: Date;
23
+ }
24
+
25
+ export interface IEntityModel {
26
+ name: string;
27
+ value: string;
28
+ checked: boolean;
29
+ isGroup: boolean;
30
+ entities: IEntityModel[];
31
+ }
32
+
33
+ export enum ImportTypeEnum {
34
+ MERGE = 'merge',
35
+ CLEAN = 'clean',
36
+ }
37
+
38
+ export enum ImportHistoryStatusEnum {
39
+ SUCCESS = 'Success',
40
+ FAILED = 'Failed',
41
+ CANCELLED = 'Cancelled'
42
+ }