FluxbaseAdmin
Admin client for managing Fluxbase instance
Constructors
Section titled “Constructors”new FluxbaseAdmin()
Section titled “new FluxbaseAdmin()”new FluxbaseAdmin(
fetch):FluxbaseAdmin
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fetch | FluxbaseFetch |
Returns
Section titled “Returns”Properties
Section titled “Properties”| Property | Modifier | Type | Description |
|---|---|---|---|
ddl | public | DDLManager | DDL manager for database schema and table operations |
emailTemplates | public | EmailTemplateManager | Email template manager for customizing authentication and notification emails |
functions | public | FluxbaseAdminFunctions | Functions manager for edge function management (create, update, delete, sync) |
impersonation | public | ImpersonationManager | Impersonation manager for user impersonation and audit trail |
jobs | public | FluxbaseAdminJobs | Jobs manager for background job management (create, update, delete, sync, monitoring) |
management | public | FluxbaseManagement | Management namespace for API keys, webhooks, and invitations |
migrations | public | FluxbaseAdminMigrations | Migrations manager for database migration operations (create, apply, rollback, sync) |
oauth | public | FluxbaseOAuth | OAuth configuration manager for provider and auth settings |
settings | public | FluxbaseSettings | Settings manager for system and application settings |
Methods
Section titled “Methods”clearToken()
Section titled “clearToken()”clearToken():
void
Clear admin token
Returns
Section titled “Returns”void
deleteUser()
Section titled “deleteUser()”deleteUser(
userId,type):Promise<DataResponse<DeleteUserResponse>>
Delete a user
Permanently deletes a user and all associated data
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
userId | string | undefined | User ID to delete |
type | "app" | "dashboard" | "app" | User type (‘app’ or ‘dashboard’) |
Returns
Section titled “Returns”Promise<DataResponse<DeleteUserResponse>>
Deletion confirmation
Example
Section titled “Example”await admin.deleteUser('user-uuid');console.log('User deleted');getSetupStatus()
Section titled “getSetupStatus()”getSetupStatus():
Promise<DataResponse<AdminSetupStatusResponse>>
Check if initial admin setup is needed
Returns
Section titled “Returns”Promise<DataResponse<AdminSetupStatusResponse>>
Setup status indicating if initial setup is required
Example
Section titled “Example”const status = await admin.getSetupStatus();if (status.needs_setup) { console.log('Initial setup required');}getToken()
Section titled “getToken()”getToken():
null|string
Get current admin token
Returns
Section titled “Returns”null | string
getUserById()
Section titled “getUserById()”getUserById(
userId,type):Promise<DataResponse<EnrichedUser>>
Get a user by ID
Fetch a single user’s details by their user ID
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
userId | string | undefined | User ID to fetch |
type | "app" | "dashboard" | "app" | User type (‘app’ or ‘dashboard’) |
Returns
Section titled “Returns”Promise<DataResponse<EnrichedUser>>
User details with metadata
Example
Section titled “Example”// Get an app userconst user = await admin.getUserById('user-123');
// Get a dashboard userconst dashboardUser = await admin.getUserById('admin-456', 'dashboard');console.log('User email:', dashboardUser.email);console.log('Last login:', dashboardUser.last_login_at);inviteUser()
Section titled “inviteUser()”inviteUser(
request,type):Promise<DataResponse<InviteUserResponse>>
Invite a new user
Creates a new user and optionally sends an invitation email
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
request | InviteUserRequest | undefined | User invitation details |
type | "app" | "dashboard" | "app" | User type (‘app’ or ‘dashboard’) |
Returns
Section titled “Returns”Promise<DataResponse<InviteUserResponse>>
Created user and invitation details
Example
Section titled “Example”const response = await admin.inviteUser({ email: 'newuser@example.com', role: 'user', send_email: true});
console.log('User invited:', response.user.email);console.log('Invitation link:', response.invitation_link);listUsers()
Section titled “listUsers()”listUsers(
options):Promise<DataResponse<ListUsersResponse>>
List all users
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
options | ListUsersOptions | Filter and pagination options |
Returns
Section titled “Returns”Promise<DataResponse<ListUsersResponse>>
List of users with metadata
Example
Section titled “Example”// List all usersconst { users, total } = await admin.listUsers();
// List with filtersconst result = await admin.listUsers({ exclude_admins: true, search: 'john', limit: 50, type: 'app'});login()
Section titled “login()”login(
request):Promise<DataResponse<AdminAuthResponse>>
Admin login
Authenticate as an admin user
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
request | AdminLoginRequest | Login request containing email and password |
Returns
Section titled “Returns”Promise<DataResponse<AdminAuthResponse>>
Authentication response with tokens
Example
Section titled “Example”const response = await admin.login({ email: 'admin@example.com', password: 'password123'});
// Token is automatically set in the clientconsole.log('Logged in as:', response.user.email);logout()
Section titled “logout()”logout():
Promise<VoidResponse>
Admin logout
Invalidates the current admin session
Returns
Section titled “Returns”Promise<VoidResponse>
Example
Section titled “Example”await admin.logout();localStorage.removeItem('admin_token');me():
Promise<DataResponse<AdminMeResponse>>
Get current admin user information
Returns
Section titled “Returns”Promise<DataResponse<AdminMeResponse>>
Current admin user details
Example
Section titled “Example”const { user } = await admin.me();console.log('Logged in as:', user.email);console.log('Role:', user.role);refreshToken()
Section titled “refreshToken()”refreshToken(
request):Promise<DataResponse<AdminRefreshResponse>>
Refresh admin access token
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
request | AdminRefreshRequest | Refresh request containing the refresh token |
Returns
Section titled “Returns”Promise<DataResponse<AdminRefreshResponse>>
New access and refresh tokens
Example
Section titled “Example”const refreshToken = localStorage.getItem('admin_refresh_token');const response = await admin.refreshToken({ refresh_token: refreshToken });
// Update stored tokenslocalStorage.setItem('admin_token', response.access_token);localStorage.setItem('admin_refresh_token', response.refresh_token);resetUserPassword()
Section titled “resetUserPassword()”resetUserPassword(
userId,type):Promise<DataResponse<ResetUserPasswordResponse>>
Reset user password
Generates a new password for the user and optionally sends it via email
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
userId | string | undefined | User ID |
type | "app" | "dashboard" | "app" | User type (‘app’ or ‘dashboard’) |
Returns
Section titled “Returns”Promise<DataResponse<ResetUserPasswordResponse>>
Reset confirmation message
Example
Section titled “Example”const response = await admin.resetUserPassword('user-uuid');console.log(response.message);setToken()
Section titled “setToken()”setToken(
token):void
Set admin authentication token
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
token | string |
Returns
Section titled “Returns”void
setup()
Section titled “setup()”setup(
request):Promise<DataResponse<AdminAuthResponse>>
Perform initial admin setup
Creates the first admin user and completes initial setup. This endpoint can only be called once.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
request | AdminSetupRequest | Setup request containing email, password, and name |
Returns
Section titled “Returns”Promise<DataResponse<AdminAuthResponse>>
Authentication response with tokens
Example
Section titled “Example”const response = await admin.setup({ email: 'admin@example.com', password: 'SecurePassword123!', name: 'Admin User'});
// Store tokenslocalStorage.setItem('admin_token', response.access_token);updateUserRole()
Section titled “updateUserRole()”updateUserRole(
userId,role,type):Promise<DataResponse<EnrichedUser>>
Update user role
Changes a user’s role
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
userId | string | undefined | User ID |
role | string | undefined | New role |
type | "app" | "dashboard" | "app" | User type (‘app’ or ‘dashboard’) |
Returns
Section titled “Returns”Promise<DataResponse<EnrichedUser>>
Updated user
Example
Section titled “Example”const user = await admin.updateUserRole('user-uuid', 'admin');console.log('User role updated:', user.role);