@rezamirzapour/pod-sdk 1.0.10 → 1.0.12

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.mjs CHANGED
@@ -268,7 +268,7 @@ var CaptchaService = class {
268
268
  async get() {
269
269
  const params = {};
270
270
  try {
271
- const result = await this.http.post(
271
+ return await this.http.post(
272
272
  "/api/core/captcha/get",
273
273
  void 0,
274
274
  {
@@ -280,15 +280,22 @@ var CaptchaService = class {
280
280
  }
281
281
  }
282
282
  );
283
- return {
284
- hasError: false,
285
- result
286
- };
287
283
  } catch (err) {
288
284
  return {
285
+ referenceNumber: 0,
289
286
  hasError: true,
290
- message: err.data?.message || err.message,
291
- errorCode: err.status
287
+ errorCode: err.status || 500,
288
+ refId: "",
289
+ message: [err.data?.message || err.message],
290
+ count: 0,
291
+ aggregations: 0,
292
+ result: {
293
+ hash: "",
294
+ expireTime: 0,
295
+ challenge: "",
296
+ url: ""
297
+ },
298
+ metaData: []
292
299
  };
293
300
  }
294
301
  }
@@ -297,7 +304,7 @@ var CaptchaService = class {
297
304
  */
298
305
  async check(options) {
299
306
  try {
300
- const result = await this.http.post(
307
+ return await this.http.post(
301
308
  `/api/core/captcha/check`,
302
309
  {
303
310
  value: options.value,
@@ -311,15 +318,13 @@ var CaptchaService = class {
311
318
  }
312
319
  }
313
320
  );
314
- return {
315
- hasError: false,
316
- result
317
- };
318
321
  } catch (err) {
319
322
  return {
320
323
  hasError: true,
321
- message: err.data?.message || err.message,
322
- errorCode: err.status
324
+ errorCode: err.status || 500,
325
+ message: [err.data?.message || err.message],
326
+ result: false,
327
+ metaData: []
323
328
  };
324
329
  }
325
330
  }
@@ -2673,8 +2678,37 @@ var CmsProductService = class {
2673
2678
  this.formatter = options.formatter || new CmsDataFormatter(options.podspaceUrl || "https://podspace.pod.ir");
2674
2679
  this.http = options.http || createNextHttp({
2675
2680
  baseUrl: options.baseUrl || "https://api.pod.ir/srv/cms-server",
2676
- serviceName: "POD-CMS-PRODUCT"
2677
- });
2681
+ serviceName: "POD-CMS-PRODUCT",
2682
+ queryArrayFormat: "brackets"
2683
+ });
2684
+ }
2685
+ normalizeParams(params) {
2686
+ const arrayFields = [
2687
+ "fieldCode",
2688
+ "fieldValue",
2689
+ "excludeFieldCode",
2690
+ "excludeFieldValue",
2691
+ "tags",
2692
+ "excludeTags",
2693
+ "tagTrees",
2694
+ "tagTreesCode",
2695
+ "entityIds",
2696
+ "postIds",
2697
+ "notPostIds",
2698
+ "productTypeUniqueIds",
2699
+ "relatedContentId",
2700
+ "relatedProductId",
2701
+ "operationValuesArray",
2702
+ "orderBy",
2703
+ "sortBy"
2704
+ ];
2705
+ const result = { ...params };
2706
+ for (const field of arrayFields) {
2707
+ if (result[field] !== void 0 && result[field] !== null && !Array.isArray(result[field])) {
2708
+ result[field] = [result[field]];
2709
+ }
2710
+ }
2711
+ return result;
2678
2712
  }
2679
2713
  get commonHeaders() {
2680
2714
  return {
@@ -2693,15 +2727,16 @@ var CmsProductService = class {
2693
2727
  * Swagger: GET /api/core/products/enable
2694
2728
  */
2695
2729
  async getProducts(params = {}, options = {}) {
2696
- const transferParams = {
2730
+ const transferParams = this.normalizeParams({
2697
2731
  size: 50,
2698
2732
  offset: 0,
2699
2733
  showDetail: true,
2700
2734
  ...params
2701
- };
2735
+ });
2702
2736
  try {
2703
2737
  const res = await this.http.get("/api/core/products/enable", {
2704
2738
  params: transferParams,
2739
+ queryArrayFormat: options.queryArrayFormat,
2705
2740
  headers: {
2706
2741
  ...this.commonHeaders,
2707
2742
  ...options.headers
@@ -2722,15 +2757,16 @@ var CmsProductService = class {
2722
2757
  * Swagger: GET /api/core/products
2723
2758
  */
2724
2759
  async getAllProducts(params = {}, options = {}) {
2725
- const transferParams = {
2760
+ const transferParams = this.normalizeParams({
2726
2761
  size: 50,
2727
2762
  offset: 0,
2728
2763
  showDetail: true,
2729
2764
  ...params
2730
- };
2765
+ });
2731
2766
  try {
2732
2767
  const res = await this.http.get("/api/core/products", {
2733
2768
  params: transferParams,
2769
+ queryArrayFormat: options.queryArrayFormat,
2734
2770
  headers: {
2735
2771
  ...this.managingHeaders,
2736
2772
  ...options.headers
@@ -2751,15 +2787,16 @@ var CmsProductService = class {
2751
2787
  * Swagger: GET /api/core/products/manage
2752
2788
  */
2753
2789
  async getManageProducts(params = {}, options = {}) {
2754
- const transferParams = {
2790
+ const transferParams = this.normalizeParams({
2755
2791
  size: 50,
2756
2792
  offset: 0,
2757
2793
  showDetail: true,
2758
2794
  ...params
2759
- };
2795
+ });
2760
2796
  try {
2761
2797
  const res = await this.http.get("/api/core/products/manage", {
2762
2798
  params: transferParams,
2799
+ queryArrayFormat: options.queryArrayFormat,
2763
2800
  headers: {
2764
2801
  ...this.managingHeaders,
2765
2802
  ...options.headers
@@ -2780,17 +2817,18 @@ var CmsProductService = class {
2780
2817
  * Swagger: GET /api/core/products/{productTypeUniqueId}
2781
2818
  */
2782
2819
  async getProductsByType(productTypeUniqueId, params = {}, options = {}) {
2783
- const transferParams = {
2820
+ const transferParams = this.normalizeParams({
2784
2821
  size: 50,
2785
2822
  offset: 0,
2786
2823
  showDetail: true,
2787
2824
  ...params
2788
- };
2825
+ });
2789
2826
  try {
2790
2827
  const res = await this.http.get(
2791
2828
  `/api/core/products/${productTypeUniqueId}`,
2792
2829
  {
2793
2830
  params: transferParams,
2831
+ queryArrayFormat: options.queryArrayFormat,
2794
2832
  headers: {
2795
2833
  ...this.managingHeaders,
2796
2834
  ...options.headers
@@ -2890,7 +2928,8 @@ var CmsProductService = class {
2890
2928
  const res = await this.http.get(
2891
2929
  "/api/core/products/enable/search",
2892
2930
  {
2893
- params,
2931
+ params: this.normalizeParams(params),
2932
+ queryArrayFormat: options.queryArrayFormat,
2894
2933
  headers: {
2895
2934
  ...this.commonHeaders,
2896
2935
  ...options.headers
@@ -3096,7 +3135,8 @@ var CmsTagService = class {
3096
3135
  this.revalidate = Number(options.revalidate) || 0;
3097
3136
  this.http = options.http || createNextHttp({
3098
3137
  baseUrl: options.baseUrl || "https://api.pod.ir/srv/cms-server",
3099
- serviceName: "POD-CMS-TAGS"
3138
+ serviceName: "POD-CMS-TAGS",
3139
+ queryArrayFormat: "brackets"
3100
3140
  });
3101
3141
  }
3102
3142
  get commonHeaders() {
@@ -3477,6 +3517,577 @@ var CmsTagService = class {
3477
3517
  );
3478
3518
  }
3479
3519
  };
3520
+ var CmsContentTypeService = class {
3521
+ http;
3522
+ clientId;
3523
+ apiToken;
3524
+ revalidate;
3525
+ constructor(options) {
3526
+ this.clientId = options.clientId || "";
3527
+ this.apiToken = options.apiToken || "";
3528
+ this.revalidate = Number(options.revalidate) || 0;
3529
+ this.http = options.http || createNextHttp({
3530
+ baseUrl: options.baseUrl || "https://api.pod.ir/srv/cms-server",
3531
+ serviceName: "POD-CMS-CONTENT-TYPE",
3532
+ queryArrayFormat: "brackets"
3533
+ });
3534
+ }
3535
+ normalizeParams(params) {
3536
+ const arrayFields = [
3537
+ "excludeItems",
3538
+ "tagTreeCategoryIds",
3539
+ "tags",
3540
+ "tagTrees",
3541
+ "webhookServices",
3542
+ "webhookUrls",
3543
+ "webhookDurations",
3544
+ "webhookEnables",
3545
+ "webhookHeaders",
3546
+ "excludeFields",
3547
+ "postIds",
3548
+ "dealerBusinessId",
3549
+ "dealerBusinessShareType",
3550
+ "dealerBusinessShare"
3551
+ ];
3552
+ const result = { ...params };
3553
+ for (const field of arrayFields) {
3554
+ if (result[field] !== void 0 && result[field] !== null && !Array.isArray(result[field])) {
3555
+ result[field] = [result[field]];
3556
+ }
3557
+ }
3558
+ return result;
3559
+ }
3560
+ get commonHeaders() {
3561
+ return {
3562
+ "Client-Id": this.clientId,
3563
+ "Content-Type": "application/json"
3564
+ };
3565
+ }
3566
+ get managingHeaders() {
3567
+ return {
3568
+ ...this.commonHeaders,
3569
+ "Access-Token": this.apiToken
3570
+ };
3571
+ }
3572
+ // =========================================================================
3573
+ // 1. TEMPLATES & CLASSIFICATIONS (Swagger: tag=content-type)
3574
+ // =========================================================================
3575
+ /**
3576
+ * Retrieves list of all attribute templates.
3577
+ * Swagger: GET /api/core/content-types/templates
3578
+ */
3579
+ async getTemplates(params = {}, options = {}) {
3580
+ try {
3581
+ return await this.http.get(
3582
+ "/api/core/content-types/templates",
3583
+ {
3584
+ params: this.normalizeParams(params),
3585
+ queryArrayFormat: options.queryArrayFormat,
3586
+ headers: {
3587
+ ...this.managingHeaders,
3588
+ ...options.headers
3589
+ },
3590
+ cache: options.cache,
3591
+ signal: options.signal,
3592
+ next: {
3593
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3594
+ }
3595
+ }
3596
+ );
3597
+ } catch {
3598
+ return { hasError: true, result: [] };
3599
+ }
3600
+ }
3601
+ /**
3602
+ * Retrieves classification IG lists (end user).
3603
+ * Swagger: GET /api/core/content-types/template-igs
3604
+ */
3605
+ async getTemplateIgs(params = {}, options = {}) {
3606
+ try {
3607
+ return await this.http.get(
3608
+ "/api/core/content-types/template-igs",
3609
+ {
3610
+ params: this.normalizeParams(params),
3611
+ queryArrayFormat: options.queryArrayFormat,
3612
+ headers: {
3613
+ ...this.commonHeaders,
3614
+ ...options.headers
3615
+ },
3616
+ cache: options.cache,
3617
+ signal: options.signal,
3618
+ next: {
3619
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3620
+ }
3621
+ }
3622
+ );
3623
+ } catch {
3624
+ return { hasError: true, result: [] };
3625
+ }
3626
+ }
3627
+ /**
3628
+ * Retrieves template category lists (end user).
3629
+ * Swagger: GET /api/core/content-types/template-categories
3630
+ */
3631
+ async getTemplateCategories(params = {}, options = {}) {
3632
+ try {
3633
+ return await this.http.get(
3634
+ "/api/core/content-types/template-categories",
3635
+ {
3636
+ params: this.normalizeParams(params),
3637
+ queryArrayFormat: options.queryArrayFormat,
3638
+ headers: {
3639
+ ...this.commonHeaders,
3640
+ ...options.headers
3641
+ },
3642
+ cache: options.cache,
3643
+ signal: options.signal,
3644
+ next: {
3645
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3646
+ }
3647
+ }
3648
+ );
3649
+ } catch {
3650
+ return { hasError: true, result: [] };
3651
+ }
3652
+ }
3653
+ // =========================================================================
3654
+ // 2. CONTENT TYPES CRUD & LISTING (Swagger: tag=content-type)
3655
+ // =========================================================================
3656
+ /**
3657
+ * Retrieves list of all content types.
3658
+ * Swagger: GET /api/core/content-types
3659
+ */
3660
+ async getContentTypes(params = {}, options = {}) {
3661
+ try {
3662
+ return await this.http.get(
3663
+ "/api/core/content-types",
3664
+ {
3665
+ params: this.normalizeParams(params),
3666
+ queryArrayFormat: options.queryArrayFormat,
3667
+ headers: {
3668
+ ...this.managingHeaders,
3669
+ ...options.headers
3670
+ },
3671
+ cache: options.cache,
3672
+ signal: options.signal,
3673
+ next: {
3674
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3675
+ }
3676
+ }
3677
+ );
3678
+ } catch {
3679
+ return { hasError: true, result: [] };
3680
+ }
3681
+ }
3682
+ /**
3683
+ * Retrieves list of current client's content types.
3684
+ * Swagger: GET /api/core/content-types/my
3685
+ */
3686
+ async getMyContentTypes(params = {}, options = {}) {
3687
+ try {
3688
+ return await this.http.get(
3689
+ "/api/core/content-types/my",
3690
+ {
3691
+ params: this.normalizeParams(params),
3692
+ queryArrayFormat: options.queryArrayFormat,
3693
+ headers: {
3694
+ ...this.managingHeaders,
3695
+ ...options.headers
3696
+ },
3697
+ cache: options.cache,
3698
+ signal: options.signal,
3699
+ next: {
3700
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3701
+ }
3702
+ }
3703
+ );
3704
+ } catch {
3705
+ return { hasError: true, result: [] };
3706
+ }
3707
+ }
3708
+ /**
3709
+ * Retrieves a single content type by unique ID.
3710
+ * Swagger: GET /api/core/content-types/{contentTypeUniqueId}
3711
+ */
3712
+ async getContentType(contentTypeUniqueId, params = {}, options = {}) {
3713
+ try {
3714
+ return await this.http.get(
3715
+ `/api/core/content-types/${contentTypeUniqueId}`,
3716
+ {
3717
+ params: this.normalizeParams(params),
3718
+ queryArrayFormat: options.queryArrayFormat,
3719
+ headers: {
3720
+ ...this.managingHeaders,
3721
+ ...options.headers
3722
+ },
3723
+ cache: options.cache,
3724
+ signal: options.signal,
3725
+ next: {
3726
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3727
+ }
3728
+ }
3729
+ );
3730
+ } catch {
3731
+ return { hasError: true, result: {} };
3732
+ }
3733
+ }
3734
+ /**
3735
+ * Retrieves an enabled content type by unique ID.
3736
+ * Swagger: GET /api/core/content-types/{contentTypeUniqueId}/enable
3737
+ */
3738
+ async getEnabledContentType(contentTypeUniqueId, params = {}, options = {}) {
3739
+ try {
3740
+ return await this.http.get(
3741
+ `/api/core/content-types/${contentTypeUniqueId}/enable`,
3742
+ {
3743
+ params: this.normalizeParams(params),
3744
+ queryArrayFormat: options.queryArrayFormat,
3745
+ headers: {
3746
+ ...this.managingHeaders,
3747
+ ...options.headers
3748
+ },
3749
+ cache: options.cache,
3750
+ signal: options.signal,
3751
+ next: {
3752
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3753
+ }
3754
+ }
3755
+ );
3756
+ } catch {
3757
+ return { hasError: true, result: {} };
3758
+ }
3759
+ }
3760
+ /**
3761
+ * Retrieves all fields (self and related) of a content type.
3762
+ * Swagger: GET /api/core/content-types/{contentTypeUniqueId}/fields
3763
+ */
3764
+ async getContentTypeFields(contentTypeUniqueId, options = {}) {
3765
+ try {
3766
+ return await this.http.get(
3767
+ `/api/core/content-types/${contentTypeUniqueId}/fields`,
3768
+ {
3769
+ headers: {
3770
+ ...this.managingHeaders,
3771
+ ...options.headers
3772
+ },
3773
+ cache: options.cache,
3774
+ signal: options.signal,
3775
+ next: {
3776
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3777
+ }
3778
+ }
3779
+ );
3780
+ } catch {
3781
+ return { hasError: true, result: [] };
3782
+ }
3783
+ }
3784
+ /**
3785
+ * Retrieves brief list of content types.
3786
+ * Swagger: GET /api/core/content-types/brief
3787
+ */
3788
+ async getBrief(params = {}, options = {}) {
3789
+ try {
3790
+ return await this.http.get(
3791
+ "/api/core/content-types/brief",
3792
+ {
3793
+ params,
3794
+ headers: {
3795
+ ...this.managingHeaders,
3796
+ ...options.headers
3797
+ },
3798
+ cache: options.cache,
3799
+ signal: options.signal,
3800
+ next: {
3801
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3802
+ }
3803
+ }
3804
+ );
3805
+ } catch {
3806
+ return { hasError: true, result: [] };
3807
+ }
3808
+ }
3809
+ /**
3810
+ * Creates a new content type.
3811
+ * Swagger: POST /api/core/content-types
3812
+ */
3813
+ async createContentType(params, options = {}) {
3814
+ return this.http.post(
3815
+ "/api/core/content-types",
3816
+ {},
3817
+ {
3818
+ params: this.normalizeParams(params),
3819
+ queryArrayFormat: options.queryArrayFormat,
3820
+ headers: {
3821
+ ...this.managingHeaders,
3822
+ ...options.headers
3823
+ }
3824
+ }
3825
+ );
3826
+ }
3827
+ /**
3828
+ * Updates an existing content type.
3829
+ * Swagger: POST /api/core/content-types/{unique_id}
3830
+ */
3831
+ async updateContentType(uniqueId, params, options = {}) {
3832
+ return this.http.post(
3833
+ `/api/core/content-types/${uniqueId}`,
3834
+ {},
3835
+ {
3836
+ params: this.normalizeParams(params),
3837
+ queryArrayFormat: options.queryArrayFormat,
3838
+ headers: {
3839
+ ...this.managingHeaders,
3840
+ ...options.headers
3841
+ }
3842
+ }
3843
+ );
3844
+ }
3845
+ /**
3846
+ * Updates current client's content type.
3847
+ * Swagger: POST /api/core/content-types/my/{unique_id}
3848
+ */
3849
+ async updateMyContentType(uniqueId, params, options = {}) {
3850
+ return this.http.post(
3851
+ `/api/core/content-types/my/${uniqueId}`,
3852
+ {},
3853
+ {
3854
+ params: this.normalizeParams(params),
3855
+ queryArrayFormat: options.queryArrayFormat,
3856
+ headers: {
3857
+ ...this.managingHeaders,
3858
+ ...options.headers
3859
+ }
3860
+ }
3861
+ );
3862
+ }
3863
+ // =========================================================================
3864
+ // 3. ARCHIVE / UNARCHIVE (Swagger: tag=content-type)
3865
+ // =========================================================================
3866
+ /**
3867
+ * Retrieves all archived content types.
3868
+ * Swagger: GET /api/core/content-types/archive
3869
+ */
3870
+ async getArchivedContentTypes(params = {}, options = {}) {
3871
+ try {
3872
+ return await this.http.get(
3873
+ "/api/core/content-types/archive",
3874
+ {
3875
+ params: this.normalizeParams(params),
3876
+ queryArrayFormat: options.queryArrayFormat,
3877
+ headers: {
3878
+ ...this.managingHeaders,
3879
+ ...options.headers
3880
+ },
3881
+ cache: options.cache,
3882
+ signal: options.signal,
3883
+ next: {
3884
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3885
+ }
3886
+ }
3887
+ );
3888
+ } catch {
3889
+ return { hasError: true, result: [] };
3890
+ }
3891
+ }
3892
+ /**
3893
+ * Archives content types by postIds.
3894
+ * Swagger: POST /api/core/content-types/archive
3895
+ */
3896
+ async archiveContentTypes(postIdsOrParams, options = {}) {
3897
+ const rawParams = Array.isArray(postIdsOrParams) ? { postIds: postIdsOrParams } : postIdsOrParams;
3898
+ return this.http.post(
3899
+ "/api/core/content-types/archive",
3900
+ {},
3901
+ {
3902
+ params: this.normalizeParams(rawParams),
3903
+ queryArrayFormat: options.queryArrayFormat,
3904
+ headers: {
3905
+ ...this.managingHeaders,
3906
+ ...options.headers
3907
+ }
3908
+ }
3909
+ );
3910
+ }
3911
+ /**
3912
+ * Unarchives content types by postIds.
3913
+ * Swagger: POST /api/core/content-types/unarchive
3914
+ */
3915
+ async unarchiveContentTypes(postIdsOrParams, options = {}) {
3916
+ const rawParams = Array.isArray(postIdsOrParams) ? { postIds: postIdsOrParams } : postIdsOrParams;
3917
+ return this.http.post(
3918
+ "/api/core/content-types/unarchive",
3919
+ {},
3920
+ {
3921
+ params: this.normalizeParams(rawParams),
3922
+ queryArrayFormat: options.queryArrayFormat,
3923
+ headers: {
3924
+ ...this.managingHeaders,
3925
+ ...options.headers
3926
+ }
3927
+ }
3928
+ );
3929
+ }
3930
+ // =========================================================================
3931
+ // 4. MULTI-INVOICE PERCENT & SHARE (Swagger: tag=content-type)
3932
+ // =========================================================================
3933
+ /**
3934
+ * Retrieves list of multi invoice shares for a content type.
3935
+ * Swagger: GET /api/core/content-types/{contentTypeUniqueId}/multi-invoice-share
3936
+ */
3937
+ async getMultiInvoiceShares(contentTypeUniqueId, params = {}, options = {}) {
3938
+ try {
3939
+ return await this.http.get(
3940
+ `/api/core/content-types/${contentTypeUniqueId}/multi-invoice-share`,
3941
+ {
3942
+ params: this.normalizeParams(params),
3943
+ queryArrayFormat: options.queryArrayFormat,
3944
+ headers: {
3945
+ ...this.managingHeaders,
3946
+ ...options.headers
3947
+ },
3948
+ cache: options.cache,
3949
+ signal: options.signal,
3950
+ next: {
3951
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
3952
+ }
3953
+ }
3954
+ );
3955
+ } catch {
3956
+ return { hasError: true, result: [] };
3957
+ }
3958
+ }
3959
+ /**
3960
+ * Adds multi invoice percent configuration.
3961
+ * Swagger: POST /api/core/content-types/{contentTypeUniqueId}/multi-invoice-percent
3962
+ */
3963
+ async addMultiInvoicePercent(contentTypeUniqueId, params, options = {}) {
3964
+ return this.http.post(
3965
+ `/api/core/content-types/${contentTypeUniqueId}/multi-invoice-percent`,
3966
+ {},
3967
+ {
3968
+ params: this.normalizeParams(params),
3969
+ queryArrayFormat: options.queryArrayFormat,
3970
+ headers: {
3971
+ ...this.managingHeaders,
3972
+ ...options.headers
3973
+ }
3974
+ }
3975
+ );
3976
+ }
3977
+ /**
3978
+ * Updates multi invoice percent configuration.
3979
+ * Swagger: PUT /api/core/content-types/{contentTypeUniqueId}/multi-invoice-percent
3980
+ */
3981
+ async updateMultiInvoicePercent(contentTypeUniqueId, params, options = {}) {
3982
+ return this.http.put(
3983
+ `/api/core/content-types/${contentTypeUniqueId}/multi-invoice-percent`,
3984
+ {},
3985
+ {
3986
+ params: this.normalizeParams(params),
3987
+ queryArrayFormat: options.queryArrayFormat,
3988
+ headers: {
3989
+ ...this.managingHeaders,
3990
+ ...options.headers
3991
+ }
3992
+ }
3993
+ );
3994
+ }
3995
+ /**
3996
+ * Deletes multi invoice percent configuration.
3997
+ * Swagger: DELETE /api/core/content-types/{contentTypeUniqueId}/multi-invoice-percent
3998
+ */
3999
+ async deleteMultiInvoicePercent(contentTypeUniqueId, params = {}, options = {}) {
4000
+ return this.http.delete(
4001
+ `/api/core/content-types/${contentTypeUniqueId}/multi-invoice-percent`,
4002
+ {
4003
+ params,
4004
+ headers: {
4005
+ ...this.managingHeaders,
4006
+ ...options.headers
4007
+ }
4008
+ }
4009
+ );
4010
+ }
4011
+ // =========================================================================
4012
+ // 5. RELATED CONTENT TYPES (Swagger: tag=related-content-type)
4013
+ // =========================================================================
4014
+ /**
4015
+ * Retrieves related content type fields.
4016
+ * Swagger: GET /api/core/related-content-types/{contentTypeUniqueId}
4017
+ */
4018
+ async getRelatedContentTypes(contentTypeUniqueId, options = {}) {
4019
+ try {
4020
+ return await this.http.get(
4021
+ `/api/core/related-content-types/${contentTypeUniqueId}`,
4022
+ {
4023
+ headers: {
4024
+ ...this.managingHeaders,
4025
+ ...options.headers
4026
+ },
4027
+ cache: options.cache,
4028
+ signal: options.signal,
4029
+ next: {
4030
+ revalidate: options.revalidate !== void 0 ? options.revalidate === false ? 0 : options.revalidate : this.revalidate
4031
+ }
4032
+ }
4033
+ );
4034
+ } catch {
4035
+ return { hasError: true, result: [] };
4036
+ }
4037
+ }
4038
+ /**
4039
+ * Adds new related-content-type fields.
4040
+ * Swagger: POST /api/core/related-content-types/{contentTypeUniqueId}
4041
+ */
4042
+ async addRelatedContentTypes(contentTypeUniqueId, body, options = {}) {
4043
+ const payload = Array.isArray(body) ? { fields: body } : body;
4044
+ return this.http.post(
4045
+ `/api/core/related-content-types/${contentTypeUniqueId}`,
4046
+ payload,
4047
+ {
4048
+ headers: {
4049
+ ...this.managingHeaders,
4050
+ ...options.headers
4051
+ }
4052
+ }
4053
+ );
4054
+ }
4055
+ /**
4056
+ * Deletes a related-content-type field.
4057
+ * Swagger: POST /api/core/related-content-types/delete/{contentTypeUniqueId}
4058
+ */
4059
+ async deleteRelatedContentType(contentTypeUniqueId, codeOrParams, options = {}) {
4060
+ const params = typeof codeOrParams === "string" ? { code: codeOrParams } : codeOrParams;
4061
+ return this.http.post(
4062
+ `/api/core/related-content-types/delete/${contentTypeUniqueId}`,
4063
+ {},
4064
+ {
4065
+ params,
4066
+ headers: {
4067
+ ...this.managingHeaders,
4068
+ ...options.headers
4069
+ }
4070
+ }
4071
+ );
4072
+ }
4073
+ /**
4074
+ * Updates related-content-type fields.
4075
+ * Swagger: POST /api/core/related-content-types/update/{contentTypeUniqueId}
4076
+ */
4077
+ async updateRelatedContentTypes(contentTypeUniqueId, body, options = {}) {
4078
+ const payload = Array.isArray(body) ? { fields: body } : body;
4079
+ return this.http.post(
4080
+ `/api/core/related-content-types/update/${contentTypeUniqueId}`,
4081
+ payload,
4082
+ {
4083
+ headers: {
4084
+ ...this.managingHeaders,
4085
+ ...options.headers
4086
+ }
4087
+ }
4088
+ );
4089
+ }
4090
+ };
3480
4091
 
3481
4092
  // src/services/cms/index.ts
3482
4093
  var CmsService = class {
@@ -3495,6 +4106,11 @@ var CmsService = class {
3495
4106
  * Swagger: tag=tags
3496
4107
  */
3497
4108
  tags;
4109
+ /**
4110
+ * Dedicated CMS Content Type & Related Content Type sub-service.
4111
+ * Swagger: tag=content-type, tag=related-content-type
4112
+ */
4113
+ contentTypes;
3498
4114
  constructor(options) {
3499
4115
  this.clientId = options.clientId || "";
3500
4116
  this.apiToken = options.apiToken || "";
@@ -3502,7 +4118,8 @@ var CmsService = class {
3502
4118
  this.formatter = new CmsDataFormatter(options.podspaceUrl || "https://podspace.pod.ir");
3503
4119
  this.http = createNextHttp({
3504
4120
  baseUrl: options.baseUrl,
3505
- serviceName: "POD-CMS"
4121
+ serviceName: "POD-CMS",
4122
+ queryArrayFormat: "brackets"
3506
4123
  });
3507
4124
  this.products = new CmsProductService({
3508
4125
  http: this.http,
@@ -3517,6 +4134,35 @@ var CmsService = class {
3517
4134
  apiToken: this.apiToken,
3518
4135
  revalidate: this.revalidate
3519
4136
  });
4137
+ this.contentTypes = new CmsContentTypeService({
4138
+ http: this.http,
4139
+ clientId: this.clientId,
4140
+ apiToken: this.apiToken,
4141
+ revalidate: this.revalidate
4142
+ });
4143
+ }
4144
+ normalizeParams(params) {
4145
+ const arrayFields = [
4146
+ "fieldCode",
4147
+ "fieldValue",
4148
+ "excludeFieldCode",
4149
+ "excludeFieldValue",
4150
+ "tags",
4151
+ "tagTrees",
4152
+ "tagTreesCode",
4153
+ "entityIds",
4154
+ "postIds",
4155
+ "notPostIds",
4156
+ "operationValuesArray",
4157
+ "orderBy"
4158
+ ];
4159
+ const result = { ...params };
4160
+ for (const field of arrayFields) {
4161
+ if (result[field] !== void 0 && result[field] !== null && !Array.isArray(result[field])) {
4162
+ result[field] = [result[field]];
4163
+ }
4164
+ }
4165
+ return result;
3520
4166
  }
3521
4167
  get commonHeaders() {
3522
4168
  return {
@@ -3538,15 +4184,16 @@ var CmsService = class {
3538
4184
  * Swagger: GET /api/core/contents/enable
3539
4185
  */
3540
4186
  async getContent(params = {}, options = {}) {
3541
- const transferParams = {
4187
+ const transferParams = this.normalizeParams({
3542
4188
  size: 50,
3543
4189
  offset: 0,
3544
4190
  showDetail: true,
3545
4191
  ...params
3546
- };
4192
+ });
3547
4193
  try {
3548
4194
  const res = await this.http.get("/api/core/contents/enable", {
3549
4195
  params: transferParams,
4196
+ queryArrayFormat: options.queryArrayFormat,
3550
4197
  headers: {
3551
4198
  ...this.commonHeaders,
3552
4199
  ...options.headers
@@ -3567,15 +4214,16 @@ var CmsService = class {
3567
4214
  * Swagger: GET /api/core/contents
3568
4215
  */
3569
4216
  async getAllContents(params = {}, options = {}) {
3570
- const transferParams = {
4217
+ const transferParams = this.normalizeParams({
3571
4218
  size: 50,
3572
4219
  offset: 0,
3573
4220
  showDetail: true,
3574
4221
  ...params
3575
- };
4222
+ });
3576
4223
  try {
3577
4224
  const res = await this.http.get("/api/core/contents", {
3578
4225
  params: transferParams,
4226
+ queryArrayFormat: options.queryArrayFormat,
3579
4227
  headers: {
3580
4228
  ...this.managingHeaders,
3581
4229
  ...options.headers
@@ -3596,15 +4244,16 @@ var CmsService = class {
3596
4244
  * Swagger: GET /api/core/contents/my
3597
4245
  */
3598
4246
  async getMyContents(params = {}, options = {}) {
3599
- const transferParams = {
4247
+ const transferParams = this.normalizeParams({
3600
4248
  size: 50,
3601
4249
  offset: 0,
3602
4250
  showDetail: true,
3603
4251
  ...params
3604
- };
4252
+ });
3605
4253
  try {
3606
4254
  const res = await this.http.get("/api/core/contents/my", {
3607
4255
  params: transferParams,
4256
+ queryArrayFormat: options.queryArrayFormat,
3608
4257
  headers: {
3609
4258
  ...this.managingHeaders,
3610
4259
  ...options.headers
@@ -3625,17 +4274,18 @@ var CmsService = class {
3625
4274
  * Swagger: GET /api/core/contents/{contentTypeUniqueId}
3626
4275
  */
3627
4276
  async getContentsByType(contentTypeUniqueId, params = {}, options = {}) {
3628
- const transferParams = {
4277
+ const transferParams = this.normalizeParams({
3629
4278
  size: 50,
3630
4279
  offset: 0,
3631
4280
  showDetail: true,
3632
4281
  ...params
3633
- };
4282
+ });
3634
4283
  try {
3635
4284
  const res = await this.http.get(
3636
4285
  `/api/core/contents/${contentTypeUniqueId}`,
3637
4286
  {
3638
4287
  params: transferParams,
4288
+ queryArrayFormat: options.queryArrayFormat,
3639
4289
  headers: {
3640
4290
  ...this.managingHeaders,
3641
4291
  ...options.headers
@@ -3713,7 +4363,8 @@ var CmsService = class {
3713
4363
  async searchContent(params = {}, options = {}) {
3714
4364
  try {
3715
4365
  const res = await this.http.get("/api/core/contents/search", {
3716
- params,
4366
+ params: this.normalizeParams(params),
4367
+ queryArrayFormat: options.queryArrayFormat,
3717
4368
  headers: {
3718
4369
  ...this.commonHeaders,
3719
4370
  ...options.headers
@@ -4009,13 +4660,7 @@ var CmsService = class {
4009
4660
  * Swagger: GET /api/core/content-types/{contentTypeUniqueId}
4010
4661
  */
4011
4662
  async getContentTypeDetail(contentTypeUniqueId) {
4012
- try {
4013
- return await this.http.get(`/api/core/content-types/${contentTypeUniqueId}`, {
4014
- headers: this.managingHeaders
4015
- });
4016
- } catch {
4017
- return {};
4018
- }
4663
+ return this.contentTypes.getContentType(contentTypeUniqueId);
4019
4664
  }
4020
4665
  /**
4021
4666
  * Performs advanced AI timeline search on content.
@@ -4218,6 +4863,8 @@ var PodSdk = class {
4218
4863
  cms;
4219
4864
  product;
4220
4865
  tags;
4866
+ contentType;
4867
+ contentTypes;
4221
4868
  iums;
4222
4869
  urls;
4223
4870
  constructor(config = {}) {
@@ -4237,8 +4884,12 @@ var PodSdk = class {
4237
4884
  websiteUrl: urls.website,
4238
4885
  revalidate
4239
4886
  });
4887
+ const cmsUrl = (urls.cms || "https://api.pod.ir/srv/cms-server").replace(
4888
+ /^http:\/\//i,
4889
+ "https://"
4890
+ );
4240
4891
  this.captcha = new CaptchaService({
4241
- baseUrl: urls.apiPod,
4892
+ baseUrl: cmsUrl,
4242
4893
  clientId,
4243
4894
  accessToken: apiToken
4244
4895
  });
@@ -4275,6 +4926,8 @@ var PodSdk = class {
4275
4926
  });
4276
4927
  this.product = this.cms.products;
4277
4928
  this.tags = this.cms.tags;
4929
+ this.contentType = this.cms.contentTypes;
4930
+ this.contentTypes = this.cms.contentTypes;
4278
4931
  this.iums = new IumsService({
4279
4932
  baseUrl: urls.iums,
4280
4933
  clientId,
@@ -4293,6 +4946,514 @@ function createPodSdk(config) {
4293
4946
  }
4294
4947
  var client_default = PodSdk;
4295
4948
 
4296
- export { CaptchaService, CmsDataFormatter, CmsProductService, CmsService, CmsTagService, CustomPostCrudService, CustomPostService, DEFAULT_POD_URLS, IumsService, NotificationService, PodFormService, PodSdk, PodspaceBookmarksService, PodspaceFilesService, PodspaceFoldersService, PodspaceLinksService, PodspaceMeService, PodspaceMetadataService, PodspaceResumableService, PodspaceService, PodspaceSharesService, PodspaceTagsService, PodspaceTrashService, PodspaceUploadDownloadService, PodspaceUserGroupsService, PodspaceWorkspacesService, SANDBOX_POD_URLS, SocialService, SsoService, createPodSdk, client_default as default, encodeBase64, generatePodSignatureHeader, resolvePodUrls };
4949
+ // src/openapi.ts
4950
+ var e = (tag, method, path, operationId, summary, extras = {}) => ({ tag, method, path, operationId, summary, ...extras });
4951
+ var POD_OPENAPI_ENDPOINTS = [
4952
+ // SSO
4953
+ e("SSO", "post", "/oauth2/clients/handshake/{clientId}", "ssoHandshake", "Create an SSO handshake", {
4954
+ query: ["device_type!", "algorithm!", "device_uid!", "device_client_ip!"],
4955
+ security: "bearer"
4956
+ }),
4957
+ e("SSO", "post", "/oauth2/otp/authorize/{phoneNumber}", "ssoSendOtpCode", "Send an OTP code", {
4958
+ query: ["identityType", "response_type", "referrerType", "linkDeliveryType", "scope", "redirect_uri"],
4959
+ security: "signature"
4960
+ }),
4961
+ e("SSO", "post", "/oauth2/otp/verify/{phoneNumber}", "ssoVerifyOtpCode", "Verify an OTP code", {
4962
+ query: ["otp!", "redirect_uri!"],
4963
+ security: "signature"
4964
+ }),
4965
+ e("SSO", "post", "/oauth2/token", "ssoGenerateToken", "Exchange an authorization code or refresh token", {
4966
+ query: ["grant_type!", "code", "redirect_uri", "refresh_token"],
4967
+ security: "basic",
4968
+ sdkMethods: ["generateToken", "refreshToken"]
4969
+ }),
4970
+ e("SSO", "get", "/users", "ssoGetUserProfile", "Get the authenticated SSO user profile", { security: "bearer" }),
4971
+ // Captcha
4972
+ e("Captcha", "post", "/api/core/captcha/get", "captchaGet", "Generate a captcha challenge", { security: "clientId" }),
4973
+ e("Captcha", "post", "/api/core/captcha/check", "captchaCheck", "Validate a captcha challenge", { security: "clientId", body: "json", bodyRequired: true }),
4974
+ // Custom Post
4975
+ e("Custom Post", "get", "/srv/core/nzh/biz/searchTimelineByMetadata", "customPostSearchTimelineByMetadata", "Search timeline entries by metadata", {
4976
+ query: ["metadata", "metaQuery", "offset", "size"],
4977
+ security: "apiToken"
4978
+ }),
4979
+ e("Custom Post", "get", "/srv/core/nzh/biz/customPostList", "customPostGet", "List custom posts or get one post", {
4980
+ query: ["entityId", "id", "uniqueId", "offset", "size"],
4981
+ security: "apiToken",
4982
+ sdkMethods: ["getCustomPost", "createCrud.getAll", "createCrud.getById"]
4983
+ }),
4984
+ e("Custom Post", "post", "/srv/core/nzh/biz/addCustomPost", "customPostCreate", "Create a custom post", {
4985
+ body: "form",
4986
+ bodyRequired: true,
4987
+ security: "apiToken",
4988
+ sdkMethods: ["addCustomPost", "addCustomPostList", "createCrud.create", "createCrud.createMultiple", "createCrud.createAndBindEntityId"]
4989
+ }),
4990
+ e("Custom Post", "post", "/srv/core/nzh/biz/updateCustomPost", "customPostUpdate", "Update a custom post", {
4991
+ body: "form",
4992
+ bodyRequired: true,
4993
+ security: "apiToken",
4994
+ sdkMethods: ["updateCustomPost", "createCrud.update", "createCrud.archive"]
4995
+ }),
4996
+ e("Custom Post", "post", "/srv/core/nzh/biz/deleteCustomPost", "customPostDelete", "Delete a custom post", {
4997
+ query: ["entityId!"],
4998
+ security: "apiToken",
4999
+ sdkMethods: ["deleteCustomPost", "createCrud.delete"]
5000
+ }),
5001
+ // Notification and Social
5002
+ e("Notification", "post", "/service/sms", "notificationSendSms", "Send an SMS notification", { body: "json", bodyRequired: true, security: "apiToken" }),
5003
+ e("Social", "get", "/srv/core/nzh/commentList", "socialGetCommentList", "List comments for a subject", { query: ["postId", "subjectId", "offset", "size"], security: "apiToken" }),
5004
+ e("Social", "get", "/srv/core/nzh/comment", "socialAddComment", "Add a comment to a subject", { query: ["postId", "subjectId", "content!"], security: "apiToken" }),
5005
+ e("Social", "get", "/srv/core/nzh/likeComment", "socialLikeComment", "Like or dislike a comment", { query: ["commentId!", "dislike"], security: "apiToken" }),
5006
+ e("Social", "get", "/srv/core/nzh/like", "socialLikePost", "Like or dislike a post", { query: ["postId!", "dislike"], security: "apiToken" }),
5007
+ // IUMS exposes several SDK methods through one RPC-style HTTP endpoint.
5008
+ e("IUMS", "get", "/", "iumsInvokeService", "Invoke an IUMS ExternalFacade method", {
5009
+ query: ["data!"],
5010
+ security: "clientId",
5011
+ sdkMethods: ["getInfOfGraduatedByGraduateDate", "getSessionClassInCurrentDay", "getDetailsOfTermExam", "getStudentInformationByNumber", "getStudentInformationByNationalCode"]
5012
+ }),
5013
+ // PodForm
5014
+ e("PodForm", "get", "/forms/{formId}", "podFormGetForm", "Get a form", { query: ["lockForEdit"], security: "podFormToken", sdkMethods: ["getForm", "getPodformById"] }),
5015
+ e("PodForm", "get", "/forms/all", "podFormGetForms", "List forms", { query: ["page", "size", "folderId", "status", "search"], security: "podFormToken" }),
5016
+ e("PodForm", "post", "/forms", "podFormCreateForm", "Create a form", { body: "json", bodyRequired: true, security: "podFormToken" }),
5017
+ e("PodForm", "patch", "/forms/{formId}", "podFormUpdateForm", "Update a form", { body: "json", bodyRequired: true, security: "podFormToken" }),
5018
+ e("PodForm", "delete", "/forms/{formId}", "podFormDeleteForm", "Delete a form", { query: ["removeFromTrash"], security: "podFormToken" }),
5019
+ e("PodForm", "get", "/forms/{formId}/settings", "podFormGetSettings", "Get form settings", { query: ["password"], security: "podFormToken" }),
5020
+ e("PodForm", "patch", "/forms/{formId}/settings", "podFormUpdateSettings", "Update form settings", { query: ["password"], body: "json", bodyRequired: true, security: "podFormToken" }),
5021
+ e("PodForm", "post", "/forms/{formId}/fields", "podFormAddField", "Add a field to a form", { body: "json", bodyRequired: true, security: "podFormToken" }),
5022
+ e("PodForm", "post", "/forms/{formId}/fields/batch", "podFormAddFields", "Add multiple fields to a form", { body: "json", bodyRequired: true, security: "podFormToken" }),
5023
+ e("PodForm", "patch", "/forms/{formId}/fields", "podFormUpdateFields", "Update form fields", { body: "json", bodyRequired: true, security: "podFormToken" }),
5024
+ e("PodForm", "delete", "/forms/{formId}/fields", "podFormDeleteFields", "Delete form fields", { query: ["fieldIds!"], security: "podFormToken" }),
5025
+ e("PodForm", "get", "/forms/{formId}/preview", "podFormGetPreview", "Preview a form", { query: ["password", "language"], security: "podFormToken" }),
5026
+ e("PodForm", "get", "/forms/{formHash}/previewByHash", "podFormGetPreviewByHash", "Preview a public form by hash", { query: ["password", "language"], security: "none" }),
5027
+ e("PodForm", "get", "/forms/{formHash}/generateCaptcha", "podFormGenerateCaptcha", "Generate a public form captcha", { security: "none" }),
5028
+ e("PodForm", "post", "/responses/{formHash}", "podFormSaveResponse", "Submit a form response", { query: ["password", "captchaValue", "captchaHash"], body: "json", bodyRequired: true, security: "none", sdkMethods: ["saveResponse", "sendForm"] }),
5029
+ e("PodForm", "post", "/responses/{formId}/initiate", "podFormInitiateResponse", "Initiate a form response", { body: "json", bodyRequired: true, security: "podFormToken" }),
5030
+ e("PodForm", "get", "/responses/all/{formId}", "podFormGetResponses", "List form responses", { query: ["page", "size", "from", "to", "status"], security: "podFormToken" }),
5031
+ e("PodForm", "get", "/responses/all/byFormHash/{formHash}", "podFormGetResponsesByHash", "List responses by form hash", { query: ["page", "size", "from", "to", "status"], security: "podFormToken" }),
5032
+ e("PodForm", "get", "/responses/{responseId}", "podFormGetResponse", "Get a form response", { query: ["formId"], security: "podFormToken" }),
5033
+ e("PodForm", "patch", "/responses/{responseId}", "podFormUpdateResponse", "Update response fields", { body: "json", bodyRequired: true, security: "podFormToken" }),
5034
+ e("PodForm", "delete", "/responses/{formId}", "podFormDeleteResponsesByQuery", "Delete responses by IDs in the query string", { query: ["responseIds!"], security: "podFormToken" }),
5035
+ e("PodForm", "put", "/responses/{formId}", "podFormDeleteResponses", "Delete responses", { body: "json", bodyRequired: true, security: "podFormToken" }),
5036
+ e("PodForm", "get", "/templates", "podFormGetTemplates", "List form templates", { query: ["page", "size", "templateOwnership"], security: "podFormToken" }),
5037
+ e("PodForm", "post", "/templates", "podFormCreateTemplate", "Create a form template", { query: ["templateOwnership"], body: "json", bodyRequired: true, security: "podFormToken" }),
5038
+ e("PodForm", "patch", "/templates/{templateId}", "podFormUpdateTemplate", "Update a form template", { body: "json", bodyRequired: true, security: "podFormToken" }),
5039
+ e("PodForm", "delete", "/templates/{templateId}", "podFormDeleteTemplate", "Delete a form template", { security: "podFormToken" }),
5040
+ e("PodForm", "get", "/folders", "podFormGetFolders", "List form folders", { query: ["page", "size", "trash"], security: "podFormToken" }),
5041
+ e("PodForm", "post", "/folders", "podFormCreateFolder", "Create a form folder", { body: "json", bodyRequired: true, security: "podFormToken" }),
5042
+ e("PodForm", "patch", "/folders/{folderId}", "podFormUpdateFolder", "Update a form folder", { body: "json", bodyRequired: true, security: "podFormToken" }),
5043
+ e("PodForm", "delete", "/folders/{folderId}", "podFormDeleteFolder", "Delete a form folder", { query: ["removeFromTrash"], security: "podFormToken" }),
5044
+ e("PodForm", "get", "/otp/{formHash}/send", "podFormSendOtp", "Send form OTP", { query: ["phoneNumber!", "email"], security: "none" }),
5045
+ e("PodForm", "get", "/otp/{formHash}/validate", "podFormValidateOtp", "Validate form OTP", { query: ["phoneNumber!", "email", "code!"], security: "none" }),
5046
+ e("PodForm", "get", "/user", "podFormGetUser", "Get the PodForm user", { security: "podFormToken" }),
5047
+ e("PodForm", "get", "/user/getUploadLink", "podFormGetUploadLink", "Get a PodForm upload link", { security: "podFormToken" }),
5048
+ e("PodForm", "get", "/user/getDownloadLink", "podFormGetDownloadLink", "Get a PodForm download link", { query: ["hash!", "fileName"], security: "podFormToken" }),
5049
+ e("PodForm", "get", "/plans/all", "podFormGetPlans", "List PodForm plans", { query: ["page", "size"], security: "podFormToken" }),
5050
+ e("PodForm", "get", "/plans", "podFormGetUserPlan", "Get the current PodForm plan", { security: "podFormToken" }),
5051
+ e("PodForm", "get", "/responses/{formId}/export", "podFormExportResponses", "Export form responses", { query: ["type", "from", "to"], security: "podFormToken", response: "binary" }),
5052
+ e("PodForm", "get", "/forms/{formId}/reports", "podFormGetReport", "Get a form report", { security: "podFormToken" }),
5053
+ // CMS content
5054
+ e("CMS Content", "get", "/api/core/contents/enable", "cmsGetContent", "List enabled content", { query: ["offset", "size", "showDetail", "contentTypeUniqueId", "tags"], security: "cmsPublic" }),
5055
+ e("CMS Content", "get", "/api/core/contents", "cmsGetAllContents", "List all content", { query: ["offset", "size", "showDetail", "enable"], security: "cmsManage" }),
5056
+ e("CMS Content", "get", "/api/core/contents/my", "cmsGetMyContents", "List content owned by the current client", { query: ["offset", "size", "showDetail", "enable"], security: "cmsManage" }),
5057
+ e("CMS Content", "get", "/api/core/contents/{contentTypeUniqueId}", "cmsGetContentsByType", "List content by type", { query: ["offset", "size", "showDetail", "enable"], security: "cmsManage" }),
5058
+ e("CMS Content", "get", "/api/core/contents/enable/{entityId}", "cmsGetContentByEntityId", "Get enabled content by entity ID", { security: "cmsPublic" }),
5059
+ e("CMS Content", "get", "/api/core/contents/{contentTypeUniqueId}/enable/{entityId}", "cmsGetTypedContentByEntityId", "Get enabled typed content by entity ID", { security: "cmsPublic", sdkMethods: ["getContentByEntityId"] }),
5060
+ e("CMS Content", "get", "/api/core/contents/{contentUniqueId}/byContentUniqueId/enable", "cmsGetContentByUniqueId", "Get enabled content by unique ID", { security: "cmsPublic" }),
5061
+ e("CMS Content", "get", "/api/core/contents/search", "cmsSearchContent", "Search enabled content", { query: ["query", "name", "offset", "size"], security: "cmsPublic" }),
5062
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/add-publish", "cmsAddContent", "Create and publish content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5063
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}", "cmsCreateContent", "Create unpublished content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5064
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/{entityId}/edit-publish", "cmsEditContent", "Update and publish content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5065
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/{entityId}", "cmsUpdateContent", "Replace content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5066
+ e("CMS Content", "patch", "/api/core/contents/{contentTypeUniqueId}/{entityId}", "cmsPatchContent", "Partially update content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5067
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/publish/{entityId}", "cmsPublishContent", "Publish content", { security: "cmsManage" }),
5068
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/unpublish/{entityId}", "cmsUnpublishContent", "Unpublish content", { security: "cmsManage" }),
5069
+ e("CMS Content", "put", "/api/core/contents/publish", "cmsBatchPublishAllTypes", "Batch publish content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5070
+ e("CMS Content", "put", "/api/core/contents/{contentTypeUniqueId}/publish", "cmsBatchPublish", "Batch publish typed content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5071
+ e("CMS Content", "put", "/api/core/contents/unpublish", "cmsBatchUnpublishAllTypes", "Batch unpublish content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5072
+ e("CMS Content", "put", "/api/core/contents/{contentTypeUniqueId}/unpublish", "cmsBatchUnpublish", "Batch unpublish typed content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5073
+ e("CMS Content", "post", "/api/core/contents/archive", "cmsArchiveAllTypes", "Archive content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5074
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/archive", "cmsArchiveContent", "Archive typed content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5075
+ e("CMS Content", "post", "/api/core/contents/unarchive", "cmsUnarchiveAllTypes", "Unarchive content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5076
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/unarchive", "cmsUnarchiveContent", "Unarchive typed content", { body: "json", bodyRequired: true, security: "cmsManage" }),
5077
+ e("CMS Content", "get", "/api/core/contents/archive", "cmsGetArchivedContents", "List archived content", { query: ["offset", "size"], security: "cmsManage" }),
5078
+ e("CMS Content", "get", "/api/core/contents/{contentTypeUniqueId}/archive", "cmsGetArchivedContentsByType", "List archived content by type", { query: ["offset", "size"], security: "cmsManage" }),
5079
+ e("CMS Content", "get", "/api/core/contents/draft", "cmsGetDrafts", "List drafts", { query: ["offset", "size"], security: "cmsManage" }),
5080
+ e("CMS Content", "get", "/api/core/contents/{contentTypeUniqueId}/draft", "cmsGetDraftsByType", "List drafts by content type", { query: ["offset", "size"], security: "cmsManage" }),
5081
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/draft", "cmsCreateDraft", "Create a draft", { body: "json", bodyRequired: true, security: "cmsManage" }),
5082
+ e("CMS Content", "get", "/api/core/contents/{contentTypeUniqueId}/draft/{entityId}", "cmsGetDraftById", "Get a draft", { security: "cmsManage" }),
5083
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/draft/{entityId}", "cmsUpdateDraft", "Update a draft", { body: "json", bodyRequired: true, security: "cmsManage" }),
5084
+ e("CMS Content", "post", "/api/core/contents/{contentTypeUniqueId}/undraft/{entityId}", "cmsUndraftContent", "Convert a draft to regular content", { security: "cmsManage" }),
5085
+ e("CMS Content", "get", "/api/core/contents/{contentTypeUniqueId}/comments/{entityId}", "cmsGetComments", "List content comments", { query: ["offset", "size"], security: "cmsPublic" }),
5086
+ e("CMS Content", "get", "/api/core/contents/{contentUniqueId}/like/{entityId}", "cmsGetLikes", "List content likes", { query: ["offset", "size"], security: "cmsPublic" }),
5087
+ e("CMS Content", "get", "/api/core/contents/{contentUniqueId}/dislike/{entityId}", "cmsGetDislikes", "List content dislikes", { query: ["offset", "size"], security: "cmsPublic" }),
5088
+ e("CMS Content", "get", "/api/core/contents/ai/timeline-search/enable", "cmsTimelineSearch", "Run advanced content timeline search", { query: ["advance", "newVersion", "offset", "size"], security: "cmsPublic" }),
5089
+ // CMS products
5090
+ e("CMS Products", "get", "/api/core/products/enable", "cmsGetProducts", "List enabled products", { query: ["offset", "size", "showDetail", "productTypeUniqueId", "tags"], security: "cmsPublic" }),
5091
+ e("CMS Products", "get", "/api/core/products", "cmsGetAllProducts", "List all products", { query: ["offset", "size", "showDetail", "enable"], security: "cmsManage" }),
5092
+ e("CMS Products", "get", "/api/core/products/manage", "cmsGetManageProducts", "List products for management", { query: ["offset", "size", "showDetail", "enable"], security: "cmsManage" }),
5093
+ e("CMS Products", "get", "/api/core/products/{productTypeUniqueId}", "cmsGetProductsByType", "List products by type", { query: ["offset", "size", "showDetail", "enable"], security: "cmsManage" }),
5094
+ e("CMS Products", "get", "/api/core/products/enable/{entityId}", "cmsGetProductByEntityId", "Get enabled product by entity ID", { security: "cmsPublic" }),
5095
+ e("CMS Products", "get", "/api/core/products/{productTypeUniqueId}/enable/{entityId}", "cmsGetTypedProductByEntityId", "Get enabled typed product by entity ID", { security: "cmsPublic", sdkMethods: ["getProductByEntityId"] }),
5096
+ e("CMS Products", "get", "/api/core/products/{productUniqueId}/byProductUniqueId/enable", "cmsGetProductByUniqueId", "Get product by unique ID", { security: "cmsPublic" }),
5097
+ e("CMS Products", "get", "/api/core/products/barcode/enable", "cmsGetProductByBarcode", "Get product by barcode", { query: ["barcode!"], security: "cmsPublic" }),
5098
+ e("CMS Products", "get", "/api/core/products/enable/search", "cmsSearchProducts", "Search enabled products", { query: ["query", "name", "offset", "size"], security: "cmsPublic" }),
5099
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/add-publish", "cmsAddProduct", "Create and publish a product", { body: "json", bodyRequired: true, security: "cmsManage" }),
5100
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}", "cmsCreateProduct", "Create an unpublished product", { body: "json", bodyRequired: true, security: "cmsManage" }),
5101
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/{entityId}/edit-publish", "cmsEditProduct", "Update and publish a product", { body: "json", bodyRequired: true, security: "cmsManage" }),
5102
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/{entityId}", "cmsUpdateProduct", "Replace a product", { body: "json", bodyRequired: true, security: "cmsManage" }),
5103
+ e("CMS Products", "patch", "/api/core/products/{productTypeUniqueId}/{entityId}", "cmsPatchProduct", "Partially update a product", { body: "json", bodyRequired: true, security: "cmsManage" }),
5104
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/publish/{entityId}", "cmsPublishProduct", "Publish a product", { security: "cmsManage" }),
5105
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/unpublish/{entityId}", "cmsUnpublishProduct", "Unpublish a product", { security: "cmsManage" }),
5106
+ e("CMS Products", "put", "/api/core/products/publish", "cmsBatchPublishAllProductTypes", "Batch publish products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5107
+ e("CMS Products", "put", "/api/core/products/{productTypeUniqueId}/publish", "cmsBatchPublishProducts", "Batch publish typed products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5108
+ e("CMS Products", "put", "/api/core/products/unpublish", "cmsBatchUnpublishAllProductTypes", "Batch unpublish products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5109
+ e("CMS Products", "put", "/api/core/products/{productTypeUniqueId}/unpublish", "cmsBatchUnpublishProducts", "Batch unpublish typed products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5110
+ e("CMS Products", "post", "/api/core/products/archive", "cmsArchiveAllProductTypes", "Archive products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5111
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/archive", "cmsArchiveProducts", "Archive typed products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5112
+ e("CMS Products", "post", "/api/core/products/unarchive", "cmsUnarchiveAllProductTypes", "Unarchive products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5113
+ e("CMS Products", "post", "/api/core/products/{productTypeUniqueId}/unarchive", "cmsUnarchiveProducts", "Unarchive typed products", { body: "json", bodyRequired: true, security: "cmsManage" }),
5114
+ e("CMS Products", "get", "/api/core/products/archive", "cmsGetArchivedProducts", "List archived products", { query: ["offset", "size"], security: "cmsManage" }),
5115
+ e("CMS Products", "get", "/api/core/products/{productTypeUniqueId}/archive", "cmsGetArchivedProductsByType", "List archived products by type", { query: ["offset", "size"], security: "cmsManage" }),
5116
+ e("CMS Products", "get", "/api/core/products/ai/timeline-search/enable", "cmsProductTimelineSearch", "Run advanced product timeline search", { query: ["advance", "newVersion", "offset", "size"], security: "cmsPublic" }),
5117
+ // CMS tags
5118
+ e("CMS Tags", "get", "/api/core/tags/category", "cmsGetTagCategories", "List tag categories", { query: ["offset", "size", "enable"], security: "cmsPublic" }),
5119
+ e("CMS Tags", "post", "/api/core/tags/category", "cmsCreateTagCategory", "Create a tag category", { body: "json", bodyRequired: true, security: "cmsManage" }),
5120
+ e("CMS Tags", "get", "/api/core/tags/category/{id}", "cmsGetTagCategory", "Get a tag category", { security: "cmsManage" }),
5121
+ e("CMS Tags", "put", "/api/core/tags/category/{id}", "cmsUpdateTagCategory", "Update a tag category", { body: "json", bodyRequired: true, security: "cmsManage" }),
5122
+ e("CMS Tags", "put", "/api/core/tags/category/{id}/publish", "cmsPublishTagCategory", "Publish a tag category", { security: "cmsManage" }),
5123
+ e("CMS Tags", "put", "/api/core/tags/category/{id}/unpublish", "cmsUnpublishTagCategory", "Unpublish a tag category", { security: "cmsManage" }),
5124
+ e("CMS Tags", "get", "/api/core/tags/{categoryId}/tree/enable", "cmsGetTagTree", "Get the enabled tag tree", { query: ["offset", "size", "parentId", "level"], security: "cmsPublic", sdkMethods: ["getTagTree", "getCategories"] }),
5125
+ e("CMS Tags", "get", "/api/core/tags/{categoryId}/tree/manage", "cmsGetManageTagTree", "Get the tag tree for management", { query: ["offset", "size", "parentId", "level"], security: "cmsManage" }),
5126
+ e("CMS Tags", "post", "/api/core/tags/{categoryId}/tree", "cmsCreateTagTreeItem", "Create a tag tree item", { body: "json", bodyRequired: true, security: "cmsManage" }),
5127
+ e("CMS Tags", "get", "/api/core/tags/{categoryId}/tree/{id}/enable", "cmsGetTagTreeItem", "Get an enabled tag tree item", { security: "cmsPublic" }),
5128
+ e("CMS Tags", "get", "/api/core/tags/{categoryId}/tree/{id}/manage", "cmsGetManageTagTreeItem", "Get a tag tree item for management", { security: "cmsManage" }),
5129
+ e("CMS Tags", "put", "/api/core/tags/{categoryId}/tree/{id}", "cmsUpdateTagTreeItem", "Update a tag tree item", { body: "json", bodyRequired: true, security: "cmsManage" }),
5130
+ e("CMS Tags", "put", "/api/core/tags/{categoryId}/tree/publish/{id}", "cmsPublishTagTreeItem", "Publish a tag tree item", { security: "cmsManage" }),
5131
+ e("CMS Tags", "put", "/api/core/tags/{categoryId}/tree/unpublish/{id}", "cmsUnpublishTagTreeItem", "Unpublish a tag tree item", { security: "cmsManage" }),
5132
+ e("CMS Tags", "put", "/api/core/tags/{categoryId}/tree/parent/{id}", "cmsUpdateTagTreeParent", "Move a tag tree item", { body: "json", bodyRequired: true, security: "cmsManage" }),
5133
+ e("CMS Tags", "get", "/api/core/tags/{categoryId}/tree/parent/{id}/enable", "cmsGetTagTreeAncestors", "Get enabled tag ancestors", { query: ["includeCurrent"], security: "cmsPublic" }),
5134
+ e("CMS Tags", "get", "/api/core/tags/{categoryId}/tree/parent/{id}/manage", "cmsGetManageTagTreeAncestors", "Get tag ancestors for management", { query: ["includeCurrent"], security: "cmsManage" }),
5135
+ e("CMS Tags", "put", "/api/core/tags/{categoryId}/tree/code/{id}", "cmsUpdateTagTreeCode", "Update a tag tree code", { body: "json", bodyRequired: true, security: "cmsManage" }),
5136
+ // CMS Content Types
5137
+ e("CMS Content Types", "get", "/api/core/content-types/templates", "cmsGetContentTypeTemplates", "List content type attribute templates", { query: ["offset", "size", "guildCode", "attributeTemplateCode", "attributeTemplateName", "firstId", "lastId"], security: "cmsManage" }),
5138
+ e("CMS Content Types", "get", "/api/core/content-types/template-igs", "cmsGetTemplateIgs", "List template IG classifications", { query: ["baseNodeId", "igCode", "query", "showLatestVersion"], security: "cmsPublic" }),
5139
+ e("CMS Content Types", "get", "/api/core/content-types/template-categories", "cmsGetTemplateCategories", "List template category nodes", { query: ["baseNodeId", "maxLevel", "includeBaseNode"], security: "cmsPublic" }),
5140
+ e("CMS Content Types", "get", "/api/core/content-types", "cmsGetContentTypes", "List all content types", { query: ["offset", "size", "type", "name", "uniqueId", "ig", "isCustom", "excludeItems", "permissionType"], security: "cmsManage" }),
5141
+ e("CMS Content Types", "get", "/api/core/content-types/my", "cmsGetMyContentTypes", "List current client content types", { query: ["offset", "size", "type", "name", "uniqueId", "ig", "isCustom", "permissionType"], security: "cmsManage" }),
5142
+ e("CMS Content Types", "get", "/api/core/content-types/{contentTypeUniqueId}", "cmsGetContentType", "Get content type details by unique ID", { query: ["excludeItems"], security: "cmsManage", sdkMethods: ["getContentType", "getContentTypeDetail"] }),
5143
+ e("CMS Content Types", "get", "/api/core/content-types/{contentTypeUniqueId}/enable", "cmsGetEnabledContentType", "Get enabled content type details", { query: ["excludeItems"], security: "cmsManage" }),
5144
+ e("CMS Content Types", "get", "/api/core/content-types/{contentTypeUniqueId}/fields", "cmsGetContentTypeFields", "Get all fields of a content type", { security: "cmsManage" }),
5145
+ e("CMS Content Types", "get", "/api/core/content-types/brief", "cmsGetBriefContentTypes", "List brief content types", { query: ["search"], security: "cmsManage" }),
5146
+ e("CMS Content Types", "post", "/api/core/content-types", "cmsCreateContentType", "Create a new content type", { query: ["name!", "code!", "type!", "description!", "ig", "tagTreeCategoryId", "tagTreeCategoryIds", "tags", "tagTrees", "webhookServices", "webhookUrls", "webhookDurations", "webhookEnables", "webhookHeaders", "ownerId", "allFields", "excludeFields", "requiredTag", "requiredTagTree", "icon", "image", "permissionType", "isPublic", "isGuest", "uploadFolder", "activityInfo", "showFileMetadataDetail", "folderForContentFiles", "isTokenIssuedByClient", "financialLevel"], security: "cmsManage" }),
5147
+ e("CMS Content Types", "post", "/api/core/content-types/{unique_id}", "cmsUpdateContentType", "Update a content type", { query: ["name!", "description!", "code", "ig", "tagTreeCategoryId", "tagTreeCategoryIds", "tags", "tagTrees", "webhookServices", "webhookUrls", "webhookDurations", "webhookEnables", "webhookHeaders", "ownerId", "requiredTag", "requiredTagTree", "icon", "image", "permissionType", "isPublic", "isGuest", "uploadFolder", "activityInfo", "showFileMetadataDetail", "folderForContentFiles", "isTokenIssuedByClient", "financialLevel"], security: "cmsManage" }),
5148
+ e("CMS Content Types", "post", "/api/core/content-types/my/{unique_id}", "cmsUpdateMyContentType", "Update current client content type", { query: ["name!", "description!", "code", "ig", "tagTreeCategoryId", "tagTreeCategoryIds", "tags", "tagTrees", "webhookServices", "webhookUrls", "webhookDurations", "webhookEnables", "webhookHeaders", "requiredTag", "requiredTagTree", "icon", "image", "permissionType", "isPublic", "isGuest", "activityInfo", "showFileMetadataDetail", "folderForContentFiles", "isTokenIssuedByClient", "financialLevel"], security: "cmsManage" }),
5149
+ e("CMS Content Types", "get", "/api/core/content-types/archive", "cmsGetArchivedContentTypes", "List archived content types", { query: ["offset", "size", "type", "uniqueId", "postIds", "permissionType"], security: "cmsManage" }),
5150
+ e("CMS Content Types", "post", "/api/core/content-types/archive", "cmsArchiveContentTypes", "Archive content types by postIds", { query: ["postIds!"], security: "cmsManage" }),
5151
+ e("CMS Content Types", "post", "/api/core/content-types/unarchive", "cmsUnarchiveContentTypes", "Unarchive content types by postIds", { query: ["postIds!"], security: "cmsManage" }),
5152
+ e("CMS Content Types", "get", "/api/core/content-types/{contentTypeUniqueId}/multi-invoice-share", "cmsGetMultiInvoiceShares", "List multi invoice percentage shares", { query: ["excludeItems"], security: "cmsManage" }),
5153
+ e("CMS Content Types", "post", "/api/core/content-types/{contentTypeUniqueId}/multi-invoice-percent", "cmsAddMultiInvoicePercent", "Add multi invoice percent configuration", { query: ["main!", "provider!", "seller!", "enable", "mainShareType", "providerShareType", "sellerShareType", "dealerBusinessId", "dealerBusinessShareType", "dealerBusinessShare", "clientMetadata", "uniqueId", "businessLevel"], security: "cmsManage" }),
5154
+ e("CMS Content Types", "put", "/api/core/content-types/{contentTypeUniqueId}/multi-invoice-percent", "cmsUpdateMultiInvoicePercent", "Update multi invoice percent configuration", { query: ["main!", "provider!", "seller!", "enable", "mainShareType", "providerShareType", "sellerShareType", "dealerBusinessId", "dealerBusinessShareType", "dealerBusinessShare", "clientMetadata", "uniqueId", "businessLevel"], security: "cmsManage" }),
5155
+ e("CMS Content Types", "delete", "/api/core/content-types/{contentTypeUniqueId}/multi-invoice-percent", "cmsDeleteMultiInvoicePercent", "Delete multi invoice percent configuration", { query: ["uniqueId"], security: "cmsManage" }),
5156
+ e("CMS Content Types", "get", "/api/core/related-content-types/{contentTypeUniqueId}", "cmsGetRelatedContentTypes", "Get related content type fields", { security: "cmsManage" }),
5157
+ e("CMS Content Types", "post", "/api/core/related-content-types/{contentTypeUniqueId}", "cmsAddRelatedContentTypes", "Add related content type fields", { body: "json", bodyRequired: true, security: "cmsManage" }),
5158
+ e("CMS Content Types", "post", "/api/core/related-content-types/delete/{contentTypeUniqueId}", "cmsDeleteRelatedContentType", "Delete a related content type field", { query: ["code!"], security: "cmsManage" }),
5159
+ e("CMS Content Types", "post", "/api/core/related-content-types/update/{contentTypeUniqueId}", "cmsUpdateRelatedContentTypes", "Update related content type fields", { body: "json", bodyRequired: true, security: "cmsManage" }),
5160
+ // Podspace upload, download and file operations
5161
+ e("Podspace Files", "post", "/api/files", "podspaceUploadFile", "Upload a file", { query: ["path", "isPublic", "fileName", "parentHash"], body: "multipart", bodyRequired: true, security: "bearer" }),
5162
+ e("Podspace Files", "post", "/api/files/multiple", "podspaceUploadMultipleFiles", "Upload multiple files", { query: ["path", "isPublic", "parentHash"], body: "multipart", bodyRequired: true, security: "bearer" }),
5163
+ e("Podspace Files", "post", "/api/images/base64", "podspaceUploadImageBase64", "Upload a base64 image", { query: ["base64!", "fileName", "path", "isPublic"], security: "bearer" }),
5164
+ e("Podspace Files", "put", "/api/files/{hash}", "podspaceReplaceFile", "Replace file contents", { query: ["fileName"], body: "multipart", bodyRequired: true, security: "bearer" }),
5165
+ e("Podspace Files", "post", "/api/files/{hash}", "podspaceUploadByLink", "Upload file contents using an upload hash", { body: "multipart", bodyRequired: true, security: "bearer" }),
5166
+ e("Podspace Files", "get", "/api/files/{hash}", "podspaceDownloadFile", "Download a file", { query: ["download", "password", "shareHash"], security: "bearer", response: "binary" }),
5167
+ e("Podspace Files", "get", "/api/v2/images/{hash}", "podspaceDownloadImage", "Download or transform an image", { query: ["width", "height", "crop", "quality", "format", "download"], security: "bearer", response: "binary" }),
5168
+ e("Podspace Files", "get", "/api/files/{hash}/thumbnail", "podspaceDownloadThumbnail", "Download a file thumbnail", { query: ["width", "height", "quality"], security: "bearer", response: "binary" }),
5169
+ e("Podspace Files", "get", "/api/files", "podspaceDownloadFilesAsZip", "Download entities as a ZIP archive", { query: ["hashes!", "fileName"], security: "bearer", response: "binary" }),
5170
+ e("Podspace Files", "get", "/api/files/link", "podspaceGetUploadLink", "Get a pre-signed upload link", { query: ["fileName!", "path", "size", "parentHash"], security: "bearer" }),
5171
+ e("Podspace Files", "get", "/api/files/{hash}/detail", "podspaceGetFileDetail", "Get file or folder details", { query: ["password", "breadcrumb", "shareHash", "nativeMetadata", "includeSizeAndCount"], security: "bearer" }),
5172
+ e("Podspace Files", "get", "/api/files/details", "podspaceGetFileDetailByPath", "Get file details by path", { query: ["path!", "parentHash", "password", "entityType"], security: "bearer" }),
5173
+ e("Podspace Files", "get", "/api/files/{hash}/exist", "podspaceCheckEntityExist", "Check whether an entity exists", { query: ["fileName!", "uniqueName", "type"], security: "bearer" }),
5174
+ e("Podspace Files", "put", "/api/files/{hash}/rename", "podspaceRenameEntity", "Rename a file or folder", { query: ["name!", "uniqueName"], security: "bearer" }),
5175
+ e("Podspace Files", "put", "/api/files/{hash}/move", "podspaceMoveEntity", "Move a file or folder", { query: ["destFolderHash!", "policy", "uniqueName"], security: "bearer" }),
5176
+ e("Podspace Files", "put", "/api/files/{hash}/copy", "podspaceCopyEntity", "Copy a file or folder", { query: ["destFolderHash!", "policy", "uniqueName", "copyType"], security: "bearer" }),
5177
+ e("Podspace Files", "delete", "/api/files/{hash}", "podspaceTrashEntity", "Move a file or folder to trash", { security: "bearer", sdkMethods: ["trashEntity", "deleteFile"] }),
5178
+ e("Podspace Files", "patch", "/api/files/{hash}", "podspaceUpdateFile", "Update file properties", { body: "json", bodyRequired: true, security: "bearer" }),
5179
+ e("Podspace Files", "get", "/api/files/search", "podspaceSearchFiles", "Search files and folders", { query: ["query", "name", "type", "start", "size", "parentHash"], security: "bearer" }),
5180
+ e("Podspace Files", "get", "/api/v2/files/recent", "podspaceGetRecentFiles", "List recent files", { query: ["start", "size"], security: "bearer" }),
5181
+ e("Podspace Files", "get", "/api/files/v2/{hash}/versions", "podspaceGetFileVersions", "List file versions", { security: "bearer" }),
5182
+ e("Podspace Files", "patch", "/api/files/versions/{hash}", "podspaceRestoreFileVersion", "Restore a file version", { security: "bearer" }),
5183
+ e("Podspace Files", "get", "/api/v2/files/{hash}/native/metadata", "podspaceGetNativeMetadata", "Get native file metadata", { security: "bearer" }),
5184
+ e("Podspace Files", "get", "/api/files/{hash}/convert", "podspaceConvertFile", "Convert and download a file", { query: ["format!", "password"], security: "bearer", response: "binary" }),
5185
+ e("Podspace Files", "get", "/api/files/{hash}/breadcrumb", "podspaceGetBreadcrumb", "Get file breadcrumbs", { security: "bearer" }),
5186
+ e("Podspace Files", "post", "/api/files/compress", "podspaceCompressFiles", "Compress files", { query: ["hashes!", "fileName", "parentHash"], security: "bearer" }),
5187
+ e("Podspace Files", "put", "/api/files/{hash}/extract", "podspaceExtractArchive", "Extract an archive", { query: ["destinationHash", "password", "overwrite"], security: "bearer" }),
5188
+ e("Podspace Files", "put", "/api/files/{hash}/cachePolicy", "podspaceSetCachePolicy", "Set file cache policy", { query: ["cachePolicy!"], security: "bearer" }),
5189
+ e("Podspace Files", "get", "/api/files/{hash}/activities", "podspaceGetActivities", "List file activities", { query: ["start", "size"], security: "bearer" }),
5190
+ e("Podspace Files", "get", "/api/files/{hash}/activities/{activity}", "podspaceGetActivityUsers", "List users for a file activity", { query: ["start", "size"], security: "bearer" }),
5191
+ e("Podspace Files", "get", "/api/files/{hash}/activities/{activity}/count", "podspaceGetActivityCount", "Count a file activity", { security: "bearer" }),
5192
+ // Podspace folders
5193
+ e("Podspace Folders", "post", "/api/folders", "podspaceCreateFolder", "Create a folder", { query: ["name!", "parentHash", "isPublic", "description"], security: "bearer" }),
5194
+ e("Podspace Folders", "post", "/api/folders/{hash}/directories", "podspaceCreateDirectories", "Create nested directories", { query: ["directories!"], security: "bearer" }),
5195
+ e("Podspace Folders", "get", "/api/folders/{hash}/children", "podspaceGetFolderChildren", "List folder children", { query: ["start", "size", "sort", "order", "type"], security: "bearer" }),
5196
+ e("Podspace Folders", "get", "/api/v2/folders/recent", "podspaceGetRecentFolders", "List recent folders", { query: ["start", "size"], security: "bearer" }),
5197
+ e("Podspace Folders", "get", "/api/folders/{hash}/check/upload", "podspaceCheckFolderUpload", "Check folder upload permission", { query: ["size"], security: "bearer" }),
5198
+ e("Podspace Folders", "get", "/api/folders/{folderHash}/actions", "podspaceGetFolderActions", "List allowed folder actions", { security: "bearer" }),
5199
+ // Podspace resumable uploads
5200
+ e("Podspace Resumable", "post", "/api/files/resumable", "podspaceCreateResumableUpload", "Create a resumable upload", { query: ["fileName!", "fileSize!", "parentHash", "contentType"], security: "bearer" }),
5201
+ e("Podspace Resumable", "patch", "/api/files/resumable/{id}", "podspaceAppendResumableChunk", "Append a resumable upload chunk", { query: ["offset!"], body: "binary", bodyRequired: true, security: "bearer" }),
5202
+ e("Podspace Resumable", "head", "/api/files/resumable/{id}", "podspaceGetResumableStatus", "Get resumable upload status", { security: "bearer", response: "empty" }),
5203
+ e("Podspace Resumable", "post", "/api/files/resumable/{id}/finalize", "podspaceFinalizeResumableUpload", "Finalize a resumable upload", { query: ["fileName", "parentHash", "isPublic"], security: "bearer" }),
5204
+ // Podspace links and shares
5205
+ e("Podspace Links", "get", "/api/links/files/{hash}", "podspaceCreateLink", "Create a public file link", { query: ["expireTime", "download", "password"], security: "bearer" }),
5206
+ e("Podspace Links", "get", "/api/links", "podspaceGetUserLinks", "List user links", { query: ["start", "size", "status"], security: "bearer" }),
5207
+ e("Podspace Links", "get", "/api/links/{link}/detail", "podspaceGetLinkDetail", "Get link details", { security: "bearer" }),
5208
+ e("Podspace Links", "patch", "/api/links/{link}", "podspaceUpdateLink", "Update a public link", { query: ["expireTime", "password", "download"], security: "bearer" }),
5209
+ e("Podspace Links", "delete", "/api/links/{link}", "podspaceRevokeLink", "Revoke a public link", { security: "bearer" }),
5210
+ e("Podspace Links", "get", "/api/links/{hash}", "podspaceDownloadFileByLink", "Download a file via public link", { query: ["password", "download"], security: "none", response: "binary" }),
5211
+ e("Podspace Shares", "post", "/api/files/{hash}/shares/users/{identity}", "podspaceShareWithUser", "Share an entity with a user", { query: ["permission!", "expireTime", "notify"], security: "bearer" }),
5212
+ e("Podspace Shares", "delete", "/api/files/{hash}/shares/users/{identity}", "podspaceRemoveShareWithUser", "Remove a user share", { security: "bearer" }),
5213
+ e("Podspace Shares", "post", "/api/files/{hash}/public", "podspaceMakePublic", "Make an entity public", { query: ["isPublic!", "password", "expireTime"], security: "bearer" }),
5214
+ e("Podspace Shares", "get", "/api/shares", "podspaceGetSharedWithMe", "List entities shared with the current user", { query: ["start", "size", "status"], security: "bearer" }),
5215
+ e("Podspace Shares", "get", "/api/shares/{shareHash}", "podspaceGetShareDetail", "Get share details", { security: "bearer" }),
5216
+ e("Podspace Shares", "delete", "/api/shares/{shareHash}", "podspaceRevokeShare", "Revoke a share", { security: "bearer" }),
5217
+ e("Podspace Shares", "get", "/api/files/{hash}/shares", "podspaceGetFileShares", "List shares for an entity", { query: ["start", "size"], security: "bearer" }),
5218
+ e("Podspace Shares", "put", "/api/shares/{shareHash}/password", "podspaceSetSharePassword", "Set a share password", { query: ["password!"], security: "bearer" }),
5219
+ e("Podspace Shares", "put", "/api/files/{entityHash}/shares/password", "podspaceSetEntityPassword", "Set an entity share password", { query: ["password!"], security: "bearer" }),
5220
+ // Podspace trash, tags, bookmarks and metadata
5221
+ e("Podspace Trash", "get", "/api/trashes", "podspaceGetTrashList", "List trash entries", { query: ["start", "size", "sort", "order"], security: "bearer" }),
5222
+ e("Podspace Trash", "put", "/api/trashes/{hash}/restore", "podspaceRestoreTrash", "Restore a trash entry", { security: "bearer" }),
5223
+ e("Podspace Trash", "post", "/api/trashes/restore", "podspaceRestoreAllTrash", "Restore all trash entries", { security: "bearer" }),
5224
+ e("Podspace Trash", "delete", "/api/trashes/{hash}", "podspaceDeletePermanently", "Permanently delete a trash entry", { security: "bearer" }),
5225
+ e("Podspace Trash", "delete", "/api/trashes", "podspaceEmptyTrash", "Empty trash", { security: "bearer" }),
5226
+ e("Podspace Trash", "post", "/api/trashes/periods/{period}", "podspaceSetAutoCleanupPeriod", "Set the trash auto-cleanup period", { security: "bearer" }),
5227
+ e("Podspace Tags", "post", "/api/tags", "podspaceAddTags", "Add tags to entities", { query: ["hashes!", "tags!"], security: "bearer" }),
5228
+ e("Podspace Tags", "delete", "/api/tags", "podspaceDeleteTags", "Remove tags from entities", { query: ["hashes!", "tags!"], security: "bearer" }),
5229
+ e("Podspace Tags", "get", "/api/tags/entities/{hash}", "podspaceGetEntityTags", "List tags for an entity", { security: "bearer" }),
5230
+ e("Podspace Tags", "get", "/api/tags/search/{tagName}", "podspaceSearchTags", "Search tags", { query: ["start", "size"], security: "bearer" }),
5231
+ e("Podspace Tags", "get", "/api/tags/{tagName}", "podspaceGetEntitiesByTag", "List entities by tag", { query: ["start", "size"], security: "bearer" }),
5232
+ e("Podspace Bookmarks", "get", "/api/bookmarks", "podspaceGetBookmarks", "List bookmarks", { query: ["start", "size", "sort", "order"], security: "bearer" }),
5233
+ e("Podspace Bookmarks", "post", "/api/bookmarks", "podspaceAddBookmark", "Add a bookmark", { query: ["hash!"], security: "bearer" }),
5234
+ e("Podspace Bookmarks", "delete", "/api/bookmarks", "podspaceRemoveBookmark", "Remove a bookmark", { query: ["hash!"], security: "bearer" }),
5235
+ e("Podspace Metadata", "get", "/api/files/{hash}/metadata", "podspaceGetMetadata", "Get custom metadata", { query: ["key"], security: "bearer" }),
5236
+ e("Podspace Metadata", "put", "/api/files/{hash}/metadata", "podspaceSetMetadata", "Set custom metadata", { body: "json", bodyRequired: true, security: "bearer" }),
5237
+ e("Podspace Metadata", "delete", "/api/files/{hash}/metadata", "podspaceDeleteMetadata", "Delete custom metadata", { query: ["keys"], security: "bearer" }),
5238
+ e("Podspace Metadata", "post", "/api/files/metadata/search", "podspaceSearchMetadata", "Search custom metadata", { body: "json", bodyRequired: true, security: "bearer" }),
5239
+ e("Podspace Metadata", "get", "/api/files/description", "podspaceGetDescription", "Get an entity description", { query: ["hash!"], security: "bearer" }),
5240
+ e("Podspace Metadata", "put", "/api/files/description", "podspaceSetDescription", "Set an entity description", { query: ["hash!", "description!"], security: "bearer" }),
5241
+ e("Podspace Metadata", "delete", "/api/files/description", "podspaceDeleteDescription", "Delete an entity description", { query: ["hash!"], security: "bearer" }),
5242
+ // Podspace user groups, workspaces and account
5243
+ e("Podspace User Groups", "post", "/api/usergroups", "podspaceCreateUserGroup", "Create a user group", { query: ["name!", "description"], security: "bearer" }),
5244
+ e("Podspace User Groups", "get", "/api/usergroups/{userGroupHash}", "podspaceGetUserGroup", "Get a user group", { security: "bearer" }),
5245
+ e("Podspace User Groups", "delete", "/api/usergroups/{userGroupHash}", "podspaceDeleteUserGroup", "Delete a user group", { security: "bearer" }),
5246
+ e("Podspace User Groups", "get", "/api/usergroups/{userGroupHash}/users", "podspaceGetUserGroupUsers", "List user group members", { query: ["start", "size"], security: "bearer" }),
5247
+ e("Podspace User Groups", "post", "/api/usergroups/{userGroupHash}/users", "podspaceAddUserToGroup", "Add a user to a group", { query: ["identity!", "role"], security: "bearer" }),
5248
+ e("Podspace User Groups", "delete", "/api/usergroups/{userGroupHash}/users", "podspaceRemoveUserFromGroup", "Remove a user from a group", { query: ["identity!"], security: "bearer" }),
5249
+ e("Podspace User Groups", "get", "/api/usergroups/{userGroupHash}/files", "podspaceGetUserGroupFiles", "List user group files", { query: ["start", "size"], security: "bearer" }),
5250
+ e("Podspace User Groups", "post", "/api/usergroups/{userGroupHash}/files", "podspaceUploadToUserGroup", "Upload a file to a user group", { body: "multipart", bodyRequired: true, security: "bearer" }),
5251
+ e("Podspace User Groups", "post", "/api/usergroups/{userGroupHash}/images", "podspaceUploadImageToUserGroup", "Upload an image to a user group", { body: "multipart", bodyRequired: true, security: "bearer" }),
5252
+ e("Podspace User Groups", "get", "/api/usergroups/{userGroupHash}/usage", "podspaceGetUserGroupUsage", "Get user group storage usage", { security: "bearer" }),
5253
+ e("Podspace Workspaces", "post", "/api/workspaces", "podspaceCreateWorkspace", "Create a workspace", { query: ["name!", "description"], security: "bearer" }),
5254
+ e("Podspace Workspaces", "get", "/api/workspaces/{identity}", "podspaceGetWorkspace", "Get a workspace", { query: ["identityType"], security: "bearer" }),
5255
+ e("Podspace Workspaces", "patch", "/api/workspaces/{identity}", "podspaceUpdateWorkspace", "Update a workspace", { query: ["name", "description"], security: "bearer" }),
5256
+ e("Podspace Workspaces", "get", "/api/workspaces/{identity}/members", "podspaceGetWorkspaceMembers", "List workspace members", { query: ["start", "size"], security: "bearer" }),
5257
+ e("Podspace Workspaces", "put", "/api/workspaces/{identity}/members/{userIdentity}", "podspaceUpdateWorkspaceMember", "Update a workspace member", { query: ["role!", "identityType"], security: "bearer" }),
5258
+ e("Podspace Workspaces", "delete", "/api/workspaces/{identity}/members/{userIdentity}", "podspaceRemoveWorkspaceMember", "Remove a workspace member", { query: ["identityType"], security: "bearer" }),
5259
+ e("Podspace Account", "get", "/api/me", "podspaceGetUser", "Get the current Podspace user", { security: "bearer" }),
5260
+ e("Podspace Account", "get", "/api/me/workspaces", "podspaceGetUserWorkspaces", "List current user workspaces", { query: ["start", "size"], security: "bearer" }),
5261
+ e("Podspace Account", "get", "/api/me/status", "podspaceGetUserStatus", "Get current user status", { security: "bearer" }),
5262
+ e("Podspace Account", "get", "/api/me/scope", "podspaceGetUserScope", "Get current user scopes", { security: "bearer" }),
5263
+ e("Podspace Account", "get", "/api/me/reports/usage", "podspaceGetUserUsageReport", "Get current user usage report", { query: ["from", "to"], security: "bearer" }),
5264
+ e("Podspace Account", "get", "/api/me/plans", "podspaceGetUserPlans", "List current user plans", { security: "bearer" }),
5265
+ e("Podspace Account", "get", "/api/me/folder", "podspaceGetPersonalFolder", "Get the personal folder", { security: "bearer" }),
5266
+ e("Podspace Account", "get", "/api/me/folders/chat", "podspaceGetOrCreateChatFolder", "Get or create the chat folder", { security: "bearer" }),
5267
+ e("Podspace Account", "get", "/api/me/avatar", "podspaceGetUserAvatar", "Download the current user avatar", { security: "bearer", response: "binary" })
5268
+ ];
5269
+ var TAG_DESCRIPTIONS = {
5270
+ SSO: "Authentication, OTP, token and user-profile operations.",
5271
+ Captcha: "POD captcha generation and validation.",
5272
+ "Custom Post": "Custom post and metadata timeline operations.",
5273
+ Notification: "Notification delivery operations.",
5274
+ Social: "Comments and reactions.",
5275
+ IUMS: "IUMS RPC-style academic information operations.",
5276
+ PodForm: "Forms, fields, responses, templates, folders, OTP and plans.",
5277
+ "CMS Content": "CMS content lifecycle and discovery.",
5278
+ "CMS Products": "CMS product lifecycle and discovery.",
5279
+ "CMS Tags": "CMS tag categories and tag trees.",
5280
+ "Podspace Files": "File upload, download and management.",
5281
+ "Podspace Folders": "Folder hierarchy operations.",
5282
+ "Podspace Resumable": "Resumable file uploads.",
5283
+ "Podspace Links": "Public download links.",
5284
+ "Podspace Shares": "Sharing and permissions.",
5285
+ "Podspace Trash": "Trash and recovery.",
5286
+ "Podspace Tags": "File and folder tags.",
5287
+ "Podspace Bookmarks": "File and folder bookmarks.",
5288
+ "Podspace Metadata": "Custom metadata and descriptions.",
5289
+ "Podspace User Groups": "Team user groups and their files.",
5290
+ "Podspace Workspaces": "Workspace and membership operations.",
5291
+ "Podspace Account": "Current user, plan and quota operations."
5292
+ };
5293
+ var SERVICE_URL = {
5294
+ SSO: "accounts",
5295
+ Captcha: "cms",
5296
+ "Custom Post": "apiPod",
5297
+ Notification: "notification",
5298
+ Social: "apiPod",
5299
+ IUMS: "iums",
5300
+ PodForm: "podform",
5301
+ "CMS Content": "cms",
5302
+ "CMS Products": "cms",
5303
+ "CMS Tags": "cms",
5304
+ "Podspace Files": "podspace",
5305
+ "Podspace Folders": "podspace",
5306
+ "Podspace Resumable": "podspace",
5307
+ "Podspace Links": "podspace",
5308
+ "Podspace Shares": "podspace",
5309
+ "Podspace Trash": "podspace",
5310
+ "Podspace Tags": "podspace",
5311
+ "Podspace Bookmarks": "podspace",
5312
+ "Podspace Metadata": "podspace",
5313
+ "Podspace User Groups": "podspace",
5314
+ "Podspace Workspaces": "podspace",
5315
+ "Podspace Account": "podspace"
5316
+ };
5317
+ function securityRequirement(kind = "apiToken") {
5318
+ switch (kind) {
5319
+ case "none":
5320
+ return [];
5321
+ case "bearer":
5322
+ return [{ BearerAuth: [] }];
5323
+ case "basic":
5324
+ return [{ BasicAuth: [] }];
5325
+ case "clientId":
5326
+ return [{ ClientId: [] }];
5327
+ case "podFormToken":
5328
+ return [{ PodFormToken: [] }];
5329
+ case "cmsPublic":
5330
+ return [{ ClientId: [] }];
5331
+ case "cmsManage":
5332
+ return [{ ClientId: [], CmsAccessToken: [] }];
5333
+ case "signature":
5334
+ return [{ SignatureAuth: [] }];
5335
+ default:
5336
+ return [{ PodApiToken: [] }];
5337
+ }
5338
+ }
5339
+ function pathParameters(path) {
5340
+ return Array.from(path.matchAll(/\{([^}]+)\}/g), ([, name]) => ({
5341
+ name,
5342
+ in: "path",
5343
+ required: true,
5344
+ schema: /(^id$|Id$|entityId$|period$)/.test(name) ? { type: "integer" } : { type: "string" }
5345
+ }));
5346
+ }
5347
+ function queryParameters(query = []) {
5348
+ return query.map((rawName) => {
5349
+ const required = rawName.endsWith("!");
5350
+ const name = required ? rawName.slice(0, -1) : rawName;
5351
+ const arrayLike = /^(hashes|tags|keys|fieldIds|responseIds|directories)$/.test(name);
5352
+ const booleanLike = /^(enable|showDetail|lockForEdit|removeFromTrash|isPublic|uniqueName|download|breadcrumb|nativeMetadata|includeSizeAndCount|notify|overwrite|dislike|newVersion|includeCurrent)$/.test(name);
5353
+ const integerLike = /^(offset|start|size|page|width|height|quality|period|fileSize)$/.test(name);
5354
+ return {
5355
+ name,
5356
+ in: "query",
5357
+ required,
5358
+ schema: arrayLike ? { type: "array", items: { type: "string" } } : booleanLike ? { type: "boolean" } : integerLike ? { type: "integer" } : { type: "string" }
5359
+ };
5360
+ });
5361
+ }
5362
+ function requestBody(kind, required = false) {
5363
+ if (!kind) return void 0;
5364
+ const contentType = kind === "form" ? "application/x-www-form-urlencoded" : kind === "multipart" ? "multipart/form-data" : kind === "binary" ? "application/octet-stream" : "application/json";
5365
+ const schema = kind === "binary" ? { type: "string", format: "binary" } : kind === "multipart" ? { $ref: "#/components/schemas/MultipartUpload" } : { $ref: "#/components/schemas/GenericObject" };
5366
+ return { required, content: { [contentType]: { schema } } };
5367
+ }
5368
+ function responses(kind = "json") {
5369
+ const success = kind === "binary" ? { description: "Binary response", content: { "application/octet-stream": { schema: { type: "string", format: "binary" } } } } : kind === "empty" ? { description: "Successful response" } : { description: "Successful response", content: { "application/json": { schema: { $ref: "#/components/schemas/ApiResponse" } } } };
5370
+ return {
5371
+ "200": success,
5372
+ "400": { $ref: "#/components/responses/BadRequest" },
5373
+ "401": { $ref: "#/components/responses/Unauthorized" },
5374
+ "500": { $ref: "#/components/responses/ServerError" }
5375
+ };
5376
+ }
5377
+ function createPodOpenApiDocument(options = {}) {
5378
+ const urls = resolvePodUrls(options.urls, options.sandbox);
5379
+ const paths = {};
5380
+ for (const endpoint of POD_OPENAPI_ENDPOINTS) {
5381
+ const parameters = [...pathParameters(endpoint.path), ...queryParameters(endpoint.query)];
5382
+ const operation = {
5383
+ tags: [endpoint.tag],
5384
+ summary: endpoint.summary,
5385
+ operationId: endpoint.operationId,
5386
+ security: securityRequirement(endpoint.security),
5387
+ servers: [{ url: urls[SERVICE_URL[endpoint.tag]] }],
5388
+ responses: responses(endpoint.response),
5389
+ "x-sdk-methods": endpoint.sdkMethods || [endpoint.operationId.replace(/^[a-z]+/, (value) => value)]
5390
+ };
5391
+ if (parameters.length) operation.parameters = parameters;
5392
+ const body = requestBody(endpoint.body, endpoint.bodyRequired);
5393
+ if (body) operation.requestBody = body;
5394
+ if (endpoint.deprecated) operation.deprecated = true;
5395
+ paths[endpoint.path] ||= {};
5396
+ if (paths[endpoint.path][endpoint.method]) {
5397
+ throw new Error(`Duplicate OpenAPI operation: ${endpoint.method.toUpperCase()} ${endpoint.path}`);
5398
+ }
5399
+ paths[endpoint.path][endpoint.method] = operation;
5400
+ }
5401
+ return {
5402
+ openapi: "3.0.3",
5403
+ info: {
5404
+ title: options.title || "POD SDK Services API",
5405
+ version: options.version || "1.0.10",
5406
+ description: "Swagger/OpenAPI documentation for every remote HTTP operation exposed by @rezamirzapour/pod-sdk.",
5407
+ license: { name: "MIT", url: "https://opensource.org/licenses/MIT" }
5408
+ },
5409
+ tags: Object.entries(TAG_DESCRIPTIONS).map(([name, description]) => ({ name, description })),
5410
+ paths,
5411
+ components: {
5412
+ securitySchemes: {
5413
+ PodApiToken: { type: "apiKey", in: "header", name: "_token_", description: "POD API token." },
5414
+ BearerAuth: { type: "http", scheme: "bearer", bearerFormat: "POD token" },
5415
+ BasicAuth: { type: "http", scheme: "basic" },
5416
+ SignatureAuth: { type: "apiKey", in: "header", name: "Authorization", description: "Signature generated by the SSO handshake key." },
5417
+ ClientId: { type: "apiKey", in: "header", name: "Client-Id" },
5418
+ CmsAccessToken: { type: "apiKey", in: "header", name: "Access-Token" },
5419
+ PodFormToken: { type: "apiKey", in: "header", name: "token" }
5420
+ },
5421
+ schemas: {
5422
+ GenericObject: { type: "object", additionalProperties: true },
5423
+ MultipartUpload: {
5424
+ type: "object",
5425
+ properties: { file: { type: "string", format: "binary" }, files: { type: "array", items: { type: "string", format: "binary" } } },
5426
+ additionalProperties: true
5427
+ },
5428
+ ApiResponse: {
5429
+ type: "object",
5430
+ properties: {
5431
+ hasError: { type: "boolean" },
5432
+ result: {},
5433
+ message: { type: "string" },
5434
+ errorCode: { type: "integer" },
5435
+ count: { type: "integer" },
5436
+ referenceNumber: { type: "string" }
5437
+ },
5438
+ additionalProperties: true
5439
+ },
5440
+ ErrorResponse: {
5441
+ type: "object",
5442
+ properties: { hasError: { type: "boolean", example: true }, message: { type: "string" }, errorCode: { type: "integer" } },
5443
+ additionalProperties: true
5444
+ }
5445
+ },
5446
+ responses: {
5447
+ BadRequest: { description: "Invalid request", content: { "application/json": { schema: { $ref: "#/components/schemas/ErrorResponse" } } } },
5448
+ Unauthorized: { description: "Authentication failed", content: { "application/json": { schema: { $ref: "#/components/schemas/ErrorResponse" } } } },
5449
+ ServerError: { description: "Remote service error", content: { "application/json": { schema: { $ref: "#/components/schemas/ErrorResponse" } } } }
5450
+ }
5451
+ }
5452
+ };
5453
+ }
5454
+ var POD_OPENAPI_DOCUMENT = createPodOpenApiDocument();
5455
+ var podSwaggerDocument = POD_OPENAPI_DOCUMENT;
5456
+
5457
+ export { CaptchaService, CmsContentTypeService, CmsDataFormatter, CmsProductService, CmsService, CmsTagService, CustomPostCrudService, CustomPostService, DEFAULT_POD_URLS, IumsService, NotificationService, POD_OPENAPI_DOCUMENT, POD_OPENAPI_ENDPOINTS, PodFormService, PodSdk, PodspaceBookmarksService, PodspaceFilesService, PodspaceFoldersService, PodspaceLinksService, PodspaceMeService, PodspaceMetadataService, PodspaceResumableService, PodspaceService, PodspaceSharesService, PodspaceTagsService, PodspaceTrashService, PodspaceUploadDownloadService, PodspaceUserGroupsService, PodspaceWorkspacesService, SANDBOX_POD_URLS, SocialService, SsoService, createPodOpenApiDocument, createPodSdk, client_default as default, encodeBase64, generatePodSignatureHeader, podSwaggerDocument, resolvePodUrls };
4297
5458
  //# sourceMappingURL=index.mjs.map
4298
5459
  //# sourceMappingURL=index.mjs.map