@etsoo/appscript 1.3.68 → 1.3.70

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 (44) hide show
  1. package/__tests__/app/CoreApp.ts +9 -1
  2. package/lib/cjs/address/AddressCity.d.ts +17 -0
  3. package/lib/cjs/address/AddressCity.js +2 -0
  4. package/lib/cjs/address/AddressDistrict.d.ts +17 -0
  5. package/lib/cjs/address/AddressDistrict.js +2 -0
  6. package/lib/cjs/app/CoreApp.d.ts +5 -0
  7. package/lib/cjs/app/CoreApp.js +8 -0
  8. package/lib/cjs/app/IApp.d.ts +5 -0
  9. package/lib/cjs/business/DataPrivacy.d.ts +13 -0
  10. package/lib/cjs/business/DataPrivacy.js +41 -0
  11. package/lib/cjs/erp/AddressApi.d.ts +20 -1
  12. package/lib/cjs/erp/AddressApi.js +28 -2
  13. package/lib/cjs/i18n/en.json +10 -0
  14. package/lib/cjs/i18n/zh-Hans.json +10 -0
  15. package/lib/cjs/i18n/zh-Hant.json +10 -0
  16. package/lib/cjs/index.d.ts +3 -0
  17. package/lib/cjs/index.js +3 -0
  18. package/lib/mjs/address/AddressCity.d.ts +17 -0
  19. package/lib/mjs/address/AddressCity.js +1 -0
  20. package/lib/mjs/address/AddressDistrict.d.ts +17 -0
  21. package/lib/mjs/address/AddressDistrict.js +1 -0
  22. package/lib/mjs/app/CoreApp.d.ts +5 -0
  23. package/lib/mjs/app/CoreApp.js +8 -0
  24. package/lib/mjs/app/IApp.d.ts +5 -0
  25. package/lib/mjs/business/DataPrivacy.d.ts +13 -0
  26. package/lib/mjs/business/DataPrivacy.js +38 -0
  27. package/lib/mjs/erp/AddressApi.d.ts +20 -1
  28. package/lib/mjs/erp/AddressApi.js +28 -2
  29. package/lib/mjs/i18n/en.json +10 -0
  30. package/lib/mjs/i18n/zh-Hans.json +10 -0
  31. package/lib/mjs/i18n/zh-Hant.json +10 -0
  32. package/lib/mjs/index.d.ts +3 -0
  33. package/lib/mjs/index.js +3 -0
  34. package/package.json +1 -1
  35. package/src/address/AddressCity.ts +19 -0
  36. package/src/address/AddressDistrict.ts +19 -0
  37. package/src/app/CoreApp.ts +9 -0
  38. package/src/app/IApp.ts +6 -0
  39. package/src/business/DataPrivacy.ts +42 -0
  40. package/src/erp/AddressApi.ts +54 -2
  41. package/src/i18n/en.json +10 -0
  42. package/src/i18n/zh-Hans.json +10 -0
  43. package/src/i18n/zh-Hant.json +10 -0
  44. package/src/index.ts +3 -0
@@ -211,7 +211,7 @@ test('Tests for isValidPassword', () => {
211
211
  expect(app.isValidPassword('1234abcd')).toBeTruthy();
212
212
  });
213
213
 
214
- test('Tests for addressApi', () => {
214
+ test('Tests for addressApi', async () => {
215
215
  const regions = app.addressApi.regions();
216
216
  const cn = regions.find((r) => r.id === 'CN');
217
217
  expect(cn?.label).toBe('中国大陆');
@@ -226,6 +226,14 @@ test('Tests for addressApi', () => {
226
226
  expect(region?.label).toBe('美国');
227
227
  const regionFailed = app.addressApi.region('ABC');
228
228
  expect(regionFailed).toBeUndefined();
229
+
230
+ /*
231
+ const cities = await app.addressApi.cities('CNHN');
232
+ console.log(cities);
233
+
234
+ const districts = await app.addressApi.districts(1181);
235
+ console.log(districts);
236
+ */
229
237
  });
230
238
 
231
239
  /*
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Address city
3
+ */
4
+ export type AddressCity = {
5
+ /**
6
+ * Id
7
+ */
8
+ id: number;
9
+ /**
10
+ * Number id
11
+ */
12
+ num?: string;
13
+ /**
14
+ * Name
15
+ */
16
+ label: string;
17
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Address district
3
+ */
4
+ export type AddressDistrict = {
5
+ /**
6
+ * Id
7
+ */
8
+ id: number;
9
+ /**
10
+ * Number id
11
+ */
12
+ num?: string;
13
+ /**
14
+ * Name
15
+ */
16
+ label: string;
17
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -363,6 +363,11 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
363
363
  * @returns Cached token
364
364
  */
365
365
  getCacheToken(): string | undefined;
366
+ /**
367
+ * Get data privacies
368
+ * @returns Result
369
+ */
370
+ getDataPrivacies(): ListType[];
366
371
  /**
367
372
  * Get enum item number id list
368
373
  * @param em Enum
@@ -7,6 +7,7 @@ const shared_1 = require("@etsoo/shared");
7
7
  const crypto_js_1 = require("crypto-js");
8
8
  const AddressRegion_1 = require("../address/AddressRegion");
9
9
  const BridgeUtils_1 = require("../bridges/BridgeUtils");
10
+ const DataPrivacy_1 = require("../business/DataPrivacy");
10
11
  const EntityStatus_1 = require("../business/EntityStatus");
11
12
  const ActionResultError_1 = require("../result/ActionResultError");
12
13
  const IApp_1 = require("./IApp");
@@ -890,6 +891,13 @@ class CoreApp {
890
891
  return this.cachedRefreshToken;
891
892
  return this.storage.getData(this.fields.headerToken);
892
893
  }
894
+ /**
895
+ * Get data privacies
896
+ * @returns Result
897
+ */
898
+ getDataPrivacies() {
899
+ return this.getEnumList(DataPrivacy_1.DataPrivacy, 'dataPrivacy');
900
+ }
893
901
  /**
894
902
  * Get enum item number id list
895
903
  * @param em Enum
@@ -299,6 +299,11 @@ export interface IApp {
299
299
  * @returns Cached token
300
300
  */
301
301
  getCacheToken(): string | undefined;
302
+ /**
303
+ * Get data privacies
304
+ * @returns Result
305
+ */
306
+ getDataPrivacies(): ListType[];
302
307
  /**
303
308
  * Get enum item number id list
304
309
  * @param em Enum
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Data privacy
3
+ * 数据隐私
4
+ * @link com.etsoo.CoreFramework.Business.DataPrivacy
5
+ */
6
+ export declare enum DataPrivacy {
7
+ Public = 0,
8
+ Customer = 20,
9
+ Internal = 40,
10
+ Dept = 60,
11
+ Admin = 80,
12
+ Private = 100
13
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataPrivacy = void 0;
4
+ /**
5
+ * Data privacy
6
+ * 数据隐私
7
+ * @link com.etsoo.CoreFramework.Business.DataPrivacy
8
+ */
9
+ var DataPrivacy;
10
+ (function (DataPrivacy) {
11
+ /// <summary>
12
+ /// Public
13
+ /// 完全公开
14
+ /// </summary>
15
+ DataPrivacy[DataPrivacy["Public"] = 0] = "Public";
16
+ /// <summary>
17
+ /// Customer disclosure
18
+ /// 客户可见
19
+ /// </summary>
20
+ DataPrivacy[DataPrivacy["Customer"] = 20] = "Customer";
21
+ /// <summary>
22
+ /// Internal
23
+ /// 内部可见
24
+ /// </summary>
25
+ DataPrivacy[DataPrivacy["Internal"] = 40] = "Internal";
26
+ /// <summary>
27
+ /// Dept disclosure
28
+ /// 部门可见
29
+ /// </summary>
30
+ DataPrivacy[DataPrivacy["Dept"] = 60] = "Dept";
31
+ /// <summary>
32
+ /// Admin disclosure
33
+ /// 管理员可见
34
+ /// </summary>
35
+ DataPrivacy[DataPrivacy["Admin"] = 80] = "Admin";
36
+ /// <summary>
37
+ /// Private
38
+ /// 创建者私有
39
+ /// </summary>
40
+ DataPrivacy[DataPrivacy["Private"] = 100] = "Private";
41
+ })(DataPrivacy = exports.DataPrivacy || (exports.DataPrivacy = {}));
@@ -5,6 +5,8 @@ import { IdLabelConditional } from './dto/IdLabelDto';
5
5
  import { BaseApi } from './BaseApi';
6
6
  import { IApiPayload } from '@etsoo/restclient';
7
7
  import { RegionsRQ } from './rq/RegionsRQ';
8
+ import { AddressCity } from '../address/AddressCity';
9
+ import { AddressDistrict } from '../address/AddressDistrict';
8
10
  /**
9
11
  * Address Api
10
12
  */
@@ -64,7 +66,24 @@ export declare class AddressApi extends BaseApi {
64
66
  * Get state list
65
67
  * @param regionId Region id
66
68
  * @param payload Payload
69
+ * @param culture Culture
67
70
  * @returns Result
68
71
  */
69
- states(regionId: string, payload?: IApiPayload<AddressState[]>): Promise<AddressState[] | undefined>;
72
+ states(regionId: string, payload?: IApiPayload<AddressState[]>, culture?: string): Promise<AddressState[] | undefined>;
73
+ /**
74
+ * Get city list
75
+ * @param stateId State id
76
+ * @param payload Payload
77
+ * @param culture Culture
78
+ * @returns Result
79
+ */
80
+ cities(stateId: string, payload?: IApiPayload<AddressCity[]>, culture?: string): Promise<AddressCity[] | undefined>;
81
+ /**
82
+ * Get district list
83
+ * @param cityId City id
84
+ * @param payload Payload
85
+ * @param culture Culture
86
+ * @returns Result
87
+ */
88
+ districts(cityId: number, payload?: IApiPayload<AddressDistrict[]>, culture?: string): Promise<AddressDistrict[] | undefined>;
70
89
  }
@@ -144,11 +144,37 @@ class AddressApi extends BaseApi_1.BaseApi {
144
144
  * Get state list
145
145
  * @param regionId Region id
146
146
  * @param payload Payload
147
+ * @param culture Culture
147
148
  * @returns Result
148
149
  */
149
- states(regionId, payload) {
150
+ states(regionId, payload, culture) {
150
151
  payload !== null && payload !== void 0 ? payload : (payload = { defaultValue: [], showLoading: false });
151
- return this.api.get(`Address/StateList?regionId=${regionId}&language=${this.app.culture}`, undefined, payload);
152
+ culture !== null && culture !== void 0 ? culture : (culture = this.app.culture);
153
+ return this.api.get(`Address/StateList?regionId=${regionId}&language=${culture}`, undefined, payload);
154
+ }
155
+ /**
156
+ * Get city list
157
+ * @param stateId State id
158
+ * @param payload Payload
159
+ * @param culture Culture
160
+ * @returns Result
161
+ */
162
+ cities(stateId, payload, culture) {
163
+ payload !== null && payload !== void 0 ? payload : (payload = { defaultValue: [], showLoading: false });
164
+ culture !== null && culture !== void 0 ? culture : (culture = this.app.culture);
165
+ return this.api.get(`Address/CityList?stateId=${stateId}&language=${culture}`, undefined, payload);
166
+ }
167
+ /**
168
+ * Get district list
169
+ * @param cityId City id
170
+ * @param payload Payload
171
+ * @param culture Culture
172
+ * @returns Result
173
+ */
174
+ districts(cityId, payload, culture) {
175
+ payload !== null && payload !== void 0 ? payload : (payload = { defaultValue: [], showLoading: false });
176
+ culture !== null && culture !== void 0 ? culture : (culture = this.app.culture);
177
+ return this.api.get(`Address/DistrictList?cityId=${cityId}&language=${culture}`, undefined, payload);
152
178
  }
153
179
  }
154
180
  exports.AddressApi = AddressApi;
@@ -11,6 +11,7 @@
11
11
  "back": "Back",
12
12
  "cancel": "Cancel",
13
13
  "changePassword": "Change password",
14
+ "city": "City",
14
15
  "clear": "Clear",
15
16
  "close": "Close",
16
17
  "confirm": "Confirm",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "U.S. Dollar",
41
42
  "data": "Data",
42
43
  "dataComparison": "Data comparison",
44
+ "dataPrivacy": "Data privacy",
45
+ "dataPrivacyAdmin": "Admins",
46
+ "dataPrivacyCustomer": "Customers",
47
+ "dataPrivacyDept": "Dept users",
48
+ "dataPrivacyInternal": "All users",
49
+ "dataPrivacyPrivate": "Creator only",
50
+ "dataPrivacyPublic": "Full public",
43
51
  "delete": "Delete",
44
52
  "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
45
53
  "description": "Description",
54
+ "district": "District/County",
46
55
  "done": "Done",
47
56
  "download": "Download",
48
57
  "dragIndicator": "Drag indicator",
@@ -155,6 +164,7 @@
155
164
  "signout": "Sign out",
156
165
  "smartERP": "SmartERP",
157
166
  "sortTip": "Drag and drop items to sort",
167
+ "state": "Province/State",
158
168
  "status": "Status",
159
169
  "statusApproved": "Approved",
160
170
  "statusArchived": "Archived",
@@ -11,6 +11,7 @@
11
11
  "back": "后退",
12
12
  "cancel": "取消",
13
13
  "changePassword": "修改密码",
14
+ "city": "城市",
14
15
  "clear": "清除",
15
16
  "close": "关闭",
16
17
  "confirm": "确认",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "美元",
41
42
  "data": "数据",
42
43
  "dataComparison": "数据对比",
44
+ "dataPrivacy": "数据隐私",
45
+ "dataPrivacyAdmin": "管理员可见",
46
+ "dataPrivacyCustomer": "客户可见",
47
+ "dataPrivacyDept": "部门可见",
48
+ "dataPrivacyInternal": "所有用户",
49
+ "dataPrivacyPrivate": "创建者私有",
50
+ "dataPrivacyPublic": "完全公开",
43
51
  "delete": "删除",
44
52
  "deleteConfirm": "确定要永久删除此{0}吗?",
45
53
  "description": "描述",
54
+ "district": "区/县",
46
55
  "done": "完成",
47
56
  "download": "下载",
48
57
  "dragIndicator": "拖动指示",
@@ -155,6 +164,7 @@
155
164
  "signout": "退出",
156
165
  "smartERP": "司友®云ERP",
157
166
  "sortTip": "拖拽项目进行排序",
167
+ "state": "省/州",
158
168
  "status": "状态",
159
169
  "statusApproved": "已批准",
160
170
  "statusArchived": "已归档",
@@ -11,6 +11,7 @@
11
11
  "back": "後退",
12
12
  "cancel": "取消",
13
13
  "changePassword": "修改密碼",
14
+ "city": "城市",
14
15
  "clear": "清除",
15
16
  "close": "關閉",
16
17
  "confirm": "確認",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "美元",
41
42
  "data": "數據",
42
43
  "dataComparison": "數據對比",
44
+ "dataPrivacy": "數據隱私",
45
+ "dataPrivacyAdmin": "管理員可見",
46
+ "dataPrivacyCustomer": "客戶可見",
47
+ "dataPrivacyDept": "部門可見",
48
+ "dataPrivacyInternal": "所有用户",
49
+ "dataPrivacyPrivate": "創建者私有",
50
+ "dataPrivacyPublic": "完全公開",
43
51
  "delete": "刪除",
44
52
  "deleteConfirm": "確定要永久刪除此{0}嗎?",
45
53
  "description": "描述",
54
+ "district": "區/縣",
46
55
  "done": "完成",
47
56
  "download": "下載",
48
57
  "dragIndicator": "拖動指示",
@@ -155,6 +164,7 @@
155
164
  "signout": "退出",
156
165
  "smartERP": "司友®雲ERP",
157
166
  "sortTip": "拖拽項目進行排序",
167
+ "state": "省/州",
158
168
  "status": "狀態",
159
169
  "statusApproved": "已批准",
160
170
  "statusArchived": "已歸檔",
@@ -1,4 +1,6 @@
1
+ export * from './address/AddressCity';
1
2
  export * from './address/AddressContinent';
3
+ export * from './address/AddressDistrict';
2
4
  export * from './address/AddressRegion';
3
5
  export * from './address/AddressState';
4
6
  export * from './address/AddressUtils';
@@ -12,6 +14,7 @@ export * from './bridges/IBridgeHost';
12
14
  export * from './business/BusinessTax';
13
15
  export * from './business/BusinessUtils';
14
16
  export * from './business/Currency';
17
+ export * from './business/DataPrivacy';
15
18
  export * from './business/EntityStatus';
16
19
  export * from './business/ProductUnit';
17
20
  export * from './business/RepeatOption';
package/lib/cjs/index.js CHANGED
@@ -16,7 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.createClient = exports.ApiResponseType = exports.ApiMethod = exports.ApiAuthorizationScheme = void 0;
18
18
  // address
19
+ __exportStar(require("./address/AddressCity"), exports);
19
20
  __exportStar(require("./address/AddressContinent"), exports);
21
+ __exportStar(require("./address/AddressDistrict"), exports);
20
22
  __exportStar(require("./address/AddressRegion"), exports);
21
23
  __exportStar(require("./address/AddressState"), exports);
22
24
  __exportStar(require("./address/AddressUtils"), exports);
@@ -33,6 +35,7 @@ __exportStar(require("./bridges/IBridgeHost"), exports);
33
35
  __exportStar(require("./business/BusinessTax"), exports);
34
36
  __exportStar(require("./business/BusinessUtils"), exports);
35
37
  __exportStar(require("./business/Currency"), exports);
38
+ __exportStar(require("./business/DataPrivacy"), exports);
36
39
  __exportStar(require("./business/EntityStatus"), exports);
37
40
  __exportStar(require("./business/ProductUnit"), exports);
38
41
  __exportStar(require("./business/RepeatOption"), exports);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Address city
3
+ */
4
+ export type AddressCity = {
5
+ /**
6
+ * Id
7
+ */
8
+ id: number;
9
+ /**
10
+ * Number id
11
+ */
12
+ num?: string;
13
+ /**
14
+ * Name
15
+ */
16
+ label: string;
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Address district
3
+ */
4
+ export type AddressDistrict = {
5
+ /**
6
+ * Id
7
+ */
8
+ id: number;
9
+ /**
10
+ * Number id
11
+ */
12
+ num?: string;
13
+ /**
14
+ * Name
15
+ */
16
+ label: string;
17
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -363,6 +363,11 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
363
363
  * @returns Cached token
364
364
  */
365
365
  getCacheToken(): string | undefined;
366
+ /**
367
+ * Get data privacies
368
+ * @returns Result
369
+ */
370
+ getDataPrivacies(): ListType[];
366
371
  /**
367
372
  * Get enum item number id list
368
373
  * @param em Enum
@@ -4,6 +4,7 @@ import { DataTypes, DateUtils, DomUtils, NumberUtils, Utils } from '@etsoo/share
4
4
  import { AES, algo, enc, HmacSHA512, lib, mode, pad, PBKDF2, SHA3 } from 'crypto-js';
5
5
  import { AddressRegion } from '../address/AddressRegion';
6
6
  import { BridgeUtils } from '../bridges/BridgeUtils';
7
+ import { DataPrivacy } from '../business/DataPrivacy';
7
8
  import { EntityStatus } from '../business/EntityStatus';
8
9
  import { ActionResultError } from '../result/ActionResultError';
9
10
  import { appFields } from './IApp';
@@ -887,6 +888,13 @@ export class CoreApp {
887
888
  return this.cachedRefreshToken;
888
889
  return this.storage.getData(this.fields.headerToken);
889
890
  }
891
+ /**
892
+ * Get data privacies
893
+ * @returns Result
894
+ */
895
+ getDataPrivacies() {
896
+ return this.getEnumList(DataPrivacy, 'dataPrivacy');
897
+ }
890
898
  /**
891
899
  * Get enum item number id list
892
900
  * @param em Enum
@@ -299,6 +299,11 @@ export interface IApp {
299
299
  * @returns Cached token
300
300
  */
301
301
  getCacheToken(): string | undefined;
302
+ /**
303
+ * Get data privacies
304
+ * @returns Result
305
+ */
306
+ getDataPrivacies(): ListType[];
302
307
  /**
303
308
  * Get enum item number id list
304
309
  * @param em Enum
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Data privacy
3
+ * 数据隐私
4
+ * @link com.etsoo.CoreFramework.Business.DataPrivacy
5
+ */
6
+ export declare enum DataPrivacy {
7
+ Public = 0,
8
+ Customer = 20,
9
+ Internal = 40,
10
+ Dept = 60,
11
+ Admin = 80,
12
+ Private = 100
13
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Data privacy
3
+ * 数据隐私
4
+ * @link com.etsoo.CoreFramework.Business.DataPrivacy
5
+ */
6
+ export var DataPrivacy;
7
+ (function (DataPrivacy) {
8
+ /// <summary>
9
+ /// Public
10
+ /// 完全公开
11
+ /// </summary>
12
+ DataPrivacy[DataPrivacy["Public"] = 0] = "Public";
13
+ /// <summary>
14
+ /// Customer disclosure
15
+ /// 客户可见
16
+ /// </summary>
17
+ DataPrivacy[DataPrivacy["Customer"] = 20] = "Customer";
18
+ /// <summary>
19
+ /// Internal
20
+ /// 内部可见
21
+ /// </summary>
22
+ DataPrivacy[DataPrivacy["Internal"] = 40] = "Internal";
23
+ /// <summary>
24
+ /// Dept disclosure
25
+ /// 部门可见
26
+ /// </summary>
27
+ DataPrivacy[DataPrivacy["Dept"] = 60] = "Dept";
28
+ /// <summary>
29
+ /// Admin disclosure
30
+ /// 管理员可见
31
+ /// </summary>
32
+ DataPrivacy[DataPrivacy["Admin"] = 80] = "Admin";
33
+ /// <summary>
34
+ /// Private
35
+ /// 创建者私有
36
+ /// </summary>
37
+ DataPrivacy[DataPrivacy["Private"] = 100] = "Private";
38
+ })(DataPrivacy || (DataPrivacy = {}));
@@ -5,6 +5,8 @@ import { IdLabelConditional } from './dto/IdLabelDto';
5
5
  import { BaseApi } from './BaseApi';
6
6
  import { IApiPayload } from '@etsoo/restclient';
7
7
  import { RegionsRQ } from './rq/RegionsRQ';
8
+ import { AddressCity } from '../address/AddressCity';
9
+ import { AddressDistrict } from '../address/AddressDistrict';
8
10
  /**
9
11
  * Address Api
10
12
  */
@@ -64,7 +66,24 @@ export declare class AddressApi extends BaseApi {
64
66
  * Get state list
65
67
  * @param regionId Region id
66
68
  * @param payload Payload
69
+ * @param culture Culture
67
70
  * @returns Result
68
71
  */
69
- states(regionId: string, payload?: IApiPayload<AddressState[]>): Promise<AddressState[] | undefined>;
72
+ states(regionId: string, payload?: IApiPayload<AddressState[]>, culture?: string): Promise<AddressState[] | undefined>;
73
+ /**
74
+ * Get city list
75
+ * @param stateId State id
76
+ * @param payload Payload
77
+ * @param culture Culture
78
+ * @returns Result
79
+ */
80
+ cities(stateId: string, payload?: IApiPayload<AddressCity[]>, culture?: string): Promise<AddressCity[] | undefined>;
81
+ /**
82
+ * Get district list
83
+ * @param cityId City id
84
+ * @param payload Payload
85
+ * @param culture Culture
86
+ * @returns Result
87
+ */
88
+ districts(cityId: number, payload?: IApiPayload<AddressDistrict[]>, culture?: string): Promise<AddressDistrict[] | undefined>;
70
89
  }
@@ -141,10 +141,36 @@ export class AddressApi extends BaseApi {
141
141
  * Get state list
142
142
  * @param regionId Region id
143
143
  * @param payload Payload
144
+ * @param culture Culture
144
145
  * @returns Result
145
146
  */
146
- states(regionId, payload) {
147
+ states(regionId, payload, culture) {
147
148
  payload !== null && payload !== void 0 ? payload : (payload = { defaultValue: [], showLoading: false });
148
- return this.api.get(`Address/StateList?regionId=${regionId}&language=${this.app.culture}`, undefined, payload);
149
+ culture !== null && culture !== void 0 ? culture : (culture = this.app.culture);
150
+ return this.api.get(`Address/StateList?regionId=${regionId}&language=${culture}`, undefined, payload);
151
+ }
152
+ /**
153
+ * Get city list
154
+ * @param stateId State id
155
+ * @param payload Payload
156
+ * @param culture Culture
157
+ * @returns Result
158
+ */
159
+ cities(stateId, payload, culture) {
160
+ payload !== null && payload !== void 0 ? payload : (payload = { defaultValue: [], showLoading: false });
161
+ culture !== null && culture !== void 0 ? culture : (culture = this.app.culture);
162
+ return this.api.get(`Address/CityList?stateId=${stateId}&language=${culture}`, undefined, payload);
163
+ }
164
+ /**
165
+ * Get district list
166
+ * @param cityId City id
167
+ * @param payload Payload
168
+ * @param culture Culture
169
+ * @returns Result
170
+ */
171
+ districts(cityId, payload, culture) {
172
+ payload !== null && payload !== void 0 ? payload : (payload = { defaultValue: [], showLoading: false });
173
+ culture !== null && culture !== void 0 ? culture : (culture = this.app.culture);
174
+ return this.api.get(`Address/DistrictList?cityId=${cityId}&language=${culture}`, undefined, payload);
149
175
  }
150
176
  }
@@ -11,6 +11,7 @@
11
11
  "back": "Back",
12
12
  "cancel": "Cancel",
13
13
  "changePassword": "Change password",
14
+ "city": "City",
14
15
  "clear": "Clear",
15
16
  "close": "Close",
16
17
  "confirm": "Confirm",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "U.S. Dollar",
41
42
  "data": "Data",
42
43
  "dataComparison": "Data comparison",
44
+ "dataPrivacy": "Data privacy",
45
+ "dataPrivacyAdmin": "Admins",
46
+ "dataPrivacyCustomer": "Customers",
47
+ "dataPrivacyDept": "Dept users",
48
+ "dataPrivacyInternal": "All users",
49
+ "dataPrivacyPrivate": "Creator only",
50
+ "dataPrivacyPublic": "Full public",
43
51
  "delete": "Delete",
44
52
  "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
45
53
  "description": "Description",
54
+ "district": "District/County",
46
55
  "done": "Done",
47
56
  "download": "Download",
48
57
  "dragIndicator": "Drag indicator",
@@ -155,6 +164,7 @@
155
164
  "signout": "Sign out",
156
165
  "smartERP": "SmartERP",
157
166
  "sortTip": "Drag and drop items to sort",
167
+ "state": "Province/State",
158
168
  "status": "Status",
159
169
  "statusApproved": "Approved",
160
170
  "statusArchived": "Archived",
@@ -11,6 +11,7 @@
11
11
  "back": "后退",
12
12
  "cancel": "取消",
13
13
  "changePassword": "修改密码",
14
+ "city": "城市",
14
15
  "clear": "清除",
15
16
  "close": "关闭",
16
17
  "confirm": "确认",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "美元",
41
42
  "data": "数据",
42
43
  "dataComparison": "数据对比",
44
+ "dataPrivacy": "数据隐私",
45
+ "dataPrivacyAdmin": "管理员可见",
46
+ "dataPrivacyCustomer": "客户可见",
47
+ "dataPrivacyDept": "部门可见",
48
+ "dataPrivacyInternal": "所有用户",
49
+ "dataPrivacyPrivate": "创建者私有",
50
+ "dataPrivacyPublic": "完全公开",
43
51
  "delete": "删除",
44
52
  "deleteConfirm": "确定要永久删除此{0}吗?",
45
53
  "description": "描述",
54
+ "district": "区/县",
46
55
  "done": "完成",
47
56
  "download": "下载",
48
57
  "dragIndicator": "拖动指示",
@@ -155,6 +164,7 @@
155
164
  "signout": "退出",
156
165
  "smartERP": "司友®云ERP",
157
166
  "sortTip": "拖拽项目进行排序",
167
+ "state": "省/州",
158
168
  "status": "状态",
159
169
  "statusApproved": "已批准",
160
170
  "statusArchived": "已归档",
@@ -11,6 +11,7 @@
11
11
  "back": "後退",
12
12
  "cancel": "取消",
13
13
  "changePassword": "修改密碼",
14
+ "city": "城市",
14
15
  "clear": "清除",
15
16
  "close": "關閉",
16
17
  "confirm": "確認",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "美元",
41
42
  "data": "數據",
42
43
  "dataComparison": "數據對比",
44
+ "dataPrivacy": "數據隱私",
45
+ "dataPrivacyAdmin": "管理員可見",
46
+ "dataPrivacyCustomer": "客戶可見",
47
+ "dataPrivacyDept": "部門可見",
48
+ "dataPrivacyInternal": "所有用户",
49
+ "dataPrivacyPrivate": "創建者私有",
50
+ "dataPrivacyPublic": "完全公開",
43
51
  "delete": "刪除",
44
52
  "deleteConfirm": "確定要永久刪除此{0}嗎?",
45
53
  "description": "描述",
54
+ "district": "區/縣",
46
55
  "done": "完成",
47
56
  "download": "下載",
48
57
  "dragIndicator": "拖動指示",
@@ -155,6 +164,7 @@
155
164
  "signout": "退出",
156
165
  "smartERP": "司友®雲ERP",
157
166
  "sortTip": "拖拽項目進行排序",
167
+ "state": "省/州",
158
168
  "status": "狀態",
159
169
  "statusApproved": "已批准",
160
170
  "statusArchived": "已歸檔",
@@ -1,4 +1,6 @@
1
+ export * from './address/AddressCity';
1
2
  export * from './address/AddressContinent';
3
+ export * from './address/AddressDistrict';
2
4
  export * from './address/AddressRegion';
3
5
  export * from './address/AddressState';
4
6
  export * from './address/AddressUtils';
@@ -12,6 +14,7 @@ export * from './bridges/IBridgeHost';
12
14
  export * from './business/BusinessTax';
13
15
  export * from './business/BusinessUtils';
14
16
  export * from './business/Currency';
17
+ export * from './business/DataPrivacy';
15
18
  export * from './business/EntityStatus';
16
19
  export * from './business/ProductUnit';
17
20
  export * from './business/RepeatOption';
package/lib/mjs/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  // address
2
+ export * from './address/AddressCity';
2
3
  export * from './address/AddressContinent';
4
+ export * from './address/AddressDistrict';
3
5
  export * from './address/AddressRegion';
4
6
  export * from './address/AddressState';
5
7
  export * from './address/AddressUtils';
@@ -16,6 +18,7 @@ export * from './bridges/IBridgeHost';
16
18
  export * from './business/BusinessTax';
17
19
  export * from './business/BusinessUtils';
18
20
  export * from './business/Currency';
21
+ export * from './business/DataPrivacy';
19
22
  export * from './business/EntityStatus';
20
23
  export * from './business/ProductUnit';
21
24
  export * from './business/RepeatOption';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/appscript",
3
- "version": "1.3.68",
3
+ "version": "1.3.70",
4
4
  "description": "Applications shared TypeScript framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Address city
3
+ */
4
+ export type AddressCity = {
5
+ /**
6
+ * Id
7
+ */
8
+ id: number;
9
+
10
+ /**
11
+ * Number id
12
+ */
13
+ num?: string;
14
+
15
+ /**
16
+ * Name
17
+ */
18
+ label: string;
19
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Address district
3
+ */
4
+ export type AddressDistrict = {
5
+ /**
6
+ * Id
7
+ */
8
+ id: number;
9
+
10
+ /**
11
+ * Number id
12
+ */
13
+ num?: string;
14
+
15
+ /**
16
+ * Name
17
+ */
18
+ label: string;
19
+ };
@@ -31,6 +31,7 @@ import {
31
31
  } from 'crypto-js';
32
32
  import { AddressRegion } from '../address/AddressRegion';
33
33
  import { BridgeUtils } from '../bridges/BridgeUtils';
34
+ import { DataPrivacy } from '../business/DataPrivacy';
34
35
  import { EntityStatus } from '../business/EntityStatus';
35
36
  import { InitCallDto } from '../erp/dto/InitCallDto';
36
37
  import { ActionResultError } from '../result/ActionResultError';
@@ -1218,6 +1219,14 @@ export abstract class CoreApp<
1218
1219
  return this.storage.getData<string>(this.fields.headerToken);
1219
1220
  }
1220
1221
 
1222
+ /**
1223
+ * Get data privacies
1224
+ * @returns Result
1225
+ */
1226
+ getDataPrivacies() {
1227
+ return this.getEnumList(DataPrivacy, 'dataPrivacy');
1228
+ }
1229
+
1221
1230
  /**
1222
1231
  * Get enum item number id list
1223
1232
  * @param em Enum
package/src/app/IApp.ts CHANGED
@@ -401,6 +401,12 @@ export interface IApp {
401
401
  */
402
402
  getCacheToken(): string | undefined;
403
403
 
404
+ /**
405
+ * Get data privacies
406
+ * @returns Result
407
+ */
408
+ getDataPrivacies(): ListType[];
409
+
404
410
  /**
405
411
  * Get enum item number id list
406
412
  * @param em Enum
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Data privacy
3
+ * 数据隐私
4
+ * @link com.etsoo.CoreFramework.Business.DataPrivacy
5
+ */
6
+ export enum DataPrivacy {
7
+ /// <summary>
8
+ /// Public
9
+ /// 完全公开
10
+ /// </summary>
11
+ Public = 0,
12
+
13
+ /// <summary>
14
+ /// Customer disclosure
15
+ /// 客户可见
16
+ /// </summary>
17
+ Customer = 20,
18
+
19
+ /// <summary>
20
+ /// Internal
21
+ /// 内部可见
22
+ /// </summary>
23
+ Internal = 40,
24
+
25
+ /// <summary>
26
+ /// Dept disclosure
27
+ /// 部门可见
28
+ /// </summary>
29
+ Dept = 60,
30
+
31
+ /// <summary>
32
+ /// Admin disclosure
33
+ /// 管理员可见
34
+ /// </summary>
35
+ Admin = 80,
36
+
37
+ /// <summary>
38
+ /// Private
39
+ /// 创建者私有
40
+ /// </summary>
41
+ Private = 100
42
+ }
@@ -6,6 +6,8 @@ import { IdLabelConditional } from './dto/IdLabelDto';
6
6
  import { BaseApi } from './BaseApi';
7
7
  import { IApiPayload } from '@etsoo/restclient';
8
8
  import { RegionsRQ } from './rq/RegionsRQ';
9
+ import { AddressCity } from '../address/AddressCity';
10
+ import { AddressDistrict } from '../address/AddressDistrict';
9
11
 
10
12
  const cachedRegions: { [P: string]: AddressRegionDb[] | undefined | null } = {};
11
13
 
@@ -170,13 +172,63 @@ export class AddressApi extends BaseApi {
170
172
  * Get state list
171
173
  * @param regionId Region id
172
174
  * @param payload Payload
175
+ * @param culture Culture
173
176
  * @returns Result
174
177
  */
175
- states(regionId: string, payload?: IApiPayload<AddressState[]>) {
178
+ states(
179
+ regionId: string,
180
+ payload?: IApiPayload<AddressState[]>,
181
+ culture?: string
182
+ ) {
176
183
  payload ??= { defaultValue: [], showLoading: false };
184
+ culture ??= this.app.culture;
177
185
 
178
186
  return this.api.get(
179
- `Address/StateList?regionId=${regionId}&language=${this.app.culture}`,
187
+ `Address/StateList?regionId=${regionId}&language=${culture}`,
188
+ undefined,
189
+ payload
190
+ );
191
+ }
192
+
193
+ /**
194
+ * Get city list
195
+ * @param stateId State id
196
+ * @param payload Payload
197
+ * @param culture Culture
198
+ * @returns Result
199
+ */
200
+ cities(
201
+ stateId: string,
202
+ payload?: IApiPayload<AddressCity[]>,
203
+ culture?: string
204
+ ) {
205
+ payload ??= { defaultValue: [], showLoading: false };
206
+ culture ??= this.app.culture;
207
+
208
+ return this.api.get(
209
+ `Address/CityList?stateId=${stateId}&language=${culture}`,
210
+ undefined,
211
+ payload
212
+ );
213
+ }
214
+
215
+ /**
216
+ * Get district list
217
+ * @param cityId City id
218
+ * @param payload Payload
219
+ * @param culture Culture
220
+ * @returns Result
221
+ */
222
+ districts(
223
+ cityId: number,
224
+ payload?: IApiPayload<AddressDistrict[]>,
225
+ culture?: string
226
+ ) {
227
+ payload ??= { defaultValue: [], showLoading: false };
228
+ culture ??= this.app.culture;
229
+
230
+ return this.api.get(
231
+ `Address/DistrictList?cityId=${cityId}&language=${culture}`,
180
232
  undefined,
181
233
  payload
182
234
  );
package/src/i18n/en.json CHANGED
@@ -11,6 +11,7 @@
11
11
  "back": "Back",
12
12
  "cancel": "Cancel",
13
13
  "changePassword": "Change password",
14
+ "city": "City",
14
15
  "clear": "Clear",
15
16
  "close": "Close",
16
17
  "confirm": "Confirm",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "U.S. Dollar",
41
42
  "data": "Data",
42
43
  "dataComparison": "Data comparison",
44
+ "dataPrivacy": "Data privacy",
45
+ "dataPrivacyAdmin": "Admins",
46
+ "dataPrivacyCustomer": "Customers",
47
+ "dataPrivacyDept": "Dept users",
48
+ "dataPrivacyInternal": "All users",
49
+ "dataPrivacyPrivate": "Creator only",
50
+ "dataPrivacyPublic": "Full public",
43
51
  "delete": "Delete",
44
52
  "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
45
53
  "description": "Description",
54
+ "district": "District/County",
46
55
  "done": "Done",
47
56
  "download": "Download",
48
57
  "dragIndicator": "Drag indicator",
@@ -155,6 +164,7 @@
155
164
  "signout": "Sign out",
156
165
  "smartERP": "SmartERP",
157
166
  "sortTip": "Drag and drop items to sort",
167
+ "state": "Province/State",
158
168
  "status": "Status",
159
169
  "statusApproved": "Approved",
160
170
  "statusArchived": "Archived",
@@ -11,6 +11,7 @@
11
11
  "back": "后退",
12
12
  "cancel": "取消",
13
13
  "changePassword": "修改密码",
14
+ "city": "城市",
14
15
  "clear": "清除",
15
16
  "close": "关闭",
16
17
  "confirm": "确认",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "美元",
41
42
  "data": "数据",
42
43
  "dataComparison": "数据对比",
44
+ "dataPrivacy": "数据隐私",
45
+ "dataPrivacyAdmin": "管理员可见",
46
+ "dataPrivacyCustomer": "客户可见",
47
+ "dataPrivacyDept": "部门可见",
48
+ "dataPrivacyInternal": "所有用户",
49
+ "dataPrivacyPrivate": "创建者私有",
50
+ "dataPrivacyPublic": "完全公开",
43
51
  "delete": "删除",
44
52
  "deleteConfirm": "确定要永久删除此{0}吗?",
45
53
  "description": "描述",
54
+ "district": "区/县",
46
55
  "done": "完成",
47
56
  "download": "下载",
48
57
  "dragIndicator": "拖动指示",
@@ -155,6 +164,7 @@
155
164
  "signout": "退出",
156
165
  "smartERP": "司友®云ERP",
157
166
  "sortTip": "拖拽项目进行排序",
167
+ "state": "省/州",
158
168
  "status": "状态",
159
169
  "statusApproved": "已批准",
160
170
  "statusArchived": "已归档",
@@ -11,6 +11,7 @@
11
11
  "back": "後退",
12
12
  "cancel": "取消",
13
13
  "changePassword": "修改密碼",
14
+ "city": "城市",
14
15
  "clear": "清除",
15
16
  "close": "關閉",
16
17
  "confirm": "確認",
@@ -40,9 +41,17 @@
40
41
  "currencyUSD": "美元",
41
42
  "data": "數據",
42
43
  "dataComparison": "數據對比",
44
+ "dataPrivacy": "數據隱私",
45
+ "dataPrivacyAdmin": "管理員可見",
46
+ "dataPrivacyCustomer": "客戶可見",
47
+ "dataPrivacyDept": "部門可見",
48
+ "dataPrivacyInternal": "所有用户",
49
+ "dataPrivacyPrivate": "創建者私有",
50
+ "dataPrivacyPublic": "完全公開",
43
51
  "delete": "刪除",
44
52
  "deleteConfirm": "確定要永久刪除此{0}嗎?",
45
53
  "description": "描述",
54
+ "district": "區/縣",
46
55
  "done": "完成",
47
56
  "download": "下載",
48
57
  "dragIndicator": "拖動指示",
@@ -155,6 +164,7 @@
155
164
  "signout": "退出",
156
165
  "smartERP": "司友®雲ERP",
157
166
  "sortTip": "拖拽項目進行排序",
167
+ "state": "省/州",
158
168
  "status": "狀態",
159
169
  "statusApproved": "已批准",
160
170
  "statusArchived": "已歸檔",
package/src/index.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  // address
2
+ export * from './address/AddressCity';
2
3
  export * from './address/AddressContinent';
4
+ export * from './address/AddressDistrict';
3
5
  export * from './address/AddressRegion';
4
6
  export * from './address/AddressState';
5
7
  export * from './address/AddressUtils';
@@ -19,6 +21,7 @@ export * from './bridges/IBridgeHost';
19
21
  export * from './business/BusinessTax';
20
22
  export * from './business/BusinessUtils';
21
23
  export * from './business/Currency';
24
+ export * from './business/DataPrivacy';
22
25
  export * from './business/EntityStatus';
23
26
  export * from './business/ProductUnit';
24
27
  export * from './business/RepeatOption';