@etsoo/appscript 1.5.64 → 1.5.65

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 (182) hide show
  1. package/.github/workflows/main.yml +6 -5
  2. package/__tests__/app/CoreApp.ts +141 -143
  3. package/__tests__/app/Culture.ts +23 -23
  4. package/__tests__/app/TestApp.ts +107 -105
  5. package/__tests__/business/BusinessUtils.ts +37 -37
  6. package/__tests__/result/ActionResult.ts +14 -14
  7. package/__tests__/tsconfig.json +16 -16
  8. package/lib/cjs/address/AddressAutocomplete.d.ts +1 -1
  9. package/lib/cjs/address/AddressPlace.d.ts +3 -3
  10. package/lib/cjs/address/AddressPlaceBase.d.ts +1 -1
  11. package/lib/cjs/address/AddressRegion.d.ts +2 -2
  12. package/lib/cjs/address/AddressRegion.js +12 -12
  13. package/lib/cjs/address/AddressUtils.d.ts +1 -1
  14. package/lib/cjs/api/AuthApi.d.ts +14 -14
  15. package/lib/cjs/api/AuthApi.js +17 -17
  16. package/lib/cjs/api/BaseApi.d.ts +1 -1
  17. package/lib/cjs/api/EntityApi.d.ts +8 -8
  18. package/lib/cjs/api/EntityApi.js +4 -4
  19. package/lib/cjs/api/dto/IdLabelDto.d.ts +1 -1
  20. package/lib/cjs/api/dto/IdLabelPrimaryDto.d.ts +1 -1
  21. package/lib/cjs/api/dto/ResultPayload.d.ts +2 -2
  22. package/lib/cjs/api/rq/AuthRequest.d.ts +1 -1
  23. package/lib/cjs/api/rq/LoginRQ.d.ts +2 -2
  24. package/lib/cjs/api/rq/MergeRQ.d.ts +1 -1
  25. package/lib/cjs/api/rq/QueryRQ.d.ts +2 -2
  26. package/lib/cjs/api/rq/StatusQueryRQ.d.ts +3 -3
  27. package/lib/cjs/api/rq/UpdateModel.d.ts +2 -2
  28. package/lib/cjs/api/rq/UpdateStatusRQ.d.ts +2 -2
  29. package/lib/cjs/app/AppSettings.d.ts +3 -3
  30. package/lib/cjs/bridges/FlutterHost.d.ts +2 -2
  31. package/lib/cjs/bridges/FlutterHost.js +11 -11
  32. package/lib/cjs/business/BusinessTax.js +6 -6
  33. package/lib/cjs/business/BusinessUtils.d.ts +2 -2
  34. package/lib/cjs/business/BusinessUtils.js +5 -5
  35. package/lib/cjs/business/Currency.d.ts +1 -1
  36. package/lib/cjs/business/Currency.js +10 -10
  37. package/lib/cjs/business/ProductUnit.d.ts +1 -1
  38. package/lib/cjs/business/ShoppingCart.d.ts +9 -9
  39. package/lib/cjs/business/ShoppingCart.js +11 -11
  40. package/lib/cjs/custom/CustomField.d.ts +1 -1
  41. package/lib/cjs/custom/CustomFieldData.d.ts +2 -2
  42. package/lib/cjs/i18n/Culture.d.ts +31 -0
  43. package/lib/cjs/i18n/Culture.js +51 -0
  44. package/lib/cjs/index.d.ts +1 -4
  45. package/lib/cjs/index.js +1 -4
  46. package/lib/cjs/result/ActionResult.d.ts +1 -1
  47. package/lib/cjs/result/ActionResultError.d.ts +1 -1
  48. package/lib/cjs/result/ActionResultError.js +3 -3
  49. package/lib/cjs/result/InitCallResult.d.ts +1 -1
  50. package/lib/cjs/state/Culture.d.ts +2 -2
  51. package/lib/cjs/state/User.d.ts +1 -1
  52. package/lib/mjs/address/AddressAutocomplete.d.ts +1 -1
  53. package/lib/mjs/address/AddressPlace.d.ts +3 -3
  54. package/lib/mjs/address/AddressPlaceBase.d.ts +1 -1
  55. package/lib/mjs/address/AddressRegion.d.ts +2 -2
  56. package/lib/mjs/address/AddressRegion.js +13 -13
  57. package/lib/mjs/address/AddressUtils.d.ts +1 -1
  58. package/lib/mjs/address/AddressUtils.js +1 -1
  59. package/lib/mjs/api/AuthApi.d.ts +14 -14
  60. package/lib/mjs/api/AuthApi.js +19 -19
  61. package/lib/mjs/api/BaseApi.d.ts +1 -1
  62. package/lib/mjs/api/EntityApi.d.ts +8 -8
  63. package/lib/mjs/api/EntityApi.js +5 -5
  64. package/lib/mjs/api/dto/IdLabelDto.d.ts +1 -1
  65. package/lib/mjs/api/dto/IdLabelPrimaryDto.d.ts +1 -1
  66. package/lib/mjs/api/dto/ResultPayload.d.ts +2 -2
  67. package/lib/mjs/api/rq/AuthRequest.d.ts +1 -1
  68. package/lib/mjs/api/rq/LoginRQ.d.ts +2 -2
  69. package/lib/mjs/api/rq/MergeRQ.d.ts +1 -1
  70. package/lib/mjs/api/rq/QueryRQ.d.ts +2 -2
  71. package/lib/mjs/api/rq/StatusQueryRQ.d.ts +3 -3
  72. package/lib/mjs/api/rq/UpdateModel.d.ts +2 -2
  73. package/lib/mjs/api/rq/UpdateStatusRQ.d.ts +2 -2
  74. package/lib/mjs/app/AppSettings.d.ts +3 -3
  75. package/lib/mjs/bridges/FlutterHost.d.ts +2 -2
  76. package/lib/mjs/bridges/FlutterHost.js +13 -13
  77. package/lib/mjs/business/BusinessTax.js +6 -6
  78. package/lib/mjs/business/BusinessUtils.d.ts +2 -2
  79. package/lib/mjs/business/BusinessUtils.js +5 -5
  80. package/lib/mjs/business/Currency.d.ts +1 -1
  81. package/lib/mjs/business/Currency.js +10 -10
  82. package/lib/mjs/business/ProductUnit.d.ts +1 -1
  83. package/lib/mjs/business/ProductUnit.js +1 -1
  84. package/lib/mjs/business/ShoppingCart.d.ts +9 -9
  85. package/lib/mjs/business/ShoppingCart.js +12 -12
  86. package/lib/mjs/custom/CustomField.d.ts +1 -1
  87. package/lib/mjs/custom/CustomFieldData.d.ts +2 -2
  88. package/lib/mjs/i18n/Culture.d.ts +31 -0
  89. package/lib/mjs/i18n/Culture.js +48 -0
  90. package/lib/mjs/index.d.ts +1 -4
  91. package/lib/mjs/index.js +1 -4
  92. package/lib/mjs/result/ActionResult.d.ts +1 -1
  93. package/lib/mjs/result/ActionResult.js +1 -1
  94. package/lib/mjs/result/ActionResultError.d.ts +1 -1
  95. package/lib/mjs/result/ActionResultError.js +3 -3
  96. package/lib/mjs/result/InitCallResult.d.ts +1 -1
  97. package/lib/mjs/state/Culture.d.ts +2 -2
  98. package/lib/mjs/state/User.d.ts +1 -1
  99. package/package.json +1 -1
  100. package/src/address/AddressAutocomplete.ts +16 -16
  101. package/src/address/AddressCity.ts +12 -12
  102. package/src/address/AddressContinent.ts +35 -35
  103. package/src/address/AddressDistrict.ts +12 -12
  104. package/src/address/AddressLocation.ts +8 -8
  105. package/src/address/AddressPlace.ts +23 -23
  106. package/src/address/AddressPlaceBase.ts +31 -31
  107. package/src/address/AddressRegion.ts +286 -286
  108. package/src/address/AddressState.ts +12 -12
  109. package/src/address/AddressUtils.ts +27 -27
  110. package/src/api/AuthApi.ts +194 -194
  111. package/src/api/BaseApi.ts +13 -13
  112. package/src/api/EntityApi.ts +181 -194
  113. package/src/api/dto/AntiforgeryRequestToken.ts +15 -15
  114. package/src/api/dto/ApiRefreshTokenDto.ts +16 -16
  115. package/src/api/dto/IdLabelDto.ts +3 -3
  116. package/src/api/dto/IdLabelPrimaryDto.ts +7 -7
  117. package/src/api/dto/InitCallDto.ts +12 -12
  118. package/src/api/dto/ResultPayload.ts +6 -6
  119. package/src/api/rq/ApiRefreshTokenRQ.ts +8 -8
  120. package/src/api/rq/AuthRequest.ts +40 -40
  121. package/src/api/rq/GetLogInUrlRQ.ts +8 -8
  122. package/src/api/rq/LoginIdRQ.ts +12 -12
  123. package/src/api/rq/LoginRQ.ts +18 -18
  124. package/src/api/rq/MergeRQ.ts +13 -13
  125. package/src/api/rq/QueryPagingData.ts +16 -16
  126. package/src/api/rq/QueryRQ.ts +22 -22
  127. package/src/api/rq/RefreshTokenRQ.ts +4 -4
  128. package/src/api/rq/ResetPasswordRQ.ts +20 -20
  129. package/src/api/rq/SignoutRQ.ts +8 -8
  130. package/src/api/rq/StatusQueryRQ.ts +11 -11
  131. package/src/api/rq/SwitchOrgRQ.ts +8 -8
  132. package/src/api/rq/TokenRQ.ts +4 -4
  133. package/src/api/rq/UpdateModel.ts +12 -12
  134. package/src/api/rq/UpdateStatusRQ.ts +10 -10
  135. package/src/app/AppSettings.ts +27 -27
  136. package/src/app/UserRole.ts +44 -44
  137. package/src/bridges/FlutterHost.ts +92 -97
  138. package/src/bridges/IBridgeHost.ts +49 -51
  139. package/src/business/ApiService.ts +25 -25
  140. package/src/business/BusinessTax.ts +63 -63
  141. package/src/business/BusinessUtils.ts +75 -75
  142. package/src/business/CultureItem.ts +43 -43
  143. package/src/business/Currency.ts +11 -11
  144. package/src/business/DataPrivacy.ts +35 -35
  145. package/src/business/EntityStatus.ts +44 -44
  146. package/src/business/ProductUnit.ts +58 -58
  147. package/src/business/RepeatOption.ts +50 -50
  148. package/src/business/ShoppingCart.ts +696 -706
  149. package/src/custom/CustomField.ts +20 -20
  150. package/src/custom/CustomFieldData.ts +43 -43
  151. package/src/def/ListItem.ts +12 -12
  152. package/src/i18n/Culture.ts +60 -0
  153. package/src/i18n/en.json +244 -244
  154. package/src/i18n/zh-Hans.json +244 -244
  155. package/src/i18n/zh-Hant.json +244 -244
  156. package/src/index.ts +1 -4
  157. package/src/result/ActionResult.ts +19 -19
  158. package/src/result/ActionResultError.ts +30 -30
  159. package/src/result/InitCallResult.ts +21 -21
  160. package/src/state/Culture.ts +3 -3
  161. package/src/state/State.ts +5 -5
  162. package/src/state/User.ts +92 -92
  163. package/lib/cjs/i18n/CultureUtils.d.ts +0 -13
  164. package/lib/cjs/i18n/CultureUtils.js +0 -32
  165. package/lib/cjs/i18n/en.d.ts +0 -6
  166. package/lib/cjs/i18n/en.js +0 -12
  167. package/lib/cjs/i18n/zhHans.d.ts +0 -6
  168. package/lib/cjs/i18n/zhHans.js +0 -12
  169. package/lib/cjs/i18n/zhHant.d.ts +0 -6
  170. package/lib/cjs/i18n/zhHant.js +0 -12
  171. package/lib/mjs/i18n/CultureUtils.d.ts +0 -13
  172. package/lib/mjs/i18n/CultureUtils.js +0 -29
  173. package/lib/mjs/i18n/en.d.ts +0 -6
  174. package/lib/mjs/i18n/en.js +0 -8
  175. package/lib/mjs/i18n/zhHans.d.ts +0 -6
  176. package/lib/mjs/i18n/zhHans.js +0 -8
  177. package/lib/mjs/i18n/zhHant.d.ts +0 -6
  178. package/lib/mjs/i18n/zhHant.js +0 -8
  179. package/src/i18n/CultureUtils.ts +0 -36
  180. package/src/i18n/en.ts +0 -10
  181. package/src/i18n/zhHans.ts +0 -10
  182. package/src/i18n/zhHant.ts +0 -10
@@ -1,35 +1,35 @@
1
- import { AddressRegion } from './AddressRegion';
1
+ import { AddressRegion } from "./AddressRegion";
2
2
 
3
3
  /**
4
4
  * Address utils
5
5
  */
6
6
  export namespace AddressUtils {
7
- /**
8
- * Get region from regions and detected region and language
9
- * @param regions Supported regions
10
- * @param detectedRegion Detected region
11
- * @param detectedLanguage Detected language
12
- */
13
- export function getRegion(
14
- regions: string[],
15
- detectedRegion?: string | null,
16
- detectedLanguage?: string | null
17
- ): AddressRegion {
18
- // Exactly match
19
- if (detectedRegion && regions.includes(detectedRegion)) {
20
- const region = AddressRegion.getById(detectedRegion);
21
- if (region) return region;
22
- }
23
-
24
- // Match with language
25
- if (detectedLanguage) {
26
- const region = regions
27
- .map((id) => AddressRegion.getById(id)!)
28
- .find((item) => item.languages.includes(detectedLanguage));
29
- if (region) region;
30
- }
7
+ /**
8
+ * Get region from regions and detected region and language
9
+ * @param regions Supported regions
10
+ * @param detectedRegion Detected region
11
+ * @param detectedLanguage Detected language
12
+ */
13
+ export function getRegion(
14
+ regions: string[],
15
+ detectedRegion?: string | null,
16
+ detectedLanguage?: string | null
17
+ ): AddressRegion {
18
+ // Exactly match
19
+ if (detectedRegion && regions.includes(detectedRegion)) {
20
+ const region = AddressRegion.getById(detectedRegion);
21
+ if (region) return region;
22
+ }
31
23
 
32
- // Default
33
- return AddressRegion.getById(regions[0])!;
24
+ // Match with language
25
+ if (detectedLanguage) {
26
+ const region = regions
27
+ .map((id) => AddressRegion.getById(id)!)
28
+ .find((item) => item.languages.includes(detectedLanguage));
29
+ if (region) region;
34
30
  }
31
+
32
+ // Default
33
+ return AddressRegion.getById(regions[0])!;
34
+ }
35
35
  }
@@ -1,204 +1,204 @@
1
- import { IApiPayload } from '@etsoo/restclient';
2
- import { IUser } from '../state/User';
3
- import { BaseApi } from './BaseApi';
4
- import { ResultPayload } from './dto/ResultPayload';
5
- import { ActionResult, IActionResult } from '@etsoo/shared';
6
- import { RefreshTokenProps, RefreshTokenResult } from '../app/IApp';
7
- import { TokenRQ } from './rq/TokenRQ';
8
- import { ApiRefreshTokenDto } from './dto/ApiRefreshTokenDto';
9
- import { GetLogInUrlRQ } from './rq/GetLogInUrlRQ';
10
- import { LoginRQ } from './rq/LoginRQ';
11
- import { LoginIdRQ } from './rq/LoginIdRQ';
12
- import { RefreshTokenRQ } from './rq/RefreshTokenRQ';
13
- import { ResetPasswordRQ } from './rq/ResetPasswordRQ';
14
- import { SignoutRQ } from './rq/SignoutRQ';
15
- import { SwitchOrgRQ } from './rq/SwitchOrgRQ';
16
- import { AuthRequest } from './rq/AuthRequest';
1
+ import { IApiPayload } from "@etsoo/restclient";
2
+ import { IUser } from "../state/User";
3
+ import { BaseApi } from "./BaseApi";
4
+ import { ResultPayload } from "./dto/ResultPayload";
5
+ import { ActionResult, IActionResult } from "@etsoo/shared";
6
+ import { RefreshTokenProps, RefreshTokenResult } from "../app/IApp";
7
+ import { TokenRQ } from "./rq/TokenRQ";
8
+ import { ApiRefreshTokenDto } from "./dto/ApiRefreshTokenDto";
9
+ import { GetLogInUrlRQ } from "./rq/GetLogInUrlRQ";
10
+ import { LoginRQ } from "./rq/LoginRQ";
11
+ import { LoginIdRQ } from "./rq/LoginIdRQ";
12
+ import { RefreshTokenRQ } from "./rq/RefreshTokenRQ";
13
+ import { ResetPasswordRQ } from "./rq/ResetPasswordRQ";
14
+ import { SignoutRQ } from "./rq/SignoutRQ";
15
+ import { SwitchOrgRQ } from "./rq/SwitchOrgRQ";
16
+ import { AuthRequest } from "./rq/AuthRequest";
17
17
 
18
18
  /**
19
19
  * Authentication API
20
20
  */
21
21
  export class AuthApi extends BaseApi {
22
- /**
23
- * Header token field name
24
- */
25
- static HeaderTokenField = 'Etsoo-Refresh-Token';
26
-
27
- /**
28
- * API refresh token
29
- * @param rq Request data
30
- * @param payload Payload
31
- * @returns Result
32
- */
33
- apiRefreshToken(rq: TokenRQ, payload?: IApiPayload<ApiRefreshTokenDto>) {
34
- return this.api.put('Auth/ApiRefreshToken', rq, payload);
22
+ /**
23
+ * Header token field name
24
+ */
25
+ static HeaderTokenField = "Etsoo-Refresh-Token";
26
+
27
+ /**
28
+ * API refresh token
29
+ * @param rq Request data
30
+ * @param payload Payload
31
+ * @returns Result
32
+ */
33
+ apiRefreshToken(rq: TokenRQ, payload?: IApiPayload<ApiRefreshTokenDto>) {
34
+ return this.api.put("Auth/ApiRefreshToken", rq, payload);
35
+ }
36
+
37
+ /**
38
+ * Authorization request
39
+ * @param auth Authorization request data
40
+ * @param payload Payload
41
+ */
42
+ authRequest(auth: AuthRequest, payload?: IApiPayload<string>) {
43
+ return this.api.post("Auth/AuthRequest", auth, payload);
44
+ }
45
+
46
+ /**
47
+ * Exchange token
48
+ * @param rq Request data
49
+ * @param payload Payload
50
+ * @returns Result
51
+ */
52
+ exchangeToken(rq: TokenRQ, payload?: IApiPayload<ApiRefreshTokenDto>) {
53
+ return this.api.put("Auth/ExchangeToken", rq, payload);
54
+ }
55
+
56
+ /**
57
+ * Get log in url
58
+ * @param rq Request data
59
+ * @param payload Payload
60
+ * @returns Result
61
+ */
62
+ getLogInUrl(rq: GetLogInUrlRQ, payload?: IApiPayload<string>) {
63
+ return this.api.get("Auth/GetLogInUrl", rq, payload);
64
+ }
65
+
66
+ /**
67
+ * Login
68
+ * @param rq Request data
69
+ * @param payload Payload
70
+ * @param tokenKey Refresh token key
71
+ * @returns Result
72
+ */
73
+ protected async loginBase<T extends IUser>(
74
+ rq: LoginRQ,
75
+ payload?: IApiPayload<IActionResult<T>>,
76
+ tokenKey?: string
77
+ ): Promise<[IActionResult<T> | undefined, string | null]> {
78
+ // Default values
79
+ payload ??= {};
80
+ tokenKey ??= AuthApi.HeaderTokenField;
81
+
82
+ // Call the API
83
+ const result = await this.api.post("Auth/Login", rq, payload);
84
+
85
+ // Get the refresh token
86
+ const refreshToken = result?.ok
87
+ ? this.app.getResponseToken(payload.response, tokenKey)
88
+ : null;
89
+
90
+ // Return the result
91
+ return [result, refreshToken];
92
+ }
93
+
94
+ /**
95
+ * Login id check
96
+ * @param id Check id
97
+ * @param payload Payload
98
+ * @returns Result
99
+ */
100
+ loginId(id: string, payload?: ResultPayload) {
101
+ const { deviceId, region } = this.app;
102
+ id = this.app.encrypt(id);
103
+ const rq: LoginIdRQ = {
104
+ id,
105
+ deviceId,
106
+ region
107
+ };
108
+ return this.api.post("Auth/LoginId", rq, payload);
109
+ }
110
+
111
+ /**
112
+ * Refresh token
113
+ * @param props Props
114
+ * @returns Result
115
+ */
116
+ async refreshToken<R>(
117
+ props: RefreshTokenProps
118
+ ): Promise<RefreshTokenResult<R>> {
119
+ // Destruct
120
+ const {
121
+ api = "Auth/RefreshToken",
122
+ showLoading = false,
123
+ token,
124
+ tokenField = AuthApi.HeaderTokenField
125
+ } = props ?? {};
126
+
127
+ // Check the token
128
+ if (!token) {
129
+ return {
130
+ ok: false,
131
+ type: "noData",
132
+ field: "token",
133
+ title: this.app.get("noData")
134
+ };
35
135
  }
36
136
 
37
- /**
38
- * Authorization request
39
- * @param auth Authorization request data
40
- * @param payload Payload
41
- */
42
- authRequest(auth: AuthRequest, payload?: IApiPayload<string>) {
43
- return this.api.post('Auth/AuthRequest', auth, payload);
137
+ // Reqest data
138
+ const rq: RefreshTokenRQ = {
139
+ deviceId: this.app.deviceId
140
+ };
141
+
142
+ // Payload
143
+ const payload: IApiPayload<R, any> = {
144
+ // No loading bar needed to avoid screen flicks
145
+ showLoading,
146
+ config: { headers: { [tokenField]: token } },
147
+ onError: () => {
148
+ // Prevent further processing
149
+ return false;
150
+ }
151
+ };
152
+
153
+ // Call API
154
+ const result = await this.api.put(api, rq, payload);
155
+ if (result == null) {
156
+ return this.api.lastError
157
+ ? ActionResult.create(this.api.lastError)
158
+ : {
159
+ ok: false,
160
+ type: "unknownError",
161
+ field: "result",
162
+ title: this.app.get("unknownError")
163
+ };
44
164
  }
45
165
 
46
- /**
47
- * Exchange token
48
- * @param rq Request data
49
- * @param payload Payload
50
- * @returns Result
51
- */
52
- exchangeToken(rq: TokenRQ, payload?: IApiPayload<ApiRefreshTokenDto>) {
53
- return this.api.put('Auth/ExchangeToken', rq, payload);
54
- }
55
-
56
- /**
57
- * Get log in url
58
- * @param rq Request data
59
- * @param payload Payload
60
- * @returns Result
61
- */
62
- getLogInUrl(rq: GetLogInUrlRQ, payload?: IApiPayload<string>) {
63
- return this.api.get('Auth/GetLogInUrl', rq, payload);
64
- }
65
-
66
- /**
67
- * Login
68
- * @param rq Request data
69
- * @param payload Payload
70
- * @param tokenKey Refresh token key
71
- * @returns Result
72
- */
73
- protected async loginBase<T extends IUser>(
74
- rq: LoginRQ,
75
- payload?: IApiPayload<IActionResult<T>>,
76
- tokenKey?: string
77
- ): Promise<[IActionResult<T> | undefined, string | null]> {
78
- // Default values
79
- payload ??= {};
80
- tokenKey ??= AuthApi.HeaderTokenField;
81
-
82
- // Call the API
83
- const result = await this.api.post('Auth/Login', rq, payload);
84
-
85
- // Get the refresh token
86
- const refreshToken = result?.ok
87
- ? this.app.getResponseToken(payload.response, tokenKey)
88
- : null;
89
-
90
- // Return the result
91
- return [result, refreshToken];
92
- }
93
-
94
- /**
95
- * Login id check
96
- * @param id Check id
97
- * @param payload Payload
98
- * @returns Result
99
- */
100
- loginId(id: string, payload?: ResultPayload) {
101
- const { deviceId, region } = this.app;
102
- id = this.app.encrypt(id);
103
- const rq: LoginIdRQ = {
104
- id,
105
- deviceId,
106
- region
107
- };
108
- return this.api.post('Auth/LoginId', rq, payload);
109
- }
110
-
111
- /**
112
- * Refresh token
113
- * @param props Props
114
- * @returns Result
115
- */
116
- async refreshToken<R>(
117
- props: RefreshTokenProps
118
- ): Promise<RefreshTokenResult<R>> {
119
- // Destruct
120
- const {
121
- api = 'Auth/RefreshToken',
122
- showLoading = false,
123
- token,
124
- tokenField = AuthApi.HeaderTokenField
125
- } = props ?? {};
126
-
127
- // Check the token
128
- if (!token) {
129
- return {
130
- ok: false,
131
- type: 'noData',
132
- field: 'token',
133
- title: this.app.get('noData')
134
- };
135
- }
136
-
137
- // Reqest data
138
- const rq: RefreshTokenRQ = {
139
- deviceId: this.app.deviceId
140
- };
141
-
142
- // Payload
143
- const payload: IApiPayload<R, any> = {
144
- // No loading bar needed to avoid screen flicks
145
- showLoading,
146
- config: { headers: { [tokenField]: token } },
147
- onError: () => {
148
- // Prevent further processing
149
- return false;
150
- }
151
- };
152
-
153
- // Call API
154
- const result = await this.api.put(api, rq, payload);
155
- if (result == null) {
156
- return this.api.lastError
157
- ? ActionResult.create(this.api.lastError)
158
- : {
159
- ok: false,
160
- type: 'unknownError',
161
- field: 'result',
162
- title: this.app.get('unknownError')
163
- };
164
- }
165
-
166
- // Token
167
- const refreshToken = this.app.getResponseToken(
168
- payload.response,
169
- tokenField
170
- );
171
-
172
- // Success
173
- return [refreshToken, result];
174
- }
175
-
176
- /**
177
- * Reset password
178
- * @param rq Request data
179
- * @param payload Payload
180
- * @returns Result
181
- */
182
- resetPassword(rq: ResetPasswordRQ, payload?: ResultPayload) {
183
- return this.api.put('Auth/ResetPassword', rq, payload);
184
- }
185
-
186
- /**
187
- * Signout
188
- * @param rq Request data
189
- * @param payload Payload
190
- * @returns Result
191
- */
192
- signout(rq: SignoutRQ, payload?: ResultPayload) {
193
- return this.api.put('Auth/Signout', rq, payload);
194
- }
195
-
196
- /**
197
- * Switch organization
198
- * @param rq Request data
199
- * @param payload Payload
200
- */
201
- switchOrg(rq: SwitchOrgRQ, payload?: ResultPayload) {
202
- return this.app.api.put('Auth/SwitchOrg', rq, payload);
203
- }
166
+ // Token
167
+ const refreshToken = this.app.getResponseToken(
168
+ payload.response,
169
+ tokenField
170
+ );
171
+
172
+ // Success
173
+ return [refreshToken, result];
174
+ }
175
+
176
+ /**
177
+ * Reset password
178
+ * @param rq Request data
179
+ * @param payload Payload
180
+ * @returns Result
181
+ */
182
+ resetPassword(rq: ResetPasswordRQ, payload?: ResultPayload) {
183
+ return this.api.put("Auth/ResetPassword", rq, payload);
184
+ }
185
+
186
+ /**
187
+ * Signout
188
+ * @param rq Request data
189
+ * @param payload Payload
190
+ * @returns Result
191
+ */
192
+ signout(rq: SignoutRQ, payload?: ResultPayload) {
193
+ return this.api.put("Auth/Signout", rq, payload);
194
+ }
195
+
196
+ /**
197
+ * Switch organization
198
+ * @param rq Request data
199
+ * @param payload Payload
200
+ */
201
+ switchOrg(rq: SwitchOrgRQ, payload?: ResultPayload) {
202
+ return this.app.api.put("Auth/SwitchOrg", rq, payload);
203
+ }
204
204
  }
@@ -1,20 +1,20 @@
1
- import { IApp } from '../app/IApp';
1
+ import { IApp } from "../app/IApp";
2
2
 
3
3
  /**
4
4
  * SmartERP base API
5
5
  */
6
6
  export class BaseApi<T extends IApp = IApp> {
7
- /**
8
- * API Last error
9
- */
10
- get lastError() {
11
- return this.api.lastError;
12
- }
7
+ /**
8
+ * API Last error
9
+ */
10
+ get lastError() {
11
+ return this.api.lastError;
12
+ }
13
13
 
14
- /**
15
- * Constructor
16
- * @param app Application
17
- * @param api API
18
- */
19
- constructor(protected app: T, protected api = app.api) {}
14
+ /**
15
+ * Constructor
16
+ * @param app Application
17
+ * @param api API
18
+ */
19
+ constructor(protected app: T, protected api = app.api) {}
20
20
  }