feat: add dataset consent and primary character model

This commit is contained in:
jb
2026-09-19 12:12:10 -04:00
parent a3dc8637f0
commit 4d3c7a7521
23 changed files with 1068 additions and 138 deletions
+18
View File
@@ -1,10 +1,28 @@
/** Domain values are JSON-safe. EVE item/location IDs are decimal strings, not JS floats. */
export type UserId = string;
export type CharacterDatasetStatus = {
dataset: string;
status: 'never' | 'queued' | 'syncing' | 'ready' | 'partial' | 'stale' | 'blocked' | 'error' | 'quarantined';
grantRevision: number;
authorizationEpoch: number;
credentialVersion: number;
generation?: string;
syncedAt?: number;
invalidatedAt?: number;
error?: string;
};
export type Character = {
id: number;
userId: UserId;
name: string;
scopes: string[];
/** Exactly one active primary may authenticate while signed out. */
loginRole: 'primary' | 'data_only';
authorizationStatus: 'active' | 'revocation_pending' | 'quarantined' | 'revoked' | 'transferred';
grantRevision: number;
credentialVersion: number;
authorizationEpoch: number;
datasets: CharacterDatasetStatus[];
assets: { status: 'never' | 'syncing' | 'ready' | 'error'; syncedAt?: number; expiresAt?: number; error?: string };
};
export type Asset = {