skapi-js 1.0.96 → 1.0.97-beta.0

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/js/main/skapi.js CHANGED
@@ -25,7 +25,7 @@ export default class Skapi {
25
25
  set user(value) {
26
26
  }
27
27
  constructor(service, owner, options, __etc) {
28
- this.version = '1.0.96';
28
+ this.version = '1.0.97';
29
29
  this.session = null;
30
30
  this.connection = null;
31
31
  this.host = 'skapi';
@@ -95,10 +95,10 @@ export declare function authentication(): {
95
95
  refreshToken?: boolean;
96
96
  }) => Promise<CognitoUserSession>;
97
97
  authenticateUser: (email: string, password: string) => Promise<UserProfile>;
98
- createCognitoUser: (email: string) => Promise<{
98
+ createCognitoUser: (un: string) => {
99
99
  cognitoUser: CognitoUser;
100
100
  cognitoUsername: string;
101
- }>;
101
+ };
102
102
  getUser: () => Promise<UserProfile | null>;
103
103
  };
104
104
  export declare function getProfile(options?: {
@@ -130,6 +130,17 @@ export declare function signup(form: Form<UserAttributes & {
130
130
  } & {
131
131
  progress?: ProgressCallback;
132
132
  }): Promise<UserProfile | "SUCCESS: The account has been created. User's signup confirmation is required." | 'SUCCESS: The account has been created.'>;
133
+ export declare function createAccount(form: Form<UserAttributes & {
134
+ email: String;
135
+ password: String;
136
+ username?: string;
137
+ }>, option?: {
138
+ signup_confirmation?: boolean | string;
139
+ email_subscription?: boolean;
140
+ login?: boolean;
141
+ } & {
142
+ progress?: ProgressCallback;
143
+ }): Promise<UserProfile | "SUCCESS: The account has been created. User's signup confirmation is required." | 'SUCCESS: The account has been created.'>;
133
144
  export declare function disableAccount(): Promise<'SUCCESS: account has been disabled.'>;
134
145
  export declare function resetPassword(form: Form<{
135
146
  email: string;
@@ -239,10 +239,8 @@ export function authentication() {
239
239
  });
240
240
  });
241
241
  };
242
- const createCognitoUser = async (email) => {
243
- if (!email)
244
- throw new SkapiError('E-Mail is required.', { code: 'INVALID_PARAMETER' });
245
- let username = email.includes(this.service + '-') ? email : this.service + '-' + MD5.hash(email);
242
+ const createCognitoUser = (un) => {
243
+ let username = un.includes(this.service + '-') ? un : this.service + '-' + MD5.hash(un);
246
244
  return {
247
245
  cognitoUser: new CognitoUser({
248
246
  Username: username,
@@ -255,63 +253,66 @@ export function authentication() {
255
253
  return new Promise((res, rej) => {
256
254
  this.__request_signup_confirmation = null;
257
255
  this.__disabledAccount = null;
258
- createCognitoUser(email).then(initUser => {
259
- let username = initUser.cognitoUsername;
260
- let authenticationDetails = new AuthenticationDetails({
261
- Username: username,
262
- Password: password
263
- });
264
- initUser.cognitoUser.authenticateUser(authenticationDetails, {
265
- newPasswordRequired: (userAttributes, requiredAttributes) => {
266
- this.__disabledAccount = null;
267
- this.__request_signup_confirmation = username;
268
- if (userAttributes['custom:signup_ticket'] === 'PASS' || userAttributes['custom:signup_ticket'] === 'MEMBER') {
269
- initUser.cognitoUser.completeNewPasswordChallenge(password, {}, {
270
- onSuccess: _ => {
271
- cognitoUser = initUser.cognitoUser;
272
- getSession().then(session => res(this.user));
273
- },
274
- onFailure: (err) => {
275
- rej(new SkapiError(err.message || 'Failed to authenticate user.', { code: err.code }));
276
- }
277
- });
278
- }
279
- else {
280
- rej(new SkapiError("User's signup confirmation is required.", { code: 'SIGNUP_CONFIRMATION_NEEDED' }));
281
- }
282
- },
283
- onSuccess: _ => getSession().then(_ => {
284
- this.__disabledAccount = null;
285
- res(this.user);
286
- }),
287
- onFailure: (err) => {
288
- let error = [err.message || 'Failed to authenticate user.', err?.code || 'INVALID_REQUEST'];
289
- if (err.code === "NotAuthorizedException") {
290
- if (err.message === "User is disabled.") {
291
- this.__disabledAccount = username;
292
- error = ['This account is disabled.', 'USER_IS_DISABLED'];
293
- }
294
- else {
295
- error = ['Incorrect username or password.', 'INCORRECT_USERNAME_OR_PASSWORD'];
256
+ let initUser = createCognitoUser(email);
257
+ let username = initUser.cognitoUsername;
258
+ let authenticationDetails = new AuthenticationDetails({
259
+ Username: username,
260
+ Password: password
261
+ });
262
+ initUser.cognitoUser.authenticateUser(authenticationDetails, {
263
+ newPasswordRequired: (userAttributes, requiredAttributes) => {
264
+ this.__disabledAccount = null;
265
+ this.__request_signup_confirmation = username;
266
+ if (userAttributes['custom:signup_ticket'] === 'PASS' || userAttributes['custom:signup_ticket'] === 'MEMBER') {
267
+ initUser.cognitoUser.completeNewPasswordChallenge(password, {}, {
268
+ onSuccess: _ => {
269
+ cognitoUser = initUser.cognitoUser;
270
+ getSession().then(session => res(this.user));
271
+ },
272
+ onFailure: (err) => {
273
+ rej(new SkapiError(err.message || 'Failed to authenticate user.', { code: err.code }));
296
274
  }
275
+ });
276
+ }
277
+ else {
278
+ rej(new SkapiError("User's signup confirmation is required.", { code: 'SIGNUP_CONFIRMATION_NEEDED' }));
279
+ }
280
+ },
281
+ onSuccess: _ => getSession().then(_ => {
282
+ this.__disabledAccount = null;
283
+ res(this.user);
284
+ }),
285
+ onFailure: (err) => {
286
+ let error = [err.message || 'Failed to authenticate user.', err?.code || 'INVALID_REQUEST'];
287
+ if (err.code === "NotAuthorizedException") {
288
+ if (err.message === "User is disabled.") {
289
+ this.__disabledAccount = username;
290
+ error = ['This account is disabled.', 'USER_IS_DISABLED'];
297
291
  }
298
- else if (err.code === "UserNotFoundException") {
292
+ else {
299
293
  error = ['Incorrect username or password.', 'INCORRECT_USERNAME_OR_PASSWORD'];
300
294
  }
301
- else if (err.code === "TooManyRequestsException" || err.code === "LimitExceededException") {
302
- error = ['Too many attempts. Please try again later.', 'REQUEST_EXCEED'];
303
- }
304
- let errCode = error[1];
305
- let errMsg = error[0];
306
- let customErr = error[0].split('#');
307
- if (customErr.length > 1) {
308
- customErr = customErr[customErr.length - 1].split(':');
309
- errCode = customErr[0];
310
- errMsg = customErr[1];
311
- }
312
- rej(new SkapiError(errMsg, { code: errCode, cause: err }));
313
295
  }
314
- });
296
+ else if (err.code === "UserNotFoundException") {
297
+ error = ['Incorrect username or password.', 'INCORRECT_USERNAME_OR_PASSWORD'];
298
+ }
299
+ else if (err.code === "UserNotConfirmedException") {
300
+ this.__request_signup_confirmation = username;
301
+ error = ["User's signup confirmation is required.", 'SIGNUP_CONFIRMATION_NEEDED'];
302
+ }
303
+ else if (err.code === "TooManyRequestsException" || err.code === "LimitExceededException") {
304
+ error = ['Too many attempts. Please try again later.', 'REQUEST_EXCEED'];
305
+ }
306
+ let errCode = error[1];
307
+ let errMsg = error[0];
308
+ let customErr = error[0].split('#');
309
+ if (customErr.length > 1) {
310
+ customErr = customErr[customErr.length - 1].split(':');
311
+ errCode = customErr[0];
312
+ errMsg = customErr[1];
313
+ }
314
+ rej(new SkapiError(errMsg, { code: errCode, cause: err }));
315
+ }
315
316
  });
316
317
  });
317
318
  };
@@ -433,7 +434,17 @@ export async function signup(form, option) {
433
434
  email: (v) => validator.Email(v),
434
435
  password: (v) => validator.Password(v),
435
436
  name: 'string',
436
- address: 'string',
437
+ address: (v) => {
438
+ if (!v)
439
+ return '';
440
+ if (typeof v === 'string') {
441
+ return v;
442
+ }
443
+ if (typeof v === 'object') {
444
+ return JSON.stringify(v);
445
+ }
446
+ return undefined;
447
+ },
437
448
  gender: 'string',
438
449
  birthdate: (v) => validator.Birthdate(v),
439
450
  phone_number: (v) => validator.PhoneNumber(v),
@@ -519,7 +530,7 @@ export async function signup(form, option) {
519
530
  let resp = await request.bind(this)("signup", params, { auth: is_admin });
520
531
  if (!is_admin) {
521
532
  if (signup_confirmation) {
522
- let u = await authentication.bind(this)().createCognitoUser(params.username || params.email);
533
+ let u = authentication.bind(this)().createCognitoUser(params.username || params.email);
523
534
  cognitoUser = u.cognitoUser;
524
535
  this.__request_signup_confirmation = u.cognitoUsername;
525
536
  return "SUCCESS: The account has been created. User's signup confirmation is required.";
@@ -531,6 +542,171 @@ export async function signup(form, option) {
531
542
  }
532
543
  return resp;
533
544
  }
545
+ export async function createAccount(form, option) {
546
+ let is_admin = await checkAdmin.bind(this)();
547
+ let paramRestrictions = {
548
+ username: 'string',
549
+ email: (v) => validator.Email(v),
550
+ password: (v) => validator.Password(v),
551
+ name: 'string',
552
+ address: (v) => {
553
+ if (!v)
554
+ return '';
555
+ if (typeof v === 'string') {
556
+ return v;
557
+ }
558
+ if (typeof v === 'object') {
559
+ return JSON.stringify(v);
560
+ }
561
+ return undefined;
562
+ },
563
+ gender: 'string',
564
+ birthdate: (v) => validator.Birthdate(v),
565
+ phone_number: (v) => validator.PhoneNumber(v),
566
+ email_public: ['boolean', () => false],
567
+ address_public: ['boolean', () => false],
568
+ gender_public: ['boolean', () => false],
569
+ birthdate_public: ['boolean', () => false],
570
+ phone_number_public: ['boolean', () => false],
571
+ access_group: 'number',
572
+ misc: 'string',
573
+ picture: (v) => { if (v)
574
+ return validator.Url(v);
575
+ else
576
+ return undefined; },
577
+ profile: (v) => { if (v)
578
+ return validator.Url(v);
579
+ else
580
+ return undefined; },
581
+ family_name: 'string',
582
+ given_name: 'string',
583
+ middle_name: 'string',
584
+ nickname: 'string',
585
+ website: (v) => { if (v)
586
+ return validator.Url(v);
587
+ else
588
+ return undefined; },
589
+ };
590
+ let params = validator.Params(form || {}, paramRestrictions, is_admin ? ['email'] : ['email', 'password']);
591
+ let admin_creating_account = is_admin && params.service && this.service !== params.service;
592
+ if (!is_admin) {
593
+ if (params.access_group) {
594
+ throw new SkapiError('Only admins can set "access_group" parameter.', { code: 'INVALID_PARAMETER' });
595
+ }
596
+ await this.logout();
597
+ }
598
+ option = validator.Params(option || {}, {
599
+ email_subscription: (v) => {
600
+ if (typeof v !== 'boolean') {
601
+ throw new SkapiError('"option.email_subscription" should be type: <boolean>.', { code: 'INVALID_PARAMETER' });
602
+ }
603
+ if (!option?.signup_confirmation) {
604
+ throw new SkapiError('"option.signup_confirmation" is required for email subscription.', { code: 'INVALID_PARAMETER' });
605
+ }
606
+ return v;
607
+ },
608
+ signup_confirmation: (v) => {
609
+ if (typeof v === 'string') {
610
+ return validator.Url(v);
611
+ }
612
+ else if (typeof v === 'boolean') {
613
+ return v;
614
+ }
615
+ else {
616
+ throw new SkapiError('"option.signup_confirmation" should be type: <string | boolean>.', { code: 'INVALID_PARAMETER' });
617
+ }
618
+ },
619
+ login: (v) => {
620
+ if (typeof v === 'boolean') {
621
+ if (option.signup_confirmation && v) {
622
+ throw new SkapiError('"login" is not allowed when "option.signup_confirmation" is true.', { code: 'INVALID_PARAMETER' });
623
+ }
624
+ return v;
625
+ }
626
+ throw new SkapiError('"option.login" should be type: boolean.', { code: 'INVALID_PARAMETER' });
627
+ }
628
+ });
629
+ let logUser = option?.login || false;
630
+ let signup_confirmation = option?.signup_confirmation || false;
631
+ if (admin_creating_account && signup_confirmation && params?.password) {
632
+ throw new SkapiError('Admins cannot create an account with "option.signup_confirmation" option.', { code: 'INVALID_PARAMETER' });
633
+ }
634
+ if (params.email_public && !signup_confirmation) {
635
+ throw new SkapiError('"option.signup_confirmation" should be true if "email_public" is set to true.', { code: 'INVALID_PARAMETER' });
636
+ }
637
+ params.signup_confirmation = signup_confirmation;
638
+ params.email_subscription = option?.email_subscription || false;
639
+ if (!admin_creating_account) {
640
+ delete params.service;
641
+ delete params.owner;
642
+ }
643
+ if (is_admin) {
644
+ let resp = await request.bind(this)("signup", params, { auth: is_admin });
645
+ return resp;
646
+ }
647
+ let newUser = authentication.bind(this)().createCognitoUser(params.username || params.email);
648
+ let signup_key = await request.bind(this)('signupkey', {
649
+ username: newUser.cognitoUsername,
650
+ signup_confirmation: typeof signup_confirmation === 'boolean' ? JSON.stringify(signup_confirmation) : signup_confirmation,
651
+ email_subscription: params.email_subscription,
652
+ });
653
+ let attributeList = [
654
+ new CognitoUserAttribute({
655
+ Name: 'preferred_username',
656
+ Value: newUser.cognitoUsername
657
+ }),
658
+ new CognitoUserAttribute({
659
+ Name: 'custom:service',
660
+ Value: this.service
661
+ }),
662
+ new CognitoUserAttribute({
663
+ Name: 'custom:owner',
664
+ Value: this.owner
665
+ }),
666
+ new CognitoUserAttribute({
667
+ Name: 'custom:signup',
668
+ Value: signup_key
669
+ })
670
+ ];
671
+ for (let k in paramRestrictions) {
672
+ let customParams = [
673
+ 'email_public',
674
+ 'address_public',
675
+ 'gender_public',
676
+ 'birthdate_public',
677
+ 'phone_number_public',
678
+ 'access_group',
679
+ 'misc'
680
+ ];
681
+ if (k === 'username') {
682
+ attributeList.push(new CognitoUserAttribute({
683
+ Name: 'preferred_username',
684
+ Value: newUser.cognitoUsername
685
+ }));
686
+ }
687
+ else if (customParams.includes(k)) {
688
+ attributeList.push(new CognitoUserAttribute({
689
+ Name: 'custom:' + k,
690
+ Value: params[k]
691
+ }));
692
+ }
693
+ else {
694
+ attributeList.push(new CognitoUserAttribute({
695
+ Name: k,
696
+ Value: params[k]
697
+ }));
698
+ }
699
+ }
700
+ if (signup_confirmation) {
701
+ cognitoUser = newUser.cognitoUser;
702
+ this.__request_signup_confirmation = newUser.cognitoUsername;
703
+ return "SUCCESS: The account has been created. User's signup confirmation is required.";
704
+ }
705
+ if (logUser) {
706
+ return login.bind(this)({ email: params.username || params.email, password: params.password });
707
+ }
708
+ return 'SUCCESS: The account has been created.';
709
+ }
534
710
  export async function disableAccount() {
535
711
  await this.__connection;
536
712
  let result = await request.bind(this)('remove-account', { disable: this.__user.user_id }, { auth: true });
@@ -549,7 +725,7 @@ export async function resetPassword(form) {
549
725
  code = code.toString();
550
726
  }
551
727
  return new Promise(async (res, rej) => {
552
- let cognitoUser = (await authentication.bind(this)().createCognitoUser(params.email)).cognitoUser;
728
+ let cognitoUser = authentication.bind(this)().createCognitoUser(params.email).cognitoUser;
553
729
  cognitoUser.confirmPassword(code, new_password, {
554
730
  onSuccess: result => {
555
731
  res("SUCCESS: New password has been set.");
@@ -624,7 +800,7 @@ export async function forgotPassword(form) {
624
800
  email: (v) => validator.Email(v)
625
801
  }, ['email']);
626
802
  return new Promise(async (res, rej) => {
627
- let cognitoUser = (await authentication.bind(this)().createCognitoUser(params.email)).cognitoUser;
803
+ let cognitoUser = authentication.bind(this)().createCognitoUser(params.email).cognitoUser;
628
804
  cognitoUser.forgotPassword({
629
805
  onSuccess: result => {
630
806
  res("SUCCESS: Verification code has been sent.");
@@ -688,7 +864,7 @@ export async function updateProfile(form) {
688
864
  if (typeof v === 'object') {
689
865
  return JSON.stringify(v);
690
866
  }
691
- return '';
867
+ return undefined;
692
868
  },
693
869
  name: 'string',
694
870
  gender: 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/methods/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/methods/user.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ async function getEndpoint(dest, auth) {
33
33
  case 'request-username-change':
34
34
  case 'jwt-login':
35
35
  case 'client-secret-request':
36
+ case 'signupkey':
36
37
  case 'client-secret-request-public':
37
38
  return (auth ? admin.admin_private : admin.admin_public) + dest + query;
38
39
  case 'post-record':
@@ -307,6 +308,17 @@ function _fetch(url, opt, progress) {
307
308
  res(result);
308
309
  }
309
310
  }
311
+ else if (xhr.status === 429) {
312
+ let retryAfter = xhr.getResponseHeader('Retry-After');
313
+ if (retryAfter) {
314
+ setTimeout(() => {
315
+ _fetch(url, opt, progress).then(res, rej);
316
+ }, parseInt(retryAfter) * 1000);
317
+ }
318
+ else {
319
+ rej('Too many requests');
320
+ }
321
+ }
310
322
  else {
311
323
  let status = xhr.status;
312
324
  let errCode = [
@@ -428,6 +440,17 @@ export async function uploadFiles(fileList, params) {
428
440
  if (xhr.status >= 200 && xhr.status < 300) {
429
441
  res(result);
430
442
  }
443
+ else if (xhr.status === 429) {
444
+ let retryAfter = xhr.getResponseHeader('Retry-After');
445
+ if (retryAfter) {
446
+ setTimeout(() => {
447
+ fetchProgress(url, body, progressCallback).then(res, rej);
448
+ }, parseInt(retryAfter) * 1000);
449
+ }
450
+ else {
451
+ rej('Too many requests');
452
+ }
453
+ }
431
454
  else {
432
455
  rej(result);
433
456
  }