@mu-cabin/opms-permission 0.7.0 → 0.8.1

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
@@ -272,18 +272,38 @@ var Permission = class {
272
272
  /**
273
273
  * Login using code from URL, save userInfo
274
274
  */
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);
275
+ async login(code) {
276
+ try {
277
+ const url = new URL(window.location.href);
278
+ const authCode = code || url.searchParams.get("code");
279
+ if (!authCode) {
280
+ return Promise.reject({
281
+ code: 400,
282
+ msg: "No code found in URL"
283
+ });
284
+ }
285
+ const {
286
+ obj,
287
+ success,
288
+ msg,
289
+ code: loginCode
290
+ } = await login(this.baseUrl, authCode);
291
+ if (!success || loginCode !== 200) {
292
+ return Promise.reject({
293
+ code: loginCode,
294
+ msg
295
+ });
296
+ }
297
+ const { token } = obj;
298
+ url.searchParams.delete("code");
299
+ storage.setItem(TOKEN_KEY, token);
300
+ return token;
301
+ } catch (error) {
302
+ return Promise.reject({
303
+ code: 500,
304
+ msg: "Internal server error"
305
+ });
282
306
  }
283
- const { token } = obj;
284
- url.searchParams.delete("code");
285
- storage.setItem(TOKEN_KEY, token);
286
- return token;
287
307
  }
288
308
  /**
289
309
  * Logout and clear userInfo
@@ -308,9 +328,12 @@ var Permission = class {
308
328
  }
309
329
  async getUserInfo() {
310
330
  const data = await getUserInfo(this.baseUrl);
311
- const { obj, success, msg } = data;
331
+ const { obj, success, msg, code } = data;
312
332
  if (!success) {
313
- return Promise.reject(new Error(msg));
333
+ return Promise.reject({
334
+ code,
335
+ msg
336
+ });
314
337
  }
315
338
  this._userInfo = obj;
316
339
  return this.userInfo;
@@ -330,11 +353,14 @@ var Permission = class {
330
353
  menuMap: menuMap2
331
354
  };
332
355
  }
333
- const { obj, success, msg } = await queryResource(this.baseUrl, {
356
+ const { obj, success, msg, code } = await queryResource(this.baseUrl, {
334
357
  systemId: this.systemId
335
358
  });
336
359
  if (!success) {
337
- return Promise.reject(new Error(msg));
360
+ return Promise.reject({
361
+ code,
362
+ msg
363
+ });
338
364
  }
339
365
  const resources = obj;
340
366
  const { resourceMap, widgetMap } = createResourceMap(resources);
@@ -371,9 +397,12 @@ var Permission = class {
371
397
  systemId: this.systemId,
372
398
  name: "COS"
373
399
  });
374
- const { obj, success, msg } = data;
400
+ const { obj, success, msg, code } = data;
375
401
  if (!success) {
376
- return Promise.reject(new Error(msg));
402
+ return Promise.reject({
403
+ code,
404
+ msg
405
+ });
377
406
  }
378
407
  const orgTree = obj;
379
408
  const newTree = iterateNestedArray([orgTree], (item) => {
@@ -399,7 +428,9 @@ var Permission = class {
399
428
  try {
400
429
  let orgCompanyList = storage.getItem(ORG_COMPANY_KEY);
401
430
  if (!orgCompanyList) {
402
- const { obj } = await queryOrgCompanies(this.baseUrl, { queryAllBranches: true });
431
+ const { obj } = await queryOrgCompanies(this.baseUrl, {
432
+ queryAllBranches: true
433
+ });
403
434
  orgCompanyList = obj;
404
435
  storage.setItem(ORG_COMPANY_KEY, orgCompanyList);
405
436
  }
@@ -414,6 +445,9 @@ var Permission = class {
414
445
  getToken() {
415
446
  return storage.getItem(TOKEN_KEY);
416
447
  }
448
+ setToken(token) {
449
+ storage.setItem(TOKEN_KEY, token);
450
+ }
417
451
  // --- Getters ---
418
452
  get userInfo() {
419
453
  if (!this._userInfo) {
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
  */
@@ -88,7 +88,8 @@ declare class Permission {
88
88
  queryOrgs(): Promise<any>;
89
89
  queryCompanies(): Promise<void>;
90
90
  isLogin(): boolean;
91
- getToken(): unknown;
91
+ getToken(): string | null;
92
+ setToken(token: string): void;
92
93
  get userInfo(): UserInfo | null;
93
94
  get hasRootAuth(): boolean;
94
95
  get userOrganizations(): UserOrganization[];
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
  */
@@ -88,7 +88,8 @@ declare class Permission {
88
88
  queryOrgs(): Promise<any>;
89
89
  queryCompanies(): Promise<void>;
90
90
  isLogin(): boolean;
91
- getToken(): unknown;
91
+ getToken(): string | null;
92
+ setToken(token: string): void;
92
93
  get userInfo(): UserInfo | null;
93
94
  get hasRootAuth(): boolean;
94
95
  get userOrganizations(): UserOrganization[];
package/dist/index.mjs CHANGED
@@ -234,18 +234,38 @@ var Permission = class {
234
234
  /**
235
235
  * Login using code from URL, save userInfo
236
236
  */
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);
237
+ async login(code) {
238
+ try {
239
+ const url = new URL(window.location.href);
240
+ const authCode = code || url.searchParams.get("code");
241
+ if (!authCode) {
242
+ return Promise.reject({
243
+ code: 400,
244
+ msg: "No code found in URL"
245
+ });
246
+ }
247
+ const {
248
+ obj,
249
+ success,
250
+ msg,
251
+ code: loginCode
252
+ } = await login(this.baseUrl, authCode);
253
+ if (!success || loginCode !== 200) {
254
+ return Promise.reject({
255
+ code: loginCode,
256
+ msg
257
+ });
258
+ }
259
+ const { token } = obj;
260
+ url.searchParams.delete("code");
261
+ storage.setItem(TOKEN_KEY, token);
262
+ return token;
263
+ } catch (error) {
264
+ return Promise.reject({
265
+ code: 500,
266
+ msg: "Internal server error"
267
+ });
244
268
  }
245
- const { token } = obj;
246
- url.searchParams.delete("code");
247
- storage.setItem(TOKEN_KEY, token);
248
- return token;
249
269
  }
250
270
  /**
251
271
  * Logout and clear userInfo
@@ -270,9 +290,12 @@ var Permission = class {
270
290
  }
271
291
  async getUserInfo() {
272
292
  const data = await getUserInfo(this.baseUrl);
273
- const { obj, success, msg } = data;
293
+ const { obj, success, msg, code } = data;
274
294
  if (!success) {
275
- return Promise.reject(new Error(msg));
295
+ return Promise.reject({
296
+ code,
297
+ msg
298
+ });
276
299
  }
277
300
  this._userInfo = obj;
278
301
  return this.userInfo;
@@ -292,11 +315,14 @@ var Permission = class {
292
315
  menuMap: menuMap2
293
316
  };
294
317
  }
295
- const { obj, success, msg } = await queryResource(this.baseUrl, {
318
+ const { obj, success, msg, code } = await queryResource(this.baseUrl, {
296
319
  systemId: this.systemId
297
320
  });
298
321
  if (!success) {
299
- return Promise.reject(new Error(msg));
322
+ return Promise.reject({
323
+ code,
324
+ msg
325
+ });
300
326
  }
301
327
  const resources = obj;
302
328
  const { resourceMap, widgetMap } = createResourceMap(resources);
@@ -333,9 +359,12 @@ var Permission = class {
333
359
  systemId: this.systemId,
334
360
  name: "COS"
335
361
  });
336
- const { obj, success, msg } = data;
362
+ const { obj, success, msg, code } = data;
337
363
  if (!success) {
338
- return Promise.reject(new Error(msg));
364
+ return Promise.reject({
365
+ code,
366
+ msg
367
+ });
339
368
  }
340
369
  const orgTree = obj;
341
370
  const newTree = iterateNestedArray([orgTree], (item) => {
@@ -361,7 +390,9 @@ var Permission = class {
361
390
  try {
362
391
  let orgCompanyList = storage.getItem(ORG_COMPANY_KEY);
363
392
  if (!orgCompanyList) {
364
- const { obj } = await queryOrgCompanies(this.baseUrl, { queryAllBranches: true });
393
+ const { obj } = await queryOrgCompanies(this.baseUrl, {
394
+ queryAllBranches: true
395
+ });
365
396
  orgCompanyList = obj;
366
397
  storage.setItem(ORG_COMPANY_KEY, orgCompanyList);
367
398
  }
@@ -376,6 +407,9 @@ var Permission = class {
376
407
  getToken() {
377
408
  return storage.getItem(TOKEN_KEY);
378
409
  }
410
+ setToken(token) {
411
+ storage.setItem(TOKEN_KEY, token);
412
+ }
379
413
  // --- Getters ---
380
414
  get userInfo() {
381
415
  if (!this._userInfo) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mu-cabin/opms-permission",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "description": "Frontend SDK for OPMS permission and auth management.",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",