@ray-js/lock-sdk 1.1.1-beta.19 → 1.1.1-beta.20

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.
package/lib/temporary.js CHANGED
@@ -3,47 +3,17 @@ import config from "./config";
3
3
  import { formatWeek, isUseNearChannel, parallelOnly, parseOfflinePassword, parseWeek, validateEffectiveConfig, } from "./utils";
4
4
  import { LoopTypes } from "./utils/constant";
5
5
  import { encrypt } from "./utils/device";
6
- import { getError } from "./utils/errors";
6
+ import { getError, handleCloudError } from "./utils/errors";
7
7
  import { addTempPwd as addTempPwdDpMap, reportAddTempPwd as reportAddTempPwdDpMap, removeTempPwd as removeTempPwdDpMap, reportRemoveTempPwd as reportRemoveTempPwdDpMap, } from "./config/dp-map/unlock-method";
8
8
  import { addTempPwd as addTempPwdBigDpMap, reportAddTempPwd as reportAddTempPwdDBigpMap, removeTempPwd as removeTempPwdBigDpMap, reportRemoveTempPwd as reportRemoveTempPwdBigDpMap, } from "./config/dp-map/unlock-method-big";
9
9
  import { publishDps } from "./utils/publishDps";
10
10
  import dpCodes from "./config/dp-code";
11
11
  import dpUtils from "@ray-js/tuya-dp-transform";
12
12
  const PASSWORD_REGEX = /^[0-9]+$/;
13
- const handleError = (err) => {
14
- if (err?.innerError?.errorCode) {
15
- let error;
16
- switch (err.innerError.errorCode) {
17
- case "USER_PWD_ALREADY_EXIST":
18
- error = getError(1037);
19
- break;
20
- case "LOCK_PWD_NAME_REPEAT":
21
- case "OFFLINE_PWD_NAME_REPEAT":
22
- error = getError(1038);
23
- break;
24
- case "START_END_DATE_NOT_RIGHT":
25
- error = getError(1039);
26
- break;
27
- case "RECORD_NOT_EXIST":
28
- error = getError(1040);
29
- break;
30
- case "OFFLINE_PWD_EXAUST_IN_PERIOD":
31
- error = getError(1067);
32
- break;
33
- default:
34
- }
35
- if (error) {
36
- error.errorMsg = err.innerError.errorMsg;
37
- error.innerError = err.innerError;
38
- throw error;
39
- }
40
- }
41
- throw err;
42
- };
43
13
  const isValidPassword = async (params) => {
44
14
  const validateResult = await validateTempPwd(params);
45
15
  if (!validateResult.valid) {
46
- handleError(validateResult);
16
+ handleCloudError(validateResult);
47
17
  }
48
18
  return true;
49
19
  };
@@ -160,7 +130,7 @@ export const createTempCustom = parallelOnly(async (params) => {
160
130
  };
161
131
  }
162
132
  catch (error) {
163
- throw handleError(error);
133
+ throw handleCloudError(error);
164
134
  }
165
135
  }
166
136
  });
@@ -202,7 +172,7 @@ export const removeTempCustom = async (params) => {
202
172
  }
203
173
  }
204
174
  catch (e) {
205
- handleError(e);
175
+ handleCloudError(e);
206
176
  }
207
177
  };
208
178
  export const updateTempCustom = async (params) => {
@@ -236,7 +206,7 @@ export const updateTempCustom = async (params) => {
236
206
  });
237
207
  }
238
208
  catch (error) {
239
- handleError(error);
209
+ handleCloudError(error);
240
210
  }
241
211
  };
242
212
  const getOfflinePassword = async (params) => {
@@ -244,7 +214,7 @@ const getOfflinePassword = async (params) => {
244
214
  return await createOfflinePassword(params);
245
215
  }
246
216
  catch (error) {
247
- throw handleError(error);
217
+ throw handleCloudError(error);
248
218
  }
249
219
  };
250
220
  export const createTempLimit = async (params) => {
@@ -512,7 +482,7 @@ const changePasswordPhase = async (unlockBindingId, phase) => {
512
482
  });
513
483
  }
514
484
  catch (e) {
515
- handleError(e);
485
+ handleCloudError(e);
516
486
  }
517
487
  return true;
518
488
  };
@@ -548,7 +518,7 @@ export const renameTemp = async (params) => {
548
518
  }
549
519
  }
550
520
  catch (e) {
551
- handleError(e);
521
+ handleCloudError(e);
552
522
  }
553
523
  };
554
524
  export const saveTempOnlineUnlimited = async (params) => {
@@ -594,7 +564,7 @@ export const saveTempOnlineUnlimited = async (params) => {
594
564
  };
595
565
  }
596
566
  catch (error) {
597
- throw handleError(error);
567
+ throw handleCloudError(error);
598
568
  }
599
569
  };
600
570
  export const createTempOffline = async (params) => {
@@ -652,7 +622,7 @@ export const removeTempOnlineUnlimited = async (id) => {
652
622
  });
653
623
  }
654
624
  catch (error) {
655
- throw handleError(error);
625
+ throw handleCloudError(error);
656
626
  }
657
627
  };
658
628
  const onLinePasswordStatusMap = {
@@ -686,7 +656,7 @@ export const getTempOnlineUnlimitedList = async () => {
686
656
  return newPswList;
687
657
  }
688
658
  catch (error) {
689
- throw handleError(error);
659
+ throw handleCloudError(error);
690
660
  }
691
661
  };
692
662
  const offlinePasswordTypeMap = {
@@ -705,7 +675,7 @@ export const getTempOfflineEffectiveList = async (pwdTypeCode) => {
705
675
  return offLineValidPswList;
706
676
  }
707
677
  catch (error) {
708
- throw handleError(error);
678
+ throw handleCloudError(error);
709
679
  }
710
680
  };
711
681
  export const getTempOfflineInvalidList = async (pwdTypeCode) => {
@@ -718,6 +688,6 @@ export const getTempOfflineInvalidList = async (pwdTypeCode) => {
718
688
  return offLineFailurePswList;
719
689
  }
720
690
  catch (error) {
721
- throw handleError(error);
691
+ throw handleCloudError(error);
722
692
  }
723
693
  };
package/lib/user.d.ts CHANGED
@@ -19,7 +19,7 @@ interface updateUserLimitTimeParams {
19
19
  effective?: EffectiveConfig;
20
20
  offlineUnlock?: boolean;
21
21
  }
22
- export declare const updateUserLimitTime: (params: updateUserLimitTimeParams) => Promise<boolean>;
22
+ export declare const updateUserLimitTime: (params: updateUserLimitTimeParams) => Promise<true | undefined>;
23
23
  export declare const openAddFamilyUser: () => Promise<unknown>;
24
24
  export declare const openFamilyUserDetail: (userId: string) => Promise<undefined>;
25
25
  interface AddUserParams {
package/lib/user.js CHANGED
@@ -5,7 +5,7 @@ import { update as updateMapBig, reportUpdate as reportUpdateMapBig, } from "./c
5
5
  import { publishDps } from "./utils/publishDps";
6
6
  import dpCodes from "./config/dp-code";
7
7
  import DpUtils from "@ray-js/tuya-dp-transform";
8
- import { getError } from "./utils/errors";
8
+ import { getError, handleCloudError } from "./utils/errors";
9
9
  import { updateUserTimeSchedule, addNormalUser, removeNormalUser, } from "./api/user";
10
10
  import { validConfigDpMap } from "./config/dp-map/common";
11
11
  import { formatTimestampToMilliseconds, formatWeek, getPermanentSetting, isAdmin, isUseNearChannel, parseWeek, unlockMethodConfigs, validateEffectiveConfig, } from "./utils";
@@ -159,33 +159,33 @@ export const updateUserLimitTime = async (params) => {
159
159
  endMinute: expiredTime % 60,
160
160
  },
161
161
  };
162
- try {
163
- const dpCode = config.supportBigData
164
- ? dpCodes.unlockMethodEditW
165
- : dpCodes.unlockMethodEdit;
166
- const res = (await publishDps({
167
- [dpCode]: DpUtils.format(dpValue, (config.supportBigData ? updateMapBig : updateMap)),
168
- }, {
169
- checkReport: (dps) => {
170
- if (typeof dps[dpCode] !== "undefined") {
171
- const result = DpUtils.parse(dps[dpCode], (config.supportBigData
172
- ? reportUpdateMapBig
173
- : reportUpdateMap));
174
- if (result.type === 0) {
175
- if (result.memberId === lockUserId) {
176
- return result;
177
- }
178
- else {
179
- console.warn("An incorrect member id was returned");
180
- }
162
+ const dpCode = config.supportBigData
163
+ ? dpCodes.unlockMethodEditW
164
+ : dpCodes.unlockMethodEdit;
165
+ const res = (await publishDps({
166
+ [dpCode]: DpUtils.format(dpValue, (config.supportBigData ? updateMapBig : updateMap)),
167
+ }, {
168
+ checkReport: (dps) => {
169
+ if (typeof dps[dpCode] !== "undefined") {
170
+ const result = DpUtils.parse(dps[dpCode], (config.supportBigData
171
+ ? reportUpdateMapBig
172
+ : reportUpdateMap));
173
+ if (result.type === 0) {
174
+ if (result.memberId === lockUserId) {
175
+ return result;
176
+ }
177
+ else {
178
+ console.warn("An incorrect member id was returned");
181
179
  }
182
180
  }
183
- return false;
184
- },
185
- }));
186
- if (res.status !== 255) {
187
- throw getError(1011);
188
- }
181
+ }
182
+ return false;
183
+ },
184
+ }));
185
+ if (res.status !== 255) {
186
+ throw getError(1011);
187
+ }
188
+ try {
189
189
  await updateUserTimeSchedule({
190
190
  devId: config.devInfo.devId,
191
191
  userId: userId,
@@ -204,11 +204,11 @@ export const updateUserLimitTime = async (params) => {
204
204
  ],
205
205
  },
206
206
  });
207
+ return true;
207
208
  }
208
209
  catch (e) {
209
- throw getError(1012);
210
+ handleCloudError(e, 1012);
210
211
  }
211
- return true;
212
212
  };
213
213
  export const openAddFamilyUser = async () => {
214
214
  const homeInfo = await getCurrentHomeInfo();
@@ -1,2 +1,3 @@
1
1
  import { ErrorData } from "../interface";
2
2
  export declare const getError: (code: number, ...places: string[]) => ErrorData;
3
+ export declare const handleCloudError: (err: any, code?: number) => never;
@@ -87,3 +87,36 @@ export const getError = (code, ...places) => {
87
87
  errorMsg: "unknow error",
88
88
  };
89
89
  };
90
+ export const handleCloudError = (err, code) => {
91
+ if (err?.innerError?.errorCode) {
92
+ let error;
93
+ switch (err.innerError.errorCode) {
94
+ case "USER_PWD_ALREADY_EXIST":
95
+ error = getError(1037);
96
+ break;
97
+ case "LOCK_PWD_NAME_REPEAT":
98
+ case "OFFLINE_PWD_NAME_REPEAT":
99
+ error = getError(1038);
100
+ break;
101
+ case "START_END_DATE_NOT_RIGHT":
102
+ error = getError(1039);
103
+ break;
104
+ case "RECORD_NOT_EXIST":
105
+ error = getError(1040);
106
+ break;
107
+ case "OFFLINE_PWD_EXAUST_IN_PERIOD":
108
+ error = getError(1067);
109
+ break;
110
+ default:
111
+ }
112
+ if (error) {
113
+ error.errorMsg = err.innerError.errorMsg;
114
+ error.innerError = err.innerError;
115
+ throw error;
116
+ }
117
+ }
118
+ if (code) {
119
+ throw getError(code);
120
+ }
121
+ throw err;
122
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ray-js/lock-sdk",
3
- "version": "1.1.1-beta.19",
3
+ "version": "1.1.1-beta.20",
4
4
  "files": [
5
5
  "lib",
6
6
  "LICENSE.md"