appwrite 23.1.0 → 24.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +2 -2
  3. data/lib/appwrite/enums/o_auth2_google_prompt.rb +9 -0
  4. data/lib/appwrite/enums/o_auth_provider.rb +0 -2
  5. data/lib/appwrite/enums/{auth_method.rb → project_auth_method_id.rb} +1 -1
  6. data/lib/appwrite/enums/{email_template_type.rb → project_email_template_id.rb} +1 -1
  7. data/lib/appwrite/enums/{email_template_locale.rb → project_email_template_locale.rb} +1 -1
  8. data/lib/appwrite/enums/project_key_scopes.rb +100 -0
  9. data/lib/appwrite/enums/project_o_auth2_google_prompt.rb +9 -0
  10. data/lib/appwrite/enums/project_o_auth_provider_id.rb +51 -0
  11. data/lib/appwrite/enums/{project_policy.rb → project_policy_id.rb} +1 -1
  12. data/lib/appwrite/enums/{protocol_id.rb → project_protocol_id.rb} +1 -1
  13. data/lib/appwrite/enums/{service_id.rb → project_service_id.rb} +2 -1
  14. data/lib/appwrite/enums/{secure.rb → project_smtp_secure.rb} +1 -1
  15. data/lib/appwrite/enums/scopes.rb +7 -0
  16. data/lib/appwrite/models/database.rb +2 -2
  17. data/lib/appwrite/models/insight.rb +107 -0
  18. data/lib/appwrite/models/insight_cta.rb +42 -0
  19. data/lib/appwrite/models/insight_list.rb +32 -0
  20. data/lib/appwrite/models/o_auth2_google.rb +8 -3
  21. data/lib/appwrite/models/presence.rb +71 -0
  22. data/lib/appwrite/models/presence_list.rb +36 -0
  23. data/lib/appwrite/models/project.rb +15 -285
  24. data/lib/appwrite/models/project_auth_method.rb +53 -0
  25. data/lib/appwrite/models/project_protocol.rb +49 -0
  26. data/lib/appwrite/models/project_service.rb +64 -0
  27. data/lib/appwrite/models/report.rb +82 -0
  28. data/lib/appwrite/models/report_list.rb +32 -0
  29. data/lib/appwrite/models/usage_event.rb +72 -0
  30. data/lib/appwrite/models/usage_event_list.rb +32 -0
  31. data/lib/appwrite/models/usage_gauge.rb +37 -0
  32. data/lib/appwrite/models/usage_gauge_list.rb +32 -0
  33. data/lib/appwrite/services/advisor.rb +173 -0
  34. data/lib/appwrite/services/presences.rb +199 -0
  35. data/lib/appwrite/services/project.rb +170 -52
  36. data/lib/appwrite/services/usage.rb +86 -0
  37. data/lib/appwrite.rb +28 -8
  38. metadata +30 -10
  39. data/lib/appwrite/models/auth_provider.rb +0 -47
@@ -7,6 +7,29 @@ module Appwrite
7
7
  @client = client
8
8
  end
9
9
 
10
+ # Get a project.
11
+ #
12
+ #
13
+ # @return [Project]
14
+ def get()
15
+ api_path = '/project'
16
+
17
+ api_params = {
18
+ }
19
+
20
+ api_headers = {
21
+ }
22
+
23
+ @client.call(
24
+ method: 'GET',
25
+ path: api_path,
26
+ headers: api_headers,
27
+ params: api_params,
28
+ response_type: Models::Project
29
+ )
30
+
31
+ end
32
+
10
33
  # Delete a project.
11
34
  #
12
35
  #
@@ -33,7 +56,7 @@ module Appwrite
33
56
  # Update properties of a specific auth method. Use this endpoint to enable or
34
57
  # disable a method in your project.
35
58
  #
36
- # @param [AuthMethod] method_id Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone
59
+ # @param [ProjectAuthMethodId] method_id Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone
37
60
  # @param [] enabled Auth method status.
38
61
  #
39
62
  # @return [Project]
@@ -511,7 +534,7 @@ module Appwrite
511
534
  # Update the project OAuth2 Amazon configuration.
512
535
  #
513
536
  # @param [String] client_id 'Client ID' of Amazon OAuth2 app. For example: amzn1.application-oa2-client.87400c00000000000000000000063d5b2
514
- # @param [String] client_secret 'Client Secret' of Amazon OAuth2 app. For example: <CLIENT_SECRET>
537
+ # @param [String] client_secret 'Client Secret' of Amazon OAuth2 app. For example: 79ffe4000000000000000000000000000000000000000000000000000002de55
515
538
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
516
539
  #
517
540
  # @return [OAuth2Amazon]
@@ -575,7 +598,7 @@ module Appwrite
575
598
  # Update the project OAuth2 Auth0 configuration.
576
599
  #
577
600
  # @param [String] client_id 'Client ID' of Auth0 OAuth2 app. For example: OaOkIA000000000000000000005KLSYq
578
- # @param [String] client_secret 'Client Secret' of Auth0 OAuth2 app. For example: <CLIENT_SECRET>
601
+ # @param [String] client_secret 'Client Secret' of Auth0 OAuth2 app. For example: zXz0000-00000000000000000000000000000-00000000000000000000PJafnF
579
602
  # @param [String] endpoint Domain of Auth0 instance. For example: example.us.auth0.com
580
603
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
581
604
  #
@@ -607,7 +630,7 @@ module Appwrite
607
630
  # Update the project OAuth2 Authentik configuration.
608
631
  #
609
632
  # @param [String] client_id 'Client ID' of Authentik OAuth2 app. For example: dTKOPa0000000000000000000000000000e7G8hv
610
- # @param [String] client_secret 'Client Secret' of Authentik OAuth2 app. For example: <CLIENT_SECRET>
633
+ # @param [String] client_secret 'Client Secret' of Authentik OAuth2 app. For example: ntQadq000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Hp5WK
611
634
  # @param [String] endpoint Domain of Authentik instance. For example: example.authentik.com
612
635
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
613
636
  #
@@ -639,7 +662,7 @@ module Appwrite
639
662
  # Update the project OAuth2 Autodesk configuration.
640
663
  #
641
664
  # @param [String] client_id 'Client ID' of Autodesk OAuth2 app. For example: 5zw90v00000000000000000000kVYXN7
642
- # @param [String] client_secret 'Client Secret' of Autodesk OAuth2 app. For example: <CLIENT_SECRET>
665
+ # @param [String] client_secret 'Client Secret' of Autodesk OAuth2 app. For example: 7I000000000000MW
643
666
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
644
667
  #
645
668
  # @return [OAuth2Autodesk]
@@ -669,7 +692,7 @@ module Appwrite
669
692
  # Update the project OAuth2 Bitbucket configuration.
670
693
  #
671
694
  # @param [String] key 'Key' of Bitbucket OAuth2 app. For example: Knt70000000000ByRc
672
- # @param [String] secret 'Secret' of Bitbucket OAuth2 app. For example: <CLIENT_SECRET>
695
+ # @param [String] secret 'Secret' of Bitbucket OAuth2 app. For example: NMfLZJ00000000000000000000TLQdDx
673
696
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
674
697
  #
675
698
  # @return [OAuth2Bitbucket]
@@ -699,7 +722,7 @@ module Appwrite
699
722
  # Update the project OAuth2 Bitly configuration.
700
723
  #
701
724
  # @param [String] client_id 'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b
702
- # @param [String] client_secret 'Client Secret' of Bitly OAuth2 app. For example: <CLIENT_SECRET>
725
+ # @param [String] client_secret 'Client Secret' of Bitly OAuth2 app. For example: a13e250000000000000000000000000000d73095
703
726
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
704
727
  #
705
728
  # @return [OAuth2Bitly]
@@ -729,7 +752,7 @@ module Appwrite
729
752
  # Update the project OAuth2 Box configuration.
730
753
  #
731
754
  # @param [String] client_id 'Client ID' of Box OAuth2 app. For example: deglcs00000000000000000000x2og6y
732
- # @param [String] client_secret 'Client Secret' of Box OAuth2 app. For example: <CLIENT_SECRET>
755
+ # @param [String] client_secret 'Client Secret' of Box OAuth2 app. For example: OKM1f100000000000000000000eshEif
733
756
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
734
757
  #
735
758
  # @return [OAuth2Box]
@@ -759,7 +782,7 @@ module Appwrite
759
782
  # Update the project OAuth2 Dailymotion configuration.
760
783
  #
761
784
  # @param [String] api_key 'API Key' of Dailymotion OAuth2 app. For example: 07a9000000000000067f
762
- # @param [String] api_secret 'API Secret' of Dailymotion OAuth2 app. For example: <CLIENT_SECRET>
785
+ # @param [String] api_secret 'API Secret' of Dailymotion OAuth2 app. For example: a399a90000000000000000000000000000d90639
763
786
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
764
787
  #
765
788
  # @return [OAuth2Dailymotion]
@@ -789,7 +812,7 @@ module Appwrite
789
812
  # Update the project OAuth2 Discord configuration.
790
813
  #
791
814
  # @param [String] client_id 'Client ID' of Discord OAuth2 app. For example: 950722000000343754
792
- # @param [String] client_secret 'Client Secret' of Discord OAuth2 app. For example: <CLIENT_SECRET>
815
+ # @param [String] client_secret 'Client Secret' of Discord OAuth2 app. For example: YmPXnM000000000000000000002zFg5D
793
816
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
794
817
  #
795
818
  # @return [OAuth2Discord]
@@ -819,7 +842,7 @@ module Appwrite
819
842
  # Update the project OAuth2 Disqus configuration.
820
843
  #
821
844
  # @param [String] public_key 'Public Key, also known as API Key' of Disqus OAuth2 app. For example: cgegH70000000000000000000000000000000000000000000000000000Hr1nYX
822
- # @param [String] secret_key 'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: <CLIENT_SECRET>
845
+ # @param [String] secret_key 'Secret Key, also known as API Secret' of Disqus OAuth2 app. For example: W7Bykj00000000000000000000000000000000000000000000000000003o43w9
823
846
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
824
847
  #
825
848
  # @return [OAuth2Disqus]
@@ -849,7 +872,7 @@ module Appwrite
849
872
  # Update the project OAuth2 Dropbox configuration.
850
873
  #
851
874
  # @param [String] app_key 'App Key' of Dropbox OAuth2 app. For example: jl000000000009t
852
- # @param [String] app_secret 'App Secret' of Dropbox OAuth2 app. For example: <CLIENT_SECRET>
875
+ # @param [String] app_secret 'App Secret' of Dropbox OAuth2 app. For example: g200000000000vw
853
876
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
854
877
  #
855
878
  # @return [OAuth2Dropbox]
@@ -879,7 +902,7 @@ module Appwrite
879
902
  # Update the project OAuth2 Etsy configuration.
880
903
  #
881
904
  # @param [String] key_string 'Keystring' of Etsy OAuth2 app. For example: nsgzxh0000000000008j85a2
882
- # @param [String] shared_secret 'Shared Secret' of Etsy OAuth2 app. For example: <CLIENT_SECRET>
905
+ # @param [String] shared_secret 'Shared Secret' of Etsy OAuth2 app. For example: tp000000ru
883
906
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
884
907
  #
885
908
  # @return [OAuth2Etsy]
@@ -909,7 +932,7 @@ module Appwrite
909
932
  # Update the project OAuth2 Facebook configuration.
910
933
  #
911
934
  # @param [String] app_id 'App ID' of Facebook OAuth2 app. For example: 260600000007694
912
- # @param [String] app_secret 'App Secret' of Facebook OAuth2 app. For example: <CLIENT_SECRET>
935
+ # @param [String] app_secret 'App Secret' of Facebook OAuth2 app. For example: 2d0b2800000000000000000000d38af4
913
936
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
914
937
  #
915
938
  # @return [OAuth2Facebook]
@@ -939,7 +962,7 @@ module Appwrite
939
962
  # Update the project OAuth2 Figma configuration.
940
963
  #
941
964
  # @param [String] client_id 'Client ID' of Figma OAuth2 app. For example: byay5H0000000000VtiI40
942
- # @param [String] client_secret 'Client Secret' of Figma OAuth2 app. For example: <CLIENT_SECRET>
965
+ # @param [String] client_secret 'Client Secret' of Figma OAuth2 app. For example: yEpOYn0000000000000000004iIsU5
943
966
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
944
967
  #
945
968
  # @return [OAuth2Figma]
@@ -969,7 +992,7 @@ module Appwrite
969
992
  # Update the project OAuth2 FusionAuth configuration.
970
993
  #
971
994
  # @param [String] client_id 'Client ID' of FusionAuth OAuth2 app. For example: b2222c00-0000-0000-0000-000000862097
972
- # @param [String] client_secret 'Client Secret' of FusionAuth OAuth2 app. For example: <CLIENT_SECRET>
995
+ # @param [String] client_secret 'Client Secret' of FusionAuth OAuth2 app. For example: Jx4s0C0000000000000000000000000000000wGqLsc
973
996
  # @param [String] endpoint Domain of FusionAuth instance. For example: example.fusionauth.io
974
997
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
975
998
  #
@@ -1001,7 +1024,7 @@ module Appwrite
1001
1024
  # Update the project OAuth2 GitHub configuration.
1002
1025
  #
1003
1026
  # @param [String] client_id 'OAuth2 app Client ID, or App ID' of GitHub OAuth2 app. For example: e4d87900000000540733. Example of wrong value: 370006
1004
- # @param [String] client_secret 'Client Secret' of GitHub OAuth2 app. For example: <CLIENT_SECRET>
1027
+ # @param [String] client_secret 'Client Secret' of GitHub OAuth2 app. For example: 5e07c00000000000000000000000000000198bcc
1005
1028
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1006
1029
  #
1007
1030
  # @return [OAuth2Github]
@@ -1031,7 +1054,7 @@ module Appwrite
1031
1054
  # Update the project OAuth2 Gitlab configuration.
1032
1055
  #
1033
1056
  # @param [String] application_id 'Application ID' of Gitlab OAuth2 app. For example: d41ffe0000000000000000000000000000000000000000000000000000d5e252
1034
- # @param [String] secret 'Secret' of Gitlab OAuth2 app. For example: <CLIENT_SECRET>
1057
+ # @param [String] secret 'Secret' of Gitlab OAuth2 app. For example: gloas-838cfa0000000000000000000000000000000000000000000000000000ecbb38
1035
1058
  # @param [String] endpoint Endpoint URL of self-hosted GitLab instance. For example: https://gitlab.com
1036
1059
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1037
1060
  #
@@ -1063,16 +1086,18 @@ module Appwrite
1063
1086
  # Update the project OAuth2 Google configuration.
1064
1087
  #
1065
1088
  # @param [String] client_id 'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com
1066
- # @param [String] client_secret 'Client Secret' of Google OAuth2 app. For example: <CLIENT_SECRET>
1089
+ # @param [String] client_secret 'Client Secret' of Google OAuth2 app. For example: example-google-client-secret
1090
+ # @param [Array] prompt Array of Google OAuth2 prompt values. If "none" is included, it must be the only element. "none" means: don't display any authentication or consent screens. Must not be specified with other values. "consent" means: prompt the user for consent. "select_account" means: prompt the user to select an account.
1067
1091
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1068
1092
  #
1069
1093
  # @return [OAuth2Google]
1070
- def update_o_auth2_google(client_id: nil, client_secret: nil, enabled: nil)
1094
+ def update_o_auth2_google(client_id: nil, client_secret: nil, prompt: nil, enabled: nil)
1071
1095
  api_path = '/project/oauth2/google'
1072
1096
 
1073
1097
  api_params = {
1074
1098
  clientId: client_id,
1075
1099
  clientSecret: client_secret,
1100
+ prompt: prompt,
1076
1101
  enabled: enabled,
1077
1102
  }
1078
1103
 
@@ -1093,7 +1118,7 @@ module Appwrite
1093
1118
  # Update the project OAuth2 Keycloak configuration.
1094
1119
  #
1095
1120
  # @param [String] client_id 'Client ID' of Keycloak OAuth2 app. For example: appwrite-o0000000st-app
1096
- # @param [String] client_secret 'Client Secret' of Keycloak OAuth2 app. For example: <CLIENT_SECRET>
1121
+ # @param [String] client_secret 'Client Secret' of Keycloak OAuth2 app. For example: jdjrJd00000000000000000000HUsaZO
1097
1122
  # @param [String] endpoint Domain of Keycloak instance. For example: keycloak.example.com
1098
1123
  # @param [String] realm_name Keycloak realm name. For example: appwrite-realm
1099
1124
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
@@ -1127,7 +1152,7 @@ module Appwrite
1127
1152
  # Update the project OAuth2 Kick configuration.
1128
1153
  #
1129
1154
  # @param [String] client_id 'Client ID' of Kick OAuth2 app. For example: 01KQ7C00000000000001MFHS32
1130
- # @param [String] client_secret 'Client Secret' of Kick OAuth2 app. For example: <CLIENT_SECRET>
1155
+ # @param [String] client_secret 'Client Secret' of Kick OAuth2 app. For example: 34ac5600000000000000000000000000000000000000000000000000e830c8b
1131
1156
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1132
1157
  #
1133
1158
  # @return [OAuth2Kick]
@@ -1157,7 +1182,7 @@ module Appwrite
1157
1182
  # Update the project OAuth2 Linkedin configuration.
1158
1183
  #
1159
1184
  # @param [String] client_id 'Client ID' of Linkedin OAuth2 app. For example: 770000000000dv
1160
- # @param [String] primary_client_secret 'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: <CLIENT_SECRET>
1185
+ # @param [String] primary_client_secret 'Primary Client Secret or Secondary Client Secret' of Linkedin OAuth2 app. For example: example-linkedin-client-secret
1161
1186
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1162
1187
  #
1163
1188
  # @return [OAuth2Linkedin]
@@ -1187,7 +1212,7 @@ module Appwrite
1187
1212
  # Update the project OAuth2 Microsoft configuration.
1188
1213
  #
1189
1214
  # @param [String] application_id 'Entra ID Application ID, also known as Client ID' of Microsoft OAuth2 app. For example: 00001111-aaaa-2222-bbbb-3333cccc4444
1190
- # @param [String] application_secret 'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: <CLIENT_SECRET>
1215
+ # @param [String] application_secret 'Entra ID Application Secret, also known as Client Secret' of Microsoft OAuth2 app. For example: A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u
1191
1216
  # @param [String] tenant Microsoft Entra ID tenant identifier. Use 'common', 'organizations', 'consumers' or a specific tenant ID. For example: common
1192
1217
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1193
1218
  #
@@ -1219,7 +1244,7 @@ module Appwrite
1219
1244
  # Update the project OAuth2 Notion configuration.
1220
1245
  #
1221
1246
  # @param [String] oauth_client_id 'OAuth Client ID' of Notion OAuth2 app. For example: 341d8700-0000-0000-0000-000000446ee3
1222
- # @param [String] oauth_client_secret 'OAuth Client Secret' of Notion OAuth2 app. For example: <CLIENT_SECRET>
1247
+ # @param [String] oauth_client_secret 'OAuth Client Secret' of Notion OAuth2 app. For example: secret_dLUr4b000000000000000000000000000000lFHAa9
1223
1248
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1224
1249
  #
1225
1250
  # @return [OAuth2Notion]
@@ -1249,7 +1274,7 @@ module Appwrite
1249
1274
  # Update the project OAuth2 Oidc configuration.
1250
1275
  #
1251
1276
  # @param [String] client_id 'Client ID' of Oidc OAuth2 app. For example: qibI2x0000000000000000000000000006L2YFoG
1252
- # @param [String] client_secret 'Client Secret' of Oidc OAuth2 app. For example: <CLIENT_SECRET>
1277
+ # @param [String] client_secret 'Client Secret' of Oidc OAuth2 app. For example: Ah68ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003qpcHV
1253
1278
  # @param [String] well_known_url OpenID Connect well-known configuration URL. When provided, authorization, token, and user info endpoints can be discovered automatically. For example: https://myoauth.com/.well-known/openid-configuration
1254
1279
  # @param [String] authorization_url OpenID Connect authorization endpoint URL. Required when wellKnownURL is not provided. For example: https://myoauth.com/oauth2/authorize
1255
1280
  # @param [String] token_url OpenID Connect token endpoint URL. Required when wellKnownURL is not provided. For example: https://myoauth.com/oauth2/token
@@ -1287,7 +1312,7 @@ module Appwrite
1287
1312
  # Update the project OAuth2 Okta configuration.
1288
1313
  #
1289
1314
  # @param [String] client_id 'Client ID' of Okta OAuth2 app. For example: 0oa00000000000000698
1290
- # @param [String] client_secret 'Client Secret' of Okta OAuth2 app. For example: <CLIENT_SECRET>
1315
+ # @param [String] client_secret 'Client Secret' of Okta OAuth2 app. For example: Kiq0000000000000000000000000000000000000-00000000000H2L5-3SJ-vRV
1291
1316
  # @param [String] domain Okta company domain. Required when enabling the provider. For example: trial-6400025.okta.com. Example of wrong value: trial-6400025-admin.okta.com, or https://trial-6400025.okta.com/
1292
1317
  # @param [String] authorization_server_id Custom Authorization Servers. Optional, can be left empty or unconfigured. For example: aus000000000000000h7z
1293
1318
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
@@ -1321,7 +1346,7 @@ module Appwrite
1321
1346
  # Update the project OAuth2 Paypal configuration.
1322
1347
  #
1323
1348
  # @param [String] client_id 'Client ID' of Paypal OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB
1324
- # @param [String] secret_key 'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: <CLIENT_SECRET>
1349
+ # @param [String] secret_key 'Secret Key 1 or Secret Key 2' of Paypal OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp
1325
1350
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1326
1351
  #
1327
1352
  # @return [OAuth2Paypal]
@@ -1351,7 +1376,7 @@ module Appwrite
1351
1376
  # Update the project OAuth2 PaypalSandbox configuration.
1352
1377
  #
1353
1378
  # @param [String] client_id 'Client ID' of PaypalSandbox OAuth2 app. For example: AdhIEG7-000000000000-0000000000000000000000000000000-0000000000000000000000-2pyB
1354
- # @param [String] secret_key 'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: <CLIENT_SECRET>
1379
+ # @param [String] secret_key 'Secret Key 1 or Secret Key 2' of PaypalSandbox OAuth2 app. For example: EH8KCXtew--000000000000000000000000000000000000000_C-1_5UP_000000000000000CB7KDp
1355
1380
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1356
1381
  #
1357
1382
  # @return [OAuth2Paypal]
@@ -1381,7 +1406,7 @@ module Appwrite
1381
1406
  # Update the project OAuth2 Podio configuration.
1382
1407
  #
1383
1408
  # @param [String] client_id 'Client ID' of Podio OAuth2 app. For example: appwrite-o0000000st-app
1384
- # @param [String] client_secret 'Client Secret' of Podio OAuth2 app. For example: <CLIENT_SECRET>
1409
+ # @param [String] client_secret 'Client Secret' of Podio OAuth2 app. For example: Rn247T0000000000000000000000000000000000000000000000000000W2zWTN
1385
1410
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1386
1411
  #
1387
1412
  # @return [OAuth2Podio]
@@ -1411,7 +1436,7 @@ module Appwrite
1411
1436
  # Update the project OAuth2 Salesforce configuration.
1412
1437
  #
1413
1438
  # @param [String] customer_key 'Consumer Key' of Salesforce OAuth2 app. For example: 3MVG9I0000000000000000000000000000000000000000000000000000000000000000000000000C5Aejq
1414
- # @param [String] customer_secret 'Consumer Secret' of Salesforce OAuth2 app. For example: <CLIENT_SECRET>
1439
+ # @param [String] customer_secret 'Consumer Secret' of Salesforce OAuth2 app. For example: 3w000000000000e2
1415
1440
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1416
1441
  #
1417
1442
  # @return [OAuth2Salesforce]
@@ -1441,7 +1466,7 @@ module Appwrite
1441
1466
  # Update the project OAuth2 Slack configuration.
1442
1467
  #
1443
1468
  # @param [String] client_id 'Client ID' of Slack OAuth2 app. For example: 23000000089.15000000000023
1444
- # @param [String] client_secret 'Client Secret' of Slack OAuth2 app. For example: <CLIENT_SECRET>
1469
+ # @param [String] client_secret 'Client Secret' of Slack OAuth2 app. For example: 81656000000000000000000000f3d2fd
1445
1470
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1446
1471
  #
1447
1472
  # @return [OAuth2Slack]
@@ -1471,7 +1496,7 @@ module Appwrite
1471
1496
  # Update the project OAuth2 Spotify configuration.
1472
1497
  #
1473
1498
  # @param [String] client_id 'Client ID' of Spotify OAuth2 app. For example: 6ec271000000000000000000009beace
1474
- # @param [String] client_secret 'Client Secret' of Spotify OAuth2 app. For example: <CLIENT_SECRET>
1499
+ # @param [String] client_secret 'Client Secret' of Spotify OAuth2 app. For example: db068a000000000000000000008b5b9f
1475
1500
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1476
1501
  #
1477
1502
  # @return [OAuth2Spotify]
@@ -1501,7 +1526,7 @@ module Appwrite
1501
1526
  # Update the project OAuth2 Stripe configuration.
1502
1527
  #
1503
1528
  # @param [String] client_id 'Client ID' of Stripe OAuth2 app. For example: ca_UKibXX0000000000000000000006byvR
1504
- # @param [String] api_secret_key 'API Secret Key' of Stripe OAuth2 app. For example: <CLIENT_SECRET>
1529
+ # @param [String] api_secret_key 'API Secret Key' of Stripe OAuth2 app. For example: sk_51SfOd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000QGWYfp
1505
1530
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1506
1531
  #
1507
1532
  # @return [OAuth2Stripe]
@@ -1531,7 +1556,7 @@ module Appwrite
1531
1556
  # Update the project OAuth2 Tradeshift configuration.
1532
1557
  #
1533
1558
  # @param [String] oauth2_client_id 'OAuth2 Client ID' of Tradeshift OAuth2 app. For example: appwrite-tes00000.0000000000est-app
1534
- # @param [String] oauth2_client_secret 'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: <CLIENT_SECRET>
1559
+ # @param [String] oauth2_client_secret 'OAuth2 Client Secret' of Tradeshift OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83
1535
1560
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1536
1561
  #
1537
1562
  # @return [OAuth2Tradeshift]
@@ -1561,7 +1586,7 @@ module Appwrite
1561
1586
  # Update the project OAuth2 Tradeshift Sandbox configuration.
1562
1587
  #
1563
1588
  # @param [String] oauth2_client_id 'OAuth2 Client ID' of Tradeshift Sandbox OAuth2 app. For example: appwrite-tes00000.0000000000est-app
1564
- # @param [String] oauth2_client_secret 'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: <CLIENT_SECRET>
1589
+ # @param [String] oauth2_client_secret 'OAuth2 Client Secret' of Tradeshift Sandbox OAuth2 app. For example: 7cb52700-0000-0000-0000-000000ca5b83
1565
1590
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1566
1591
  #
1567
1592
  # @return [OAuth2Tradeshift]
@@ -1591,7 +1616,7 @@ module Appwrite
1591
1616
  # Update the project OAuth2 Twitch configuration.
1592
1617
  #
1593
1618
  # @param [String] client_id 'Client ID' of Twitch OAuth2 app. For example: vvi0in000000000000000000ikmt9p
1594
- # @param [String] client_secret 'Client Secret' of Twitch OAuth2 app. For example: <CLIENT_SECRET>
1619
+ # @param [String] client_secret 'Client Secret' of Twitch OAuth2 app. For example: pmapue000000000000000000zylw3v
1595
1620
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1596
1621
  #
1597
1622
  # @return [OAuth2Twitch]
@@ -1621,7 +1646,7 @@ module Appwrite
1621
1646
  # Update the project OAuth2 WordPress configuration.
1622
1647
  #
1623
1648
  # @param [String] client_id 'Client ID' of WordPress OAuth2 app. For example: 130005
1624
- # @param [String] client_secret 'Client Secret' of WordPress OAuth2 app. For example: <CLIENT_SECRET>
1649
+ # @param [String] client_secret 'Client Secret' of WordPress OAuth2 app. For example: PlBfJS0000000000000000000000000000000000000000000000000000EdUZJk
1625
1650
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1626
1651
  #
1627
1652
  # @return [OAuth2WordPress]
@@ -1651,7 +1676,7 @@ module Appwrite
1651
1676
  # Update the project OAuth2 X configuration.
1652
1677
  #
1653
1678
  # @param [String] customer_key 'Customer Key' of X OAuth2 app. For example: slzZV0000000000000NFLaWT
1654
- # @param [String] secret_key 'Secret Key' of X OAuth2 app. For example: <CLIENT_SECRET>
1679
+ # @param [String] secret_key 'Secret Key' of X OAuth2 app. For example: tkEPkp00000000000000000000000000000000000000FTxbI9
1655
1680
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1656
1681
  #
1657
1682
  # @return [OAuth2X]
@@ -1681,7 +1706,7 @@ module Appwrite
1681
1706
  # Update the project OAuth2 Yahoo configuration.
1682
1707
  #
1683
1708
  # @param [String] client_id 'Client ID, also known as Customer Key' of Yahoo OAuth2 app. For example: dj0yJm000000000000000000000000000000000000000000000000000000000000000000000000000000000000Z4PWRm
1684
- # @param [String] client_secret 'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: <CLIENT_SECRET>
1709
+ # @param [String] client_secret 'Client Secret, also known as Customer Secret' of Yahoo OAuth2 app. For example: cf978f0000000000000000000000000000c5e2e9
1685
1710
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1686
1711
  #
1687
1712
  # @return [OAuth2Yahoo]
@@ -1711,7 +1736,7 @@ module Appwrite
1711
1736
  # Update the project OAuth2 Yandex configuration.
1712
1737
  #
1713
1738
  # @param [String] client_id 'Client ID' of Yandex OAuth2 app. For example: 6a8a6a0000000000000000000091483c
1714
- # @param [String] client_secret 'Client Secret' of Yandex OAuth2 app. For example: <CLIENT_SECRET>
1739
+ # @param [String] client_secret 'Client Secret' of Yandex OAuth2 app. For example: bbf98500000000000000000000c75a63
1715
1740
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1716
1741
  #
1717
1742
  # @return [OAuth2Yandex]
@@ -1741,7 +1766,7 @@ module Appwrite
1741
1766
  # Update the project OAuth2 Zoho configuration.
1742
1767
  #
1743
1768
  # @param [String] client_id 'Client ID' of Zoho OAuth2 app. For example: 1000.83C178000000000000000000RPNX0B
1744
- # @param [String] client_secret 'Client Secret' of Zoho OAuth2 app. For example: <CLIENT_SECRET>
1769
+ # @param [String] client_secret 'Client Secret' of Zoho OAuth2 app. For example: fb5cac000000000000000000000000000000a68f6e
1745
1770
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1746
1771
  #
1747
1772
  # @return [OAuth2Zoho]
@@ -1771,7 +1796,7 @@ module Appwrite
1771
1796
  # Update the project OAuth2 Zoom configuration.
1772
1797
  #
1773
1798
  # @param [String] client_id 'Client ID' of Zoom OAuth2 app. For example: QMAC00000000000000w0AQ
1774
- # @param [String] client_secret 'Client Secret' of Zoom OAuth2 app. For example: <CLIENT_SECRET>
1799
+ # @param [String] client_secret 'Client Secret' of Zoom OAuth2 app. For example: GAWsG4000000000000000000007U01ON
1775
1800
  # @param [] enabled OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
1776
1801
  #
1777
1802
  # @return [OAuth2Zoom]
@@ -1801,7 +1826,7 @@ module Appwrite
1801
1826
  # Get a single OAuth2 provider configuration. Credential fields (client
1802
1827
  # secret, p8 file, key/team IDs) are write-only and always returned empty.
1803
1828
  #
1804
- # @param [OAuthProvider] provider_id OAuth2 provider key. For example: github, google, apple.
1829
+ # @param [ProjectOAuthProviderId] provider_id OAuth2 provider key. For example: github, google, apple.
1805
1830
  #
1806
1831
  # @return [OAuth2Github, OAuth2Discord, OAuth2Figma, OAuth2Dropbox, OAuth2Dailymotion, OAuth2Bitbucket, OAuth2Bitly, OAuth2Box, OAuth2Autodesk, OAuth2Google, OAuth2Zoom, OAuth2Zoho, OAuth2Yandex, OAuth2X, OAuth2WordPress, OAuth2Twitch, OAuth2Stripe, OAuth2Spotify, OAuth2Slack, OAuth2Podio, OAuth2Notion, OAuth2Salesforce, OAuth2Yahoo, OAuth2Linkedin, OAuth2Disqus, OAuth2Amazon, OAuth2Etsy, OAuth2Facebook, OAuth2Tradeshift, OAuth2Paypal, OAuth2Gitlab, OAuth2Authentik, OAuth2Auth0, OAuth2FusionAuth, OAuth2Keycloak, OAuth2Oidc, OAuth2Apple, OAuth2Okta, OAuth2Kick, OAuth2Microsoft]
1807
1832
  def get_o_auth2_provider(provider_id:)
@@ -2613,6 +2638,99 @@ module Appwrite
2613
2638
 
2614
2639
  end
2615
2640
 
2641
+ # Configures if aliased emails such as subaddresses and emails with suffixes
2642
+ # are denied during new users sign-ups and email updates.
2643
+ #
2644
+ # @param [] enabled Set whether or not to block aliased emails during signup and email updates.
2645
+ #
2646
+ # @return [Project]
2647
+ def update_deny_aliased_email_policy(enabled:)
2648
+ api_path = '/project/policies/deny-aliased-email'
2649
+
2650
+ if enabled.nil?
2651
+ raise Appwrite::Exception.new('Missing required parameter: "enabled"')
2652
+ end
2653
+
2654
+ api_params = {
2655
+ enabled: enabled,
2656
+ }
2657
+
2658
+ api_headers = {
2659
+ "content-type": 'application/json',
2660
+ }
2661
+
2662
+ @client.call(
2663
+ method: 'PATCH',
2664
+ path: api_path,
2665
+ headers: api_headers,
2666
+ params: api_params,
2667
+ response_type: Models::Project
2668
+ )
2669
+
2670
+ end
2671
+
2672
+ # Configures if disposable emails from known temporary domains are denied
2673
+ # during new users sign-ups and email updates.
2674
+ #
2675
+ # @param [] enabled Set whether or not to block disposable email addresses during signup and email updates.
2676
+ #
2677
+ # @return [Project]
2678
+ def update_deny_disposable_email_policy(enabled:)
2679
+ api_path = '/project/policies/deny-disposable-email'
2680
+
2681
+ if enabled.nil?
2682
+ raise Appwrite::Exception.new('Missing required parameter: "enabled"')
2683
+ end
2684
+
2685
+ api_params = {
2686
+ enabled: enabled,
2687
+ }
2688
+
2689
+ api_headers = {
2690
+ "content-type": 'application/json',
2691
+ }
2692
+
2693
+ @client.call(
2694
+ method: 'PATCH',
2695
+ path: api_path,
2696
+ headers: api_headers,
2697
+ params: api_params,
2698
+ response_type: Models::Project
2699
+ )
2700
+
2701
+ end
2702
+
2703
+ # Configures if emails from free providers such as Gmail or Yahoo are denied
2704
+ # during new users sign-ups and email updates.
2705
+ #
2706
+ # @param [] enabled Set whether or not to block free email addresses during signup and email updates.
2707
+ #
2708
+ # @return [Project]
2709
+ def update_deny_free_email_policy(enabled:)
2710
+ api_path = '/project/policies/deny-free-email'
2711
+
2712
+ if enabled.nil?
2713
+ raise Appwrite::Exception.new('Missing required parameter: "enabled"')
2714
+ end
2715
+
2716
+ api_params = {
2717
+ enabled: enabled,
2718
+ }
2719
+
2720
+ api_headers = {
2721
+ "content-type": 'application/json',
2722
+ }
2723
+
2724
+ @client.call(
2725
+ method: 'PATCH',
2726
+ path: api_path,
2727
+ headers: api_headers,
2728
+ params: api_params,
2729
+ response_type: Models::Project
2730
+ )
2731
+
2732
+ end
2733
+
2616
2734
  # Updating this policy allows you to control if team members can see other
2617
2735
  # members information. When enabled, all team members can see ID, name,
2618
2736
  # email, phone number, and MFA status of other members..
@@ -2915,7 +3033,7 @@ module Appwrite
2915
3033
  # Get a policy by its unique ID. This endpoint returns the current
2916
3034
  # configuration for the requested project policy.
2917
3035
  #
2918
- # @param [ProjectPolicy] policy_id Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.
3036
+ # @param [ProjectPolicyId] policy_id Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.
2919
3037
  #
2920
3038
  # @return [PolicyPasswordDictionary, PolicyPasswordHistory, PolicyPasswordPersonalData, PolicySessionAlert, PolicySessionDuration, PolicySessionInvalidation, PolicySessionLimit, PolicyUserLimit, PolicyMembershipPrivacy]
2921
3039
  def get_policy(policy_id:)
@@ -2995,7 +3113,7 @@ module Appwrite
2995
3113
  # Update properties of a specific protocol. Use this endpoint to enable or
2996
3114
  # disable a protocol in your project.
2997
3115
  #
2998
- # @param [ProtocolId] protocol_id Protocol name. Can be one of: rest, graphql, websocket
3116
+ # @param [ProjectProtocolId] protocol_id Protocol name. Can be one of: rest, graphql, websocket
2999
3117
  # @param [] enabled Protocol status.
3000
3118
  #
3001
3119
  # @return [Project]
@@ -3032,7 +3150,7 @@ module Appwrite
3032
3150
  # Update properties of a specific service. Use this endpoint to enable or
3033
3151
  # disable a service in your project.
3034
3152
  #
3035
- # @param [ServiceId] service_id Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging
3153
+ # @param [ProjectServiceId] service_id Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor
3036
3154
  # @param [] enabled Service status.
3037
3155
  #
3038
3156
  # @return [Project]
@@ -3078,7 +3196,7 @@ module Appwrite
3078
3196
  # @param [String] sender_name Name shown in inbox as the sender of the email.
3079
3197
  # @param [String] reply_to_email Email used when user replies to the email.
3080
3198
  # @param [String] reply_to_name Name used when user replies to the email.
3081
- # @param [Secure] secure Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
3199
+ # @param [ProjectSMTPSecure] secure Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
3082
3200
  # @param [] enabled Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.
3083
3201
  #
3084
3202
  # @return [Project]
@@ -3173,8 +3291,8 @@ module Appwrite
3173
3291
  # Update a custom email template for the specified locale and type. Use this
3174
3292
  # endpoint to modify the content of your email templates.
3175
3293
  #
3176
- # @param [EmailTemplateType] template_id Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
3177
- # @param [EmailTemplateLocale] locale Custom email template locale. If left empty, the fallback locale (en) will be used.
3294
+ # @param [ProjectEmailTemplateId] template_id Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
3295
+ # @param [ProjectEmailTemplateLocale] locale Custom email template locale. If left empty, the fallback locale (en) will be used.
3178
3296
  # @param [String] subject Subject of the email template. Can be up to 255 characters.
3179
3297
  # @param [String] message Plain or HTML body of the email template message. Can be up to 10MB of content.
3180
3298
  # @param [String] sender_name Name of the email sender.
@@ -3219,8 +3337,8 @@ module Appwrite
3219
3337
  # endpoint returns the template content, subject, and other configuration
3220
3338
  # details.
3221
3339
  #
3222
- # @param [EmailTemplateType] template_id Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
3223
- # @param [EmailTemplateLocale] locale Custom email template locale. If left empty, the fallback locale (en) will be used.
3340
+ # @param [ProjectEmailTemplateId] template_id Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
3341
+ # @param [ProjectEmailTemplateLocale] locale Custom email template locale. If left empty, the fallback locale (en) will be used.
3224
3342
  #
3225
3343
  # @return [EmailTemplate]
3226
3344
  def get_email_template(template_id:, locale: nil)