@metad/contracts 3.6.0-beta.1 → 3.6.0-beta.10

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