Skip to content

FluxbaseAdmin

Admin client for managing Fluxbase instance

new FluxbaseAdmin(fetch): FluxbaseAdmin

ParameterType
fetchFluxbaseFetch

FluxbaseAdmin

PropertyModifierTypeDescription
ddlpublicDDLManagerDDL manager for database schema and table operations
emailTemplatespublicEmailTemplateManagerEmail template manager for customizing authentication and notification emails
functionspublicFluxbaseAdminFunctionsFunctions manager for edge function management (create, update, delete, sync)
impersonationpublicImpersonationManagerImpersonation manager for user impersonation and audit trail
jobspublicFluxbaseAdminJobsJobs manager for background job management (create, update, delete, sync, monitoring)
managementpublicFluxbaseManagementManagement namespace for API keys, webhooks, and invitations
migrationspublicFluxbaseAdminMigrationsMigrations manager for database migration operations (create, apply, rollback, sync)
oauthpublicFluxbaseOAuthOAuth configuration manager for provider and auth settings
settingspublicFluxbaseSettingsSettings manager for system and application settings

clearToken(): void

Clear admin token

void


deleteUser(userId, type): Promise<DataResponse<DeleteUserResponse>>

Delete a user

Permanently deletes a user and all associated data

ParameterTypeDefault valueDescription
userIdstringundefinedUser ID to delete
type"app" | "dashboard""app"User type (‘app’ or ‘dashboard’)

Promise<DataResponse<DeleteUserResponse>>

Deletion confirmation

await admin.deleteUser('user-uuid');
console.log('User deleted');

getSetupStatus(): Promise<DataResponse<AdminSetupStatusResponse>>

Check if initial admin setup is needed

Promise<DataResponse<AdminSetupStatusResponse>>

Setup status indicating if initial setup is required

const status = await admin.getSetupStatus();
if (status.needs_setup) {
console.log('Initial setup required');
}

getToken(): null | string

Get current admin token

null | string


getUserById(userId, type): Promise<DataResponse<EnrichedUser>>

Get a user by ID

Fetch a single user’s details by their user ID

ParameterTypeDefault valueDescription
userIdstringundefinedUser ID to fetch
type"app" | "dashboard""app"User type (‘app’ or ‘dashboard’)

Promise<DataResponse<EnrichedUser>>

User details with metadata

// Get an app user
const user = await admin.getUserById('user-123');
// Get a dashboard user
const dashboardUser = await admin.getUserById('admin-456', 'dashboard');
console.log('User email:', dashboardUser.email);
console.log('Last login:', dashboardUser.last_login_at);

inviteUser(request, type): Promise<DataResponse<InviteUserResponse>>

Invite a new user

Creates a new user and optionally sends an invitation email

ParameterTypeDefault valueDescription
requestInviteUserRequestundefinedUser invitation details
type"app" | "dashboard""app"User type (‘app’ or ‘dashboard’)

Promise<DataResponse<InviteUserResponse>>

Created user and invitation details

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(options): Promise<DataResponse<ListUsersResponse>>

List all users

ParameterTypeDescription
optionsListUsersOptionsFilter and pagination options

Promise<DataResponse<ListUsersResponse>>

List of users with metadata

// List all users
const { users, total } = await admin.listUsers();
// List with filters
const result = await admin.listUsers({
exclude_admins: true,
search: 'john',
limit: 50,
type: 'app'
});

login(request): Promise<DataResponse<AdminAuthResponse>>

Admin login

Authenticate as an admin user

ParameterTypeDescription
requestAdminLoginRequestLogin request containing email and password

Promise<DataResponse<AdminAuthResponse>>

Authentication response with tokens

const response = await admin.login({
email: 'admin@example.com',
password: 'password123'
});
// Token is automatically set in the client
console.log('Logged in as:', response.user.email);

logout(): Promise<VoidResponse>

Admin logout

Invalidates the current admin session

Promise<VoidResponse>

await admin.logout();
localStorage.removeItem('admin_token');

me(): Promise<DataResponse<AdminMeResponse>>

Get current admin user information

Promise<DataResponse<AdminMeResponse>>

Current admin user details

const { user } = await admin.me();
console.log('Logged in as:', user.email);
console.log('Role:', user.role);

refreshToken(request): Promise<DataResponse<AdminRefreshResponse>>

Refresh admin access token

ParameterTypeDescription
requestAdminRefreshRequestRefresh request containing the refresh token

Promise<DataResponse<AdminRefreshResponse>>

New access and refresh tokens

const refreshToken = localStorage.getItem('admin_refresh_token');
const response = await admin.refreshToken({ refresh_token: refreshToken });
// Update stored tokens
localStorage.setItem('admin_token', response.access_token);
localStorage.setItem('admin_refresh_token', response.refresh_token);

resetUserPassword(userId, type): Promise<DataResponse<ResetUserPasswordResponse>>

Reset user password

Generates a new password for the user and optionally sends it via email

ParameterTypeDefault valueDescription
userIdstringundefinedUser ID
type"app" | "dashboard""app"User type (‘app’ or ‘dashboard’)

Promise<DataResponse<ResetUserPasswordResponse>>

Reset confirmation message

const response = await admin.resetUserPassword('user-uuid');
console.log(response.message);

setToken(token): void

Set admin authentication token

ParameterType
tokenstring

void


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.

ParameterTypeDescription
requestAdminSetupRequestSetup request containing email, password, and name

Promise<DataResponse<AdminAuthResponse>>

Authentication response with tokens

const response = await admin.setup({
email: 'admin@example.com',
password: 'SecurePassword123!',
name: 'Admin User'
});
// Store tokens
localStorage.setItem('admin_token', response.access_token);

updateUserRole(userId, role, type): Promise<DataResponse<EnrichedUser>>

Update user role

Changes a user’s role

ParameterTypeDefault valueDescription
userIdstringundefinedUser ID
rolestringundefinedNew role
type"app" | "dashboard""app"User type (‘app’ or ‘dashboard’)

Promise<DataResponse<EnrichedUser>>

Updated user

const user = await admin.updateUserRole('user-uuid', 'admin');
console.log('User role updated:', user.role);