@metad/contracts 3.6.2 → 3.6.7

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 (287) hide show
  1. package/.babelrc +5 -0
  2. package/.eslintrc.json +18 -0
  3. package/babel.config.json +1 -0
  4. package/index.cjs.js +5 -4233
  5. package/jest.config.ts +16 -0
  6. package/package.json +2 -2
  7. package/project.json +53 -0
  8. package/src/agent/{ai-model.d.ts → ai-model.ts} +2 -2
  9. package/src/agent/graph.ts +275 -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 +66 -0
  15. package/src/ai/ai-model.model.ts +232 -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.d.ts → environment.model.ts} +12 -10
  31. package/src/ai/feature.model.ts +6 -0
  32. package/src/ai/index.ts +40 -0
  33. package/src/ai/knowledge-doc-chunk.model.ts +123 -0
  34. package/src/ai/knowledge-doc-chunk.spec.ts +47 -0
  35. package/src/ai/knowledge-doc-page.model.ts +20 -0
  36. package/src/ai/knowledge-doc.model.ts +364 -0
  37. package/src/ai/knowledge-pipeline.ts +138 -0
  38. package/src/ai/knowledge-retrieval-log.model.ts +19 -0
  39. package/src/ai/knowledgebase-task.model.ts +46 -0
  40. package/src/ai/knowledgebase.model.ts +205 -0
  41. package/src/ai/rag-web.ts +54 -0
  42. package/src/ai/rag.ts +24 -0
  43. package/src/ai/role-permissions.ts +13 -0
  44. package/src/ai/types.ts +83 -0
  45. package/src/ai/xpert-agent-execution.model.ts +115 -0
  46. package/src/ai/xpert-agent.model.ts +264 -0
  47. package/src/ai/xpert-project.model.ts +103 -0
  48. package/src/ai/xpert-table.model.ts +100 -0
  49. package/src/ai/xpert-task.model.ts +32 -0
  50. package/src/ai/xpert-template.model.ts +53 -0
  51. package/src/ai/xpert-tool-mcp.model.ts +77 -0
  52. package/src/ai/xpert-tool.model.ts +216 -0
  53. package/src/ai/xpert-toolset.model.ts +220 -0
  54. package/src/ai/xpert-workflow-task.prompt.ts +71 -0
  55. package/src/ai/xpert-workflow.model.ts +502 -0
  56. package/src/ai/xpert-workspace.model.ts +42 -0
  57. package/src/ai/xpert.model.ts +637 -0
  58. package/src/ai/xpert.utils.ts +214 -0
  59. package/src/analytics/ai.ts +79 -0
  60. package/src/analytics/approval-policy.model.ts +40 -0
  61. package/src/analytics/business-area-user.model.ts +43 -0
  62. package/src/analytics/business-area.ts +20 -0
  63. package/src/analytics/certification.model.ts +12 -0
  64. package/src/analytics/chatbi-conversation.model.ts +16 -0
  65. package/src/analytics/chatbi-model.model.ts +22 -0
  66. package/src/analytics/collection.model.ts +8 -0
  67. package/src/analytics/comment.model.ts +14 -0
  68. package/src/analytics/data-source-type.ts +19 -0
  69. package/src/analytics/data-source.ts +72 -0
  70. package/src/analytics/favorite.ts +18 -0
  71. package/src/analytics/features.ts +19 -0
  72. package/src/analytics/feed-model.ts +15 -0
  73. package/src/analytics/gateway.ts +31 -0
  74. package/src/analytics/index.ts +39 -0
  75. package/src/analytics/indicator-app.ts +49 -0
  76. package/src/analytics/{indicator-market.d.ts → indicator-market.ts} +6 -2
  77. package/src/analytics/indicator.ts +143 -0
  78. package/src/analytics/model-query-log.model.ts +45 -0
  79. package/src/analytics/model-query.ts +22 -0
  80. package/src/analytics/{notification-destination.d.ts → notification-destination.ts} +9 -5
  81. package/src/analytics/{permission-approval-user.model.d.ts → permission-approval-user.model.ts} +10 -8
  82. package/src/analytics/permission-approval.model.ts +58 -0
  83. package/src/analytics/project.model.ts +56 -0
  84. package/src/analytics/role-permissions.ts +36 -0
  85. package/src/analytics/schema.ts +300 -0
  86. package/src/analytics/screenshot.model.ts +28 -0
  87. package/src/analytics/semantic-model-entity.ts +50 -0
  88. package/src/analytics/semantic-model-member.ts +49 -0
  89. package/src/analytics/semantic-model.ts +237 -0
  90. package/src/analytics/{story-point.d.ts → story-point.ts} +11 -6
  91. package/src/analytics/story-template.model.ts +34 -0
  92. package/src/analytics/story-widget.ts +15 -0
  93. package/src/analytics/story.ts +109 -0
  94. package/src/analytics/subscription.ts +43 -0
  95. package/src/analytics/visit.model.ts +39 -0
  96. package/src/analytics/webSocket.ts +53 -0
  97. package/src/api-key.model.ts +11 -0
  98. package/src/base-entity.model.ts +34 -0
  99. package/src/contact.model.ts +45 -0
  100. package/src/core.model.ts +103 -0
  101. package/src/{country.model.d.ts → country.model.ts} +3 -2
  102. package/src/currency.model.ts +582 -0
  103. package/src/{custom-smtp.model.d.ts → custom-smtp.model.ts} +21 -17
  104. package/src/date-picker.model.ts +5 -0
  105. package/src/email-template.model.ts +50 -0
  106. package/src/email.model.ts +46 -0
  107. package/src/employee.model.ts +199 -0
  108. package/src/entity-with-members.model.ts +16 -0
  109. package/src/feature.model.ts +108 -0
  110. package/src/file-provider.ts +37 -0
  111. package/src/help-center-article.model.ts +35 -0
  112. package/src/help-center.model.ts +33 -0
  113. package/src/http-status.enum.ts +58 -0
  114. package/src/import-export.model.ts +42 -0
  115. package/src/index.ts +60 -0
  116. package/src/integration/dify.ts +31 -0
  117. package/src/integration/dingtalk.ts +16 -0
  118. package/src/integration/fastgpt.ts +32 -0
  119. package/src/integration/firecrawl.ts +46 -0
  120. package/src/integration/github.ts +149 -0
  121. package/src/integration/index.ts +15 -0
  122. package/src/integration/lark.ts +79 -0
  123. package/src/integration/wecom.ts +16 -0
  124. package/src/integration.model.ts +119 -0
  125. package/src/invite.model.ts +144 -0
  126. package/src/language.model.ts +22 -0
  127. package/src/organization-contact.model.ts +84 -0
  128. package/src/{organization-department.model.d.ts → organization-department.model.ts} +16 -10
  129. package/src/organization-language.model.ts +24 -0
  130. package/src/organization-projects.model.ts +99 -0
  131. package/src/organization-team-employee-model.ts +14 -0
  132. package/src/organization-team-model.ts +25 -0
  133. package/src/organization.model.ts +266 -0
  134. package/src/{password-reset.model.d.ts → password-reset.model.ts} +14 -10
  135. package/src/{plain-object.model.d.ts → plain-object.model.ts} +1 -1
  136. package/src/plugin.ts +15 -0
  137. package/src/role-permission.model.ts +123 -0
  138. package/src/role.model.ts +31 -0
  139. package/src/schedule.ts +71 -0
  140. package/src/secret-token.model.ts +15 -0
  141. package/src/seed.model.ts +50 -0
  142. package/src/storage-file.model.ts +46 -0
  143. package/src/tag-entity.model.ts +23 -0
  144. package/src/tenant.model.ts +52 -0
  145. package/src/tools/index.ts +1 -0
  146. package/src/tools/sandbox.ts +5 -0
  147. package/src/translation.model.ts +37 -0
  148. package/src/types.ts +277 -0
  149. package/src/user-organization.model.ts +31 -0
  150. package/src/user.model.ts +151 -0
  151. package/src/visibility.model.ts +6 -0
  152. package/tsconfig.json +22 -0
  153. package/tsconfig.lib.json +10 -0
  154. package/tsconfig.spec.json +9 -0
  155. package/index.cjs.d.ts +0 -1
  156. package/index.esm.d.ts +0 -1
  157. package/index.esm.js +0 -4129
  158. package/src/agent/graph.d.ts +0 -148
  159. package/src/agent/index.d.ts +0 -5
  160. package/src/agent/token.d.ts +0 -21
  161. package/src/agent/utils.d.ts +0 -19
  162. package/src/agent/variables.d.ts +0 -14
  163. package/src/ai/ai-model.model.d.ts +0 -198
  164. package/src/ai/ai-provider.model.d.ts +0 -43
  165. package/src/ai/ai.model.d.ts +0 -82
  166. package/src/ai/chat-message-feedback.model.d.ts +0 -24
  167. package/src/ai/chat-message.model.d.ts +0 -222
  168. package/src/ai/chat.model.d.ts +0 -189
  169. package/src/ai/copilot-checkpoint.model.d.ts +0 -23
  170. package/src/ai/copilot-example.model.d.ts +0 -19
  171. package/src/ai/copilot-model.model.d.ts +0 -26
  172. package/src/ai/copilot-organization.model.d.ts +0 -17
  173. package/src/ai/copilot-provider.model.d.ts +0 -31
  174. package/src/ai/copilot-role.model.d.ts +0 -43
  175. package/src/ai/copilot-store.model.d.ts +0 -29
  176. package/src/ai/copilot-user.model.d.ts +0 -20
  177. package/src/ai/copilot.model.d.ts +0 -36
  178. package/src/ai/feature.model.d.ts +0 -6
  179. package/src/ai/index.d.ts +0 -39
  180. package/src/ai/knowledge-doc-chunk.model.d.ts +0 -60
  181. package/src/ai/knowledge-doc-page.model.d.ts +0 -15
  182. package/src/ai/knowledge-doc.model.d.ts +0 -192
  183. package/src/ai/knowledge-pipeline.d.ts +0 -107
  184. package/src/ai/knowledge-retrieval-log.model.d.ts +0 -10
  185. package/src/ai/knowledgebase-task.model.d.ts +0 -39
  186. package/src/ai/knowledgebase.model.d.ts +0 -162
  187. package/src/ai/rag-web.d.ts +0 -26
  188. package/src/ai/rag.d.ts +0 -24
  189. package/src/ai/role-permissions.d.ts +0 -13
  190. package/src/ai/types.d.ts +0 -39
  191. package/src/ai/xpert-agent-execution.model.d.ts +0 -96
  192. package/src/ai/xpert-agent.model.d.ts +0 -192
  193. package/src/ai/xpert-project.model.d.ts +0 -86
  194. package/src/ai/xpert-task.model.d.ts +0 -26
  195. package/src/ai/xpert-template.model.d.ts +0 -47
  196. package/src/ai/xpert-tool-mcp.model.d.ts +0 -67
  197. package/src/ai/xpert-tool.model.d.ts +0 -147
  198. package/src/ai/xpert-toolset.model.d.ts +0 -200
  199. package/src/ai/xpert-workflow-task.prompt.d.ts +0 -2
  200. package/src/ai/xpert-workflow.model.d.ts +0 -366
  201. package/src/ai/xpert-workspace.model.d.ts +0 -32
  202. package/src/ai/xpert.model.d.ts +0 -529
  203. package/src/ai/xpert.utils.d.ts +0 -80
  204. package/src/analytics/ai.d.ts +0 -73
  205. package/src/analytics/approval-policy.model.d.ts +0 -30
  206. package/src/analytics/business-area-user.model.d.ts +0 -35
  207. package/src/analytics/business-area.d.ts +0 -17
  208. package/src/analytics/certification.model.d.ts +0 -11
  209. package/src/analytics/chatbi-conversation.model.d.ts +0 -15
  210. package/src/analytics/chatbi-model.model.d.ts +0 -18
  211. package/src/analytics/collection.model.d.ts +0 -6
  212. package/src/analytics/comment.model.d.ts +0 -10
  213. package/src/analytics/data-source-type.d.ts +0 -16
  214. package/src/analytics/data-source.d.ts +0 -62
  215. package/src/analytics/favorite.d.ts +0 -14
  216. package/src/analytics/features.d.ts +0 -19
  217. package/src/analytics/feed-model.d.ts +0 -13
  218. package/src/analytics/gateway.d.ts +0 -27
  219. package/src/analytics/index.d.ts +0 -38
  220. package/src/analytics/indicator-app.d.ts +0 -44
  221. package/src/analytics/indicator.d.ts +0 -106
  222. package/src/analytics/model-query-log.model.d.ts +0 -41
  223. package/src/analytics/model-query.d.ts +0 -21
  224. package/src/analytics/permission-approval.model.d.ts +0 -47
  225. package/src/analytics/project.model.d.ts +0 -50
  226. package/src/analytics/role-permissions.d.ts +0 -25
  227. package/src/analytics/schema.d.ts +0 -262
  228. package/src/analytics/screenshot.model.d.ts +0 -25
  229. package/src/analytics/semantic-model-entity.d.ts +0 -37
  230. package/src/analytics/semantic-model-member.d.ts +0 -24
  231. package/src/analytics/semantic-model.d.ts +0 -175
  232. package/src/analytics/story-template.model.d.ts +0 -28
  233. package/src/analytics/story-widget.d.ts +0 -12
  234. package/src/analytics/story.d.ts +0 -93
  235. package/src/analytics/subscription.d.ts +0 -38
  236. package/src/analytics/visit.model.d.ts +0 -34
  237. package/src/analytics/webSocket.d.ts +0 -48
  238. package/src/api-key.model.d.ts +0 -10
  239. package/src/base-entity.model.d.ts +0 -27
  240. package/src/contact.model.d.ts +0 -41
  241. package/src/core.model.d.ts +0 -97
  242. package/src/currency.model.d.ts +0 -579
  243. package/src/date-picker.model.d.ts +0 -5
  244. package/src/email-template.model.d.ts +0 -39
  245. package/src/email.model.d.ts +0 -36
  246. package/src/employee.model.d.ts +0 -128
  247. package/src/entity-with-members.model.d.ts +0 -13
  248. package/src/feature.model.d.ts +0 -93
  249. package/src/file-provider.d.ts +0 -33
  250. package/src/help-center-article.model.d.ts +0 -0
  251. package/src/help-center.model.d.ts +0 -0
  252. package/src/http-status.enum.d.ts +0 -57
  253. package/src/import-export.model.d.ts +0 -36
  254. package/src/index.d.ts +0 -48
  255. package/src/integration/dify.d.ts +0 -0
  256. package/src/integration/dingtalk.d.ts +0 -2
  257. package/src/integration/fastgpt.d.ts +0 -0
  258. package/src/integration/firecrawl.d.ts +0 -2
  259. package/src/integration/github.d.ts +0 -69
  260. package/src/integration/index.d.ts +0 -4
  261. package/src/integration/lark.d.ts +0 -11
  262. package/src/integration/wecom.d.ts +0 -2
  263. package/src/integration.model.d.ts +0 -90
  264. package/src/invite.model.d.ts +0 -123
  265. package/src/language.model.d.ts +0 -19
  266. package/src/organization-contact.model.d.ts +0 -73
  267. package/src/organization-language.model.d.ts +0 -18
  268. package/src/organization-projects.model.d.ts +0 -80
  269. package/src/organization-team-employee-model.d.ts +0 -12
  270. package/src/organization-team-model.d.ts +0 -19
  271. package/src/organization.model.d.ts +0 -239
  272. package/src/plugin.d.ts +0 -13
  273. package/src/role-permission.model.d.ts +0 -61
  274. package/src/role.model.d.ts +0 -26
  275. package/src/schedule.d.ts +0 -27
  276. package/src/secret-token.model.d.ts +0 -11
  277. package/src/seed.model.d.ts +0 -37
  278. package/src/storage-file.model.d.ts +0 -40
  279. package/src/tag-entity.model.d.ts +0 -20
  280. package/src/tenant.model.d.ts +0 -40
  281. package/src/tools/index.d.ts +0 -1
  282. package/src/tools/sandbox.d.ts +0 -5
  283. package/src/translation.model.d.ts +0 -26
  284. package/src/types.d.ts +0 -241
  285. package/src/user-organization.model.d.ts +0 -24
  286. package/src/user.model.d.ts +0 -131
  287. package/src/visibility.model.d.ts +0 -6
@@ -0,0 +1,15 @@
1
+ import { IBasePerTenantEntityModel } from '../base-entity.model'
2
+ import { IStory } from './story'
3
+ import { IStoryPoint } from './story-point'
4
+
5
+ export interface IStoryWidget extends IBasePerTenantEntityModel {
6
+ key?: string
7
+ name?: string
8
+
9
+ storyId: string
10
+ story?: IStory
11
+ pointId: string
12
+ point?: IStoryPoint
13
+
14
+ options?: Record<string, unknown>
15
+ }
@@ -0,0 +1,109 @@
1
+ import { ITag } from '../tag-entity.model'
2
+ import { Visibility } from '../visibility.model'
3
+ import { IBusinessArea } from './business-area'
4
+ import { ICollection } from './collection.model'
5
+ import { IFavorite } from './favorite'
6
+ import { IBasePerProjectEntityModel } from './project.model'
7
+ import { IScreenshot } from './screenshot.model'
8
+ import { ISemanticModel } from './semantic-model'
9
+ import { IStoryPoint } from './story-point'
10
+ import { IStoryTemplate } from './story-template.model'
11
+
12
+ export interface IStory extends IBasePerProjectEntityModel {
13
+ name?: string
14
+ description?: string
15
+ tags?: ITag[]
16
+
17
+ status?: StoryStatusEnum
18
+
19
+ collection?: ICollection
20
+ collectionId?: string
21
+
22
+ /**
23
+ * Released story destination
24
+ */
25
+ businessArea?: IBusinessArea
26
+ businessAreaId?: string
27
+
28
+ modelId?: string
29
+ /**
30
+ * Story's models space
31
+ */
32
+ model?: ISemanticModel
33
+ /**
34
+ * Story relative models
35
+ */
36
+ models?: ISemanticModel[]
37
+
38
+ visibility?: Visibility
39
+
40
+ points?: IStoryPoint[]
41
+
42
+ options?: Record<string, unknown>
43
+
44
+ thumbnail?: string
45
+ previewId?: string
46
+ preview?: IScreenshot
47
+
48
+ templateId?: string
49
+ // From template
50
+ template?: IStoryTemplate
51
+ // Save as template
52
+ asTemplate?: IStoryTemplate
53
+
54
+ pv?: number
55
+ }
56
+
57
+ export enum StoryStatusEnum {
58
+ /**
59
+ * 草稿
60
+ */
61
+ DRAFT = 'DRAFT',
62
+ /**
63
+ * 重新编辑
64
+ */
65
+ CHANGING = 'CHANGING',
66
+ /**
67
+ * 审阅中
68
+ */
69
+ REVIEW = 'REVIEW',
70
+ /**
71
+ * 通过
72
+ */
73
+ APPROVED = 'APPROVED',
74
+ /**
75
+ * 退回
76
+ */
77
+ REJECTED = 'REJECTED',
78
+ /**
79
+ * 已发布
80
+ */
81
+ RELEASED = 'RELEASED',
82
+ /**
83
+ * 下线存档
84
+ */
85
+ ARCHIVED = 'ARCHIVED',
86
+ }
87
+
88
+ export interface Accessibility {
89
+ access?: AccessEnum
90
+ bookmark?: IFavorite
91
+ }
92
+
93
+ /**
94
+ * 用户对某个实体的访问权限
95
+ */
96
+ export enum AccessEnum {
97
+ /**
98
+ * 可看到
99
+ */
100
+ View = 'View',
101
+ /**
102
+ * 可读取详情
103
+ */
104
+ Read = 'Read',
105
+ /**
106
+ * 可编辑
107
+ */
108
+ Write = 'Write'
109
+ }
@@ -0,0 +1,43 @@
1
+ import { IBasePerTenantEntityModel } from "../base-entity.model";
2
+ import { INotificationDestination } from "./notification-destination";
3
+ import { IStory } from "./story";
4
+
5
+ export interface ISubscription extends IBasePerTenantEntityModel {
6
+
7
+ name: string
8
+ type: SubscriptionType
9
+ description?: string
10
+ /**
11
+ * 启动订阅
12
+ */
13
+ enable?: boolean
14
+ storyId?: string
15
+ story?: IStory
16
+ pointId?: string
17
+ widgetId?: string
18
+ destinationId?: string
19
+ /**
20
+ * 目的地
21
+ */
22
+ destination?: INotificationDestination
23
+
24
+ selectedDateType?: string
25
+ sendDate?: string
26
+ sendTime?: string
27
+ miOffice?: boolean
28
+ selectedUser?: string
29
+ selectedGroup?: string
30
+ notifyEveryone?: boolean
31
+ subscriptionDetail?: string
32
+ navigationButton?: boolean
33
+ buttonDesc?: string
34
+ linkSetting?: string
35
+ linkUrl?: string
36
+
37
+ options?: Record<string, unknown>
38
+ }
39
+
40
+ export enum SubscriptionType {
41
+ CHART = 'CHART',
42
+ INDICATOR = 'INDICATOR'
43
+ }
@@ -0,0 +1,39 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from '../base-entity.model'
2
+ import { IIndicator } from './indicator'
3
+ import { ISemanticModel } from './semantic-model'
4
+ import { IStory } from './story'
5
+
6
+ export interface IVisit extends IBasePerTenantAndOrganizationEntityModel {
7
+ type: VisitTypeEnum
8
+ entity: VisitEntityEnum
9
+ entityId: string
10
+ entityName?: string
11
+ businessAreaId?: string
12
+ visitAt?: number
13
+ visits?: number
14
+
15
+ story?: IStory
16
+ model?: ISemanticModel
17
+ indicator?: IIndicator
18
+ }
19
+
20
+ export enum VisitEntityEnum {
21
+ DataSource = 'DataSource',
22
+ SemanticModel = 'SemanticModel',
23
+ Story = 'Story',
24
+ Widget = 'Widget',
25
+ Indicator = 'Indicator'
26
+ }
27
+
28
+ export enum VisitTypeEnum {
29
+ View = 'View',
30
+ Data = 'Data'
31
+ }
32
+
33
+ export interface IEntityVisits {
34
+ entity?: VisitEntityEnum
35
+ entityId: string
36
+ entityName: string
37
+ pv?: number
38
+ uv?: number
39
+ }
@@ -0,0 +1,53 @@
1
+ import { ISemanticModel } from "./semantic-model"
2
+
3
+ export interface AgentEventRequest {
4
+ url?: string
5
+ headers: {
6
+ [key: string]: string[]
7
+ }
8
+ body?: any
9
+ catalog?: string
10
+ table?: string
11
+ forceRefresh?: boolean
12
+ auth?: {
13
+ username: string
14
+ password: string
15
+ }
16
+ }
17
+ export interface AgentEventResponse extends AgentEventRequest {
18
+ status: number
19
+ statusText: string
20
+ }
21
+
22
+ export enum AgentEventType {
23
+ request = 'request',
24
+ response = 'response',
25
+ error = 'error'
26
+ }
27
+
28
+ export interface AgentEvent {
29
+ type?: 'connected'
30
+ id: string
31
+ event: AgentEventType
32
+ data: {
33
+ organizationId?: string
34
+ dataSource?: {
35
+ id: string
36
+ name: string
37
+ type: string
38
+ updatedAt?: Date
39
+ }
40
+ modelId?: string
41
+ semanticModel?: ISemanticModel
42
+ request: AgentEventRequest
43
+ response?: AgentEventResponse
44
+ error?: string
45
+ }
46
+ }
47
+
48
+ export enum LocalAgentType {
49
+ TENANT,
50
+ USER
51
+ }
52
+
53
+ export const TENANT_AGENT_LOCAL_URL = 'agent-local-url'
@@ -0,0 +1,11 @@
1
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model'
2
+
3
+ export interface IApiKey extends IBasePerTenantAndOrganizationEntityModel {
4
+ token: string
5
+ name?: string
6
+ type?: string
7
+ entityId?: string
8
+ validUntil?: Date
9
+ expired?: boolean
10
+ lastUsedAt?: Date
11
+ }
@@ -0,0 +1,34 @@
1
+ import { ITenant } from './tenant.model'
2
+ import { IOrganization } from './organization.model'
3
+ import { ID } from './types'
4
+ import { IUser } from './user.model'
5
+
6
+ // Common properties for entities with relations
7
+ export interface IBaseRelationsEntityModel {
8
+ relations?: string[]; // List of related entities
9
+ }
10
+
11
+ export interface IBaseSoftDeleteEntityModel {
12
+ deletedAt?: Date
13
+ }
14
+
15
+ export interface IBaseEntityModel extends IBaseSoftDeleteEntityModel {
16
+ id?: ID
17
+
18
+ createdById?: ID
19
+ createdBy?: IUser
20
+ updatedById?: ID
21
+ updatedBy?: IUser
22
+ readonly createdAt?: Date
23
+ readonly updatedAt?: Date
24
+ }
25
+
26
+ export interface IBasePerTenantEntityModel extends IBaseEntityModel {
27
+ tenantId?: string
28
+ tenant?: ITenant
29
+ }
30
+
31
+ export interface IBasePerTenantAndOrganizationEntityModel extends IBasePerTenantEntityModel {
32
+ organizationId?: string
33
+ organization?: IOrganization
34
+ }
@@ -0,0 +1,45 @@
1
+ import { IOrganizationContact } from './organization-contact.model';
2
+ import { IBasePerTenantAndOrganizationEntityModel } from './base-entity.model';
3
+ import { IEmployee } from './employee.model';
4
+
5
+ export interface IContact extends IBasePerTenantAndOrganizationEntityModel {
6
+ id?: string;
7
+ name?: string;
8
+ firstName?: string;
9
+ lastName?: string;
10
+ country?: string;
11
+ city?: string;
12
+ address?: string;
13
+ address2?: string;
14
+ postcode?: string;
15
+ latitude?: number;
16
+ longitude?: number;
17
+ regionCode?: string;
18
+ fax?: string;
19
+ fiscalInformation?: string;
20
+ website?: string;
21
+ organization_contacts?: IOrganizationContact[];
22
+ employees?: IEmployee[];
23
+ }
24
+
25
+ export interface IContactFindInput extends IContactCreateInput {
26
+ id?: string;
27
+ }
28
+
29
+ export interface IContactCreateInput
30
+ extends IBasePerTenantAndOrganizationEntityModel {
31
+ name?: string;
32
+ firstName?: string;
33
+ lastName?: string;
34
+ country?: string;
35
+ city?: string;
36
+ address?: string;
37
+ address2?: string;
38
+ postcode?: string;
39
+ latitude?: number;
40
+ longitude?: number;
41
+ regionCode?: string;
42
+ fax?: string;
43
+ fiscalInformation?: string;
44
+ website?: string;
45
+ }
@@ -0,0 +1,103 @@
1
+ export interface IPaginationInput {
2
+ limit?: number;
3
+ page?: number;
4
+ }
5
+
6
+ /**
7
+ * Generic pagination interface
8
+ */
9
+ export interface IPagination<T> {
10
+ /**
11
+ * Items included in the current listing
12
+ */
13
+ readonly items: T[];
14
+
15
+ /**
16
+ * Total number of available items
17
+ */
18
+ readonly total: number;
19
+ }
20
+
21
+ /*
22
+ * Common query parameter
23
+ */
24
+ export interface IListQueryInput<T> {
25
+ /**
26
+ * Model entity defined relations
27
+ */
28
+ readonly relations?: string[];
29
+ readonly findInput?: T | any;
30
+ readonly where?: any;
31
+ }
32
+
33
+ /**
34
+ * Describes generic pagination params
35
+ */
36
+ export interface IPaginationParam extends IOptionParams {
37
+ /**
38
+ * Limit (paginated) - max number of entities should be taken.
39
+ */
40
+ readonly take?: number;
41
+ /**
42
+ * Offset (paginated) where from entities should be taken.
43
+ */
44
+ readonly skip?: number;
45
+ }
46
+
47
+ export interface IOptionParams {
48
+ /**
49
+ * Order, in which entities should be ordered.
50
+ */
51
+ readonly order?: Record<string, any>;
52
+ /**
53
+ * Simple condition that should be applied to match entities.
54
+ */
55
+ readonly where: Record<string, any>;
56
+ /**
57
+ * Indicates if soft-deleted rows should be included in entity result.
58
+ */
59
+ readonly withDeleted?: boolean;
60
+ }
61
+
62
+ export enum OrderTypeEnum {
63
+ DESC = 'DESC',
64
+ ASC = 'ASC'
65
+ }
66
+
67
+ export type JSONValue =
68
+ | null
69
+ | string
70
+ | number
71
+ | boolean
72
+ | {
73
+ [x: string]: JSONValue
74
+ }
75
+ | Array<JSONValue>
76
+
77
+ export type WhereOperator<T> =
78
+ | { $eq?: T }
79
+ | { $ne?: T }
80
+ | { $in?: T[] }
81
+ | { $notIn?: T[] }
82
+ | { $like?: string }
83
+ | { $ilike?: string }
84
+ | { $gt?: T }
85
+ | { $gte?: T }
86
+ | { $lt?: T }
87
+ | { $lte?: T }
88
+ | { $isNull?: boolean }
89
+
90
+ export type SmartWhere<T> = Partial<{
91
+ [P in keyof T]?: T[P] | WhereOperator<T[P]>
92
+ }>
93
+
94
+ export type PaginationParams<T> = {
95
+ select?: (keyof T)[] | {
96
+ [P in keyof T]?: P extends "toString" ? unknown : NonNullable<T[P]>;
97
+ }
98
+ take?: number
99
+ skip?: number
100
+ where?: SmartWhere<T>
101
+ relations?: string[]
102
+ order?: Partial<{ [P in keyof T]: OrderTypeEnum }>
103
+ }
@@ -1,5 +1,6 @@
1
1
  import { IBaseEntityModel } from './base-entity.model';
2
+
2
3
  export interface ICountry extends IBaseEntityModel {
3
- isoCode: string;
4
- country: string;
4
+ isoCode: string;
5
+ country: string;
5
6
  }