import { DataTypes, Model, Sequelize } from 'sequelize'; import { useContextKey } from '@kevisual/use-config/context'; const sequelize = useContextKey('sequelize'); export class Org extends Model { declare id: string; declare username: string; declare description: string; declare users: { role: string; uid: string }[]; } Org.init( { id: { type: DataTypes.UUID, primaryKey: true, defaultValue: DataTypes.UUIDV4, }, username: { type: DataTypes.STRING, allowNull: false, unique: true, }, description: { type: DataTypes.STRING, allowNull: true, }, users: { type: DataTypes.JSONB, allowNull: true, defaultValue: [], }, }, { sequelize, modelName: 'cf_org', paranoid: true, }, ); Org.sync({ alter: true, logging: false }).catch((e) => { console.error('Org sync', e); }); useContextKey('OrgModel', () => Org);