Appearance
useAccountApi Composable ​
File Information ​
- Path:
app/composables/api/useAccountApi.ts - Purpose: Account status checking API operations
- Category: API Composable
Overview ​
The useAccountApi composable provides functionality to check account status for workspaces. This is used to monitor account suspension, billing status, and account health.
Functions ​
checkAccountStatus ​
Checks the account status for a given workspace.
Signature:
typescript
checkAccountStatus(workspaceId: string | number): Promise<AccountStatusResponse>Parameters:
workspaceId: string | number- Workspace ID to check
Returns:
Promise<AccountStatusResponse>- Account status response
Response Type:
typescript
interface AccountStatusResponse {
// Account status information
// Typically includes: status, suspended, billing_status, etc.
}Throws:
- API errors if request fails
Usage:
typescript
const { checkAccountStatus } = useAccountApi()
try {
const status = await checkAccountStatus(workspaceId)
if (status.suspended) {
// Handle suspended account
}
} catch (error) {
console.error('Failed to check account status:', error)
}API Endpoint ​
Endpoint: GET /digital/check-account-status?workspace_id={workspaceId}
Query Parameters:
workspace_id- Workspace ID (required)
Error Handling ​
The composable includes error logging:
typescript
catch (error: any) {
console.error('[AccountAPI] checkAccountStatus - Error:', error)
throw error
}Integration with API Client ​
The composable uses the global $api client from Nuxt app:
typescript
const { $api } = useNuxtApp()This ensures:
- Automatic authentication
- Error handling
- Request/response interceptors
- Account status monitoring
Use Cases ​
Account Suspension Check ​
typescript
const { checkAccountStatus } = useAccountApi()
const authStore = useAuthStore()
const verifyAccount = async () => {
const workspaceId = getWorkspaceId()
const status = await checkAccountStatus(workspaceId)
if (status.suspended) {
authStore.logout()
router.push('/login')
snackbar.showError('Account has been suspended')
}
}Periodic Status Check ​
typescript
const { checkAccountStatus } = useAccountApi()
// Check every 5 minutes
setInterval(async () => {
const workspaceId = getWorkspaceId()
await checkAccountStatus(workspaceId)
}, 5 * 60 * 1000)Related Documentation ​
- API Client Plugin - API client configuration
- Authentication - Authentication system
- API Composables - Other API composables