@etsoo/smarterp-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/.github/workflows/main.yml +60 -0
  2. package/LICENSE +21 -0
  3. package/README.md +17 -0
  4. package/__tests__/OrgApi.ts +132 -0
  5. package/__tests__/PublicApi.ts +130 -0
  6. package/__tests__/UserApi.ts +29 -0
  7. package/__tests__/app/TestApp.ts +138 -0
  8. package/__tests__/tsconfig.json +18 -0
  9. package/babel.config.json +11 -0
  10. package/lib/cjs/AppApi.d.ts +48 -0
  11. package/lib/cjs/AppApi.js +54 -0
  12. package/lib/cjs/CoreApp.d.ts +58 -0
  13. package/lib/cjs/CoreApp.js +68 -0
  14. package/lib/cjs/MemberApi.d.ts +38 -0
  15. package/lib/cjs/MemberApi.js +45 -0
  16. package/lib/cjs/OrgApi.d.ts +95 -0
  17. package/lib/cjs/OrgApi.js +110 -0
  18. package/lib/cjs/PublicApi.d.ts +105 -0
  19. package/lib/cjs/PublicApi.js +143 -0
  20. package/lib/cjs/UserApi.d.ts +53 -0
  21. package/lib/cjs/UserApi.js +68 -0
  22. package/lib/cjs/dto/IdentityType.d.ts +21 -0
  23. package/lib/cjs/dto/IdentityType.js +25 -0
  24. package/lib/cjs/dto/app/AppData.d.ts +31 -0
  25. package/lib/cjs/dto/app/AppData.js +2 -0
  26. package/lib/cjs/dto/app/AppListDto.d.ts +6 -0
  27. package/lib/cjs/dto/app/AppListDto.js +2 -0
  28. package/lib/cjs/dto/app/AppPurchasedQueryData.d.ts +28 -0
  29. package/lib/cjs/dto/app/AppPurchasedQueryData.js +2 -0
  30. package/lib/cjs/dto/app/AppQueryData.d.ts +42 -0
  31. package/lib/cjs/dto/app/AppQueryData.js +2 -0
  32. package/lib/cjs/dto/member/MemberListDto.d.ts +6 -0
  33. package/lib/cjs/dto/member/MemberListDto.js +2 -0
  34. package/lib/cjs/dto/member/MemberQueryDto.d.ts +35 -0
  35. package/lib/cjs/dto/member/MemberQueryDto.js +2 -0
  36. package/lib/cjs/dto/org/OrgGetMyData.d.ts +21 -0
  37. package/lib/cjs/dto/org/OrgGetMyData.js +2 -0
  38. package/lib/cjs/dto/org/OrgListDto.d.ts +6 -0
  39. package/lib/cjs/dto/org/OrgListDto.js +2 -0
  40. package/lib/cjs/dto/org/OrgQueryDto.d.ts +39 -0
  41. package/lib/cjs/dto/org/OrgQueryDto.js +2 -0
  42. package/lib/cjs/dto/org/OrgReadDto.d.ts +47 -0
  43. package/lib/cjs/dto/org/OrgReadDto.js +2 -0
  44. package/lib/cjs/dto/org/OrgUpdateReadDto.d.ts +39 -0
  45. package/lib/cjs/dto/org/OrgUpdateReadDto.js +2 -0
  46. package/lib/cjs/dto/public/CurrencyItem.d.ts +31 -0
  47. package/lib/cjs/dto/public/CurrencyItem.js +2 -0
  48. package/lib/cjs/dto/public/PlaceCommon.d.ts +43 -0
  49. package/lib/cjs/dto/public/PlaceCommon.js +2 -0
  50. package/lib/cjs/dto/public/PlaceLocation.d.ts +14 -0
  51. package/lib/cjs/dto/public/PlaceLocation.js +2 -0
  52. package/lib/cjs/dto/public/RegionData.d.ts +36 -0
  53. package/lib/cjs/dto/public/RegionData.js +2 -0
  54. package/lib/cjs/dto/user/AuditHistoryDto.d.ts +26 -0
  55. package/lib/cjs/dto/user/AuditHistoryDto.js +2 -0
  56. package/lib/cjs/dto/user/DeviceListDto.d.ts +8 -0
  57. package/lib/cjs/dto/user/DeviceListDto.js +2 -0
  58. package/lib/cjs/i18n/CoreCulture.d.ts +44 -0
  59. package/lib/cjs/i18n/CoreCulture.js +52 -0
  60. package/lib/cjs/i18n/en.json +40 -0
  61. package/lib/cjs/i18n/zh-Hans.json +40 -0
  62. package/lib/cjs/i18n/zh-Hant.json +40 -0
  63. package/lib/cjs/index.d.ts +39 -0
  64. package/lib/cjs/index.js +59 -0
  65. package/lib/cjs/rq/app/AppGetMyRQ.d.ts +19 -0
  66. package/lib/cjs/rq/app/AppGetMyRQ.js +2 -0
  67. package/lib/cjs/rq/app/AppListRQ.d.ts +18 -0
  68. package/lib/cjs/rq/app/AppListRQ.js +2 -0
  69. package/lib/cjs/rq/app/AppPurchasedQueryRQ.d.ts +17 -0
  70. package/lib/cjs/rq/app/AppPurchasedQueryRQ.js +2 -0
  71. package/lib/cjs/rq/app/AppQueryRQ.d.ts +6 -0
  72. package/lib/cjs/rq/app/AppQueryRQ.js +2 -0
  73. package/lib/cjs/rq/member/MemberListRQ.d.ts +18 -0
  74. package/lib/cjs/rq/member/MemberListRQ.js +2 -0
  75. package/lib/cjs/rq/member/MemberQueryRQ.d.ts +10 -0
  76. package/lib/cjs/rq/member/MemberQueryRQ.js +2 -0
  77. package/lib/cjs/rq/org/OrgCreateRQ.d.ts +37 -0
  78. package/lib/cjs/rq/org/OrgCreateRQ.js +2 -0
  79. package/lib/cjs/rq/org/OrgGetMyRQ.d.ts +11 -0
  80. package/lib/cjs/rq/org/OrgGetMyRQ.js +2 -0
  81. package/lib/cjs/rq/org/OrgListRQ.d.ts +12 -0
  82. package/lib/cjs/rq/org/OrgListRQ.js +2 -0
  83. package/lib/cjs/rq/org/OrgQueryRQ.d.ts +11 -0
  84. package/lib/cjs/rq/org/OrgQueryRQ.js +2 -0
  85. package/lib/cjs/rq/org/OrgUpdateRQ.d.ts +37 -0
  86. package/lib/cjs/rq/org/OrgUpdateRQ.js +2 -0
  87. package/lib/cjs/rq/public/CreateBarcodeRQ.d.ts +56 -0
  88. package/lib/cjs/rq/public/CreateBarcodeRQ.js +2 -0
  89. package/lib/cjs/rq/public/PinyinRQ.d.ts +38 -0
  90. package/lib/cjs/rq/public/PinyinRQ.js +21 -0
  91. package/lib/cjs/rq/public/PlaceQueryRQ.d.ts +58 -0
  92. package/lib/cjs/rq/public/PlaceQueryRQ.js +21 -0
  93. package/lib/cjs/rq/user/AuditHistoryRQ.d.ts +19 -0
  94. package/lib/cjs/rq/user/AuditHistoryRQ.js +2 -0
  95. package/lib/mjs/AppApi.d.ts +48 -0
  96. package/lib/mjs/AppApi.js +50 -0
  97. package/lib/mjs/CoreApp.d.ts +58 -0
  98. package/lib/mjs/CoreApp.js +64 -0
  99. package/lib/mjs/MemberApi.d.ts +38 -0
  100. package/lib/mjs/MemberApi.js +41 -0
  101. package/lib/mjs/OrgApi.d.ts +95 -0
  102. package/lib/mjs/OrgApi.js +106 -0
  103. package/lib/mjs/PublicApi.d.ts +105 -0
  104. package/lib/mjs/PublicApi.js +139 -0
  105. package/lib/mjs/UserApi.d.ts +53 -0
  106. package/lib/mjs/UserApi.js +64 -0
  107. package/lib/mjs/dto/IdentityType.d.ts +21 -0
  108. package/lib/mjs/dto/IdentityType.js +22 -0
  109. package/lib/mjs/dto/app/AppData.d.ts +31 -0
  110. package/lib/mjs/dto/app/AppData.js +1 -0
  111. package/lib/mjs/dto/app/AppListDto.d.ts +6 -0
  112. package/lib/mjs/dto/app/AppListDto.js +1 -0
  113. package/lib/mjs/dto/app/AppPurchasedQueryData.d.ts +28 -0
  114. package/lib/mjs/dto/app/AppPurchasedQueryData.js +1 -0
  115. package/lib/mjs/dto/app/AppQueryData.d.ts +42 -0
  116. package/lib/mjs/dto/app/AppQueryData.js +1 -0
  117. package/lib/mjs/dto/member/MemberListDto.d.ts +6 -0
  118. package/lib/mjs/dto/member/MemberListDto.js +1 -0
  119. package/lib/mjs/dto/member/MemberQueryDto.d.ts +35 -0
  120. package/lib/mjs/dto/member/MemberQueryDto.js +1 -0
  121. package/lib/mjs/dto/org/OrgGetMyData.d.ts +21 -0
  122. package/lib/mjs/dto/org/OrgGetMyData.js +1 -0
  123. package/lib/mjs/dto/org/OrgListDto.d.ts +6 -0
  124. package/lib/mjs/dto/org/OrgListDto.js +1 -0
  125. package/lib/mjs/dto/org/OrgQueryDto.d.ts +39 -0
  126. package/lib/mjs/dto/org/OrgQueryDto.js +1 -0
  127. package/lib/mjs/dto/org/OrgReadDto.d.ts +47 -0
  128. package/lib/mjs/dto/org/OrgReadDto.js +1 -0
  129. package/lib/mjs/dto/org/OrgUpdateReadDto.d.ts +39 -0
  130. package/lib/mjs/dto/org/OrgUpdateReadDto.js +1 -0
  131. package/lib/mjs/dto/public/CurrencyItem.d.ts +31 -0
  132. package/lib/mjs/dto/public/CurrencyItem.js +1 -0
  133. package/lib/mjs/dto/public/PlaceCommon.d.ts +43 -0
  134. package/lib/mjs/dto/public/PlaceCommon.js +1 -0
  135. package/lib/mjs/dto/public/PlaceLocation.d.ts +14 -0
  136. package/lib/mjs/dto/public/PlaceLocation.js +1 -0
  137. package/lib/mjs/dto/public/RegionData.d.ts +36 -0
  138. package/lib/mjs/dto/public/RegionData.js +1 -0
  139. package/lib/mjs/dto/user/AuditHistoryDto.d.ts +26 -0
  140. package/lib/mjs/dto/user/AuditHistoryDto.js +1 -0
  141. package/lib/mjs/dto/user/DeviceListDto.d.ts +8 -0
  142. package/lib/mjs/dto/user/DeviceListDto.js +1 -0
  143. package/lib/mjs/i18n/CoreCulture.d.ts +44 -0
  144. package/lib/mjs/i18n/CoreCulture.js +49 -0
  145. package/lib/mjs/i18n/en.json +40 -0
  146. package/lib/mjs/i18n/zh-Hans.json +40 -0
  147. package/lib/mjs/i18n/zh-Hant.json +40 -0
  148. package/lib/mjs/index.d.ts +39 -0
  149. package/lib/mjs/index.js +43 -0
  150. package/lib/mjs/rq/app/AppGetMyRQ.d.ts +19 -0
  151. package/lib/mjs/rq/app/AppGetMyRQ.js +1 -0
  152. package/lib/mjs/rq/app/AppListRQ.d.ts +18 -0
  153. package/lib/mjs/rq/app/AppListRQ.js +1 -0
  154. package/lib/mjs/rq/app/AppPurchasedQueryRQ.d.ts +17 -0
  155. package/lib/mjs/rq/app/AppPurchasedQueryRQ.js +1 -0
  156. package/lib/mjs/rq/app/AppQueryRQ.d.ts +6 -0
  157. package/lib/mjs/rq/app/AppQueryRQ.js +1 -0
  158. package/lib/mjs/rq/member/MemberListRQ.d.ts +18 -0
  159. package/lib/mjs/rq/member/MemberListRQ.js +1 -0
  160. package/lib/mjs/rq/member/MemberQueryRQ.d.ts +10 -0
  161. package/lib/mjs/rq/member/MemberQueryRQ.js +1 -0
  162. package/lib/mjs/rq/org/OrgCreateRQ.d.ts +37 -0
  163. package/lib/mjs/rq/org/OrgCreateRQ.js +1 -0
  164. package/lib/mjs/rq/org/OrgGetMyRQ.d.ts +11 -0
  165. package/lib/mjs/rq/org/OrgGetMyRQ.js +1 -0
  166. package/lib/mjs/rq/org/OrgListRQ.d.ts +12 -0
  167. package/lib/mjs/rq/org/OrgListRQ.js +1 -0
  168. package/lib/mjs/rq/org/OrgQueryRQ.d.ts +11 -0
  169. package/lib/mjs/rq/org/OrgQueryRQ.js +1 -0
  170. package/lib/mjs/rq/org/OrgUpdateRQ.d.ts +37 -0
  171. package/lib/mjs/rq/org/OrgUpdateRQ.js +1 -0
  172. package/lib/mjs/rq/public/CreateBarcodeRQ.d.ts +56 -0
  173. package/lib/mjs/rq/public/CreateBarcodeRQ.js +1 -0
  174. package/lib/mjs/rq/public/PinyinRQ.d.ts +38 -0
  175. package/lib/mjs/rq/public/PinyinRQ.js +18 -0
  176. package/lib/mjs/rq/public/PlaceQueryRQ.d.ts +58 -0
  177. package/lib/mjs/rq/public/PlaceQueryRQ.js +18 -0
  178. package/lib/mjs/rq/user/AuditHistoryRQ.d.ts +19 -0
  179. package/lib/mjs/rq/user/AuditHistoryRQ.js +1 -0
  180. package/package.json +75 -0
  181. package/src/AppApi.ts +66 -0
  182. package/src/CoreApp.ts +75 -0
  183. package/src/MemberApi.ts +51 -0
  184. package/src/OrgApi.ts +134 -0
  185. package/src/PublicApi.ts +183 -0
  186. package/src/UserApi.ts +77 -0
  187. package/src/dto/IdentityType.ts +23 -0
  188. package/src/dto/app/AppData.ts +35 -0
  189. package/src/dto/app/AppListDto.ts +7 -0
  190. package/src/dto/app/AppPurchasedQueryData.ts +32 -0
  191. package/src/dto/app/AppQueryData.ts +49 -0
  192. package/src/dto/member/MemberListDto.ts +7 -0
  193. package/src/dto/member/MemberQueryDto.ts +43 -0
  194. package/src/dto/org/OrgGetMyData.ts +23 -0
  195. package/src/dto/org/OrgListDto.ts +7 -0
  196. package/src/dto/org/OrgQueryDto.ts +47 -0
  197. package/src/dto/org/OrgReadDto.ts +57 -0
  198. package/src/dto/org/OrgUpdateReadDto.ts +47 -0
  199. package/src/dto/public/CurrencyItem.ts +35 -0
  200. package/src/dto/public/PlaceCommon.ts +52 -0
  201. package/src/dto/public/PlaceLocation.ts +15 -0
  202. package/src/dto/public/RegionData.ts +41 -0
  203. package/src/dto/user/AuditHistoryDto.ts +30 -0
  204. package/src/dto/user/DeviceListDto.ts +8 -0
  205. package/src/i18n/CoreCulture.ts +84 -0
  206. package/src/i18n/en.json +40 -0
  207. package/src/i18n/zh-Hans.json +40 -0
  208. package/src/i18n/zh-Hant.json +40 -0
  209. package/src/index.ts +54 -0
  210. package/src/rq/app/AppGetMyRQ.ts +21 -0
  211. package/src/rq/app/AppListRQ.ts +20 -0
  212. package/src/rq/app/AppPurchasedQueryRQ.ts +19 -0
  213. package/src/rq/app/AppQueryRQ.ts +7 -0
  214. package/src/rq/member/MemberListRQ.ts +21 -0
  215. package/src/rq/member/MemberQueryRQ.ts +11 -0
  216. package/src/rq/org/OrgCreateRQ.ts +43 -0
  217. package/src/rq/org/OrgGetMyRQ.ts +11 -0
  218. package/src/rq/org/OrgListRQ.ts +13 -0
  219. package/src/rq/org/OrgQueryRQ.ts +12 -0
  220. package/src/rq/org/OrgUpdateRQ.ts +43 -0
  221. package/src/rq/public/CreateBarcodeRQ.ts +65 -0
  222. package/src/rq/public/PinyinRQ.ts +43 -0
  223. package/src/rq/public/PlaceQueryRQ.ts +67 -0
  224. package/src/rq/user/AuditHistoryRQ.ts +22 -0
  225. package/tsconfig.cjs.json +19 -0
  226. package/tsconfig.json +19 -0
@@ -0,0 +1,51 @@
1
+ import { IApi, IApiPayload } from "@etsoo/restclient";
2
+ import { ListType } from "@etsoo/shared";
3
+ import { MemberListRQ } from "./rq/member/MemberListRQ";
4
+ import { MemberQueryRQ } from "./rq/member/MemberQueryRQ";
5
+ import { MemberQueryDto } from "./dto/member/MemberQueryDto";
6
+ import { EntityApi, IApp, IdResultPayload } from "@etsoo/appscript";
7
+ import { MemberListDto } from "./dto/member/MemberListDto";
8
+
9
+ /**
10
+ * Member API
11
+ */
12
+ export class MemberApi extends EntityApi {
13
+ /**
14
+ * Constructor
15
+ * @param app Application
16
+ * @param api API
17
+ */
18
+ constructor(app: IApp, api: IApi = app.api) {
19
+ super("Member", app, api);
20
+ }
21
+
22
+ /**
23
+ * Delete
24
+ * @param id Id
25
+ * @param payload Payload
26
+ * @returns Result
27
+ */
28
+ delete(id: number, payload?: IdResultPayload) {
29
+ return this.deleteBase(id, payload);
30
+ }
31
+
32
+ /**
33
+ * List
34
+ * @param rq Request data
35
+ * @param payload Payload
36
+ * @returns Result
37
+ */
38
+ list(rq: MemberListRQ, payload: IApiPayload<MemberListDto[]>) {
39
+ return this.listBase(rq, payload);
40
+ }
41
+
42
+ /**
43
+ * Query
44
+ * @param rq Request data
45
+ * @param payload Payload
46
+ * @returns Result
47
+ */
48
+ query(rq: MemberQueryRQ, payload?: IApiPayload<MemberQueryDto[]>) {
49
+ return this.queryBase(rq, payload);
50
+ }
51
+ }
package/src/OrgApi.ts ADDED
@@ -0,0 +1,134 @@
1
+ import { IApi, IApiPayload } from "@etsoo/restclient";
2
+ import { OrgCreateRQ } from "./rq/org/OrgCreateRQ";
3
+ import { OrgUpdateRQ } from "./rq/org/OrgUpdateRQ";
4
+ import { OrgQueryRQ } from "./rq/org/OrgQueryRQ";
5
+ import { OrgQueryDto } from "./dto/org/OrgQueryDto";
6
+ import { OrgReadDto } from "./dto/org/OrgReadDto";
7
+ import { OrgUpdateReadDto } from "./dto/org/OrgUpdateReadDto";
8
+ import { OrgListDto } from "./dto/org/OrgListDto";
9
+ import {
10
+ AntiforgeryRequestToken,
11
+ EntityApi,
12
+ IApp,
13
+ IdResultPayload,
14
+ MsgResultPayload
15
+ } from "@etsoo/appscript";
16
+ import { OrgListRQ } from "./rq/org/OrgListRQ";
17
+ import { OrgGetMyRQ } from "./rq/org/OrgGetMyRQ";
18
+ import { OrgGetMyData } from "./dto/org/OrgGetMyData";
19
+
20
+ /**
21
+ * Organization API
22
+ * 机构接口
23
+ */
24
+ export class OrgApi extends EntityApi {
25
+ /**
26
+ * Constructor
27
+ * @param app Application
28
+ * @param api API
29
+ */
30
+ constructor(app: IApp, api: IApi = app.api) {
31
+ super("Org", app, api);
32
+ }
33
+
34
+ /**
35
+ * Create
36
+ * @param rq Request data
37
+ * @param payload Payload
38
+ * @returns Result
39
+ */
40
+ create(rq: OrgCreateRQ, payload?: IdResultPayload) {
41
+ return this.createBase(rq, payload);
42
+ }
43
+
44
+ /**
45
+ * Delete
46
+ * @param id Id
47
+ * @param payload Payload
48
+ * @returns Result
49
+ */
50
+ delete(id: number, payload?: IdResultPayload) {
51
+ return this.deleteBase(id, payload);
52
+ }
53
+
54
+ /**
55
+ * Get user's latest accessed organizations
56
+ * @param rq Request data
57
+ * @param payload Payload
58
+ * @returns Result
59
+ */
60
+ getMy(rq: OrgGetMyRQ, payload?: IApiPayload<OrgGetMyData[]>) {
61
+ return this.api.post(`${this.flag}/GetMy`, rq, payload);
62
+ }
63
+
64
+ /**
65
+ * List
66
+ * @param rq Request data
67
+ * @param payload Payload
68
+ * @returns Result
69
+ */
70
+ list(rq: OrgListRQ, payload?: IApiPayload<OrgListDto[]>) {
71
+ return this.listBase(rq, payload);
72
+ }
73
+
74
+ /**
75
+ * Query
76
+ * @param rq Request data
77
+ * @param payload Payload
78
+ * @returns Result
79
+ */
80
+ query(rq: OrgQueryRQ, payload?: IApiPayload<OrgQueryDto[]>) {
81
+ return this.queryBase(rq, payload);
82
+ }
83
+
84
+ /**
85
+ * Read
86
+ * @param id Id
87
+ * @param payload Payload
88
+ * @returns Result
89
+ */
90
+ read(id: number, payload?: IApiPayload<OrgReadDto>) {
91
+ return this.readBase(id, payload);
92
+ }
93
+
94
+ /**
95
+ * Get Antiforgery request token
96
+ * 获取反伪造请求令牌
97
+ * @param payload Payload
98
+ * @returns Result
99
+ */
100
+ requestToken(payload?: IApiPayload<AntiforgeryRequestToken>) {
101
+ return this.api.get(`${this.flag}/RequestToken`, undefined, payload);
102
+ }
103
+
104
+ /**
105
+ * Update
106
+ * @param rq Request data
107
+ * @param payload Payload
108
+ * @returns Result
109
+ */
110
+ update(rq: OrgUpdateRQ, payload?: IdResultPayload) {
111
+ return this.updateBase(rq, payload);
112
+ }
113
+
114
+ /**
115
+ * Upload avatar
116
+ * @param id Organization id
117
+ * @param data Avatar form data
118
+ * @param payload Payload
119
+ * @returns Result
120
+ */
121
+ uploadAvatar(id: number, data: FormData, payload?: MsgResultPayload) {
122
+ return this.api.put(`${this.flag}/UploadAvatar/${id}`, data, payload);
123
+ }
124
+
125
+ /**
126
+ * Update read
127
+ * @param id Id
128
+ * @param payload Payload
129
+ * @returns Result
130
+ */
131
+ updateRead(id: number, payload?: IApiPayload<OrgUpdateReadDto>) {
132
+ return this.updateReadBase(id, payload);
133
+ }
134
+ }
@@ -0,0 +1,183 @@
1
+ import { IApi, IApiPayload } from "@etsoo/restclient";
2
+ import { DataTypes, ListType, ListType1 } from "@etsoo/shared";
3
+ import { PinyinRQ } from "./rq/public/PinyinRQ";
4
+ import { CreateBarcodeRQ } from "./rq/public/CreateBarcodeRQ";
5
+ import { CurrencyItem } from "./dto/public/CurrencyItem";
6
+ import { RegionData } from "./dto/public/RegionData";
7
+ import { PlaceQueryRQ } from "./rq/public/PlaceQueryRQ";
8
+ import { PlaceCommon } from "./dto/public/PlaceCommon";
9
+ import {
10
+ BaseApi,
11
+ Currency,
12
+ IApp,
13
+ ProductUnit,
14
+ RepeatOption
15
+ } from "@etsoo/appscript";
16
+
17
+ const unitPrefix = "unit";
18
+
19
+ /**
20
+ * Public API
21
+ * 公共接口
22
+ */
23
+ export class PublicApi extends BaseApi {
24
+ /**
25
+ * Constructor
26
+ * @param app Application
27
+ * @param api API
28
+ */
29
+ constructor(app: IApp, api: IApi = app.api) {
30
+ super(app, api);
31
+ }
32
+
33
+ /**
34
+ * Create barcode
35
+ * @param rq Request data
36
+ * @param payload Payload
37
+ * @returns Result
38
+ */
39
+ createBarcode(rq: CreateBarcodeRQ, payload?: IApiPayload<string>) {
40
+ return this.api.post("Public/CreateBarcode", rq, payload);
41
+ }
42
+
43
+ /**
44
+ * Get currency label
45
+ * @param currency Currency
46
+ * @returns Label
47
+ */
48
+ getCurrencyLabel(currency: Currency | string) {
49
+ const c = `currency${currency}`;
50
+ return this.app.get(c) ?? c;
51
+ }
52
+
53
+ /**
54
+ * Get currencies
55
+ * @param ids Currency ids to include and order by
56
+ * @param payload Payload
57
+ * @returns Result
58
+ */
59
+ getCurrencies(ids?: string[], payload?: IApiPayload<CurrencyItem[]>) {
60
+ return this.api.post("Public/GetCurrencies", ids, payload);
61
+ }
62
+
63
+ /**
64
+ * Get Pinyin
65
+ * @param rq Request data
66
+ * @param payload Payload
67
+ * @returns Result
68
+ */
69
+ getPinyin(rq: PinyinRQ, payload?: IApiPayload<string>) {
70
+ return this.api.post("Public/GetPinyin", rq, payload);
71
+ }
72
+
73
+ /**
74
+ * Get regions
75
+ * @param ids Region ids to include and order by
76
+ * @param payload Payload
77
+ * @returns Result
78
+ */
79
+ getRegions(ids?: string[], payload?: IApiPayload<RegionData[]>) {
80
+ return this.api.post("Public/GetRegions", ids, payload);
81
+ }
82
+
83
+ /**
84
+ * Get product unit's label
85
+ * Please define the label in culture with key 'unitPC' for ProductUnit.PC like that
86
+ * @param unit Unit
87
+ * @param isJoined Add the join label like 'per Kg' for Kg
88
+ * @returns Label
89
+ */
90
+ getUnitLabel(unit: ProductUnit | number, isJoined?: boolean | string) {
91
+ const key = ProductUnit[unit];
92
+ const label = this.app.get(unitPrefix + key) ?? key;
93
+ const join = this.getUnitJoin(isJoined);
94
+ if (join) {
95
+ return join.format(label);
96
+ }
97
+ return label;
98
+ }
99
+
100
+ private getUnitJoin(isJoined: boolean | string | undefined) {
101
+ return typeof isJoined === "string"
102
+ ? this.app.get(isJoined) ?? isJoined
103
+ : isJoined
104
+ ? this.app.get("unitJoin")
105
+ : undefined;
106
+ }
107
+
108
+ /**
109
+ * Get mobile base64 QRCode
110
+ * @param id User id
111
+ * @param host Host URL
112
+ * @param payload Payload
113
+ */
114
+ mobileQRCode(id?: string, host?: string, payload?: IApiPayload<string>) {
115
+ return this.api.post("Public/MobileQRCode", { id, host }, payload);
116
+ }
117
+
118
+ /**
119
+ * Query place
120
+ * @param rq Request data
121
+ * @param payload Payload
122
+ * @returns Result
123
+ */
124
+ queryPlace(rq: PlaceQueryRQ, payload?: IApiPayload<PlaceCommon[]>) {
125
+ return this.api.post("Public/QueryPlace", rq, payload);
126
+ }
127
+
128
+ /**
129
+ *
130
+ * Get all repeat options
131
+ * @param options Define the order and limit the items
132
+ * @param isJoined Add the join label
133
+ * @returns Result
134
+ */
135
+ repeatOptions(options?: string[], isJoined: boolean = true): ListType[] {
136
+ options ??= DataTypes.getEnumKeys(RepeatOption);
137
+ return this.units(options, isJoined);
138
+ }
139
+
140
+ /**
141
+ * Get all supported cultures
142
+ * @param payload Payload
143
+ * @returns Result
144
+ */
145
+ supportedCultures(payload?: IApiPayload<ListType1[]>) {
146
+ return this.api.get("Public/SupportedCultures", undefined, payload);
147
+ }
148
+
149
+ /**
150
+ * Get all product units
151
+ * @returns Units
152
+ */
153
+ units(): ListType[];
154
+
155
+ /**
156
+ *
157
+ * Get all product units
158
+ * @param options Define the order and limit the items
159
+ * @param isJoined Add the join label like 'per Kg' for Kg
160
+ * @returns Units
161
+ */
162
+ units(options?: string[], isJoined?: boolean): ListType[];
163
+
164
+ /**
165
+ *
166
+ * Get all product units
167
+ * @param options Define the order and limit the items
168
+ * @param isJoined Add the join label like 'per Kg' for Kg
169
+ * @returns Units
170
+ */
171
+ units(options?: string[], isJoined?: boolean | string): ListType[] {
172
+ options ??= DataTypes.getEnumKeys(ProductUnit);
173
+ return options.map((key) => {
174
+ const id = DataTypes.getEnumByKey(ProductUnit, key)! as number;
175
+ return {
176
+ id,
177
+ label: this.getUnitLabel(id, this.getUnitJoin(isJoined)).formatInitial(
178
+ true
179
+ )
180
+ };
181
+ });
182
+ }
183
+ }
package/src/UserApi.ts ADDED
@@ -0,0 +1,77 @@
1
+ import { EntityApi, IApp, MsgResultPayload, QueryRQ } from "@etsoo/appscript";
2
+ import { IApi, IApiPayload } from "@etsoo/restclient";
3
+ import { DeviceListDto } from "./dto/user/DeviceListDto";
4
+ import { AuditHistoryRQ } from "./rq/user/AuditHistoryRQ";
5
+ import { AuditHistoryDto } from "./dto/user/AuditHistoryDto";
6
+ import { AppData } from "./dto/app/AppData";
7
+
8
+ /**
9
+ * User API
10
+ * 用户接口
11
+ */
12
+ export class UserApi extends EntityApi {
13
+ /**
14
+ * Constructor
15
+ * @param app Application
16
+ * @param api API
17
+ */
18
+ constructor(app: IApp, api: IApi = app.api) {
19
+ super("User", app, api);
20
+ }
21
+
22
+ /**
23
+ * Audit history
24
+ * @param rq Request data
25
+ * @param payload Payload
26
+ * @returns Result
27
+ */
28
+ auditHistory(rq: AuditHistoryRQ, payload?: IApiPayload<AuditHistoryDto[]>) {
29
+ return this.api.post(`${this.flag}/AuditHistory`, rq, payload);
30
+ }
31
+
32
+ /**
33
+ * Device list
34
+ * @param rq Request data
35
+ * @param payload Payload
36
+ * @returns Result
37
+ */
38
+ deviceList(rq: QueryRQ, payload?: IApiPayload<DeviceListDto[]>) {
39
+ return this.api.post(`${this.flag}/DeviceList`, rq, payload);
40
+ }
41
+
42
+ /**
43
+ * Get user's current apps
44
+ * 获取用户当前应用
45
+ * @param payload Payload
46
+ * @returns Result
47
+ */
48
+ getCurrentApps(payload?: IApiPayload<AppData[]>) {
49
+ return this.api.get(`${this.flag}/GetCurrentApps`, undefined, payload);
50
+ }
51
+
52
+ /**
53
+ * Get user latest app
54
+ * 获取用户最新应用
55
+ * @param payload Payload
56
+ * @returns Result
57
+ */
58
+ getLatestApp(payload?: IApiPayload<string>) {
59
+ return this.api.get("User/GetLatestApp", undefined, payload);
60
+ }
61
+
62
+ /**
63
+ * Update avatar
64
+ * @param data Avatar form data
65
+ * @param payload Payload
66
+ * @returns Result
67
+ */
68
+ updateAvatar(data: FormData, payload?: MsgResultPayload) {
69
+ payload ??= { config: {} };
70
+
71
+ // Credentials for anti-forgery cookie sending
72
+ if (payload.config && payload.config.credentials == null)
73
+ payload.config.credentials = "include";
74
+
75
+ return this.api.put(`${this.flag}/UpdateAvatar`, data, payload);
76
+ }
77
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Identity type
3
+ * 标识类型
4
+ */
5
+ export enum IdentityType {
6
+ /**
7
+ * User
8
+ * 用户
9
+ */
10
+ User = 1,
11
+
12
+ /**
13
+ * Customer
14
+ * 客户
15
+ */
16
+ Customer = 2,
17
+
18
+ /**
19
+ * Supplier
20
+ * 供应商
21
+ */
22
+ Supplier = 4
23
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Application data
3
+ * 程序数据
4
+ */
5
+ export type AppData = {
6
+ /**
7
+ * Id
8
+ * 编号
9
+ */
10
+ id: number;
11
+
12
+ /**
13
+ * Application name
14
+ * 程序名称
15
+ */
16
+ name: string;
17
+
18
+ /**
19
+ * Web URL
20
+ * Web网址
21
+ */
22
+ webUrl: string;
23
+
24
+ /**
25
+ * Help URL
26
+ * 帮助网址
27
+ */
28
+ helpUrl?: string;
29
+
30
+ /**
31
+ * Logo
32
+ * 图标
33
+ */
34
+ logo?: string;
35
+ };
@@ -0,0 +1,7 @@
1
+ import { DataTypes } from "@etsoo/shared";
2
+
3
+ /**
4
+ * Application list data
5
+ * 应用列表数据
6
+ */
7
+ export type AppListDto = DataTypes.IdNameItem & {};
@@ -0,0 +1,32 @@
1
+ import { EntityStatus } from "@etsoo/appscript";
2
+ import { AppQueryData } from "./AppQueryData";
3
+
4
+ /**
5
+ * Application purchased query data
6
+ * 购买的应用查询数据
7
+ */
8
+ export type AppPurchasedQueryData = AppQueryData & {
9
+ /**
10
+ * Expiry
11
+ * 到期时间
12
+ */
13
+ expiry?: string | Date;
14
+
15
+ /**
16
+ * Expiry days
17
+ * 到期天数
18
+ */
19
+ expiryDays?: number;
20
+
21
+ /**
22
+ * Status
23
+ * 状态
24
+ */
25
+ status: EntityStatus;
26
+
27
+ /**
28
+ * Creation
29
+ * 创建时间
30
+ */
31
+ creation: string | Date;
32
+ };
@@ -0,0 +1,49 @@
1
+ import { IdentityType } from "../IdentityType";
2
+
3
+ /**
4
+ * Application query data
5
+ * 应用查询数据
6
+ */
7
+ export type AppQueryData = {
8
+ /**
9
+ * Id
10
+ * 编号
11
+ */
12
+ id: number;
13
+
14
+ /**
15
+ * Name
16
+ * 名称
17
+ */
18
+ name: string;
19
+
20
+ /**
21
+ * Identity type
22
+ * 身份类型
23
+ */
24
+ identityType: IdentityType;
25
+
26
+ /**
27
+ * Require local URL or not
28
+ * 是否需要本地地址
29
+ */
30
+ requireLocalUrl?: boolean;
31
+
32
+ /**
33
+ * Web URL
34
+ * 网页地址
35
+ */
36
+ webUrl: string;
37
+
38
+ /**
39
+ * Help URL
40
+ * 帮助地址
41
+ */
42
+ helpUrl?: string;
43
+
44
+ /**
45
+ * Logo
46
+ * 图标
47
+ */
48
+ logo?: string;
49
+ };
@@ -0,0 +1,7 @@
1
+ import { DataTypes } from "@etsoo/shared";
2
+
3
+ /**
4
+ * Member list data
5
+ * 成员列表数据
6
+ */
7
+ export type MemberListDto = DataTypes.IdNameItem & {};
@@ -0,0 +1,43 @@
1
+ import { EntityStatus, UserRole } from "@etsoo/appscript";
2
+
3
+ export type MemberQueryDto = {
4
+ /**
5
+ * Id
6
+ */
7
+ id: number;
8
+
9
+ /**
10
+ * Name
11
+ */
12
+ name: string;
13
+
14
+ /**
15
+ * User role
16
+ */
17
+ userRole: UserRole;
18
+
19
+ /**
20
+ * Status
21
+ */
22
+ status: EntityStatus;
23
+
24
+ /**
25
+ * Assigned ID
26
+ */
27
+ assignedId?: string;
28
+
29
+ /**
30
+ * Is myself
31
+ */
32
+ isSelf: boolean;
33
+
34
+ /**
35
+ * Is owner
36
+ */
37
+ isOwner: boolean;
38
+
39
+ /**
40
+ * Creation
41
+ */
42
+ creation: string | Date;
43
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Get user's latest accessed organizations data
3
+ * 获取用户最近访问的机构数据
4
+ */
5
+ export type OrgGetMyData = {
6
+ /**
7
+ * Id
8
+ * 编号
9
+ */
10
+ id: number;
11
+
12
+ /**
13
+ * Name
14
+ * 名称
15
+ */
16
+ name: string;
17
+
18
+ /**
19
+ * Brand
20
+ * 品牌
21
+ */
22
+ brand?: string;
23
+ };
@@ -0,0 +1,7 @@
1
+ import { DataTypes } from "@etsoo/shared";
2
+
3
+ /**
4
+ * Organization list data
5
+ * 机构列表数据
6
+ */
7
+ export type OrgListDto = DataTypes.IdNameItem & {};