@sendbird/sendbird-platform-sdk-typescript 2.1.1 → 2.1.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.
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Sendbird Platform SDK
3
+ * Sendbird Platform API SDK [https://sendbird.com/docs/chat/v3/platform-api/getting-started/prepare-to-use-api](https://sendbird.com/docs/chat/v3/platform-api/getting-started/prepare-to-use-api) Contact Support: Name: Sendbird Email: [support@sendbird.com](https://mailto:support@sendbird.com)
4
+ *
5
+ * OpenAPI spec version: 1.0.0
6
+ * Contact: support@sendbird.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+
13
+ import { HttpFile } from '../http/http';
14
+
15
+ export class UpdateSpecificUserMetadataRequest {
16
+ 'value': string;
17
+
18
+ static readonly discriminator: string | undefined = undefined;
19
+
20
+ static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [
21
+ {
22
+ "name": "value",
23
+ "baseName": "value",
24
+ "type": "string",
25
+ "format": ""
26
+ } ];
27
+
28
+ static getAttributeTypeMap() {
29
+ return UpdateSpecificUserMetadataRequest.attributeTypeMap;
30
+ }
31
+
32
+ public constructor() {
33
+ }
34
+ }
35
+
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Sendbird Platform SDK
3
+ * Sendbird Platform API SDK [https://sendbird.com/docs/chat/v3/platform-api/getting-started/prepare-to-use-api](https://sendbird.com/docs/chat/v3/platform-api/getting-started/prepare-to-use-api) Contact Support: Name: Sendbird Email: [support@sendbird.com](https://mailto:support@sendbird.com)
4
+ *
5
+ * OpenAPI spec version: 1.0.0
6
+ * Contact: support@sendbird.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+
13
+ import { HttpFile } from '../http/http';
14
+
15
+ export class UpdateUserMetadataRequest {
16
+ 'metadata': any;
17
+ 'upsert'?: boolean;
18
+
19
+ static readonly discriminator: string | undefined = undefined;
20
+
21
+ static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [
22
+ {
23
+ "name": "metadata",
24
+ "baseName": "metadata",
25
+ "type": "any",
26
+ "format": ""
27
+ },
28
+ {
29
+ "name": "upsert",
30
+ "baseName": "upsert",
31
+ "type": "boolean",
32
+ "format": ""
33
+ } ];
34
+
35
+ static getAttributeTypeMap() {
36
+ return UpdateUserMetadataRequest.attributeTypeMap;
37
+ }
38
+
39
+ public constructor() {
40
+ }
41
+ }
42
+
package/models/all.ts CHANGED
@@ -16,6 +16,7 @@ export * from './CreateAChannelMetadataResponse'
16
16
  export * from './CreateAGroupChannelRequest'
17
17
  export * from './CreateAUserRequest'
18
18
  export * from './CreateAnOpenChannelRequest'
19
+ export * from './CreateUserMetadataRequest'
19
20
  export * from './CreateUserTokenRequest'
20
21
  export * from './CreateUserTokenResponse'
21
22
  export * from './FreezeAGroupChannelRequest'
@@ -114,6 +115,8 @@ export * from './UpdatePushPreferencesForAChannelRequest'
114
115
  export * from './UpdatePushPreferencesForAChannelResponse'
115
116
  export * from './UpdatePushPreferencesRequest'
116
117
  export * from './UpdatePushPreferencesResponse'
118
+ export * from './UpdateSpecificUserMetadataRequest'
119
+ export * from './UpdateUserMetadataRequest'
117
120
  export * from './ViewBotByIdResponse'
118
121
  export * from './ViewBotByIdResponseBot'
119
122
  export * from './ViewCountPreferenceOfAChannelResponse'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendbird/sendbird-platform-sdk-typescript",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "OpenAPI client for sendbird-platform-sdk-typescript",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "repository": {
@@ -570,4 +570,239 @@ describe("User API", () => {
570
570
 
571
571
  expect(deleteAUserResponse).toBeDefined();
572
572
  });
573
+
574
+ it("call createUserMetadata", async () => {
575
+ const TEST_METADATA_KEY = "create_metadata_key";
576
+ const TEST_METADATA_VALUE = "test_value";
577
+
578
+ try {
579
+ await userApi.deleteUserAllMetadata({
580
+ userId: MASTER_USER_ID,
581
+ apiToken: API_TOKEN,
582
+ });
583
+ } catch (e) {
584
+ console.warn("ignoring error deleting metadata:", e);
585
+ }
586
+
587
+ const createMetadataResponse = await userApi.createUserMetadata({
588
+ userId: MASTER_USER_ID,
589
+ apiToken: API_TOKEN,
590
+ createUserMetadataRequest: {
591
+ metadata: {
592
+ [TEST_METADATA_KEY]: TEST_METADATA_VALUE,
593
+ },
594
+ },
595
+ });
596
+
597
+ expect(createMetadataResponse).toBeDefined();
598
+ expect(typeof createMetadataResponse).toBe("object");
599
+ expect(createMetadataResponse).toHaveProperty(TEST_METADATA_KEY);
600
+ expect(createMetadataResponse[TEST_METADATA_KEY]).toBe(
601
+ TEST_METADATA_VALUE
602
+ );
603
+ });
604
+ it("call deleteUserMetadata", async () => {
605
+ const TEST_METADATA_KEY = "create_metadata_key";
606
+ const TEST_METADATA_VALUE = "test_value";
607
+
608
+ try {
609
+ await userApi.deleteUserAllMetadata({
610
+ userId: MASTER_USER_ID,
611
+ apiToken: API_TOKEN,
612
+ });
613
+ } catch (e) {
614
+ console.warn("ignoring error deleting metadata:", e);
615
+ }
616
+
617
+ await userApi.createUserMetadata({
618
+ userId: MASTER_USER_ID,
619
+ apiToken: API_TOKEN,
620
+ createUserMetadataRequest: {
621
+ metadata: {
622
+ [TEST_METADATA_KEY]: TEST_METADATA_VALUE,
623
+ },
624
+ },
625
+ });
626
+
627
+ try {
628
+ await userApi.deleteUserAllMetadata({
629
+ userId: MASTER_USER_ID,
630
+ apiToken: API_TOKEN,
631
+ });
632
+ } catch (e) {
633
+ fail(`error deleting metadata: ${e}`);
634
+ }
635
+ });
636
+ it("call updateUserMetadata", async () => {
637
+ const TEST_METADATA_KEY = "create_metadata_key";
638
+ const TEST_METADATA_VALUE = "test_value";
639
+
640
+ try {
641
+ await userApi.deleteUserAllMetadata({
642
+ userId: MASTER_USER_ID,
643
+ apiToken: API_TOKEN,
644
+ });
645
+ } catch (e) {
646
+ console.warn("ignoring error deleting metadata:", e);
647
+ }
648
+
649
+ await userApi.createUserMetadata({
650
+ userId: MASTER_USER_ID,
651
+ apiToken: API_TOKEN,
652
+ createUserMetadataRequest: {
653
+ metadata: {
654
+ [TEST_METADATA_KEY]: TEST_METADATA_VALUE,
655
+ },
656
+ },
657
+ });
658
+
659
+ const UPDATED_METADATA_VALUE = "updated_test_value";
660
+
661
+ const updateMetadataResponse = await userApi.updateUserMetadata({
662
+ userId: MASTER_USER_ID,
663
+ apiToken: API_TOKEN,
664
+ updateUserMetadataRequest: {
665
+ metadata: {
666
+ [TEST_METADATA_KEY]: UPDATED_METADATA_VALUE,
667
+ },
668
+ },
669
+ });
670
+
671
+ expect(updateMetadataResponse).toBeDefined();
672
+ expect(typeof updateMetadataResponse).toBe("object");
673
+ expect(updateMetadataResponse).toHaveProperty(TEST_METADATA_KEY);
674
+ expect(updateMetadataResponse[TEST_METADATA_KEY]).toBe(
675
+ UPDATED_METADATA_VALUE
676
+ );
677
+ });
678
+ it("call Get Specific UserMetadata", async () => {
679
+ const TEST_METADATA_KEY = "create_metadata_key";
680
+ const TEST_METADATA_VALUE = "test_value";
681
+ const TEST_METADATA_KEY_1 = "create_metadata_key_1";
682
+ const TEST_METADATA_VALUE_1 = "test_value_1";
683
+
684
+ try {
685
+ await userApi.deleteUserAllMetadata({
686
+ userId: MASTER_USER_ID,
687
+ apiToken: API_TOKEN,
688
+ });
689
+ } catch (e) {
690
+ console.warn("ignoring error deleting metadata:", e);
691
+ }
692
+
693
+ await userApi.createUserMetadata({
694
+ userId: MASTER_USER_ID,
695
+ apiToken: API_TOKEN,
696
+ createUserMetadataRequest: {
697
+ metadata: {
698
+ [TEST_METADATA_KEY]: TEST_METADATA_VALUE,
699
+ [TEST_METADATA_KEY_1]: TEST_METADATA_VALUE_1,
700
+ },
701
+ },
702
+ });
703
+
704
+ const getSpecificMetadataResponse = await userApi.viewSpecificUserMetadata({
705
+ userId: MASTER_USER_ID,
706
+ apiToken: API_TOKEN,
707
+ key: TEST_METADATA_KEY_1,
708
+ });
709
+
710
+ expect(getSpecificMetadataResponse).toBeDefined();
711
+ expect(typeof getSpecificMetadataResponse).toBe("object");
712
+ expect(getSpecificMetadataResponse).toHaveProperty(TEST_METADATA_KEY_1);
713
+ expect(getSpecificMetadataResponse[TEST_METADATA_KEY_1]).toBe(
714
+ TEST_METADATA_VALUE_1
715
+ );
716
+ });
717
+ it("call Update Specific UserMetadata", async () => {
718
+ const TEST_METADATA_KEY = "create_metadata_key";
719
+ const TEST_METADATA_VALUE = "test_value";
720
+ const TEST_METADATA_KEY_1 = "create_metadata_key_1";
721
+ const TEST_METADATA_VALUE_1 = "test_value_1";
722
+
723
+ try {
724
+ await userApi.deleteUserAllMetadata({
725
+ userId: MASTER_USER_ID,
726
+ apiToken: API_TOKEN,
727
+ });
728
+ } catch (e) {
729
+ console.warn("ignoring error deleting metadata:", e);
730
+ }
731
+
732
+ await userApi.createUserMetadata({
733
+ userId: MASTER_USER_ID,
734
+ apiToken: API_TOKEN,
735
+ createUserMetadataRequest: {
736
+ metadata: {
737
+ [TEST_METADATA_KEY]: TEST_METADATA_VALUE,
738
+ [TEST_METADATA_KEY_1]: TEST_METADATA_VALUE_1,
739
+ },
740
+ },
741
+ });
742
+
743
+ const UPDATED_METADATA_VALUE_1 = "updated_test_value_1";
744
+ const updateSpecificMetadataResponse = await userApi.updateSpecificUserMetadata({
745
+ userId: MASTER_USER_ID,
746
+ apiToken: API_TOKEN,
747
+ key: TEST_METADATA_KEY_1,
748
+ updateSpecificUserMetadataRequest: {
749
+ value: UPDATED_METADATA_VALUE_1,
750
+ },
751
+ });
752
+
753
+ expect(updateSpecificMetadataResponse).toBeDefined();
754
+ expect(typeof updateSpecificMetadataResponse).toBe("object");
755
+ expect(updateSpecificMetadataResponse).toHaveProperty(TEST_METADATA_KEY_1);
756
+ expect(updateSpecificMetadataResponse[TEST_METADATA_KEY_1]).toBe(
757
+ UPDATED_METADATA_VALUE_1
758
+ );
759
+ });
760
+ it("call Delete Specific UserMetadata", async () => {
761
+ const TEST_METADATA_KEY = "create_metadata_key";
762
+ const TEST_METADATA_VALUE = "test_value";
763
+ const TEST_METADATA_KEY_1 = "create_metadata_key_1";
764
+ const TEST_METADATA_VALUE_1 = "test_value_1";
765
+
766
+ try {
767
+ await userApi.deleteUserAllMetadata({
768
+ userId: MASTER_USER_ID,
769
+ apiToken: API_TOKEN,
770
+ });
771
+ } catch (e) {
772
+ console.warn("ignoring error deleting metadata:", e);
773
+ }
774
+
775
+ await userApi.createUserMetadata({
776
+ userId: MASTER_USER_ID,
777
+ apiToken: API_TOKEN,
778
+ createUserMetadataRequest: {
779
+ metadata: {
780
+ [TEST_METADATA_KEY]: TEST_METADATA_VALUE,
781
+ [TEST_METADATA_KEY_1]: TEST_METADATA_VALUE_1,
782
+ },
783
+ },
784
+ });
785
+
786
+ try {
787
+ await userApi.deleteSpecificUserMetadata({
788
+ userId: MASTER_USER_ID,
789
+ apiToken: API_TOKEN,
790
+ key: TEST_METADATA_KEY_1,
791
+ });
792
+ } catch (e) {
793
+ fail(`error deleting specific metadata: ${e}`);
794
+ }
795
+
796
+ try {
797
+ await userApi.viewSpecificUserMetadata({
798
+ userId: MASTER_USER_ID,
799
+ apiToken: API_TOKEN,
800
+ key: TEST_METADATA_KEY_1,
801
+ });
802
+ } catch (e) {
803
+ const errorBody = JSON.parse((e as any).body);
804
+ expect(errorBody).toBeDefined();
805
+ expect(errorBody['code']).toBe(400201);
806
+ }
807
+ });
573
808
  });
@@ -20,6 +20,7 @@ import { CreateAChannelMetadataResponse } from '../models/CreateAChannelMetadata
20
20
  import { CreateAGroupChannelRequest } from '../models/CreateAGroupChannelRequest';
21
21
  import { CreateAUserRequest } from '../models/CreateAUserRequest';
22
22
  import { CreateAnOpenChannelRequest } from '../models/CreateAnOpenChannelRequest';
23
+ import { CreateUserMetadataRequest } from '../models/CreateUserMetadataRequest';
23
24
  import { CreateUserTokenRequest } from '../models/CreateUserTokenRequest';
24
25
  import { CreateUserTokenResponse } from '../models/CreateUserTokenResponse';
25
26
  import { FreezeAGroupChannelRequest } from '../models/FreezeAGroupChannelRequest';
@@ -118,6 +119,8 @@ import { UpdatePushPreferencesForAChannelRequest } from '../models/UpdatePushPre
118
119
  import { UpdatePushPreferencesForAChannelResponse } from '../models/UpdatePushPreferencesForAChannelResponse';
119
120
  import { UpdatePushPreferencesRequest } from '../models/UpdatePushPreferencesRequest';
120
121
  import { UpdatePushPreferencesResponse } from '../models/UpdatePushPreferencesResponse';
122
+ import { UpdateSpecificUserMetadataRequest } from '../models/UpdateSpecificUserMetadataRequest';
123
+ import { UpdateUserMetadataRequest } from '../models/UpdateUserMetadataRequest';
121
124
  import { ViewBotByIdResponse } from '../models/ViewBotByIdResponse';
122
125
  import { ViewBotByIdResponseBot } from '../models/ViewBotByIdResponseBot';
123
126
  import { ViewCountPreferenceOfAChannelResponse } from '../models/ViewCountPreferenceOfAChannelResponse';
@@ -2756,6 +2759,27 @@ export interface UserApiCreateAUserRequest {
2756
2759
  createAUserRequest?: CreateAUserRequest
2757
2760
  }
2758
2761
 
2762
+ export interface UserApiCreateUserMetadataRequest {
2763
+ /**
2764
+ * (Required)
2765
+ * @type string
2766
+ * @memberof UserApicreateUserMetadata
2767
+ */
2768
+ userId: string
2769
+ /**
2770
+ *
2771
+ * @type string
2772
+ * @memberof UserApicreateUserMetadata
2773
+ */
2774
+ apiToken?: string
2775
+ /**
2776
+ *
2777
+ * @type CreateUserMetadataRequest
2778
+ * @memberof UserApicreateUserMetadata
2779
+ */
2780
+ createUserMetadataRequest?: CreateUserMetadataRequest
2781
+ }
2782
+
2759
2783
  export interface UserApiCreateUserTokenRequest {
2760
2784
  /**
2761
2785
  * (Required)
@@ -2792,6 +2816,42 @@ export interface UserApiDeleteAUserRequest {
2792
2816
  apiToken?: string
2793
2817
  }
2794
2818
 
2819
+ export interface UserApiDeleteSpecificUserMetadataRequest {
2820
+ /**
2821
+ * (Required)
2822
+ * @type string
2823
+ * @memberof UserApideleteSpecificUserMetadata
2824
+ */
2825
+ userId: string
2826
+ /**
2827
+ *
2828
+ * @type string
2829
+ * @memberof UserApideleteSpecificUserMetadata
2830
+ */
2831
+ key: string
2832
+ /**
2833
+ *
2834
+ * @type string
2835
+ * @memberof UserApideleteSpecificUserMetadata
2836
+ */
2837
+ apiToken?: string
2838
+ }
2839
+
2840
+ export interface UserApiDeleteUserAllMetadataRequest {
2841
+ /**
2842
+ * (Required)
2843
+ * @type string
2844
+ * @memberof UserApideleteUserAllMetadata
2845
+ */
2846
+ userId: string
2847
+ /**
2848
+ *
2849
+ * @type string
2850
+ * @memberof UserApideleteUserAllMetadata
2851
+ */
2852
+ apiToken?: string
2853
+ }
2854
+
2795
2855
  export interface UserApiGetChannelInvitationPreferenceRequest {
2796
2856
  /**
2797
2857
  * (Required)
@@ -3395,6 +3455,54 @@ export interface UserApiUpdatePushPreferencesForAChannelRequest {
3395
3455
  updatePushPreferencesForAChannelRequest?: UpdatePushPreferencesForAChannelRequest
3396
3456
  }
3397
3457
 
3458
+ export interface UserApiUpdateSpecificUserMetadataRequest {
3459
+ /**
3460
+ * (Required)
3461
+ * @type string
3462
+ * @memberof UserApiupdateSpecificUserMetadata
3463
+ */
3464
+ userId: string
3465
+ /**
3466
+ *
3467
+ * @type string
3468
+ * @memberof UserApiupdateSpecificUserMetadata
3469
+ */
3470
+ key: string
3471
+ /**
3472
+ *
3473
+ * @type string
3474
+ * @memberof UserApiupdateSpecificUserMetadata
3475
+ */
3476
+ apiToken?: string
3477
+ /**
3478
+ *
3479
+ * @type UpdateSpecificUserMetadataRequest
3480
+ * @memberof UserApiupdateSpecificUserMetadata
3481
+ */
3482
+ updateSpecificUserMetadataRequest?: UpdateSpecificUserMetadataRequest
3483
+ }
3484
+
3485
+ export interface UserApiUpdateUserMetadataRequest {
3486
+ /**
3487
+ * (Required)
3488
+ * @type string
3489
+ * @memberof UserApiupdateUserMetadata
3490
+ */
3491
+ userId: string
3492
+ /**
3493
+ *
3494
+ * @type string
3495
+ * @memberof UserApiupdateUserMetadata
3496
+ */
3497
+ apiToken?: string
3498
+ /**
3499
+ *
3500
+ * @type UpdateUserMetadataRequest
3501
+ * @memberof UserApiupdateUserMetadata
3502
+ */
3503
+ updateUserMetadataRequest?: UpdateUserMetadataRequest
3504
+ }
3505
+
3398
3506
  export interface UserApiViewAUserRequest {
3399
3507
  /**
3400
3508
  * (Required)
@@ -3539,6 +3647,27 @@ export interface UserApiViewPushPreferencesForAChannelRequest {
3539
3647
  apiToken?: string
3540
3648
  }
3541
3649
 
3650
+ export interface UserApiViewSpecificUserMetadataRequest {
3651
+ /**
3652
+ * (Required)
3653
+ * @type string
3654
+ * @memberof UserApiviewSpecificUserMetadata
3655
+ */
3656
+ userId: string
3657
+ /**
3658
+ *
3659
+ * @type string
3660
+ * @memberof UserApiviewSpecificUserMetadata
3661
+ */
3662
+ key: string
3663
+ /**
3664
+ *
3665
+ * @type string
3666
+ * @memberof UserApiviewSpecificUserMetadata
3667
+ */
3668
+ apiToken?: string
3669
+ }
3670
+
3542
3671
  export interface UserApiViewWhoOwnsARegistrationOrDeviceTokenRequest {
3543
3672
  /**
3544
3673
  * (Required)
@@ -3594,6 +3723,15 @@ export class ObjectUserApi {
3594
3723
  return this.api.createAUser(param.apiToken, param.createAUserRequest, options).toPromise();
3595
3724
  }
3596
3725
 
3726
+ /**
3727
+ * ## Create metadata When creating new items of the user metadata. https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-create-metadata
3728
+ * Create user metadata
3729
+ * @param param the request object
3730
+ */
3731
+ public createUserMetadata(param: UserApiCreateUserMetadataRequest, options?: Configuration): Promise<any> {
3732
+ return this.api.createUserMetadata(param.userId, param.apiToken, param.createUserMetadataRequest, options).toPromise();
3733
+ }
3734
+
3597
3735
  /**
3598
3736
  * ## Create user token This action issues a session token for user authentication. Session tokens provide an efficient stateless authentication method by not storing the tokens in the Sendbird database, and thus improving the server's performance. See [access token vs. session token](https://sendbird.com/docs/chat/platform-api/v3/user/creating-users/create-a-user#2-access-token-vs-session-token) to learn more about authenticating users. > **Note**: The endpoint `/users/{user_id}` is deprecated. Use `/users/{user_id}/token` for greater efficiency. https://sendbird.com/docs/chat/platform-api/v3/user/managing-session-tokens/issue-a-session-token#1-issue-a-session-token
3599
3737
  * Create user token
@@ -3612,6 +3750,24 @@ export class ObjectUserApi {
3612
3750
  return this.api.deleteAUser(param.userId, param.apiToken, options).toPromise();
3613
3751
  }
3614
3752
 
3753
+ /**
3754
+ * ## Delete metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-delete-metadata
3755
+ * Delete user metadata
3756
+ * @param param the request object
3757
+ */
3758
+ public deleteSpecificUserMetadata(param: UserApiDeleteSpecificUserMetadataRequest, options?: Configuration): Promise<any> {
3759
+ return this.api.deleteSpecificUserMetadata(param.userId, param.key, param.apiToken, options).toPromise();
3760
+ }
3761
+
3762
+ /**
3763
+ * ## Delete metadata You can delete a specific or all metadata of a user. Metadata stores additional user information such as their preference settings. https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-delete-metadata
3764
+ * Delete user metadata
3765
+ * @param param the request object
3766
+ */
3767
+ public deleteUserAllMetadata(param: UserApiDeleteUserAllMetadataRequest, options?: Configuration): Promise<any> {
3768
+ return this.api.deleteUserAllMetadata(param.userId, param.apiToken, options).toPromise();
3769
+ }
3770
+
3615
3771
  /**
3616
3772
  * ## Get channel invitation preference This action retrieves a user's [group channel](https://sendbird.com/docs/chat/platform-api/v3/channel/channel-overview#2-channel-types-3-group-channel) invitation preference. Users are subject to both user-specific and application-wide invitation preferences. Of the two, the invitation preference set for a specific user takes precedence over [the default channel invitation preference](https://sendbird.com/docs/chat/platform-api/v3/channel/setting-up-channels/get-default-invitation-preference). [https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/get-channel-invitation-preference#1-get-channel-invitation-preference](https://sendbird.com/docs/chat/platform-api/v3/channel/managing-a-channel/get-channel-invitation-preference#1-get-channel-invitation-preference)
3617
3773
  * Get channel invitation preference
@@ -3747,6 +3903,24 @@ export class ObjectUserApi {
3747
3903
  return this.api.updatePushPreferencesForAChannel(param.userId, param.channelUrl, param.apiToken, param.updatePushPreferencesForAChannelRequest, options).toPromise();
3748
3904
  }
3749
3905
 
3906
+ /**
3907
+ * ## Update metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-update-metadata
3908
+ * Update specific user metadata
3909
+ * @param param the request object
3910
+ */
3911
+ public updateSpecificUserMetadata(param: UserApiUpdateSpecificUserMetadataRequest, options?: Configuration): Promise<any> {
3912
+ return this.api.updateSpecificUserMetadata(param.userId, param.key, param.apiToken, param.updateSpecificUserMetadataRequest, options).toPromise();
3913
+ }
3914
+
3915
+ /**
3916
+ * ## Update metadata When updating existing items of the user metadata by their keys or adding new items to the metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-update-metadata
3917
+ * Update user metadata
3918
+ * @param param the request object
3919
+ */
3920
+ public updateUserMetadata(param: UserApiUpdateUserMetadataRequest, options?: Configuration): Promise<any> {
3921
+ return this.api.updateUserMetadata(param.userId, param.apiToken, param.updateUserMetadataRequest, options).toPromise();
3922
+ }
3923
+
3750
3924
  /**
3751
3925
  * ## View a user You can retrieve information about a user using this API. https://sendbird.com/docs/chat/platform-api/v3/user/listing-users/get-a-user#1-get-a-user `user_id` Type: string Description: Specifies the unique ID of the user to retrieve.
3752
3926
  * View a user
@@ -3801,6 +3975,15 @@ export class ObjectUserApi {
3801
3975
  return this.api.viewPushPreferencesForAChannel(param.userId, param.channelUrl, param.apiToken, options).toPromise();
3802
3976
  }
3803
3977
 
3978
+ /**
3979
+ * ## Get metadata https://sendbird.com/docs/chat/platform-api/v3/user/managing-metadata/user-get-metadata
3980
+ * Get specific user metadata
3981
+ * @param param the request object
3982
+ */
3983
+ public viewSpecificUserMetadata(param: UserApiViewSpecificUserMetadataRequest, options?: Configuration): Promise<any> {
3984
+ return this.api.viewSpecificUserMetadata(param.userId, param.key, param.apiToken, options).toPromise();
3985
+ }
3986
+
3804
3987
  /**
3805
3988
  * ## View who owns a registration or device token Retrieves a user who owns a FCM registration token, HMS device token, or APNs device token. You can pass one of two values in `token_type`: `gcm`, `huawei`, or `apns`, depending on which push service you are using. https://sendbird.com/docs/chat/v3/platform-api/guides/user#2-view-who-owns-a-registration-or-device-token ----------------------------
3806
3989
  * View who owns a registration or device token