@fluxbase/sdk 0.0.1-rc.94 → 0.0.1-rc.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4218,10 +4218,158 @@ var EmailTemplateManager = class {
4218
4218
  });
4219
4219
  }
4220
4220
  };
4221
+ var EmailSettingsManager = class {
4222
+ constructor(fetch2) {
4223
+ this.fetch = fetch2;
4224
+ }
4225
+ /**
4226
+ * Get current email provider settings
4227
+ *
4228
+ * Returns the current email configuration. Sensitive values (passwords, API keys)
4229
+ * are not returned - instead, boolean flags indicate whether they are set.
4230
+ *
4231
+ * @returns Promise resolving to EmailProviderSettings
4232
+ *
4233
+ * @example
4234
+ * ```typescript
4235
+ * const settings = await client.admin.settings.email.get()
4236
+ *
4237
+ * console.log('Provider:', settings.provider)
4238
+ * console.log('From:', settings.from_address)
4239
+ * console.log('SMTP password configured:', settings.smtp_password_set)
4240
+ *
4241
+ * // Check for environment variable overrides
4242
+ * if (settings._overrides.provider?.is_overridden) {
4243
+ * console.log('Provider is set by env var:', settings._overrides.provider.env_var)
4244
+ * }
4245
+ * ```
4246
+ */
4247
+ async get() {
4248
+ return await this.fetch.get(
4249
+ "/api/v1/admin/email/settings"
4250
+ );
4251
+ }
4252
+ /**
4253
+ * Update email provider settings
4254
+ *
4255
+ * Supports partial updates - only provide the fields you want to change.
4256
+ * Secret fields (passwords, API keys) are only updated if provided.
4257
+ *
4258
+ * @param request - Settings to update (partial update supported)
4259
+ * @returns Promise resolving to EmailProviderSettings - Updated settings
4260
+ * @throws Error if a setting is overridden by an environment variable
4261
+ *
4262
+ * @example
4263
+ * ```typescript
4264
+ * // Configure SMTP
4265
+ * await client.admin.settings.email.update({
4266
+ * enabled: true,
4267
+ * provider: 'smtp',
4268
+ * from_address: 'noreply@yourapp.com',
4269
+ * from_name: 'Your App',
4270
+ * smtp_host: 'smtp.gmail.com',
4271
+ * smtp_port: 587,
4272
+ * smtp_username: 'your-email@gmail.com',
4273
+ * smtp_password: 'your-app-password',
4274
+ * smtp_tls: true
4275
+ * })
4276
+ *
4277
+ * // Configure SendGrid
4278
+ * await client.admin.settings.email.update({
4279
+ * provider: 'sendgrid',
4280
+ * sendgrid_api_key: 'SG.xxx'
4281
+ * })
4282
+ *
4283
+ * // Update just the from address (password unchanged)
4284
+ * await client.admin.settings.email.update({
4285
+ * from_address: 'new-address@yourapp.com'
4286
+ * })
4287
+ * ```
4288
+ */
4289
+ async update(request) {
4290
+ return await this.fetch.put(
4291
+ "/api/v1/admin/email/settings",
4292
+ request
4293
+ );
4294
+ }
4295
+ /**
4296
+ * Test email configuration by sending a test email
4297
+ *
4298
+ * Sends a test email to verify that the current email configuration is working.
4299
+ *
4300
+ * @param recipientEmail - Email address to send the test email to
4301
+ * @returns Promise resolving to TestEmailSettingsResponse
4302
+ * @throws Error if email sending fails
4303
+ *
4304
+ * @example
4305
+ * ```typescript
4306
+ * try {
4307
+ * const result = await client.admin.settings.email.test('admin@yourapp.com')
4308
+ * console.log('Test email sent:', result.message)
4309
+ * } catch (error) {
4310
+ * console.error('Email configuration error:', error.message)
4311
+ * }
4312
+ * ```
4313
+ */
4314
+ async test(recipientEmail) {
4315
+ return await this.fetch.post(
4316
+ "/api/v1/admin/email/settings/test",
4317
+ { recipient_email: recipientEmail }
4318
+ );
4319
+ }
4320
+ /**
4321
+ * Enable email functionality
4322
+ *
4323
+ * Convenience method to enable the email system.
4324
+ *
4325
+ * @returns Promise resolving to EmailProviderSettings
4326
+ *
4327
+ * @example
4328
+ * ```typescript
4329
+ * await client.admin.settings.email.enable()
4330
+ * ```
4331
+ */
4332
+ async enable() {
4333
+ return await this.update({ enabled: true });
4334
+ }
4335
+ /**
4336
+ * Disable email functionality
4337
+ *
4338
+ * Convenience method to disable the email system.
4339
+ *
4340
+ * @returns Promise resolving to EmailProviderSettings
4341
+ *
4342
+ * @example
4343
+ * ```typescript
4344
+ * await client.admin.settings.email.disable()
4345
+ * ```
4346
+ */
4347
+ async disable() {
4348
+ return await this.update({ enabled: false });
4349
+ }
4350
+ /**
4351
+ * Set the email provider
4352
+ *
4353
+ * Convenience method to change the email provider.
4354
+ * Note: You'll also need to configure the provider-specific settings.
4355
+ *
4356
+ * @param provider - The email provider to use
4357
+ * @returns Promise resolving to EmailProviderSettings
4358
+ *
4359
+ * @example
4360
+ * ```typescript
4361
+ * await client.admin.settings.email.setProvider('sendgrid')
4362
+ * ```
4363
+ */
4364
+ async setProvider(provider) {
4365
+ return await this.update({ provider });
4366
+ }
4367
+ };
4221
4368
  var FluxbaseSettings = class {
4222
4369
  constructor(fetch2) {
4223
4370
  this.system = new SystemSettingsManager(fetch2);
4224
4371
  this.app = new AppSettingsManager(fetch2);
4372
+ this.email = new EmailSettingsManager(fetch2);
4225
4373
  }
4226
4374
  };
4227
4375
  var SettingsClient = class {
@@ -10412,6 +10560,6 @@ function assertType(value, validator, errorMessage = "Type assertion failed") {
10412
10560
  }
10413
10561
  }
10414
10562
 
10415
- export { APIKeysManager, AppSettingsManager, AuthSettingsManager, DDLManager, EmailTemplateManager, ExecutionLogsChannel, FluxbaseAI, FluxbaseAIChat, FluxbaseAdmin, FluxbaseAdminAI, FluxbaseAdminFunctions, FluxbaseAdminJobs, FluxbaseAdminMigrations, FluxbaseAdminRPC, FluxbaseAdminStorage, FluxbaseAuth, FluxbaseClient, FluxbaseFetch, FluxbaseFunctions, FluxbaseJobs, FluxbaseManagement, FluxbaseOAuth, FluxbaseRPC, FluxbaseRealtime, FluxbaseSettings, FluxbaseStorage, FluxbaseVector, ImpersonationManager, InvitationsManager, OAuthProviderManager, QueryBuilder, RealtimeChannel, SchemaQueryBuilder, SettingsClient, StorageBucket, SystemSettingsManager, WebhooksManager, assertType, bundleCode, createClient, denoExternalPlugin, hasPostgrestError, isArray, isAuthError, isAuthSuccess, isBoolean, isFluxbaseError, isFluxbaseSuccess, isNumber, isObject, isPostgrestSuccess, isString, loadImportMap };
10563
+ export { APIKeysManager, AppSettingsManager, AuthSettingsManager, DDLManager, EmailSettingsManager, EmailTemplateManager, ExecutionLogsChannel, FluxbaseAI, FluxbaseAIChat, FluxbaseAdmin, FluxbaseAdminAI, FluxbaseAdminFunctions, FluxbaseAdminJobs, FluxbaseAdminMigrations, FluxbaseAdminRPC, FluxbaseAdminStorage, FluxbaseAuth, FluxbaseClient, FluxbaseFetch, FluxbaseFunctions, FluxbaseJobs, FluxbaseManagement, FluxbaseOAuth, FluxbaseRPC, FluxbaseRealtime, FluxbaseSettings, FluxbaseStorage, FluxbaseVector, ImpersonationManager, InvitationsManager, OAuthProviderManager, QueryBuilder, RealtimeChannel, SchemaQueryBuilder, SettingsClient, StorageBucket, SystemSettingsManager, WebhooksManager, assertType, bundleCode, createClient, denoExternalPlugin, hasPostgrestError, isArray, isAuthError, isAuthSuccess, isBoolean, isFluxbaseError, isFluxbaseSuccess, isNumber, isObject, isPostgrestSuccess, isString, loadImportMap };
10416
10564
  //# sourceMappingURL=index.js.map
10417
10565
  //# sourceMappingURL=index.js.map