@mu-cabin/opms-permission 0.8.0 → 0.8.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.
package/dist/index.cjs CHANGED
@@ -206,9 +206,12 @@ axiosClient.interceptors.request.use((config) => {
206
206
  axiosClient.interceptors.response.use(
207
207
  (response) => {
208
208
  const res = response.data;
209
- const { code, msg } = res;
210
- if (code !== 200) {
211
- throw new Error(msg);
209
+ const { success, code, msg } = res;
210
+ if (!success) {
211
+ return Promise.reject({
212
+ code,
213
+ msg
214
+ });
212
215
  }
213
216
  return res;
214
217
  },
@@ -272,18 +275,38 @@ var Permission = class {
272
275
  /**
273
276
  * Login using code from URL, save userInfo
274
277
  */
275
- async login() {
276
- const url = new URL(window.location.href);
277
- const code = url.searchParams.get("code");
278
- if (!code) throw new Error("No code found in URL");
279
- const { obj, success, msg } = await login(this.baseUrl, code);
280
- if (!success) {
281
- throw new Error(msg);
278
+ async login(code) {
279
+ try {
280
+ const url = new URL(window.location.href);
281
+ const authCode = code || url.searchParams.get("code");
282
+ if (!authCode) {
283
+ return Promise.reject({
284
+ code: 400,
285
+ msg: "No code found in URL"
286
+ });
287
+ }
288
+ const {
289
+ obj,
290
+ success,
291
+ msg,
292
+ code: loginCode
293
+ } = await login(this.baseUrl, authCode);
294
+ if (!success || loginCode !== 200) {
295
+ return Promise.reject({
296
+ code: loginCode,
297
+ msg
298
+ });
299
+ }
300
+ const { token } = obj;
301
+ url.searchParams.delete("code");
302
+ storage.setItem(TOKEN_KEY, token);
303
+ return token;
304
+ } catch (error) {
305
+ return Promise.reject({
306
+ code: 500,
307
+ msg: "Internal server error"
308
+ });
282
309
  }
283
- const { token } = obj;
284
- url.searchParams.delete("code");
285
- storage.setItem(TOKEN_KEY, token);
286
- return token;
287
310
  }
288
311
  /**
289
312
  * Logout and clear userInfo
@@ -308,9 +331,12 @@ var Permission = class {
308
331
  }
309
332
  async getUserInfo() {
310
333
  const data = await getUserInfo(this.baseUrl);
311
- const { obj, success, msg } = data;
334
+ const { obj, success, msg, code } = data;
312
335
  if (!success) {
313
- return Promise.reject(new Error(msg));
336
+ return Promise.reject({
337
+ code,
338
+ msg
339
+ });
314
340
  }
315
341
  this._userInfo = obj;
316
342
  return this.userInfo;
@@ -330,11 +356,14 @@ var Permission = class {
330
356
  menuMap: menuMap2
331
357
  };
332
358
  }
333
- const { obj, success, msg } = await queryResource(this.baseUrl, {
359
+ const { obj, success, msg, code } = await queryResource(this.baseUrl, {
334
360
  systemId: this.systemId
335
361
  });
336
362
  if (!success) {
337
- return Promise.reject(new Error(msg));
363
+ return Promise.reject({
364
+ code,
365
+ msg
366
+ });
338
367
  }
339
368
  const resources = obj;
340
369
  const { resourceMap, widgetMap } = createResourceMap(resources);
@@ -371,9 +400,12 @@ var Permission = class {
371
400
  systemId: this.systemId,
372
401
  name: "COS"
373
402
  });
374
- const { obj, success, msg } = data;
403
+ const { obj, success, msg, code } = data;
375
404
  if (!success) {
376
- return Promise.reject(new Error(msg));
405
+ return Promise.reject({
406
+ code,
407
+ msg
408
+ });
377
409
  }
378
410
  const orgTree = obj;
379
411
  const newTree = iterateNestedArray([orgTree], (item) => {
package/dist/index.d.mts CHANGED
@@ -61,7 +61,7 @@ declare class Permission {
61
61
  /**
62
62
  * Login using code from URL, save userInfo
63
63
  */
64
- login(): Promise<string>;
64
+ login(code?: string): Promise<string>;
65
65
  /**
66
66
  * Logout and clear userInfo
67
67
  */
package/dist/index.d.ts CHANGED
@@ -61,7 +61,7 @@ declare class Permission {
61
61
  /**
62
62
  * Login using code from URL, save userInfo
63
63
  */
64
- login(): Promise<string>;
64
+ login(code?: string): Promise<string>;
65
65
  /**
66
66
  * Logout and clear userInfo
67
67
  */
package/dist/index.mjs CHANGED
@@ -168,9 +168,12 @@ axiosClient.interceptors.request.use((config) => {
168
168
  axiosClient.interceptors.response.use(
169
169
  (response) => {
170
170
  const res = response.data;
171
- const { code, msg } = res;
172
- if (code !== 200) {
173
- throw new Error(msg);
171
+ const { success, code, msg } = res;
172
+ if (!success) {
173
+ return Promise.reject({
174
+ code,
175
+ msg
176
+ });
174
177
  }
175
178
  return res;
176
179
  },
@@ -234,18 +237,38 @@ var Permission = class {
234
237
  /**
235
238
  * Login using code from URL, save userInfo
236
239
  */
237
- async login() {
238
- const url = new URL(window.location.href);
239
- const code = url.searchParams.get("code");
240
- if (!code) throw new Error("No code found in URL");
241
- const { obj, success, msg } = await login(this.baseUrl, code);
242
- if (!success) {
243
- throw new Error(msg);
240
+ async login(code) {
241
+ try {
242
+ const url = new URL(window.location.href);
243
+ const authCode = code || url.searchParams.get("code");
244
+ if (!authCode) {
245
+ return Promise.reject({
246
+ code: 400,
247
+ msg: "No code found in URL"
248
+ });
249
+ }
250
+ const {
251
+ obj,
252
+ success,
253
+ msg,
254
+ code: loginCode
255
+ } = await login(this.baseUrl, authCode);
256
+ if (!success || loginCode !== 200) {
257
+ return Promise.reject({
258
+ code: loginCode,
259
+ msg
260
+ });
261
+ }
262
+ const { token } = obj;
263
+ url.searchParams.delete("code");
264
+ storage.setItem(TOKEN_KEY, token);
265
+ return token;
266
+ } catch (error) {
267
+ return Promise.reject({
268
+ code: 500,
269
+ msg: "Internal server error"
270
+ });
244
271
  }
245
- const { token } = obj;
246
- url.searchParams.delete("code");
247
- storage.setItem(TOKEN_KEY, token);
248
- return token;
249
272
  }
250
273
  /**
251
274
  * Logout and clear userInfo
@@ -270,9 +293,12 @@ var Permission = class {
270
293
  }
271
294
  async getUserInfo() {
272
295
  const data = await getUserInfo(this.baseUrl);
273
- const { obj, success, msg } = data;
296
+ const { obj, success, msg, code } = data;
274
297
  if (!success) {
275
- return Promise.reject(new Error(msg));
298
+ return Promise.reject({
299
+ code,
300
+ msg
301
+ });
276
302
  }
277
303
  this._userInfo = obj;
278
304
  return this.userInfo;
@@ -292,11 +318,14 @@ var Permission = class {
292
318
  menuMap: menuMap2
293
319
  };
294
320
  }
295
- const { obj, success, msg } = await queryResource(this.baseUrl, {
321
+ const { obj, success, msg, code } = await queryResource(this.baseUrl, {
296
322
  systemId: this.systemId
297
323
  });
298
324
  if (!success) {
299
- return Promise.reject(new Error(msg));
325
+ return Promise.reject({
326
+ code,
327
+ msg
328
+ });
300
329
  }
301
330
  const resources = obj;
302
331
  const { resourceMap, widgetMap } = createResourceMap(resources);
@@ -333,9 +362,12 @@ var Permission = class {
333
362
  systemId: this.systemId,
334
363
  name: "COS"
335
364
  });
336
- const { obj, success, msg } = data;
365
+ const { obj, success, msg, code } = data;
337
366
  if (!success) {
338
- return Promise.reject(new Error(msg));
367
+ return Promise.reject({
368
+ code,
369
+ msg
370
+ });
339
371
  }
340
372
  const orgTree = obj;
341
373
  const newTree = iterateNestedArray([orgTree], (item) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mu-cabin/opms-permission",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Frontend SDK for OPMS permission and auth management.",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",