project-config.d.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /*! firebase-admin v12.1.1 */
  2. import { SmsRegionConfig, MultiFactorConfig, MultiFactorAuthServerConfig, RecaptchaConfig, PasswordPolicyAuthServerConfig, PasswordPolicyConfig, EmailPrivacyConfig } from './auth-config';
  3. /**
  4. * Interface representing the properties to update on the provided project config.
  5. */
  6. export interface UpdateProjectConfigRequest {
  7. /**
  8. * The SMS configuration to update on the project.
  9. */
  10. smsRegionConfig?: SmsRegionConfig;
  11. /**
  12. * The multi-factor auth configuration to update on the project.
  13. */
  14. multiFactorConfig?: MultiFactorConfig;
  15. /**
  16. * The reCAPTCHA configuration to update on the project.
  17. * By enabling reCAPTCHA Enterprise integration, you are
  18. * agreeing to the reCAPTCHA Enterprise
  19. * {@link https://cloud.google.com/terms/service-terms | Term of Service}.
  20. */
  21. recaptchaConfig?: RecaptchaConfig;
  22. /**
  23. * The password policy configuration to update on the project
  24. */
  25. passwordPolicyConfig?: PasswordPolicyConfig;
  26. /**
  27. * The email privacy configuration to update on the project
  28. */
  29. emailPrivacyConfig?: EmailPrivacyConfig;
  30. }
  31. /**
  32. * Response received when getting or updating the project config.
  33. */
  34. export interface ProjectConfigServerResponse {
  35. smsRegionConfig?: SmsRegionConfig;
  36. mfa?: MultiFactorAuthServerConfig;
  37. recaptchaConfig?: RecaptchaConfig;
  38. passwordPolicyConfig?: PasswordPolicyAuthServerConfig;
  39. emailPrivacyConfig?: EmailPrivacyConfig;
  40. }
  41. /**
  42. * Request to update the project config.
  43. */
  44. export interface ProjectConfigClientRequest {
  45. smsRegionConfig?: SmsRegionConfig;
  46. mfa?: MultiFactorAuthServerConfig;
  47. recaptchaConfig?: RecaptchaConfig;
  48. passwordPolicyConfig?: PasswordPolicyAuthServerConfig;
  49. emailPrivacyConfig?: EmailPrivacyConfig;
  50. }
  51. /**
  52. * Represents a project configuration.
  53. */
  54. export declare class ProjectConfig {
  55. /**
  56. * The SMS Regions Config for the project.
  57. * Configures the regions where users are allowed to send verification SMS.
  58. * This is based on the calling code of the destination phone number.
  59. */
  60. readonly smsRegionConfig?: SmsRegionConfig;
  61. /**
  62. * The project's multi-factor auth configuration.
  63. * Supports only phone and TOTP.
  64. */
  65. private readonly multiFactorConfig_?;
  66. /**
  67. * The multi-factor auth configuration.
  68. */
  69. get multiFactorConfig(): MultiFactorConfig | undefined;
  70. /**
  71. * The reCAPTCHA configuration to update on the project.
  72. * By enabling reCAPTCHA Enterprise integration, you are
  73. * agreeing to the reCAPTCHA Enterprise
  74. * {@link https://cloud.google.com/terms/service-terms | Term of Service}.
  75. */
  76. private readonly recaptchaConfig_?;
  77. /**
  78. * The password policy configuration for the project
  79. */
  80. readonly passwordPolicyConfig?: PasswordPolicyConfig;
  81. /**
  82. * The email privacy configuration for the project
  83. */
  84. readonly emailPrivacyConfig?: EmailPrivacyConfig;
  85. /**
  86. * Validates a project config options object. Throws an error on failure.
  87. *
  88. * @param request - The project config options object to validate.
  89. */
  90. private static validate;
  91. /**
  92. * The reCAPTCHA configuration.
  93. */
  94. get recaptchaConfig(): RecaptchaConfig | undefined;
  95. /**
  96. * Returns a JSON-serializable representation of this object.
  97. *
  98. * @returns A JSON-serializable representation of this object.
  99. */
  100. toJSON(): object;
  101. }