@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 +13 -43
- package/lib/user.d.ts +1 -1
- package/lib/user.js +28 -28
- package/lib/utils/errors.d.ts +1 -0
- package/lib/utils/errors.js +33 -0
- package/package.json +1 -1
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
if (result.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
|
|
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
|
-
|
|
210
|
+
handleCloudError(e, 1012);
|
|
210
211
|
}
|
|
211
|
-
return true;
|
|
212
212
|
};
|
|
213
213
|
export const openAddFamilyUser = async () => {
|
|
214
214
|
const homeInfo = await getCurrentHomeInfo();
|
package/lib/utils/errors.d.ts
CHANGED
package/lib/utils/errors.js
CHANGED
|
@@ -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
|
+
};
|