users


Description

{“what”:“Registered user accounts; central identity for authentication and authorization.”,“why”:“Without it, no persistent identity for login, permissions, or per-user data.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.476874535+00:00”}

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id uuid 2147483647 null
events.created_by events_created_by_fkey R
organization_invitations.answered_by organization_invitations_answered_by_fkey R
organization_invitations.created_by organization_invitations_created_by_fkey R
organization_members.created_by organization_members_created_by_fkey R
organization_members.updated_by organization_members_updated_by_fkey R
organization_members.user_id organization_members_user_id_fkey R
organizations.created_by organizations_created_by_fkey R
organizations.deleted_by organizations_deleted_by_fkey R
organizations.updated_by organizations_updated_by_fkey R
project_tokens.created_by project_tokens_created_by_fkey R
project_tokens.revoked_by project_tokens_revoked_by_fkey R
projects.archived_by projects_archived_by_fkey R
projects.created_by projects_created_by_fkey R
projects.local_owner projects_local_owner_fkey R
projects.updated_by projects_updated_by_fkey R
user_auth_tokens.user_id user_auth_tokens_user_id_fkey C
user_profiles.user_id user_profiles_user_id_fkey C
user_tokens.user_id user_tokens_user_id_fkey C

{“what”:“UUID primary key; unique identifier for each user.”,“why”:“Without it, rows cannot be uniquely referenced by foreign keys or lookups.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.490350338+00:00”}

slug citext 2147483647 null

{“what”:“Custom-type unique slug; likely used in URLs or public references.”,“why”:“Without it, no stable human-readable identifier for public profiles or API paths.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.614897355+00:00”}

name varchar 255 null

{“what”:“Display name of the user; free-form text.”,“why”:“Without it, UI and emails lack a personal address; ambiguous identity.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.640038684+00:00”}

email citext 2147483647 null

{“what”:“Email address in a custom type; used for login and contact.”,“why”:“Without it, no way to authenticate or recover account; duplicates possible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.897882972+00:00”}

provider varchar 255 √ null

{“what”:“OAuth provider name (e.g., ‘github’) if signup via OAuth.”,“why”:“Without it, cannot distinguish OAuth vs password accounts or merge identities.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.919563086+00:00”}

provider_uid varchar 255 √ null

{“what”:“Unique identifier from the OAuth provider for this user.”,“why”:“Without it, cannot link provider account to user; duplicate accounts possible.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.938565911+00:00”}

avatar varchar 255 null

{“what”:“URL or path to the user’s avatar image.”,“why”:“Without it, UI lacks a visual identifier; default avatar needed.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:50.981578802+00:00”}

github_username varchar 255 √ null

{“what”:“GitHub username if linked; used for public profile.”,“why”:“Without it, GitHub-specific features or lookups fail.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.009268215+00:00”}

twitter_username varchar 255 √ null

{“what”:“Twitter handle if linked; used for public profile.”,“why”:“Without it, Twitter-specific features or lookups fail.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.033679003+00:00”}

is_admin bool 1 null

{“what”:“Flag indicating admin privileges; true for admins.”,“why”:“Without it, no way to enforce admin-only actions; security risk.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.055413224+00:00”}

hashed_password varchar 255 √ null

{“what”:“Bcrypt or similar hash of the password; null for OAuth-only.”,“why”:“Without it, password login impossible; but nullable for OAuth users.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.080494570+00:00”}

last_signin timestamp 29,6 null

{“what”:“Timestamp of last successful sign-in; UTC.”,“why”:“Without it, cannot track activity or expire sessions.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.092121334+00:00”}

created_at timestamp 29,6 null

{“what”:“Timestamp when the user record was created; UTC.”,“why”:“Without it, no audit trail or ordering of signups.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.111746797+00:00”}

updated_at timestamp 29,6 null

{“what”:“Timestamp of last update to the record; UTC.”,“why”:“Without it, cannot detect stale or conflicting updates.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.125974543+00:00”}

confirmed_at timestamp 29,6 √ null

{“what”:“Timestamp when email was confirmed; null if unconfirmed.”,“why”:“Without it, cannot enforce email verification or restrict unconfirmed accounts.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.136521611+00:00”}

deleted_at timestamp 29,6 √ null

{“what”:“Soft-delete timestamp; null if active.”,“why”:“Without it, hard delete loses history; cannot restore or filter deleted users.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.153251562+00:00”}

data jsonb 2147483647 √ null

{“what”:“Arbitrary JSON metadata for the user; flexible schema.”,“why”:“Without it, cannot store user-specific custom fields without migrations.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.168113679+00:00”}

onboarding varchar 255 √ null

{“what”:“Current onboarding step or state; e.g., ‘profile’ or ‘done’.”,“why”:“Without it, cannot resume or track onboarding progress.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.194826884+00:00”}

provider_data jsonb 2147483647 √ null

{“what”:“Raw JSON payload from the OAuth provider.”,“why”:“Without it, cannot refresh tokens or access provider-specific info.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:03:51.222827299+00:00”}

Indexes

Constraint Name Type Sort Column(s)
users_pkey Primary key Asc id
users_email_index Must be unique Asc email
users_slug_index Must be unique Asc slug

Relationships