@etsoo/smarterp-core 1.0.0 → 1.0.2

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 (217) hide show
  1. package/__tests__/OrgApi.ts +6 -3
  2. package/__tests__/PublicApi.ts +3 -1
  3. package/__tests__/UserApi.ts +1 -1
  4. package/__tests__/tsconfig.json +12 -10
  5. package/lib/cjs/AppApi.d.ts +59 -1
  6. package/lib/cjs/AppApi.js +64 -1
  7. package/lib/cjs/AuthCodeApi.d.ts +29 -0
  8. package/lib/cjs/AuthCodeApi.js +50 -0
  9. package/lib/cjs/CoreApp.d.ts +116 -10
  10. package/lib/cjs/CoreApp.js +72 -6
  11. package/lib/cjs/CoreUtils.d.ts +4 -0
  12. package/lib/cjs/CoreUtils.js +2 -0
  13. package/lib/cjs/ICoreServiceApp.d.ts +30 -0
  14. package/lib/cjs/ICoreServiceApp.js +49 -0
  15. package/lib/cjs/MemberApi.d.ts +41 -1
  16. package/lib/cjs/MemberApi.js +46 -0
  17. package/lib/cjs/OrgApi.d.ts +9 -2
  18. package/lib/cjs/OrgApi.js +12 -3
  19. package/lib/cjs/PublicApi.d.ts +17 -1
  20. package/lib/cjs/PublicApi.js +20 -2
  21. package/lib/cjs/UserApi.d.ts +30 -1
  22. package/lib/cjs/UserApi.js +36 -1
  23. package/lib/cjs/components/DefaultUI.d.ts +21 -0
  24. package/lib/cjs/components/DefaultUI.js +34 -0
  25. package/lib/cjs/components/app/AppSwitchPopover.d.ts +4 -0
  26. package/lib/cjs/components/app/AppSwitchPopover.js +43 -0
  27. package/lib/cjs/components/index.d.ts +4 -0
  28. package/lib/cjs/components/index.js +23 -0
  29. package/lib/cjs/components/org/OrgSwitchPopover.d.ts +4 -0
  30. package/lib/cjs/components/org/OrgSwitchPopover.js +49 -0
  31. package/lib/cjs/components/org/OrgTiplist.d.ts +23 -0
  32. package/lib/cjs/components/org/OrgTiplist.js +28 -0
  33. package/lib/cjs/dto/app/AppQueryData.d.ts +5 -0
  34. package/lib/cjs/dto/app/AppReadDto.d.ts +62 -0
  35. package/lib/cjs/dto/app/AppReadDto.js +2 -0
  36. package/lib/cjs/dto/app/AppUpdateReadDto.d.ts +35 -0
  37. package/lib/cjs/dto/app/AppUpdateReadDto.js +2 -0
  38. package/lib/cjs/dto/app/CreateApiKeyData.d.ts +16 -0
  39. package/lib/cjs/dto/app/CreateApiKeyData.js +2 -0
  40. package/lib/cjs/dto/authCode/AuthCodeAction.d.ts +12 -0
  41. package/lib/cjs/dto/authCode/AuthCodeAction.js +16 -0
  42. package/lib/cjs/dto/member/MemberQueryDto.d.ts +4 -0
  43. package/lib/cjs/dto/member/MemberReadDto.d.ts +56 -0
  44. package/lib/cjs/dto/member/MemberReadDto.js +2 -0
  45. package/lib/cjs/dto/member/MemberUpdateReadDto.d.ts +39 -0
  46. package/lib/cjs/dto/member/MemberUpdateReadDto.js +2 -0
  47. package/lib/cjs/dto/org/OrgListDto.d.ts +7 -1
  48. package/lib/cjs/dto/org/OrgQueryDto.d.ts +8 -0
  49. package/lib/cjs/dto/org/OrgReadDto.d.ts +16 -0
  50. package/lib/cjs/dto/org/OrgUpdateReadDto.d.ts +0 -4
  51. package/lib/cjs/dto/public/MemberInvitationDto.d.ts +29 -0
  52. package/lib/cjs/dto/public/MemberInvitationDto.js +2 -0
  53. package/lib/cjs/dto/user/AuditHistoryDto.d.ts +8 -4
  54. package/lib/cjs/dto/user/UserIdentifierData.d.ts +27 -0
  55. package/lib/cjs/dto/user/UserIdentifierData.js +2 -0
  56. package/lib/cjs/i18n/en.json +40 -2
  57. package/lib/cjs/i18n/zh-Hans.json +40 -2
  58. package/lib/cjs/i18n/zh-Hant.json +40 -2
  59. package/lib/cjs/index.d.ts +22 -0
  60. package/lib/cjs/index.js +22 -0
  61. package/lib/cjs/rq/app/AppBuyNewRQ.d.ts +26 -0
  62. package/lib/cjs/rq/app/AppBuyNewRQ.js +2 -0
  63. package/lib/cjs/rq/app/AppBuyRQ.d.ts +16 -0
  64. package/lib/cjs/rq/app/AppBuyRQ.js +2 -0
  65. package/lib/cjs/rq/app/AppCreateApiKeyRQ.d.ts +16 -0
  66. package/lib/cjs/rq/app/AppCreateApiKeyRQ.js +2 -0
  67. package/lib/cjs/rq/app/AppGetMyRQ.d.ts +1 -1
  68. package/lib/cjs/rq/app/AppRenewRQ.d.ts +16 -0
  69. package/lib/cjs/rq/app/AppRenewRQ.js +2 -0
  70. package/lib/cjs/rq/app/AppUpdateRQ.d.ts +31 -0
  71. package/lib/cjs/rq/app/AppUpdateRQ.js +2 -0
  72. package/lib/cjs/rq/authCode/SendEmailRQ.d.ts +31 -0
  73. package/lib/cjs/rq/authCode/SendEmailRQ.js +2 -0
  74. package/lib/cjs/rq/authCode/SendSMSRQ.d.ts +27 -0
  75. package/lib/cjs/rq/authCode/SendSMSRQ.js +2 -0
  76. package/lib/cjs/rq/authCode/ValidateRQ.d.ts +17 -0
  77. package/lib/cjs/rq/authCode/ValidateRQ.js +2 -0
  78. package/lib/cjs/rq/member/MemberInviteRQ.d.ts +22 -0
  79. package/lib/cjs/rq/member/MemberInviteRQ.js +2 -0
  80. package/lib/cjs/rq/member/MemberUpdateRQ.d.ts +32 -0
  81. package/lib/cjs/rq/member/MemberUpdateRQ.js +2 -0
  82. package/lib/cjs/rq/org/OrgCreateRQ.d.ts +5 -0
  83. package/lib/cjs/rq/public/AcceptInvitationRQ.d.ts +16 -0
  84. package/lib/cjs/rq/public/AcceptInvitationRQ.js +2 -0
  85. package/lib/cjs/rq/user/AuditHistoryRQ.d.ts +8 -0
  86. package/lib/mjs/AppApi.d.ts +59 -1
  87. package/lib/mjs/AppApi.js +64 -1
  88. package/lib/mjs/AuthCodeApi.d.ts +29 -0
  89. package/lib/mjs/AuthCodeApi.js +46 -0
  90. package/lib/mjs/CoreApp.d.ts +116 -10
  91. package/lib/mjs/CoreApp.js +73 -7
  92. package/lib/mjs/CoreUtils.d.ts +4 -0
  93. package/lib/mjs/CoreUtils.js +1 -0
  94. package/lib/mjs/ICoreServiceApp.d.ts +30 -0
  95. package/lib/mjs/ICoreServiceApp.js +41 -0
  96. package/lib/mjs/MemberApi.d.ts +41 -1
  97. package/lib/mjs/MemberApi.js +46 -0
  98. package/lib/mjs/OrgApi.d.ts +9 -2
  99. package/lib/mjs/OrgApi.js +12 -3
  100. package/lib/mjs/PublicApi.d.ts +17 -1
  101. package/lib/mjs/PublicApi.js +20 -2
  102. package/lib/mjs/UserApi.d.ts +30 -1
  103. package/lib/mjs/UserApi.js +36 -1
  104. package/lib/mjs/components/DefaultUI.d.ts +21 -0
  105. package/lib/mjs/components/DefaultUI.js +31 -0
  106. package/lib/mjs/components/app/AppSwitchPopover.d.ts +4 -0
  107. package/lib/mjs/components/app/AppSwitchPopover.js +37 -0
  108. package/lib/mjs/components/index.d.ts +4 -0
  109. package/lib/mjs/components/index.js +7 -0
  110. package/lib/mjs/components/org/OrgSwitchPopover.d.ts +4 -0
  111. package/lib/mjs/components/org/OrgSwitchPopover.js +43 -0
  112. package/lib/mjs/components/org/OrgTiplist.d.ts +23 -0
  113. package/lib/mjs/components/org/OrgTiplist.js +25 -0
  114. package/lib/mjs/dto/app/AppQueryData.d.ts +5 -0
  115. package/lib/mjs/dto/app/AppReadDto.d.ts +62 -0
  116. package/lib/mjs/dto/app/AppReadDto.js +1 -0
  117. package/lib/mjs/dto/app/AppUpdateReadDto.d.ts +35 -0
  118. package/lib/mjs/dto/app/AppUpdateReadDto.js +1 -0
  119. package/lib/mjs/dto/app/CreateApiKeyData.d.ts +16 -0
  120. package/lib/mjs/dto/app/CreateApiKeyData.js +1 -0
  121. package/lib/mjs/dto/authCode/AuthCodeAction.d.ts +12 -0
  122. package/lib/mjs/dto/authCode/AuthCodeAction.js +13 -0
  123. package/lib/mjs/dto/member/MemberQueryDto.d.ts +4 -0
  124. package/lib/mjs/dto/member/MemberReadDto.d.ts +56 -0
  125. package/lib/mjs/dto/member/MemberReadDto.js +1 -0
  126. package/lib/mjs/dto/member/MemberUpdateReadDto.d.ts +39 -0
  127. package/lib/mjs/dto/member/MemberUpdateReadDto.js +1 -0
  128. package/lib/mjs/dto/org/OrgListDto.d.ts +7 -1
  129. package/lib/mjs/dto/org/OrgQueryDto.d.ts +8 -0
  130. package/lib/mjs/dto/org/OrgReadDto.d.ts +16 -0
  131. package/lib/mjs/dto/org/OrgUpdateReadDto.d.ts +0 -4
  132. package/lib/mjs/dto/public/MemberInvitationDto.d.ts +29 -0
  133. package/lib/mjs/dto/public/MemberInvitationDto.js +1 -0
  134. package/lib/mjs/dto/user/AuditHistoryDto.d.ts +8 -4
  135. package/lib/mjs/dto/user/UserIdentifierData.d.ts +27 -0
  136. package/lib/mjs/dto/user/UserIdentifierData.js +1 -0
  137. package/lib/mjs/i18n/en.json +40 -2
  138. package/lib/mjs/i18n/zh-Hans.json +40 -2
  139. package/lib/mjs/i18n/zh-Hant.json +40 -2
  140. package/lib/mjs/index.d.ts +22 -0
  141. package/lib/mjs/index.js +22 -0
  142. package/lib/mjs/rq/app/AppBuyNewRQ.d.ts +26 -0
  143. package/lib/mjs/rq/app/AppBuyNewRQ.js +1 -0
  144. package/lib/mjs/rq/app/AppBuyRQ.d.ts +16 -0
  145. package/lib/mjs/rq/app/AppBuyRQ.js +1 -0
  146. package/lib/mjs/rq/app/AppCreateApiKeyRQ.d.ts +16 -0
  147. package/lib/mjs/rq/app/AppCreateApiKeyRQ.js +1 -0
  148. package/lib/mjs/rq/app/AppGetMyRQ.d.ts +1 -1
  149. package/lib/mjs/rq/app/AppRenewRQ.d.ts +16 -0
  150. package/lib/mjs/rq/app/AppRenewRQ.js +1 -0
  151. package/lib/mjs/rq/app/AppUpdateRQ.d.ts +31 -0
  152. package/lib/mjs/rq/app/AppUpdateRQ.js +1 -0
  153. package/lib/mjs/rq/authCode/SendEmailRQ.d.ts +31 -0
  154. package/lib/mjs/rq/authCode/SendEmailRQ.js +1 -0
  155. package/lib/mjs/rq/authCode/SendSMSRQ.d.ts +27 -0
  156. package/lib/mjs/rq/authCode/SendSMSRQ.js +1 -0
  157. package/lib/mjs/rq/authCode/ValidateRQ.d.ts +17 -0
  158. package/lib/mjs/rq/authCode/ValidateRQ.js +1 -0
  159. package/lib/mjs/rq/member/MemberInviteRQ.d.ts +22 -0
  160. package/lib/mjs/rq/member/MemberInviteRQ.js +1 -0
  161. package/lib/mjs/rq/member/MemberUpdateRQ.d.ts +32 -0
  162. package/lib/mjs/rq/member/MemberUpdateRQ.js +1 -0
  163. package/lib/mjs/rq/org/OrgCreateRQ.d.ts +5 -0
  164. package/lib/mjs/rq/public/AcceptInvitationRQ.d.ts +16 -0
  165. package/lib/mjs/rq/public/AcceptInvitationRQ.js +1 -0
  166. package/lib/mjs/rq/user/AuditHistoryRQ.d.ts +8 -0
  167. package/package.json +26 -36
  168. package/src/AppApi.ts +89 -2
  169. package/src/AuthCodeApi.ts +51 -0
  170. package/src/CoreApp.ts +152 -9
  171. package/src/CoreUtils.ts +4 -0
  172. package/src/ICoreServiceApp.ts +62 -0
  173. package/src/MemberApi.ts +61 -2
  174. package/src/OrgApi.ts +13 -3
  175. package/src/PublicApi.ts +24 -1
  176. package/src/UserApi.ts +53 -1
  177. package/src/components/DefaultUI.tsx +37 -0
  178. package/src/components/app/AppSwitchPopover.tsx +83 -0
  179. package/src/components/index.ts +9 -0
  180. package/src/components/org/OrgSwitchPopover.tsx +99 -0
  181. package/src/components/org/OrgTiplist.tsx +69 -0
  182. package/src/dto/app/AppQueryData.ts +6 -0
  183. package/src/dto/app/AppReadDto.ts +75 -0
  184. package/src/dto/app/AppUpdateReadDto.ts +42 -0
  185. package/src/dto/app/CreateApiKeyData.ts +17 -0
  186. package/src/dto/authCode/AuthCodeAction.ts +13 -0
  187. package/src/dto/member/MemberQueryDto.ts +5 -0
  188. package/src/dto/member/MemberReadDto.ts +68 -0
  189. package/src/dto/member/MemberUpdateReadDto.ts +47 -0
  190. package/src/dto/org/OrgListDto.ts +7 -1
  191. package/src/dto/org/OrgQueryDto.ts +10 -0
  192. package/src/dto/org/OrgReadDto.ts +20 -0
  193. package/src/dto/org/OrgUpdateReadDto.ts +0 -5
  194. package/src/dto/public/MemberInvitationDto.ts +34 -0
  195. package/src/dto/user/AuditHistoryDto.ts +9 -4
  196. package/src/dto/user/UserIdentifierData.ts +31 -0
  197. package/src/i18n/en.json +40 -2
  198. package/src/i18n/zh-Hans.json +40 -2
  199. package/src/i18n/zh-Hant.json +40 -2
  200. package/src/index.ts +24 -0
  201. package/src/rq/app/AppBuyNewRQ.ts +29 -0
  202. package/src/rq/app/AppBuyRQ.ts +17 -0
  203. package/src/rq/app/AppCreateApiKeyRQ.ts +17 -0
  204. package/src/rq/app/AppGetMyRQ.ts +1 -1
  205. package/src/rq/app/AppRenewRQ.ts +17 -0
  206. package/src/rq/app/AppUpdateRQ.ts +36 -0
  207. package/src/rq/authCode/SendEmailRQ.ts +36 -0
  208. package/src/rq/authCode/SendSMSRQ.ts +31 -0
  209. package/src/rq/authCode/ValidateRQ.ts +19 -0
  210. package/src/rq/member/MemberInviteRQ.ts +25 -0
  211. package/src/rq/member/MemberUpdateRQ.ts +37 -0
  212. package/src/rq/org/OrgCreateRQ.ts +6 -0
  213. package/src/rq/public/AcceptInvitationRQ.ts +17 -0
  214. package/src/rq/user/AuditHistoryRQ.ts +10 -0
  215. package/tsconfig.cjs.json +4 -3
  216. package/tsconfig.json +5 -4
  217. package/vite.config.mts +12 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useRequiredAppContext = useRequiredAppContext;
7
+ exports.usePageData = usePageData;
8
+ exports.usePageDataEmpty = usePageDataEmpty;
9
+ const materialui_1 = require("@etsoo/materialui");
10
+ const react_1 = require("@etsoo/react");
11
+ const react_2 = __importDefault(require("react"));
12
+ const toolpad_1 = require("@etsoo/toolpad");
13
+ /**
14
+ * Get core service application context hook
15
+ * @returns Application
16
+ */
17
+ function useRequiredAppContext() {
18
+ // Get the app context
19
+ const app = (0, react_1.useRequiredContext)(materialui_1.ReactAppContext);
20
+ // Assume the app is core service app
21
+ return app;
22
+ }
23
+ /**
24
+ * Use page data
25
+ * @param app Application
26
+ * @param pageTitle Page title
27
+ * @param deps Dependencies
28
+ */
29
+ function usePageData(app, pageTitle, deps) {
30
+ const { dispatch } = react_2.default.useContext(toolpad_1.PageDataContext);
31
+ react_2.default.useEffect(() => {
32
+ // Page title
33
+ dispatch({ page: pageTitle });
34
+ return () => {
35
+ app.pageExit();
36
+ };
37
+ }, deps);
38
+ }
39
+ /**
40
+ * Use page data empty
41
+ * @param app Application
42
+ */
43
+ function usePageDataEmpty(app) {
44
+ react_2.default.useEffect(() => {
45
+ return () => {
46
+ app.pageExit();
47
+ };
48
+ }, []);
49
+ }
@@ -2,8 +2,12 @@ import { IApi, IApiPayload } from "@etsoo/restclient";
2
2
  import { MemberListRQ } from "./rq/member/MemberListRQ";
3
3
  import { MemberQueryRQ } from "./rq/member/MemberQueryRQ";
4
4
  import { MemberQueryDto } from "./dto/member/MemberQueryDto";
5
- import { EntityApi, IApp, IdResultPayload } from "@etsoo/appscript";
5
+ import { EntityApi, IApp, IdResultPayload, MsgResultPayload } from "@etsoo/appscript";
6
6
  import { MemberListDto } from "./dto/member/MemberListDto";
7
+ import { MemberReadDto } from "./dto/member/MemberReadDto";
8
+ import { MemberUpdateReadDto } from "./dto/member/MemberUpdateReadDto";
9
+ import { MemberUpdateRQ } from "./rq/member/MemberUpdateRQ";
10
+ import { MemberInviteRQ } from "./rq/member/MemberInviteRQ";
7
11
  /**
8
12
  * Member API
9
13
  */
@@ -21,6 +25,13 @@ export declare class MemberApi extends EntityApi {
21
25
  * @returns Result
22
26
  */
23
27
  delete(id: number, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
28
+ /**
29
+ * Invite
30
+ * @param rq Request data
31
+ * @param payload Payload
32
+ * @returns Result
33
+ */
34
+ invite(rq: MemberInviteRQ, payload?: MsgResultPayload): Promise<import("@etsoo/shared").MsgActionResult | undefined>;
24
35
  /**
25
36
  * List
26
37
  * @param rq Request data
@@ -35,4 +46,33 @@ export declare class MemberApi extends EntityApi {
35
46
  * @returns Result
36
47
  */
37
48
  query(rq: MemberQueryRQ, payload?: IApiPayload<MemberQueryDto[]>): Promise<MemberQueryDto[] | undefined>;
49
+ /**
50
+ * Read
51
+ * @param id Id
52
+ * @param payload Payload
53
+ * @returns Result
54
+ */
55
+ read(id: number, payload?: IApiPayload<MemberReadDto>): Promise<MemberReadDto | undefined>;
56
+ /**
57
+ * Update
58
+ * @param rq Request data
59
+ * @param payload Payload
60
+ * @returns Result
61
+ */
62
+ update(rq: MemberUpdateRQ, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
63
+ /**
64
+ * Update avatar
65
+ * @param id Organization id
66
+ * @param data Avatar form data
67
+ * @param payload Payload
68
+ * @returns Result
69
+ */
70
+ updateAvatar(id: number, data: FormData, payload?: MsgResultPayload): Promise<import("@etsoo/shared").MsgActionResult | undefined>;
71
+ /**
72
+ * Update read
73
+ * @param id Id
74
+ * @param payload Payload
75
+ * @returns Result
76
+ */
77
+ updateRead(id: number, payload?: IApiPayload<MemberUpdateReadDto>): Promise<MemberUpdateReadDto | undefined>;
38
78
  }
@@ -23,6 +23,15 @@ class MemberApi extends appscript_1.EntityApi {
23
23
  delete(id, payload) {
24
24
  return this.deleteBase(id, payload);
25
25
  }
26
+ /**
27
+ * Invite
28
+ * @param rq Request data
29
+ * @param payload Payload
30
+ * @returns Result
31
+ */
32
+ invite(rq, payload) {
33
+ return this.api.post(`${this.flag}/Invite`, rq, payload);
34
+ }
26
35
  /**
27
36
  * List
28
37
  * @param rq Request data
@@ -41,5 +50,42 @@ class MemberApi extends appscript_1.EntityApi {
41
50
  query(rq, payload) {
42
51
  return this.queryBase(rq, payload);
43
52
  }
53
+ /**
54
+ * Read
55
+ * @param id Id
56
+ * @param payload Payload
57
+ * @returns Result
58
+ */
59
+ read(id, payload) {
60
+ return this.readBase(id, payload);
61
+ }
62
+ /**
63
+ * Update
64
+ * @param rq Request data
65
+ * @param payload Payload
66
+ * @returns Result
67
+ */
68
+ update(rq, payload) {
69
+ return this.updateBase(rq, payload);
70
+ }
71
+ /**
72
+ * Update avatar
73
+ * @param id Organization id
74
+ * @param data Avatar form data
75
+ * @param payload Payload
76
+ * @returns Result
77
+ */
78
+ updateAvatar(id, data, payload) {
79
+ return this.api.put(`${this.flag}/UpdateAvatar/${id}`, data, payload);
80
+ }
81
+ /**
82
+ * Update read
83
+ * @param id Id
84
+ * @param payload Payload
85
+ * @returns Result
86
+ */
87
+ updateRead(id, payload) {
88
+ return this.updateReadBase(id, payload);
89
+ }
44
90
  }
45
91
  exports.MemberApi = MemberApi;
@@ -42,6 +42,13 @@ export declare class OrgApi extends EntityApi {
42
42
  * @returns Result
43
43
  */
44
44
  getMy(rq: OrgGetMyRQ, payload?: IApiPayload<OrgGetMyData[]>): Promise<OrgGetMyData[] | undefined>;
45
+ /**
46
+ * Leave the organization
47
+ * @param id Organization id
48
+ * @param payload Payload
49
+ * @returns Result
50
+ */
51
+ leave(id: number, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
45
52
  /**
46
53
  * List
47
54
  * @param rq Request data
@@ -78,13 +85,13 @@ export declare class OrgApi extends EntityApi {
78
85
  */
79
86
  update(rq: OrgUpdateRQ, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
80
87
  /**
81
- * Upload avatar
88
+ * Update avatar
82
89
  * @param id Organization id
83
90
  * @param data Avatar form data
84
91
  * @param payload Payload
85
92
  * @returns Result
86
93
  */
87
- uploadAvatar(id: number, data: FormData, payload?: MsgResultPayload): Promise<import("@etsoo/shared").MsgActionResult | undefined>;
94
+ updateAvatar(id: number, data: FormData, payload?: MsgResultPayload): Promise<import("@etsoo/shared").MsgActionResult | undefined>;
88
95
  /**
89
96
  * Update read
90
97
  * @param id Id
package/lib/cjs/OrgApi.js CHANGED
@@ -42,6 +42,15 @@ class OrgApi extends appscript_1.EntityApi {
42
42
  getMy(rq, payload) {
43
43
  return this.api.post(`${this.flag}/GetMy`, rq, payload);
44
44
  }
45
+ /**
46
+ * Leave the organization
47
+ * @param id Organization id
48
+ * @param payload Payload
49
+ * @returns Result
50
+ */
51
+ leave(id, payload) {
52
+ return this.api.post(`${this.flag}/Leave/${id}`, undefined, payload);
53
+ }
45
54
  /**
46
55
  * List
47
56
  * @param rq Request data
@@ -88,14 +97,14 @@ class OrgApi extends appscript_1.EntityApi {
88
97
  return this.updateBase(rq, payload);
89
98
  }
90
99
  /**
91
- * Upload avatar
100
+ * Update avatar
92
101
  * @param id Organization id
93
102
  * @param data Avatar form data
94
103
  * @param payload Payload
95
104
  * @returns Result
96
105
  */
97
- uploadAvatar(id, data, payload) {
98
- return this.api.put(`${this.flag}/UploadAvatar/${id}`, data, payload);
106
+ updateAvatar(id, data, payload) {
107
+ return this.api.put(`${this.flag}/UpdateAvatar/${id}`, data, payload);
99
108
  }
100
109
  /**
101
110
  * Update read
@@ -6,7 +6,9 @@ import { CurrencyItem } from "./dto/public/CurrencyItem";
6
6
  import { RegionData } from "./dto/public/RegionData";
7
7
  import { PlaceQueryRQ } from "./rq/public/PlaceQueryRQ";
8
8
  import { PlaceCommon } from "./dto/public/PlaceCommon";
9
- import { BaseApi, Currency, IApp, ProductUnit } from "@etsoo/appscript";
9
+ import { BaseApi, Currency, IApp, ProductUnit, ResultPayload } from "@etsoo/appscript";
10
+ import { MemberInvitationDto } from "./dto/public/MemberInvitationDto";
11
+ import { AcceptInvitationRQ } from "./rq/public/AcceptInvitationRQ";
10
12
  /**
11
13
  * Public API
12
14
  * 公共接口
@@ -18,6 +20,13 @@ export declare class PublicApi extends BaseApi {
18
20
  * @param api API
19
21
  */
20
22
  constructor(app: IApp, api?: IApi);
23
+ /**
24
+ * Accept invitation
25
+ * @param rq Request data
26
+ * @param payload Payload
27
+ * @returns Result
28
+ */
29
+ acceptInvitation(rq: AcceptInvitationRQ, payload?: ResultPayload): Promise<import("@etsoo/shared").IActionResult<{}> | undefined>;
21
30
  /**
22
31
  * Create barcode
23
32
  * @param rq Request data
@@ -75,6 +84,13 @@ export declare class PublicApi extends BaseApi {
75
84
  * @returns Result
76
85
  */
77
86
  queryPlace(rq: PlaceQueryRQ, payload?: IApiPayload<PlaceCommon[]>): Promise<PlaceCommon[] | undefined>;
87
+ /**
88
+ * Read member invitation
89
+ * @param id Id
90
+ * @param payload Payload
91
+ * @returns Result
92
+ */
93
+ readInvitation(id: string, payload?: IApiPayload<MemberInvitationDto>): Promise<MemberInvitationDto | undefined>;
78
94
  /**
79
95
  *
80
96
  * Get all repeat options
@@ -17,6 +17,15 @@ class PublicApi extends appscript_1.BaseApi {
17
17
  constructor(app, api = app.api) {
18
18
  super(app, api);
19
19
  }
20
+ /**
21
+ * Accept invitation
22
+ * @param rq Request data
23
+ * @param payload Payload
24
+ * @returns Result
25
+ */
26
+ acceptInvitation(rq, payload) {
27
+ return this.api.post("Public/AcceptInvitation", rq, payload);
28
+ }
20
29
  /**
21
30
  * Create barcode
22
31
  * @param rq Request data
@@ -103,6 +112,15 @@ class PublicApi extends appscript_1.BaseApi {
103
112
  queryPlace(rq, payload) {
104
113
  return this.api.post("Public/QueryPlace", rq, payload);
105
114
  }
115
+ /**
116
+ * Read member invitation
117
+ * @param id Id
118
+ * @param payload Payload
119
+ * @returns Result
120
+ */
121
+ readInvitation(id, payload) {
122
+ return this.api.get(`Public/ReadInvitation/${id}`, undefined, payload);
123
+ }
106
124
  /**
107
125
  *
108
126
  * Get all repeat options
@@ -111,7 +129,7 @@ class PublicApi extends appscript_1.BaseApi {
111
129
  * @returns Result
112
130
  */
113
131
  repeatOptions(options, isJoined = true) {
114
- options ?? (options = shared_1.DataTypes.getEnumKeys(appscript_1.RepeatOption));
132
+ options ??= shared_1.DataTypes.getEnumKeys(appscript_1.RepeatOption);
115
133
  return this.units(options, isJoined);
116
134
  }
117
135
  /**
@@ -130,7 +148,7 @@ class PublicApi extends appscript_1.BaseApi {
130
148
  * @returns Units
131
149
  */
132
150
  units(options, isJoined) {
133
- options ?? (options = shared_1.DataTypes.getEnumKeys(appscript_1.ProductUnit));
151
+ options ??= shared_1.DataTypes.getEnumKeys(appscript_1.ProductUnit);
134
152
  return options.map((key) => {
135
153
  const id = shared_1.DataTypes.getEnumByKey(appscript_1.ProductUnit, key);
136
154
  return {
@@ -1,9 +1,11 @@
1
- import { EntityApi, IApp, MsgResultPayload, QueryRQ } from "@etsoo/appscript";
1
+ import { EntityApi, IApp, IdResultPayload, MsgResultPayload, QueryRQ, ResultPayload } from "@etsoo/appscript";
2
2
  import { IApi, IApiPayload } from "@etsoo/restclient";
3
3
  import { DeviceListDto } from "./dto/user/DeviceListDto";
4
4
  import { AuditHistoryRQ } from "./rq/user/AuditHistoryRQ";
5
5
  import { AuditHistoryDto } from "./dto/user/AuditHistoryDto";
6
6
  import { AppData } from "./dto/app/AppData";
7
+ import { UserIdentifierData } from "./dto/user/UserIdentifierData";
8
+ import { ValidateRQ } from "./rq/authCode/ValidateRQ";
7
9
  /**
8
10
  * User API
9
11
  * 用户接口
@@ -15,6 +17,26 @@ export declare class UserApi extends EntityApi {
15
17
  * @param api API
16
18
  */
17
19
  constructor(app: IApp, api?: IApi);
20
+ /**
21
+ * Add email
22
+ * @param rq Request data
23
+ * @param payload Payload
24
+ * @returns Result
25
+ */
26
+ addEmail(rq: ValidateRQ, payload?: ResultPayload): Promise<import("@etsoo/shared").IActionResult<{}> | undefined>;
27
+ /**
28
+ * Add mobile
29
+ * @param rq Request data
30
+ * @param payload Payload
31
+ * @returns Result
32
+ */
33
+ addMobile(rq: ValidateRQ, payload?: ResultPayload): Promise<import("@etsoo/shared").IActionResult<{}> | undefined>;
34
+ /**
35
+ * Get all user identifiers
36
+ * @param payload Payload
37
+ * @returns Result
38
+ */
39
+ allIdentifiers(payload?: IApiPayload<UserIdentifierData[]>): Promise<UserIdentifierData[] | undefined>;
18
40
  /**
19
41
  * Audit history
20
42
  * @param rq Request data
@@ -22,6 +44,13 @@ export declare class UserApi extends EntityApi {
22
44
  * @returns Result
23
45
  */
24
46
  auditHistory(rq: AuditHistoryRQ, payload?: IApiPayload<AuditHistoryDto[]>): Promise<AuditHistoryDto[] | undefined>;
47
+ /**
48
+ * Delete user identifier
49
+ * @param id Identifier id
50
+ * @param payload Payload
51
+ * @returns Result
52
+ */
53
+ deleteIdentifier(id: number, payload?: IdResultPayload): Promise<import("@etsoo/shared").IdActionResult | undefined>;
25
54
  /**
26
55
  * Device list
27
56
  * @param rq Request data
@@ -15,6 +15,32 @@ class UserApi extends appscript_1.EntityApi {
15
15
  constructor(app, api = app.api) {
16
16
  super("User", app, api);
17
17
  }
18
+ /**
19
+ * Add email
20
+ * @param rq Request data
21
+ * @param payload Payload
22
+ * @returns Result
23
+ */
24
+ addEmail(rq, payload) {
25
+ return this.api.post(`${this.flag}/AddEmail`, rq, payload);
26
+ }
27
+ /**
28
+ * Add mobile
29
+ * @param rq Request data
30
+ * @param payload Payload
31
+ * @returns Result
32
+ */
33
+ addMobile(rq, payload) {
34
+ return this.api.post(`${this.flag}/AddMobile`, rq, payload);
35
+ }
36
+ /**
37
+ * Get all user identifiers
38
+ * @param payload Payload
39
+ * @returns Result
40
+ */
41
+ allIdentifiers(payload) {
42
+ return this.api.post(`${this.flag}/AllIdentifiers`, undefined, payload);
43
+ }
18
44
  /**
19
45
  * Audit history
20
46
  * @param rq Request data
@@ -24,6 +50,15 @@ class UserApi extends appscript_1.EntityApi {
24
50
  auditHistory(rq, payload) {
25
51
  return this.api.post(`${this.flag}/AuditHistory`, rq, payload);
26
52
  }
53
+ /**
54
+ * Delete user identifier
55
+ * @param id Identifier id
56
+ * @param payload Payload
57
+ * @returns Result
58
+ */
59
+ deleteIdentifier(id, payload) {
60
+ return this.api.delete(`${this.flag}/DeleteIdentifier/${id}`, undefined, payload);
61
+ }
27
62
  /**
28
63
  * Device list
29
64
  * @param rq Request data
@@ -58,7 +93,7 @@ class UserApi extends appscript_1.EntityApi {
58
93
  * @returns Result
59
94
  */
60
95
  updateAvatar(data, payload) {
61
- payload ?? (payload = { config: {} });
96
+ payload ??= { config: {} };
62
97
  // Credentials for anti-forgery cookie sending
63
98
  if (payload.config && payload.config.credentials == null)
64
99
  payload.config.credentials = "include";
@@ -0,0 +1,21 @@
1
+ import type { CommonPageProps, ResponsePageProps } from "@etsoo/materialui";
2
+ /**
3
+ * Default UI namespace
4
+ */
5
+ export declare namespace DefaultUI {
6
+ /**
7
+ * Create response page props
8
+ * @param page Page props
9
+ * @returns Response page props
10
+ */
11
+ function createProps(page: CommonPageProps): Pick<ResponsePageProps<any, any>, "adjustHeight" | "searchBarTop" | "pageProps">;
12
+ /**
13
+ * Widths of icon columns
14
+ */
15
+ const Widths: {
16
+ icon1: number;
17
+ icon2: number;
18
+ icon3: number;
19
+ icon4: number;
20
+ };
21
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultUI = void 0;
4
+ /**
5
+ * Default UI namespace
6
+ */
7
+ var DefaultUI;
8
+ (function (DefaultUI) {
9
+ /**
10
+ * Create response page props
11
+ * @param page Page props
12
+ * @returns Response page props
13
+ */
14
+ function createProps(page) {
15
+ return {
16
+ adjustHeight: 24,
17
+ searchBarTop: true,
18
+ pageProps: {
19
+ paddings: 0,
20
+ ...page
21
+ }
22
+ };
23
+ }
24
+ DefaultUI.createProps = createProps;
25
+ /**
26
+ * Widths of icon columns
27
+ */
28
+ DefaultUI.Widths = {
29
+ icon1: 88,
30
+ icon2: 120,
31
+ icon3: 152,
32
+ icon4: 184
33
+ };
34
+ })(DefaultUI || (exports.DefaultUI = DefaultUI = {}));
@@ -0,0 +1,4 @@
1
+ export type AppSwitchPopoverProps = {
2
+ appName: string;
3
+ };
4
+ export declare function AppSwitchPopover(props: AppSwitchPopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AppSwitchPopover = AppSwitchPopover;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = __importDefault(require("react"));
9
+ const material_1 = require("@mui/material");
10
+ const react_router_dom_1 = require("react-router-dom");
11
+ const materialui_1 = require("@etsoo/materialui");
12
+ const ICoreServiceApp_1 = require("../../ICoreServiceApp");
13
+ const IdentityType_1 = require("../../dto/IdentityType");
14
+ function AppSwitchPopover(props) {
15
+ // Destruct
16
+ const { appName } = props;
17
+ // Route
18
+ const navigate = (0, react_router_dom_1.useNavigate)();
19
+ // App
20
+ const app = (0, ICoreServiceApp_1.useRequiredAppContext)();
21
+ // Labels
22
+ const labels = app.getLabels("more", "switchApp");
23
+ // Max items to read
24
+ const maxItems = 10;
25
+ // Current app
26
+ const currentApp = app.settings.appId;
27
+ // Layout
28
+ return ((0, jsx_runtime_1.jsx)(materialui_1.ButtonPopover, { button: (callback) => ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h6", sx: {
29
+ color: (theme) => theme.palette.primary.main,
30
+ fontWeight: "700",
31
+ ml: 0.5,
32
+ whiteSpace: "nowrap",
33
+ cursor: "pointer"
34
+ }, title: labels.switchApp, onClick: (e) => callback(e.currentTarget), children: appName })), loadData: () => app.core.appApi.getMy({ maxItems, identityType: IdentityType_1.IdentityType.User }, { showLoading: false }), position: "left", children: (data) => {
35
+ if (data == null)
36
+ return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, {});
37
+ // Remove the current app
38
+ const index = data.findIndex((a) => a.id === currentApp);
39
+ if (index >= 0)
40
+ data.splice(index, 1);
41
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "column", margin: 2, children: [data.map((appData) => ((0, jsx_runtime_1.jsx)(material_1.Button, { onClick: async () => { }, children: app.core.getAppName(appData) }, appData.id))), (data.length === 0 || data.length === maxItems) && ((0, jsx_runtime_1.jsxs)(material_1.Button, { onClick: () => navigate("./app/my"), children: [labels.more, "..."] }))] }));
42
+ } }));
43
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./DefaultUI";
2
+ export * from "./app/AppSwitchPopover";
3
+ export * from "./org/OrgSwitchPopover";
4
+ export * from "./org/OrgTiplist";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Components
18
+ __exportStar(require("./DefaultUI"), exports);
19
+ // app
20
+ __exportStar(require("./app/AppSwitchPopover"), exports);
21
+ // org
22
+ __exportStar(require("./org/OrgSwitchPopover"), exports);
23
+ __exportStar(require("./org/OrgTiplist"), exports);
@@ -0,0 +1,4 @@
1
+ export type OrgSwitchPopoverProps = {
2
+ organizationName?: string;
3
+ };
4
+ export declare function OrgSwitchPopover(props: OrgSwitchPopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OrgSwitchPopover = OrgSwitchPopover;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = __importDefault(require("react"));
9
+ const material_1 = require("@mui/material");
10
+ const AccountTree_1 = __importDefault(require("@mui/icons-material/AccountTree"));
11
+ const react_router_dom_1 = require("react-router-dom");
12
+ const materialui_1 = require("@etsoo/materialui");
13
+ const ICoreServiceApp_1 = require("../../ICoreServiceApp");
14
+ function OrgSwitchPopover(props) {
15
+ // Destruct
16
+ const { organizationName } = props;
17
+ // Route
18
+ const navigate = (0, react_router_dom_1.useNavigate)();
19
+ // App
20
+ const app = (0, ICoreServiceApp_1.useRequiredAppContext)();
21
+ // Labels
22
+ const labels = app.getLabels("currentOrg", "more", "switchOrg");
23
+ // Refs
24
+ const anchorRef = react_1.default.useRef(null);
25
+ // Max items to read
26
+ const maxItems = 10;
27
+ // Current organization
28
+ const currentOrg = app.userData?.organization;
29
+ // Layout
30
+ return ((0, jsx_runtime_1.jsx)(materialui_1.ButtonPopover, { button: (callback) => ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "text", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { sx: { display: { xs: "none", md: "block" } }, title: labels.currentOrg, onClick: () => callback(anchorRef.current), children: organizationName ?? labels.switchOrg }), (0, jsx_runtime_1.jsx)(material_1.Button, { title: labels.switchOrg, onClick: (e) => callback(e.currentTarget), ref: anchorRef, children: (0, jsx_runtime_1.jsx)(AccountTree_1.default, {}) })] }) })), loadData: () => app.core.orgApi.getMy({ maxItems }, { showLoading: false }), children: (data) => {
31
+ if (data == null)
32
+ return (0, jsx_runtime_1.jsx)(react_1.default.Fragment, {});
33
+ // Remove the current organization
34
+ if (currentOrg != null) {
35
+ const index = data.findIndex((org) => org.id === currentOrg);
36
+ if (index >= 0)
37
+ data.splice(index, 1);
38
+ }
39
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "column", margin: 2, children: [data.map((org) => ((0, jsx_runtime_1.jsx)(material_1.Button, { onClick: async () => {
40
+ const result = await app.switchOrg(org.id);
41
+ if (result == null)
42
+ return;
43
+ if (!result.ok) {
44
+ app.alertResult(result);
45
+ return;
46
+ }
47
+ }, children: org.name }, org.id))), (data.length === 0 || data.length === maxItems) && ((0, jsx_runtime_1.jsxs)(material_1.Button, { onClick: () => navigate("./org/my"), children: [labels.more, "..."] }))] }));
48
+ } }));
49
+ }
@@ -0,0 +1,23 @@
1
+ import { TiplistProps } from "@etsoo/materialui";
2
+ import { OrgListDto } from "../../dto/org/OrgListDto";
3
+ /**
4
+ * Organization tiplist properties
5
+ * 机构提示列表属性
6
+ */
7
+ export type OrgTiplistProps = Omit<TiplistProps<OrgListDto, "id">, "loadData" | "label" | "name"> & {
8
+ /**
9
+ * Label
10
+ */
11
+ label?: string;
12
+ /**
13
+ * Name
14
+ */
15
+ name?: string;
16
+ };
17
+ /**
18
+ * Organization tiplist
19
+ * 机构提示列表
20
+ * @param props Properties
21
+ * @returns Component
22
+ */
23
+ export declare function OrgTiplist(props: OrgTiplistProps): import("react/jsx-runtime").JSX.Element;