@appwrite.io/console 10.0.0 → 11.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.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@appwrite.io/console",
3
3
  "homepage": "https://appwrite.io/support",
4
4
  "description": "Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API",
5
- "version": "10.0.0",
5
+ "version": "11.0.0",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "dist/cjs/sdk.js",
8
8
  "exports": {
package/types/client.d.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  import { Models } from './models';
2
2
  import { Channel, ActionableChannel, ResolvedChannel } from './channel';
3
3
  import { Query } from './query';
4
+ export declare const JSONbig: {
5
+ parse: (text: string) => any;
6
+ stringify: {
7
+ (value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
8
+ (value: any, replacer?: (number | string)[] | null, space?: string | number): string;
9
+ };
10
+ };
4
11
  /**
5
12
  * Payload type representing a key-value pair with string keys and any values.
6
13
  */
@@ -30,9 +30,6 @@ export declare enum BuildRuntime {
30
30
  Pythonml311 = "python-ml-3.11",
31
31
  Pythonml312 = "python-ml-3.12",
32
32
  Pythonml313 = "python-ml-3.13",
33
- Deno121 = "deno-1.21",
34
- Deno124 = "deno-1.24",
35
- Deno135 = "deno-1.35",
36
33
  Deno140 = "deno-1.40",
37
34
  Deno146 = "deno-1.46",
38
35
  Deno20 = "deno-2.0",
@@ -0,0 +1,3 @@
1
+ export declare enum DetectionFrameworkType {
2
+ Framework = "framework"
3
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum DetectionRuntimeType {
2
+ Runtime = "runtime"
3
+ }
@@ -30,9 +30,6 @@ export declare enum Runtime {
30
30
  Pythonml311 = "python-ml-3.11",
31
31
  Pythonml312 = "python-ml-3.12",
32
32
  Pythonml313 = "python-ml-3.13",
33
- Deno121 = "deno-1.21",
34
- Deno124 = "deno-1.24",
35
- Deno135 = "deno-1.35",
36
33
  Deno140 = "deno-1.40",
37
34
  Deno146 = "deno-1.46",
38
35
  Deno20 = "deno-2.0",
@@ -30,9 +30,6 @@ export declare enum Runtimes {
30
30
  Pythonml311 = "python-ml-3.11",
31
31
  Pythonml312 = "python-ml-3.12",
32
32
  Pythonml313 = "python-ml-3.13",
33
- Deno121 = "deno-1.21",
34
- Deno124 = "deno-1.24",
35
- Deno135 = "deno-1.35",
36
33
  Deno140 = "deno-1.40",
37
34
  Deno146 = "deno-1.46",
38
35
  Deno20 = "deno-2.0",
@@ -66,6 +66,8 @@ export declare enum Scopes {
66
66
  PlatformsRead = "platforms.read",
67
67
  PlatformsWrite = "platforms.write",
68
68
  PoliciesWrite = "policies.write",
69
+ TemplatesRead = "templates.read",
70
+ TemplatesWrite = "templates.write",
69
71
  PoliciesRead = "policies.read",
70
72
  ArchivesRead = "archives.read",
71
73
  ArchivesWrite = "archives.write",
@@ -1,4 +1,4 @@
1
- export declare enum SMTPSecure {
1
+ export declare enum Secure {
2
2
  Tls = "tls",
3
3
  Ssl = "ssl"
4
4
  }
package/types/index.d.ts CHANGED
@@ -82,16 +82,14 @@ export { SupabaseMigrationResource } from './enums/supabase-migration-resource';
82
82
  export { Addon } from './enums/addon';
83
83
  export { ProtocolId } from './enums/protocol-id';
84
84
  export { ServiceId } from './enums/service-id';
85
+ export { Secure } from './enums/secure';
86
+ export { EmailTemplateType } from './enums/email-template-type';
87
+ export { EmailTemplateLocale } from './enums/email-template-locale';
85
88
  export { ProjectUsageRange } from './enums/project-usage-range';
86
89
  export { Region } from './enums/region';
87
90
  export { AuthMethod } from './enums/auth-method';
88
91
  export { ResourceType } from './enums/resource-type';
89
- export { SMTPSecure } from './enums/smtp-secure';
90
92
  export { Status } from './enums/status';
91
- export { EmailTemplateType } from './enums/email-template-type';
92
- export { EmailTemplateLocale } from './enums/email-template-locale';
93
- export { SmsTemplateType } from './enums/sms-template-type';
94
- export { SmsTemplateLocale } from './enums/sms-template-locale';
95
93
  export { StatusCode } from './enums/status-code';
96
94
  export { ProxyResourceType } from './enums/proxy-resource-type';
97
95
  export { Framework } from './enums/framework';
@@ -110,6 +108,8 @@ export { DatabaseType } from './enums/database-type';
110
108
  export { AttributeStatus } from './enums/attribute-status';
111
109
  export { ColumnStatus } from './enums/column-status';
112
110
  export { IndexStatus } from './enums/index-status';
111
+ export { DetectionFrameworkType } from './enums/detection-framework-type';
112
+ export { DetectionRuntimeType } from './enums/detection-runtime-type';
113
113
  export { DeploymentStatus } from './enums/deployment-status';
114
114
  export { ExecutionTrigger } from './enums/execution-trigger';
115
115
  export { ExecutionStatus } from './enums/execution-status';
package/types/models.d.ts CHANGED
@@ -2,6 +2,8 @@ import { DatabaseType } from "./enums/database-type";
2
2
  import { AttributeStatus } from "./enums/attribute-status";
3
3
  import { ColumnStatus } from "./enums/column-status";
4
4
  import { IndexStatus } from "./enums/index-status";
5
+ import { DetectionFrameworkType } from "./enums/detection-framework-type";
6
+ import { DetectionRuntimeType } from "./enums/detection-runtime-type";
5
7
  import { DeploymentStatus } from "./enums/deployment-status";
6
8
  import { ExecutionTrigger } from "./enums/execution-trigger";
7
9
  import { ExecutionStatus } from "./enums/execution-status";
@@ -304,6 +306,10 @@ export declare namespace Models {
304
306
  * List of frameworkProviderRepositories.
305
307
  */
306
308
  frameworkProviderRepositories: ProviderRepositoryFramework[];
309
+ /**
310
+ * Provider repository list type.
311
+ */
312
+ type: string;
307
313
  };
308
314
  /**
309
315
  * Runtime Provider Repositories List
@@ -317,6 +323,10 @@ export declare namespace Models {
317
323
  * List of runtimeProviderRepositories.
318
324
  */
319
325
  runtimeProviderRepositories: ProviderRepositoryRuntime[];
326
+ /**
327
+ * Provider repository list type.
328
+ */
329
+ type: string;
320
330
  };
321
331
  /**
322
332
  * Branches List
@@ -3673,6 +3683,10 @@ export declare namespace Models {
3673
3683
  * User email address. Hide this attribute by toggling membership privacy in the Console.
3674
3684
  */
3675
3685
  userEmail: string;
3686
+ /**
3687
+ * User phone number. Hide this attribute by toggling membership privacy in the Console.
3688
+ */
3689
+ userPhone: string;
3676
3690
  /**
3677
3691
  * Team ID.
3678
3692
  */
@@ -4361,6 +4375,10 @@ export declare namespace Models {
4361
4375
  * DetectionFramework
4362
4376
  */
4363
4377
  export type DetectionFramework = {
4378
+ /**
4379
+ * Repository detection type.
4380
+ */
4381
+ type: DetectionFrameworkType;
4364
4382
  /**
4365
4383
  * Environment variables found in .env files
4366
4384
  */
@@ -4386,6 +4404,10 @@ export declare namespace Models {
4386
4404
  * DetectionRuntime
4387
4405
  */
4388
4406
  export type DetectionRuntime = {
4407
+ /**
4408
+ * Repository detection type.
4409
+ */
4410
+ type: DetectionRuntimeType;
4389
4411
  /**
4390
4412
  * Environment variables found in .env files
4391
4413
  */
@@ -4835,6 +4857,14 @@ export declare namespace Models {
4835
4857
  * Whether or not to show user MFA status in the teams membership response.
4836
4858
  */
4837
4859
  authMembershipsMfa: boolean;
4860
+ /**
4861
+ * Whether or not to show user IDs in the teams membership response.
4862
+ */
4863
+ authMembershipsUserId: boolean;
4864
+ /**
4865
+ * Whether or not to show user phone numbers in the teams membership response.
4866
+ */
4867
+ authMembershipsUserPhone: boolean;
4838
4868
  /**
4839
4869
  * Whether or not all existing sessions should be invalidated on password change
4840
4870
  */
@@ -4871,10 +4901,14 @@ export declare namespace Models {
4871
4901
  * SMTP sender email
4872
4902
  */
4873
4903
  smtpSenderEmail: string;
4904
+ /**
4905
+ * SMTP reply to name
4906
+ */
4907
+ smtpReplyToName: string;
4874
4908
  /**
4875
4909
  * SMTP reply to email
4876
4910
  */
4877
- smtpReplyTo: string;
4911
+ smtpReplyToEmail: string;
4878
4912
  /**
4879
4913
  * SMTP server host name
4880
4914
  */
@@ -4888,7 +4922,7 @@ export declare namespace Models {
4888
4922
  */
4889
4923
  smtpUsername: string;
4890
4924
  /**
4891
- * SMTP server password
4925
+ * SMTP server password. This property is write-only and always returned empty.
4892
4926
  */
4893
4927
  smtpPassword: string;
4894
4928
  /**
@@ -6796,23 +6830,6 @@ export declare namespace Models {
6796
6830
  */
6797
6831
  region: string;
6798
6832
  };
6799
- /**
6800
- * SmsTemplate
6801
- */
6802
- export type SmsTemplate = {
6803
- /**
6804
- * Template type
6805
- */
6806
- type: string;
6807
- /**
6808
- * Template locale
6809
- */
6810
- locale: string;
6811
- /**
6812
- * Template message
6813
- */
6814
- message: string;
6815
- };
6816
6833
  /**
6817
6834
  * EmailTemplate
6818
6835
  */
@@ -6820,7 +6837,7 @@ export declare namespace Models {
6820
6837
  /**
6821
6838
  * Template type
6822
6839
  */
6823
- type: string;
6840
+ templateId: string;
6824
6841
  /**
6825
6842
  * Template locale
6826
6843
  */
@@ -6840,7 +6857,11 @@ export declare namespace Models {
6840
6857
  /**
6841
6858
  * Reply to email address
6842
6859
  */
6843
- replyTo: string;
6860
+ replyToEmail: string;
6861
+ /**
6862
+ * Reply to name
6863
+ */
6864
+ replyToName: string;
6844
6865
  /**
6845
6866
  * Email subject
6846
6867
  */
@@ -3,6 +3,9 @@ import type { Models } from '../models';
3
3
  import { Scopes } from '../enums/scopes';
4
4
  import { ProtocolId } from '../enums/protocol-id';
5
5
  import { ServiceId } from '../enums/service-id';
6
+ import { Secure } from '../enums/secure';
7
+ import { EmailTemplateType } from '../enums/email-template-type';
8
+ import { EmailTemplateLocale } from '../enums/email-template-locale';
6
9
  import { ProjectUsageRange } from '../enums/project-usage-range';
7
10
  export declare class Project {
8
11
  client: Client;
@@ -510,19 +513,206 @@ export declare class Project {
510
513
  */
511
514
  deletePlatform(platformId: string): Promise<{}>;
512
515
  /**
513
- * Update the status of a specific protocol. Use this endpoint to enable or disable a protocol in your project.
516
+ * Updating this policy allows you to control if team members can see other members information. When enabled, all team members can see ID, name, email, phone number, and MFA status of other members..
517
+ *
518
+ * @param {boolean} params.userId - Set to true if you want make user ID visible to all team members, or false to hide it.
519
+ * @param {boolean} params.userEmail - Set to true if you want make user email visible to all team members, or false to hide it.
520
+ * @param {boolean} params.userPhone - Set to true if you want make user phone number visible to all team members, or false to hide it.
521
+ * @param {boolean} params.userName - Set to true if you want make user name visible to all team members, or false to hide it.
522
+ * @param {boolean} params.userMFA - Set to true if you want make user MFA status visible to all team members, or false to hide it.
523
+ * @throws {AppwriteException}
524
+ * @returns {Promise<Models.Project>}
525
+ */
526
+ updateMembershipPrivacyPolicy(params?: {
527
+ userId?: boolean;
528
+ userEmail?: boolean;
529
+ userPhone?: boolean;
530
+ userName?: boolean;
531
+ userMFA?: boolean;
532
+ }): Promise<Models.Project>;
533
+ /**
534
+ * Updating this policy allows you to control if team members can see other members information. When enabled, all team members can see ID, name, email, phone number, and MFA status of other members..
535
+ *
536
+ * @param {boolean} userId - Set to true if you want make user ID visible to all team members, or false to hide it.
537
+ * @param {boolean} userEmail - Set to true if you want make user email visible to all team members, or false to hide it.
538
+ * @param {boolean} userPhone - Set to true if you want make user phone number visible to all team members, or false to hide it.
539
+ * @param {boolean} userName - Set to true if you want make user name visible to all team members, or false to hide it.
540
+ * @param {boolean} userMFA - Set to true if you want make user MFA status visible to all team members, or false to hide it.
541
+ * @throws {AppwriteException}
542
+ * @returns {Promise<Models.Project>}
543
+ * @deprecated Use the object parameter style method for a better developer experience.
544
+ */
545
+ updateMembershipPrivacyPolicy(userId?: boolean, userEmail?: boolean, userPhone?: boolean, userName?: boolean, userMFA?: boolean): Promise<Models.Project>;
546
+ /**
547
+ * Updating this policy allows you to control if new passwords are checked against most common passwords dictionary. When enabled, and user changes their password, password must not be contained in the dictionary.
548
+ *
549
+ * @param {boolean} params.enabled - Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.
550
+ * @throws {AppwriteException}
551
+ * @returns {Promise<Models.Project>}
552
+ */
553
+ updatePasswordDictionaryPolicy(params: {
554
+ enabled: boolean;
555
+ }): Promise<Models.Project>;
556
+ /**
557
+ * Updating this policy allows you to control if new passwords are checked against most common passwords dictionary. When enabled, and user changes their password, password must not be contained in the dictionary.
558
+ *
559
+ * @param {boolean} enabled - Toggle password dictionary policy. Set to true if you want password change to block passwords in the dictionary, or false to allow them. When changing this policy, existing passwords remain valid.
560
+ * @throws {AppwriteException}
561
+ * @returns {Promise<Models.Project>}
562
+ * @deprecated Use the object parameter style method for a better developer experience.
563
+ */
564
+ updatePasswordDictionaryPolicy(enabled: boolean): Promise<Models.Project>;
565
+ /**
566
+ * Updates one of password strength policies. Based on total length configured, previous password hashes are stored, and users cannot choose a new password that is already stored in the passwird history list, when updating an user password, or setting new one through password recovery.
567
+ *
568
+ * Keep in mind, while password history policy is disabled, the history is not being stored. Enabling the policy will not have any history on existing users, and it will only start to collect and enforce the policy on password changes since the policy is enabled.
569
+ *
570
+ * @param {number} params.total - Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.
571
+ * @throws {AppwriteException}
572
+ * @returns {Promise<Models.Project>}
573
+ */
574
+ updatePasswordHistoryPolicy(params: {
575
+ total?: number;
576
+ }): Promise<Models.Project>;
577
+ /**
578
+ * Updates one of password strength policies. Based on total length configured, previous password hashes are stored, and users cannot choose a new password that is already stored in the passwird history list, when updating an user password, or setting new one through password recovery.
579
+ *
580
+ * Keep in mind, while password history policy is disabled, the history is not being stored. Enabling the policy will not have any history on existing users, and it will only start to collect and enforce the policy on password changes since the policy is enabled.
581
+ *
582
+ * @param {number} total - Set the password history length per user. Value can be between 1 and 5000, or null to disable the limit.
583
+ * @throws {AppwriteException}
584
+ * @returns {Promise<Models.Project>}
585
+ * @deprecated Use the object parameter style method for a better developer experience.
586
+ */
587
+ updatePasswordHistoryPolicy(total?: number): Promise<Models.Project>;
588
+ /**
589
+ * Updating this policy allows you to control if password strength is checked against personal data. When enabled, and user sets or changes their password, the password must not contain user ID, name, email or phone number.
590
+ *
591
+ * @param {boolean} params.enabled - Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.
592
+ * @throws {AppwriteException}
593
+ * @returns {Promise<Models.Project>}
594
+ */
595
+ updatePasswordPersonalDataPolicy(params: {
596
+ enabled: boolean;
597
+ }): Promise<Models.Project>;
598
+ /**
599
+ * Updating this policy allows you to control if password strength is checked against personal data. When enabled, and user sets or changes their password, the password must not contain user ID, name, email or phone number.
600
+ *
601
+ * @param {boolean} enabled - Toggle password personal data policy. Set to true if you want to block passwords including user's personal data, or false to allow it. When changing this policy, existing passwords remain valid.
602
+ * @throws {AppwriteException}
603
+ * @returns {Promise<Models.Project>}
604
+ * @deprecated Use the object parameter style method for a better developer experience.
605
+ */
606
+ updatePasswordPersonalDataPolicy(enabled: boolean): Promise<Models.Project>;
607
+ /**
608
+ * Updating this policy allows you to control if email alert is sent upon session creation. When enabled, and user signs into their account, they will be sent an email notification. There is an exception, the first session after a new sign up does not trigger an alert, even if the policy is enabled.
609
+ *
610
+ * @param {boolean} params.enabled - Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.
611
+ * @throws {AppwriteException}
612
+ * @returns {Promise<Models.Project>}
613
+ */
614
+ updateSessionAlertPolicy(params: {
615
+ enabled: boolean;
616
+ }): Promise<Models.Project>;
617
+ /**
618
+ * Updating this policy allows you to control if email alert is sent upon session creation. When enabled, and user signs into their account, they will be sent an email notification. There is an exception, the first session after a new sign up does not trigger an alert, even if the policy is enabled.
619
+ *
620
+ * @param {boolean} enabled - Toggle session alert policy. Set to true if you want users to receive email notifications when a sessions are created for their users, or false to not send email alerts.
621
+ * @throws {AppwriteException}
622
+ * @returns {Promise<Models.Project>}
623
+ * @deprecated Use the object parameter style method for a better developer experience.
624
+ */
625
+ updateSessionAlertPolicy(enabled: boolean): Promise<Models.Project>;
626
+ /**
627
+ * Update maximum duration how long sessions created within a project should stay active for.
628
+ *
629
+ * @param {number} params.duration - Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.
630
+ * @throws {AppwriteException}
631
+ * @returns {Promise<Models.Project>}
632
+ */
633
+ updateSessionDurationPolicy(params: {
634
+ duration: number;
635
+ }): Promise<Models.Project>;
636
+ /**
637
+ * Update maximum duration how long sessions created within a project should stay active for.
638
+ *
639
+ * @param {number} duration - Maximum session length in seconds. Minium allowed value is 5 second, and maximum is 1 year, which is 31536000 seconds.
640
+ * @throws {AppwriteException}
641
+ * @returns {Promise<Models.Project>}
642
+ * @deprecated Use the object parameter style method for a better developer experience.
643
+ */
644
+ updateSessionDurationPolicy(duration: number): Promise<Models.Project>;
645
+ /**
646
+ * Updating this policy allows you to control if existing sessions should be invalidated when a password of a user is changed. When enabled, and user changes their password, they will be logged out of all their devices.
647
+ *
648
+ * @param {boolean} params.enabled - Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.
649
+ * @throws {AppwriteException}
650
+ * @returns {Promise<Models.Project>}
651
+ */
652
+ updateSessionInvalidationPolicy(params: {
653
+ enabled: boolean;
654
+ }): Promise<Models.Project>;
655
+ /**
656
+ * Updating this policy allows you to control if existing sessions should be invalidated when a password of a user is changed. When enabled, and user changes their password, they will be logged out of all their devices.
657
+ *
658
+ * @param {boolean} enabled - Toggle session invalidation policy. Set to true if you want password change to invalidate all sessions of an user, or false to keep sessions active.
659
+ * @throws {AppwriteException}
660
+ * @returns {Promise<Models.Project>}
661
+ * @deprecated Use the object parameter style method for a better developer experience.
662
+ */
663
+ updateSessionInvalidationPolicy(enabled: boolean): Promise<Models.Project>;
664
+ /**
665
+ * Update the maximum number of sessions allowed per user. When the limit is hit, the oldest session will be deleted to make room for new one.
666
+ *
667
+ * @param {number} params.total - Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.
668
+ * @throws {AppwriteException}
669
+ * @returns {Promise<Models.Project>}
670
+ */
671
+ updateSessionLimitPolicy(params: {
672
+ total?: number;
673
+ }): Promise<Models.Project>;
674
+ /**
675
+ * Update the maximum number of sessions allowed per user. When the limit is hit, the oldest session will be deleted to make room for new one.
676
+ *
677
+ * @param {number} total - Set the maximum number of sessions allowed per user. Value can be between 1 and 5000, or null to disable the limit.
678
+ * @throws {AppwriteException}
679
+ * @returns {Promise<Models.Project>}
680
+ * @deprecated Use the object parameter style method for a better developer experience.
681
+ */
682
+ updateSessionLimitPolicy(total?: number): Promise<Models.Project>;
683
+ /**
684
+ * Update the maximum number of users in the project. When the limit is hit or amount of existing users already exceeded the limit, all users remain active, but new user sign up will be prohibited.
685
+ *
686
+ * @param {number} params.total - Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.
687
+ * @throws {AppwriteException}
688
+ * @returns {Promise<Models.Project>}
689
+ */
690
+ updateUserLimitPolicy(params: {
691
+ total?: number;
692
+ }): Promise<Models.Project>;
693
+ /**
694
+ * Update the maximum number of users in the project. When the limit is hit or amount of existing users already exceeded the limit, all users remain active, but new user sign up will be prohibited.
695
+ *
696
+ * @param {number} total - Set the maximum number of users allowed in the project. Value can be between 1 and 5000, or null to disable the limit.
697
+ * @throws {AppwriteException}
698
+ * @returns {Promise<Models.Project>}
699
+ * @deprecated Use the object parameter style method for a better developer experience.
700
+ */
701
+ updateUserLimitPolicy(total?: number): Promise<Models.Project>;
702
+ /**
703
+ * Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project.
514
704
  *
515
705
  * @param {ProtocolId} params.protocolId - Protocol name. Can be one of: rest, graphql, websocket
516
706
  * @param {boolean} params.enabled - Protocol status.
517
707
  * @throws {AppwriteException}
518
708
  * @returns {Promise<Models.Project>}
519
709
  */
520
- updateProtocolStatus(params: {
710
+ updateProtocol(params: {
521
711
  protocolId: ProtocolId;
522
712
  enabled: boolean;
523
713
  }): Promise<Models.Project>;
524
714
  /**
525
- * Update the status of a specific protocol. Use this endpoint to enable or disable a protocol in your project.
715
+ * Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project.
526
716
  *
527
717
  * @param {ProtocolId} protocolId - Protocol name. Can be one of: rest, graphql, websocket
528
718
  * @param {boolean} enabled - Protocol status.
@@ -530,21 +720,21 @@ export declare class Project {
530
720
  * @returns {Promise<Models.Project>}
531
721
  * @deprecated Use the object parameter style method for a better developer experience.
532
722
  */
533
- updateProtocolStatus(protocolId: ProtocolId, enabled: boolean): Promise<Models.Project>;
723
+ updateProtocol(protocolId: ProtocolId, enabled: boolean): Promise<Models.Project>;
534
724
  /**
535
- * Update the status of a specific service. Use this endpoint to enable or disable a service in your project.
725
+ * Update properties of a specific service. Use this endpoint to enable or disable a service in your project.
536
726
  *
537
727
  * @param {ServiceId} params.serviceId - Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging
538
728
  * @param {boolean} params.enabled - Service status.
539
729
  * @throws {AppwriteException}
540
730
  * @returns {Promise<Models.Project>}
541
731
  */
542
- updateServiceStatus(params: {
732
+ updateService(params: {
543
733
  serviceId: ServiceId;
544
734
  enabled: boolean;
545
735
  }): Promise<Models.Project>;
546
736
  /**
547
- * Update the status of a specific service. Use this endpoint to enable or disable a service in your project.
737
+ * Update properties of a specific service. Use this endpoint to enable or disable a service in your project.
548
738
  *
549
739
  * @param {ServiceId} serviceId - Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging
550
740
  * @param {boolean} enabled - Service status.
@@ -552,7 +742,134 @@ export declare class Project {
552
742
  * @returns {Promise<Models.Project>}
553
743
  * @deprecated Use the object parameter style method for a better developer experience.
554
744
  */
555
- updateServiceStatus(serviceId: ServiceId, enabled: boolean): Promise<Models.Project>;
745
+ updateService(serviceId: ServiceId, enabled: boolean): Promise<Models.Project>;
746
+ /**
747
+ * Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.
748
+ *
749
+ * @param {string} params.host - SMTP server hostname (domain)
750
+ * @param {number} params.port - SMTP server port
751
+ * @param {string} params.username - SMTP server username. Leave empty for no authorization.
752
+ * @param {string} params.password - SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).
753
+ * @param {string} params.senderEmail - Email address shown in inbox as the sender of the email.
754
+ * @param {string} params.senderName - Name shown in inbox as the sender of the email.
755
+ * @param {string} params.replyToEmail - Email used when user replies to the email.
756
+ * @param {string} params.replyToName - Name used when user replies to the email.
757
+ * @param {Secure} params.secure - Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
758
+ * @param {boolean} params.enabled - Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.
759
+ * @throws {AppwriteException}
760
+ * @returns {Promise<Models.Project>}
761
+ */
762
+ updateSMTP(params?: {
763
+ host?: string;
764
+ port?: number;
765
+ username?: string;
766
+ password?: string;
767
+ senderEmail?: string;
768
+ senderName?: string;
769
+ replyToEmail?: string;
770
+ replyToName?: string;
771
+ secure?: Secure;
772
+ enabled?: boolean;
773
+ }): Promise<Models.Project>;
774
+ /**
775
+ * Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.
776
+ *
777
+ * @param {string} host - SMTP server hostname (domain)
778
+ * @param {number} port - SMTP server port
779
+ * @param {string} username - SMTP server username. Leave empty for no authorization.
780
+ * @param {string} password - SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).
781
+ * @param {string} senderEmail - Email address shown in inbox as the sender of the email.
782
+ * @param {string} senderName - Name shown in inbox as the sender of the email.
783
+ * @param {string} replyToEmail - Email used when user replies to the email.
784
+ * @param {string} replyToName - Name used when user replies to the email.
785
+ * @param {Secure} secure - Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
786
+ * @param {boolean} enabled - Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.
787
+ * @throws {AppwriteException}
788
+ * @returns {Promise<Models.Project>}
789
+ * @deprecated Use the object parameter style method for a better developer experience.
790
+ */
791
+ updateSMTP(host?: string, port?: number, username?: string, password?: string, senderEmail?: string, senderName?: string, replyToEmail?: string, replyToName?: string, secure?: Secure, enabled?: boolean): Promise<Models.Project>;
792
+ /**
793
+ * Send a test email to verify SMTP configuration.
794
+ *
795
+ * @param {string[]} params.emails - Array of emails to send test email to. Maximum of 10 emails are allowed.
796
+ * @throws {AppwriteException}
797
+ * @returns {Promise<{}>}
798
+ */
799
+ createSMTPTest(params: {
800
+ emails: string[];
801
+ }): Promise<{}>;
802
+ /**
803
+ * Send a test email to verify SMTP configuration.
804
+ *
805
+ * @param {string[]} emails - Array of emails to send test email to. Maximum of 10 emails are allowed.
806
+ * @throws {AppwriteException}
807
+ * @returns {Promise<{}>}
808
+ * @deprecated Use the object parameter style method for a better developer experience.
809
+ */
810
+ createSMTPTest(emails: string[]): Promise<{}>;
811
+ /**
812
+ * Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.
813
+ *
814
+ * @param {EmailTemplateType} params.templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
815
+ * @param {EmailTemplateLocale} params.locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
816
+ * @param {string} params.subject - Subject of the email template. Can be up to 255 characters.
817
+ * @param {string} params.message - Plain or HTML body of the email template message. Can be up to 10MB of content.
818
+ * @param {string} params.senderName - Name of the email sender.
819
+ * @param {string} params.senderEmail - Email of the sender.
820
+ * @param {string} params.replyToEmail - Reply to email.
821
+ * @param {string} params.replyToName - Reply to name.
822
+ * @throws {AppwriteException}
823
+ * @returns {Promise<Models.EmailTemplate>}
824
+ */
825
+ updateEmailTemplate(params: {
826
+ templateId: EmailTemplateType;
827
+ locale?: EmailTemplateLocale;
828
+ subject?: string;
829
+ message?: string;
830
+ senderName?: string;
831
+ senderEmail?: string;
832
+ replyToEmail?: string;
833
+ replyToName?: string;
834
+ }): Promise<Models.EmailTemplate>;
835
+ /**
836
+ * Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.
837
+ *
838
+ * @param {EmailTemplateType} templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
839
+ * @param {EmailTemplateLocale} locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
840
+ * @param {string} subject - Subject of the email template. Can be up to 255 characters.
841
+ * @param {string} message - Plain or HTML body of the email template message. Can be up to 10MB of content.
842
+ * @param {string} senderName - Name of the email sender.
843
+ * @param {string} senderEmail - Email of the sender.
844
+ * @param {string} replyToEmail - Reply to email.
845
+ * @param {string} replyToName - Reply to name.
846
+ * @throws {AppwriteException}
847
+ * @returns {Promise<Models.EmailTemplate>}
848
+ * @deprecated Use the object parameter style method for a better developer experience.
849
+ */
850
+ updateEmailTemplate(templateId: EmailTemplateType, locale?: EmailTemplateLocale, subject?: string, message?: string, senderName?: string, senderEmail?: string, replyToEmail?: string, replyToName?: string): Promise<Models.EmailTemplate>;
851
+ /**
852
+ * Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.
853
+ *
854
+ * @param {EmailTemplateType} params.templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
855
+ * @param {EmailTemplateLocale} params.locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
856
+ * @throws {AppwriteException}
857
+ * @returns {Promise<Models.EmailTemplate>}
858
+ */
859
+ getEmailTemplate(params: {
860
+ templateId: EmailTemplateType;
861
+ locale?: EmailTemplateLocale;
862
+ }): Promise<Models.EmailTemplate>;
863
+ /**
864
+ * Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.
865
+ *
866
+ * @param {EmailTemplateType} templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
867
+ * @param {EmailTemplateLocale} locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
868
+ * @throws {AppwriteException}
869
+ * @returns {Promise<Models.EmailTemplate>}
870
+ * @deprecated Use the object parameter style method for a better developer experience.
871
+ */
872
+ getEmailTemplate(templateId: EmailTemplateType, locale?: EmailTemplateLocale): Promise<Models.EmailTemplate>;
556
873
  /**
557
874
  * Get comprehensive usage statistics for your project. View metrics including network requests, bandwidth, storage, function executions, database usage, and user activity. Specify a time range with startDate and endDate, and optionally set the data granularity with period (1h or 1d). The response includes both total counts and detailed breakdowns by resource, along with historical data over the specified period.
558
875
  *