@appwrite.io/console 4.0.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/sdk.js +752 -383
  4. package/dist/cjs/sdk.js.map +1 -1
  5. package/dist/esm/sdk.js +752 -384
  6. package/dist/esm/sdk.js.map +1 -1
  7. package/dist/iife/sdk.js +752 -383
  8. package/docs/examples/domains/update-purchase.md +16 -0
  9. package/docs/examples/domains/update-transfer-in.md +16 -0
  10. package/docs/examples/functions/create.md +3 -1
  11. package/docs/examples/functions/update.md +3 -1
  12. package/docs/examples/sites/create.md +4 -1
  13. package/docs/examples/sites/update.md +4 -1
  14. package/docs/examples/{projects/update-webhook.md → webhooks/create.md} +5 -6
  15. package/docs/examples/{projects/get-webhook.md → webhooks/delete.md} +3 -4
  16. package/docs/examples/{projects/delete-webhook.md → webhooks/get.md} +3 -4
  17. package/docs/examples/{projects/list-webhooks.md → webhooks/list.md} +4 -4
  18. package/docs/examples/{projects/update-webhook-signature.md → webhooks/update-signature.md} +3 -4
  19. package/docs/examples/{projects/create-webhook.md → webhooks/update.md} +6 -6
  20. package/package.json +1 -1
  21. package/src/client.ts +5 -1
  22. package/src/enums/appwrite-migration-resource.ts +4 -0
  23. package/src/enums/build-runtime.ts +86 -0
  24. package/src/enums/domain-purchase-status.ts +6 -0
  25. package/src/enums/{domain-transfer-status-status.ts → domain-transfer-status-enum.ts} +1 -1
  26. package/src/enums/runtime.ts +86 -0
  27. package/src/enums/runtimes.ts +86 -0
  28. package/src/enums/scopes.ts +2 -0
  29. package/src/index.ts +3 -1
  30. package/src/models.ts +140 -13
  31. package/src/services/account.ts +2 -2
  32. package/src/services/domains.ts +136 -10
  33. package/src/services/functions.ts +52 -24
  34. package/src/services/organizations.ts +2 -2
  35. package/src/services/projects.ts +0 -473
  36. package/src/services/sites.ts +83 -41
  37. package/src/services/webhooks.ts +451 -0
  38. package/types/enums/appwrite-migration-resource.d.ts +4 -0
  39. package/types/enums/build-runtime.d.ts +87 -1
  40. package/types/enums/domain-purchase-status.d.ts +6 -0
  41. package/types/enums/{domain-transfer-status-status.d.ts → domain-transfer-status-enum.d.ts} +1 -1
  42. package/types/enums/runtime.d.ts +87 -1
  43. package/types/enums/runtimes.d.ts +87 -1
  44. package/types/enums/scopes.d.ts +2 -0
  45. package/types/index.d.ts +3 -1
  46. package/types/models.d.ts +139 -13
  47. package/types/services/account.d.ts +2 -2
  48. package/types/services/domains.d.ts +52 -8
  49. package/types/services/functions.d.ts +20 -8
  50. package/types/services/organizations.d.ts +2 -2
  51. package/types/services/projects.d.ts +0 -171
  52. package/types/services/sites.d.ts +26 -8
  53. package/types/services/webhooks.d.ts +165 -0
package/src/models.ts CHANGED
@@ -12,7 +12,8 @@ import { ProxyRuleDeploymentResourceType } from "./enums/proxy-rule-deployment-r
12
12
  import { ProxyRuleStatus } from "./enums/proxy-rule-status"
13
13
  import { MessageStatus } from "./enums/message-status"
14
14
  import { BillingPlanGroup } from "./enums/billing-plan-group"
15
- import { DomainTransferStatusStatus } from "./enums/domain-transfer-status-status"
15
+ import { DomainTransferStatusEnum } from "./enums/domain-transfer-status-enum"
16
+ import { DomainPurchaseStatus } from "./enums/domain-purchase-status"
16
17
 
17
18
  /**
18
19
  * Appwrite Models
@@ -3524,6 +3525,10 @@ export namespace Models {
3524
3525
  * Site framework.
3525
3526
  */
3526
3527
  framework: string;
3528
+ /**
3529
+ * How many days to keep the non-active deployments before they will be automatically deleted.
3530
+ */
3531
+ deploymentRetention: number;
3527
3532
  /**
3528
3533
  * Site's active deployment ID.
3529
3534
  */
@@ -3568,6 +3573,10 @@ export namespace Models {
3568
3573
  * The build command used to build the site.
3569
3574
  */
3570
3575
  buildCommand: string;
3576
+ /**
3577
+ * Custom command to use when starting site runtime.
3578
+ */
3579
+ startCommand: string;
3571
3580
  /**
3572
3581
  * The directory where the site build output is located.
3573
3582
  */
@@ -3593,9 +3602,13 @@ export namespace Models {
3593
3602
  */
3594
3603
  providerSilentMode: boolean;
3595
3604
  /**
3596
- * Machine specification for builds and executions.
3605
+ * Machine specification for deployment builds.
3606
+ */
3607
+ buildSpecification: string;
3608
+ /**
3609
+ * Machine specification for SSR executions.
3597
3610
  */
3598
- specification: string;
3611
+ runtimeSpecification: string;
3599
3612
  /**
3600
3613
  * Site build runtime.
3601
3614
  */
@@ -3750,6 +3763,10 @@ export namespace Models {
3750
3763
  * Function execution and build runtime.
3751
3764
  */
3752
3765
  runtime: string;
3766
+ /**
3767
+ * How many days to keep the non-active deployments before they will be automatically deleted.
3768
+ */
3769
+ deploymentRetention: number;
3753
3770
  /**
3754
3771
  * Function's active deployment ID.
3755
3772
  */
@@ -3823,9 +3840,13 @@ export namespace Models {
3823
3840
  */
3824
3841
  providerSilentMode: boolean;
3825
3842
  /**
3826
- * Machine specification for builds and executions.
3843
+ * Machine specification for deployment builds.
3844
+ */
3845
+ buildSpecification: string;
3846
+ /**
3847
+ * Machine specification for executions.
3827
3848
  */
3828
- specification: string;
3849
+ runtimeSpecification: string;
3829
3850
  }
3830
3851
 
3831
3852
  /**
@@ -6136,6 +6157,22 @@ export namespace Models {
6136
6157
  * Total aggregated number of image transformations.
6137
6158
  */
6138
6159
  imageTransformationsTotal: number;
6160
+ /**
6161
+ * Aggregated number of function executions per period.
6162
+ */
6163
+ functionsExecutions: Metric[];
6164
+ /**
6165
+ * Total aggregated number of function executions.
6166
+ */
6167
+ functionsExecutionsTotal: number;
6168
+ /**
6169
+ * Aggregated number of site executions per period.
6170
+ */
6171
+ sitesExecutions: Metric[];
6172
+ /**
6173
+ * Total aggregated number of site executions.
6174
+ */
6175
+ sitesExecutionsTotal: number;
6139
6176
  /**
6140
6177
  * Aggregated stats for total network bandwidth.
6141
6178
  */
@@ -6160,6 +6197,30 @@ export namespace Models {
6160
6197
  * Total aggregated number of Imagine credits.
6161
6198
  */
6162
6199
  imagineCreditsTotal: number;
6200
+ /**
6201
+ * Current aggregated number of open Realtime connections.
6202
+ */
6203
+ realtimeConnectionsTotal: number;
6204
+ /**
6205
+ * Total number of Realtime messages sent to clients.
6206
+ */
6207
+ realtimeMessagesTotal: number;
6208
+ /**
6209
+ * Total consumed Realtime bandwidth (in bytes).
6210
+ */
6211
+ realtimeBandwidthTotal: number;
6212
+ /**
6213
+ * Aggregated number of open Realtime connections per period.
6214
+ */
6215
+ realtimeConnections: Metric[];
6216
+ /**
6217
+ * Aggregated number of Realtime messages sent to clients per period.
6218
+ */
6219
+ realtimeMessages: Metric[];
6220
+ /**
6221
+ * Aggregated consumed Realtime bandwidth (in bytes) per period.
6222
+ */
6223
+ realtimeBandwidth: Metric[];
6163
6224
  }
6164
6225
 
6165
6226
  /**
@@ -6890,6 +6951,22 @@ export namespace Models {
6890
6951
  * Number of sites to be migrated.
6891
6952
  */
6892
6953
  site: number;
6954
+ /**
6955
+ * Number of providers to be migrated.
6956
+ */
6957
+ provider: number;
6958
+ /**
6959
+ * Number of topics to be migrated.
6960
+ */
6961
+ topic: number;
6962
+ /**
6963
+ * Number of subscribers to be migrated.
6964
+ */
6965
+ subscriber: number;
6966
+ /**
6967
+ * Number of messages to be migrated.
6968
+ */
6969
+ message: number;
6893
6970
  /**
6894
6971
  * Size of files to be migrated in mb.
6895
6972
  */
@@ -7129,9 +7206,17 @@ export namespace Models {
7129
7206
  */
7130
7207
  usageBandwidth: number;
7131
7208
  /**
7132
- * Total realtime usage for the billing period
7209
+ * Peak concurrent realtime connections for the billing period
7133
7210
  */
7134
7211
  usageRealtime: number;
7212
+ /**
7213
+ * Total realtime messages sent for the billing period
7214
+ */
7215
+ usageRealtimeMessages: number;
7216
+ /**
7217
+ * Total realtime bandwidth usage for the billing period
7218
+ */
7219
+ usageRealtimeBandwidth: number;
7135
7220
  /**
7136
7221
  * Additional members
7137
7222
  */
@@ -8648,10 +8733,6 @@ export namespace Models {
8648
8733
  * Domain registrar (e.g. "appwrite" or "third_party").
8649
8734
  */
8650
8735
  registrar: string;
8651
- /**
8652
- * Payment status for domain purchase.
8653
- */
8654
- paymentStatus: string;
8655
8736
  /**
8656
8737
  * Nameservers setting. "Appwrite" or empty string.
8657
8738
  */
@@ -8672,6 +8753,10 @@ export namespace Models {
8672
8753
  * Renewal price (in cents).
8673
8754
  */
8674
8755
  renewalPrice: number;
8756
+ /**
8757
+ * Transfer status for domains being transferred in.
8758
+ */
8759
+ transferStatus: DomainTransferStatusEnum;
8675
8760
  /**
8676
8761
  * Team ID.
8677
8762
  */
@@ -8680,10 +8765,52 @@ export namespace Models {
8680
8765
  * Dns records
8681
8766
  */
8682
8767
  dnsRecords: DnsRecord[];
8768
+ }
8769
+
8770
+ /**
8771
+ * DomainPurchase
8772
+ */
8773
+ export type DomainPurchase = {
8774
+ /**
8775
+ * Purchase/invoice ID.
8776
+ */
8777
+ $id: string;
8683
8778
  /**
8684
- * Domain transfer status (e.g., "pending", "completed", "failed").
8779
+ * Purchase creation time in ISO 8601 format.
8685
8780
  */
8686
- transferStatus: string;
8781
+ $createdAt: string;
8782
+ /**
8783
+ * Purchase update date in ISO 8601 format.
8784
+ */
8785
+ $updatedAt: string;
8786
+ /**
8787
+ * Domain document ID.
8788
+ */
8789
+ domainId: string;
8790
+ /**
8791
+ * Domain name.
8792
+ */
8793
+ domain: string;
8794
+ /**
8795
+ * Team ID that owns the domain.
8796
+ */
8797
+ organizationId: string;
8798
+ /**
8799
+ * Domain purchase status.
8800
+ */
8801
+ status: DomainPurchaseStatus;
8802
+ /**
8803
+ * Stripe client secret for 3DS; empty when not applicable.
8804
+ */
8805
+ clientSecret: string;
8806
+ /**
8807
+ * Purchase amount.
8808
+ */
8809
+ amount: number;
8810
+ /**
8811
+ * Currency code.
8812
+ */
8813
+ currency: string;
8687
8814
  }
8688
8815
 
8689
8816
  /**
@@ -8985,7 +9112,7 @@ export namespace Models {
8985
9112
  /**
8986
9113
  * Transfer status.
8987
9114
  */
8988
- status: DomainTransferStatusStatus;
9115
+ status: DomainTransferStatusEnum;
8989
9116
  /**
8990
9117
  * Additional transfer status information.
8991
9118
  */
@@ -734,7 +734,7 @@ export class Account {
734
734
  /**
735
735
  * List all invoices tied to an account.
736
736
  *
737
- * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, amount, currency, from, to, dueAt, attempts, status, grossAmount
737
+ * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount
738
738
  * @throws {AppwriteException}
739
739
  * @returns {Promise<Models.InvoiceList>}
740
740
  */
@@ -742,7 +742,7 @@ export class Account {
742
742
  /**
743
743
  * List all invoices tied to an account.
744
744
  *
745
- * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, amount, currency, from, to, dueAt, attempts, status, grossAmount
745
+ * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/databases#querying-documents). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: teamId, aggregationId, type, amount, currency, from, to, dueAt, attempts, status, grossAmount
746
746
  * @throws {AppwriteException}
747
747
  * @returns {Promise<Models.InvoiceList>}
748
748
  * @deprecated Use the object parameter style method for a better developer experience.
@@ -221,9 +221,9 @@ export class Domains {
221
221
  * @param {string} params.companyName - Company or organization name for the registrant.
222
222
  * @param {number} params.periodYears - Registration term in years (1-10).
223
223
  * @throws {AppwriteException}
224
- * @returns {Promise<Models.Domain>}
224
+ * @returns {Promise<Models.DomainPurchase>}
225
225
  */
226
- createPurchase(params: { domain: string, organizationId: string, firstName: string, lastName: string, email: string, phone: string, billingAddressId: string, paymentMethodId: string, addressLine3?: string, companyName?: string, periodYears?: number }): Promise<Models.Domain>;
226
+ createPurchase(params: { domain: string, organizationId: string, firstName: string, lastName: string, email: string, phone: string, billingAddressId: string, paymentMethodId: string, addressLine3?: string, companyName?: string, periodYears?: number }): Promise<Models.DomainPurchase>;
227
227
  /**
228
228
  * Create a domain purchase with registrant information.
229
229
  *
@@ -239,14 +239,14 @@ export class Domains {
239
239
  * @param {string} companyName - Company or organization name for the registrant.
240
240
  * @param {number} periodYears - Registration term in years (1-10).
241
241
  * @throws {AppwriteException}
242
- * @returns {Promise<Models.Domain>}
242
+ * @returns {Promise<Models.DomainPurchase>}
243
243
  * @deprecated Use the object parameter style method for a better developer experience.
244
244
  */
245
- createPurchase(domain: string, organizationId: string, firstName: string, lastName: string, email: string, phone: string, billingAddressId: string, paymentMethodId: string, addressLine3?: string, companyName?: string, periodYears?: number): Promise<Models.Domain>;
245
+ createPurchase(domain: string, organizationId: string, firstName: string, lastName: string, email: string, phone: string, billingAddressId: string, paymentMethodId: string, addressLine3?: string, companyName?: string, periodYears?: number): Promise<Models.DomainPurchase>;
246
246
  createPurchase(
247
247
  paramsOrFirst: { domain: string, organizationId: string, firstName: string, lastName: string, email: string, phone: string, billingAddressId: string, paymentMethodId: string, addressLine3?: string, companyName?: string, periodYears?: number } | string,
248
248
  ...rest: [(string)?, (string)?, (string)?, (string)?, (string)?, (string)?, (string)?, (string)?, (string)?, (number)?]
249
- ): Promise<Models.Domain> {
249
+ ): Promise<Models.DomainPurchase> {
250
250
  let params: { domain: string, organizationId: string, firstName: string, lastName: string, email: string, phone: string, billingAddressId: string, paymentMethodId: string, addressLine3?: string, companyName?: string, periodYears?: number };
251
251
 
252
252
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
@@ -353,6 +353,69 @@ export class Domains {
353
353
  );
354
354
  }
355
355
 
356
+ /**
357
+ * Confirm and complete a domain purchase after payment authentication.
358
+ *
359
+ * @param {string} params.domainId - Domain ID to confirm purchase for.
360
+ * @param {string} params.organizationId - Team ID that owns the domain.
361
+ * @throws {AppwriteException}
362
+ * @returns {Promise<Models.DomainPurchase>}
363
+ */
364
+ updatePurchase(params: { domainId: string, organizationId: string }): Promise<Models.DomainPurchase>;
365
+ /**
366
+ * Confirm and complete a domain purchase after payment authentication.
367
+ *
368
+ * @param {string} domainId - Domain ID to confirm purchase for.
369
+ * @param {string} organizationId - Team ID that owns the domain.
370
+ * @throws {AppwriteException}
371
+ * @returns {Promise<Models.DomainPurchase>}
372
+ * @deprecated Use the object parameter style method for a better developer experience.
373
+ */
374
+ updatePurchase(domainId: string, organizationId: string): Promise<Models.DomainPurchase>;
375
+ updatePurchase(
376
+ paramsOrFirst: { domainId: string, organizationId: string } | string,
377
+ ...rest: [(string)?]
378
+ ): Promise<Models.DomainPurchase> {
379
+ let params: { domainId: string, organizationId: string };
380
+
381
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
382
+ params = (paramsOrFirst || {}) as { domainId: string, organizationId: string };
383
+ } else {
384
+ params = {
385
+ domainId: paramsOrFirst as string,
386
+ organizationId: rest[0] as string
387
+ };
388
+ }
389
+
390
+ const domainId = params.domainId;
391
+ const organizationId = params.organizationId;
392
+
393
+ if (typeof domainId === 'undefined') {
394
+ throw new AppwriteException('Missing required parameter: "domainId"');
395
+ }
396
+ if (typeof organizationId === 'undefined') {
397
+ throw new AppwriteException('Missing required parameter: "organizationId"');
398
+ }
399
+
400
+ const apiPath = '/domains/purchases/{domainId}'.replace('{domainId}', domainId);
401
+ const payload: Payload = {};
402
+ if (typeof organizationId !== 'undefined') {
403
+ payload['organizationId'] = organizationId;
404
+ }
405
+ const uri = new URL(this.client.config.endpoint + apiPath);
406
+
407
+ const apiHeaders: { [header: string]: string } = {
408
+ 'content-type': 'application/json',
409
+ }
410
+
411
+ return this.client.call(
412
+ 'patch',
413
+ uri,
414
+ apiHeaders,
415
+ payload
416
+ );
417
+ }
418
+
356
419
  /**
357
420
  * List domain suggestions.
358
421
  *
@@ -451,9 +514,9 @@ export class Domains {
451
514
  * @param {string} params.authCode - Authorization code for the domain transfer.
452
515
  * @param {string} params.paymentMethodId - Payment method ID to authorize and capture the transfer.
453
516
  * @throws {AppwriteException}
454
- * @returns {Promise<Models.Domain>}
517
+ * @returns {Promise<Models.DomainPurchase>}
455
518
  */
456
- createTransferIn(params: { domain: string, organizationId: string, authCode: string, paymentMethodId: string }): Promise<Models.Domain>;
519
+ createTransferIn(params: { domain: string, organizationId: string, authCode: string, paymentMethodId: string }): Promise<Models.DomainPurchase>;
457
520
  /**
458
521
  * Create a domain transfer in with authorization code and registrant information.
459
522
  *
@@ -462,14 +525,14 @@ export class Domains {
462
525
  * @param {string} authCode - Authorization code for the domain transfer.
463
526
  * @param {string} paymentMethodId - Payment method ID to authorize and capture the transfer.
464
527
  * @throws {AppwriteException}
465
- * @returns {Promise<Models.Domain>}
528
+ * @returns {Promise<Models.DomainPurchase>}
466
529
  * @deprecated Use the object parameter style method for a better developer experience.
467
530
  */
468
- createTransferIn(domain: string, organizationId: string, authCode: string, paymentMethodId: string): Promise<Models.Domain>;
531
+ createTransferIn(domain: string, organizationId: string, authCode: string, paymentMethodId: string): Promise<Models.DomainPurchase>;
469
532
  createTransferIn(
470
533
  paramsOrFirst: { domain: string, organizationId: string, authCode: string, paymentMethodId: string } | string,
471
534
  ...rest: [(string)?, (string)?, (string)?]
472
- ): Promise<Models.Domain> {
535
+ ): Promise<Models.DomainPurchase> {
473
536
  let params: { domain: string, organizationId: string, authCode: string, paymentMethodId: string };
474
537
 
475
538
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
@@ -529,6 +592,69 @@ export class Domains {
529
592
  );
530
593
  }
531
594
 
595
+ /**
596
+ * Confirm and complete a domain transfer in after payment authentication.
597
+ *
598
+ * @param {string} params.domainId - Domain ID to confirm transfer for.
599
+ * @param {string} params.organizationId - Team ID that owns the domain.
600
+ * @throws {AppwriteException}
601
+ * @returns {Promise<Models.DomainPurchase>}
602
+ */
603
+ updateTransferIn(params: { domainId: string, organizationId: string }): Promise<Models.DomainPurchase>;
604
+ /**
605
+ * Confirm and complete a domain transfer in after payment authentication.
606
+ *
607
+ * @param {string} domainId - Domain ID to confirm transfer for.
608
+ * @param {string} organizationId - Team ID that owns the domain.
609
+ * @throws {AppwriteException}
610
+ * @returns {Promise<Models.DomainPurchase>}
611
+ * @deprecated Use the object parameter style method for a better developer experience.
612
+ */
613
+ updateTransferIn(domainId: string, organizationId: string): Promise<Models.DomainPurchase>;
614
+ updateTransferIn(
615
+ paramsOrFirst: { domainId: string, organizationId: string } | string,
616
+ ...rest: [(string)?]
617
+ ): Promise<Models.DomainPurchase> {
618
+ let params: { domainId: string, organizationId: string };
619
+
620
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
621
+ params = (paramsOrFirst || {}) as { domainId: string, organizationId: string };
622
+ } else {
623
+ params = {
624
+ domainId: paramsOrFirst as string,
625
+ organizationId: rest[0] as string
626
+ };
627
+ }
628
+
629
+ const domainId = params.domainId;
630
+ const organizationId = params.organizationId;
631
+
632
+ if (typeof domainId === 'undefined') {
633
+ throw new AppwriteException('Missing required parameter: "domainId"');
634
+ }
635
+ if (typeof organizationId === 'undefined') {
636
+ throw new AppwriteException('Missing required parameter: "organizationId"');
637
+ }
638
+
639
+ const apiPath = '/domains/transfers/in/{domainId}'.replace('{domainId}', domainId);
640
+ const payload: Payload = {};
641
+ if (typeof organizationId !== 'undefined') {
642
+ payload['organizationId'] = organizationId;
643
+ }
644
+ const uri = new URL(this.client.config.endpoint + apiPath);
645
+
646
+ const apiHeaders: { [header: string]: string } = {
647
+ 'content-type': 'application/json',
648
+ }
649
+
650
+ return this.client.call(
651
+ 'patch',
652
+ uri,
653
+ apiHeaders,
654
+ payload
655
+ );
656
+ }
657
+
532
658
  /**
533
659
  * Create a domain transfer out and return the authorization code.
534
660
  *
@@ -105,11 +105,13 @@ export class Functions {
105
105
  * @param {string} params.providerBranch - Production branch for the repo linked to the function.
106
106
  * @param {boolean} params.providerSilentMode - Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.
107
107
  * @param {string} params.providerRootDirectory - Path to function code in the linked repo.
108
- * @param {string} params.specification - Runtime specification for the function and builds.
108
+ * @param {string} params.buildSpecification - Build specification for the function deployments.
109
+ * @param {string} params.runtimeSpecification - Runtime specification for the function executions.
110
+ * @param {number} params.deploymentRetention - Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
109
111
  * @throws {AppwriteException}
110
112
  * @returns {Promise<Models.Function>}
111
113
  */
112
- create(params: { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string }): Promise<Models.Function>;
114
+ create(params: { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number }): Promise<Models.Function>;
113
115
  /**
114
116
  * Create a new function. You can pass a list of [permissions](https://appwrite.io/docs/permissions) to allow different project users or team with access to execute the function using the client API.
115
117
  *
@@ -130,20 +132,22 @@ export class Functions {
130
132
  * @param {string} providerBranch - Production branch for the repo linked to the function.
131
133
  * @param {boolean} providerSilentMode - Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.
132
134
  * @param {string} providerRootDirectory - Path to function code in the linked repo.
133
- * @param {string} specification - Runtime specification for the function and builds.
135
+ * @param {string} buildSpecification - Build specification for the function deployments.
136
+ * @param {string} runtimeSpecification - Runtime specification for the function executions.
137
+ * @param {number} deploymentRetention - Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
134
138
  * @throws {AppwriteException}
135
139
  * @returns {Promise<Models.Function>}
136
140
  * @deprecated Use the object parameter style method for a better developer experience.
137
141
  */
138
- create(functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string): Promise<Models.Function>;
142
+ create(functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number): Promise<Models.Function>;
139
143
  create(
140
- paramsOrFirst: { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string } | string,
141
- ...rest: [(string)?, (Runtime)?, (string[])?, (string[])?, (string)?, (number)?, (boolean)?, (boolean)?, (string)?, (string)?, (Scopes[])?, (string)?, (string)?, (string)?, (boolean)?, (string)?, (string)?]
144
+ paramsOrFirst: { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number } | string,
145
+ ...rest: [(string)?, (Runtime)?, (string[])?, (string[])?, (string)?, (number)?, (boolean)?, (boolean)?, (string)?, (string)?, (Scopes[])?, (string)?, (string)?, (string)?, (boolean)?, (string)?, (string)?, (string)?, (number)?]
142
146
  ): Promise<Models.Function> {
143
- let params: { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string };
147
+ let params: { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number };
144
148
 
145
149
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
146
- params = (paramsOrFirst || {}) as { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string };
150
+ params = (paramsOrFirst || {}) as { functionId: string, name: string, runtime: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number };
147
151
  } else {
148
152
  params = {
149
153
  functionId: paramsOrFirst as string,
@@ -163,7 +167,9 @@ export class Functions {
163
167
  providerBranch: rest[13] as string,
164
168
  providerSilentMode: rest[14] as boolean,
165
169
  providerRootDirectory: rest[15] as string,
166
- specification: rest[16] as string
170
+ buildSpecification: rest[16] as string,
171
+ runtimeSpecification: rest[17] as string,
172
+ deploymentRetention: rest[18] as number
167
173
  };
168
174
  }
169
175
 
@@ -184,7 +190,9 @@ export class Functions {
184
190
  const providerBranch = params.providerBranch;
185
191
  const providerSilentMode = params.providerSilentMode;
186
192
  const providerRootDirectory = params.providerRootDirectory;
187
- const specification = params.specification;
193
+ const buildSpecification = params.buildSpecification;
194
+ const runtimeSpecification = params.runtimeSpecification;
195
+ const deploymentRetention = params.deploymentRetention;
188
196
 
189
197
  if (typeof functionId === 'undefined') {
190
198
  throw new AppwriteException('Missing required parameter: "functionId"');
@@ -249,8 +257,14 @@ export class Functions {
249
257
  if (typeof providerRootDirectory !== 'undefined') {
250
258
  payload['providerRootDirectory'] = providerRootDirectory;
251
259
  }
252
- if (typeof specification !== 'undefined') {
253
- payload['specification'] = specification;
260
+ if (typeof buildSpecification !== 'undefined') {
261
+ payload['buildSpecification'] = buildSpecification;
262
+ }
263
+ if (typeof runtimeSpecification !== 'undefined') {
264
+ payload['runtimeSpecification'] = runtimeSpecification;
265
+ }
266
+ if (typeof deploymentRetention !== 'undefined') {
267
+ payload['deploymentRetention'] = deploymentRetention;
254
268
  }
255
269
  const uri = new URL(this.client.config.endpoint + apiPath);
256
270
 
@@ -565,11 +579,13 @@ export class Functions {
565
579
  * @param {string} params.providerBranch - Production branch for the repo linked to the function
566
580
  * @param {boolean} params.providerSilentMode - Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.
567
581
  * @param {string} params.providerRootDirectory - Path to function code in the linked repo.
568
- * @param {string} params.specification - Runtime specification for the function and builds.
582
+ * @param {string} params.buildSpecification - Build specification for the function deployments.
583
+ * @param {string} params.runtimeSpecification - Runtime specification for the function executions.
584
+ * @param {number} params.deploymentRetention - Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
569
585
  * @throws {AppwriteException}
570
586
  * @returns {Promise<Models.Function>}
571
587
  */
572
- update(params: { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string }): Promise<Models.Function>;
588
+ update(params: { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number }): Promise<Models.Function>;
573
589
  /**
574
590
  * Update function by its unique ID.
575
591
  *
@@ -590,20 +606,22 @@ export class Functions {
590
606
  * @param {string} providerBranch - Production branch for the repo linked to the function
591
607
  * @param {boolean} providerSilentMode - Is the VCS (Version Control System) connection in silent mode for the repo linked to the function? In silent mode, comments will not be made on commits and pull requests.
592
608
  * @param {string} providerRootDirectory - Path to function code in the linked repo.
593
- * @param {string} specification - Runtime specification for the function and builds.
609
+ * @param {string} buildSpecification - Build specification for the function deployments.
610
+ * @param {string} runtimeSpecification - Runtime specification for the function executions.
611
+ * @param {number} deploymentRetention - Days to keep non-active deployments before deletion. Value 0 means all deployments will be kept.
594
612
  * @throws {AppwriteException}
595
613
  * @returns {Promise<Models.Function>}
596
614
  * @deprecated Use the object parameter style method for a better developer experience.
597
615
  */
598
- update(functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string): Promise<Models.Function>;
616
+ update(functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number): Promise<Models.Function>;
599
617
  update(
600
- paramsOrFirst: { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string } | string,
601
- ...rest: [(string)?, (Runtime)?, (string[])?, (string[])?, (string)?, (number)?, (boolean)?, (boolean)?, (string)?, (string)?, (Scopes[])?, (string)?, (string)?, (string)?, (boolean)?, (string)?, (string)?]
618
+ paramsOrFirst: { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number } | string,
619
+ ...rest: [(string)?, (Runtime)?, (string[])?, (string[])?, (string)?, (number)?, (boolean)?, (boolean)?, (string)?, (string)?, (Scopes[])?, (string)?, (string)?, (string)?, (boolean)?, (string)?, (string)?, (string)?, (number)?]
602
620
  ): Promise<Models.Function> {
603
- let params: { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string };
621
+ let params: { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number };
604
622
 
605
623
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
606
- params = (paramsOrFirst || {}) as { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, specification?: string };
624
+ params = (paramsOrFirst || {}) as { functionId: string, name: string, runtime?: Runtime, execute?: string[], events?: string[], schedule?: string, timeout?: number, enabled?: boolean, logging?: boolean, entrypoint?: string, commands?: string, scopes?: Scopes[], installationId?: string, providerRepositoryId?: string, providerBranch?: string, providerSilentMode?: boolean, providerRootDirectory?: string, buildSpecification?: string, runtimeSpecification?: string, deploymentRetention?: number };
607
625
  } else {
608
626
  params = {
609
627
  functionId: paramsOrFirst as string,
@@ -623,7 +641,9 @@ export class Functions {
623
641
  providerBranch: rest[13] as string,
624
642
  providerSilentMode: rest[14] as boolean,
625
643
  providerRootDirectory: rest[15] as string,
626
- specification: rest[16] as string
644
+ buildSpecification: rest[16] as string,
645
+ runtimeSpecification: rest[17] as string,
646
+ deploymentRetention: rest[18] as number
627
647
  };
628
648
  }
629
649
 
@@ -644,7 +664,9 @@ export class Functions {
644
664
  const providerBranch = params.providerBranch;
645
665
  const providerSilentMode = params.providerSilentMode;
646
666
  const providerRootDirectory = params.providerRootDirectory;
647
- const specification = params.specification;
667
+ const buildSpecification = params.buildSpecification;
668
+ const runtimeSpecification = params.runtimeSpecification;
669
+ const deploymentRetention = params.deploymentRetention;
648
670
 
649
671
  if (typeof functionId === 'undefined') {
650
672
  throw new AppwriteException('Missing required parameter: "functionId"');
@@ -703,8 +725,14 @@ export class Functions {
703
725
  if (typeof providerRootDirectory !== 'undefined') {
704
726
  payload['providerRootDirectory'] = providerRootDirectory;
705
727
  }
706
- if (typeof specification !== 'undefined') {
707
- payload['specification'] = specification;
728
+ if (typeof buildSpecification !== 'undefined') {
729
+ payload['buildSpecification'] = buildSpecification;
730
+ }
731
+ if (typeof runtimeSpecification !== 'undefined') {
732
+ payload['runtimeSpecification'] = runtimeSpecification;
733
+ }
734
+ if (typeof deploymentRetention !== 'undefined') {
735
+ payload['deploymentRetention'] = deploymentRetention;
708
736
  }
709
737
  const uri = new URL(this.client.config.endpoint + apiPath);
710
738