Spaces:
Runtime error
Runtime error
| import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn, Index } from 'typeorm'; | |
| export enum ApiKeyRole { | |
| ADMIN = 'admin', | |
| OPERATOR = 'operator', | |
| VIEWER = 'viewer', | |
| } | |
| ('api_keys') | |
| export class ApiKey { | |
| ('uuid') | |
| id: string; | |
| ({ type: 'varchar', length: 100 }) | |
| name: string; | |
| ({ unique: true }) | |
| ({ type: 'varchar', length: 64 }) | |
| keyHash: string; | |
| // 12 to fit the 12-char prefix that auth.service writes (was varchar(8); harmless on the | |
| // hardcoded-SQLite `main` connection, but kept consistent with the code). | |
| ({ type: 'varchar', length: 12 }) | |
| keyPrefix: string; | |
| ({ | |
| type: 'varchar', | |
| length: 20, | |
| default: ApiKeyRole.OPERATOR, | |
| }) | |
| role: ApiKeyRole; | |
| ({ type: 'simple-array', nullable: true }) | |
| allowedIps: string[] | null; | |
| ({ type: 'simple-array', nullable: true }) | |
| allowedSessions: string[] | null; | |
| ({ type: 'boolean', default: true }) | |
| isActive: boolean; | |
| ({ type: 'datetime', nullable: true }) | |
| expiresAt: Date | null; | |
| ({ type: 'datetime', nullable: true }) | |
| lastUsedAt: Date | null; | |
| ({ type: 'int', default: 0 }) | |
| usageCount: number; | |
| () | |
| createdAt: Date; | |
| () | |
| updatedAt: Date; | |
| } | |