Account API
A quick introduction to the Account API in Makerkit
You can use the Account API for retrieving information about the personal user account.
Usage
To use the Account API, you need to import the createAccountsApi
function from @kit/account/api
. We need to pass a valid SupabaseClient
to the function - so we can interact with the database from the server.
import { createAccountsApi } from '@kit/accounts/api';import { getSupabaseServerClient } from '@kit/supabase/server-client';export async function loader(args: LoaderFunctionArgs) { const client = getSupabaseServerClient(args.request); const api = createAccountsApi(client); // use api}
If you're in a Remix Action context, you'd use:
import { createAccountsApi } from '@kit/accounts/api';import { getSupabaseServerClient } from '@kit/supabase/server-client';export async function action(args: ActionFunctionArgs) { const client = getSupabaseServerClient(args.request); const api = createAccountsApi(client); // use api}
Methods
The Account API provides the following methods:
Get the account workspace data
Get the account workspace data using the getAccountWorkspace
method. This method returns the workspace data for the user account.
const api = createAccountsApi(client);const workspace = await api.getAccountWorkspace();
This is already called in the user account layout, so it's very unlikely you'll need to call this method.
Load the user accounts
Load the user accounts using the loadUserAccounts
method.
This method returns an array of user accounts. Each account has a label
, value
, and image
property.
const api = createAccountsApi(client);const accounts = await api.loadUserAccounts();
Get the subscription data
Get the subscription data for the given user using the getSubscription
method.
This method returns the subscription data for the given user account.
const api = createAccountsApi(client);const subscription = await api.getSubscription(accountId);
Returns the table subscriptions
and subscription_items
.
Get the billing customer ID
Get the billing customer ID for the given user using the getCustomerId
method.
This method returns the billing customer ID for the given user account.
const api = createAccountsApi(client);const customerId = await api.getCustomerId(accountId);