import { OrganizationSchema } from '#database/schema' import { column, hasMany } from '@adonisjs/lucid/orm' import type { HasMany } from '@adonisjs/lucid/types/relations' import User from '#models/user' import BankConnection from '#models/bank_connection' import type { BrandSettings } from '#services/brand' export default class Organization extends OrganizationSchema { /** * Settings de marque blanche (plan Business) — JSONB, null = palette * Rubis par défaut. Cf. `#services/brand` pour la résolution et la * validation. Cette déclaration manuelle existe en attendant que * `schema.ts` soit régénéré par `node ace migration:run` (cf. migration * `1778400000000_add_brand_settings_to_organizations_table.ts`). */ @column() declare brandSettings: BrandSettings | null @hasMany(() => User) declare users: HasMany /** * V1 = une seule connection active par org, mais on garde hasMany pour * l'historique (connections révoquées passent en state='revoked'). Les * services filtrent sur state='active' quand ils ont besoin de "la" * connection courante. */ @hasMany(() => BankConnection) declare bankConnections: HasMany }