feat: v8 - skill itinova-user-management (3 profils admin/standard/readonly, logo FEHAP, login/email)
This commit is contained in:
@@ -14,10 +14,18 @@ export const users = mysqlTable("users", {
|
||||
id: int("id").autoincrement().primaryKey(),
|
||||
// openId peut être null pour les comptes créés manuellement (connexion locale uniquement)
|
||||
openId: varchar("openId", { length: 64 }).unique(),
|
||||
name: text("name"),
|
||||
// Login = email ou identifiant court (ex: adminItinova)
|
||||
login: varchar("login", { length: 255 }).unique(),
|
||||
email: varchar("email", { length: 320 }),
|
||||
firstName: varchar("firstName", { length: 100 }),
|
||||
lastName: varchar("lastName", { length: 100 }),
|
||||
name: text("name"),
|
||||
loginMethod: varchar("loginMethod", { length: 64 }),
|
||||
role: mysqlEnum("role", ["user", "admin"]).default("user").notNull(),
|
||||
// Rôle technique (skill itinova-user-management) :
|
||||
// admin = administrateur (tous droits + gestion utilisateurs + paramétrage)
|
||||
// standard = utilisateur standard (droits métiers, pas de config)
|
||||
// readonly = lecture seule
|
||||
role: mysqlEnum("role", ["admin", "standard", "readonly"]).default("standard").notNull(),
|
||||
// Profil SONUM :
|
||||
// referent = référent numérique (saisit les logiciels de ses établissements)
|
||||
// gestionnaire = gestionnaire SONUM (accès admin complet)
|
||||
@@ -25,6 +33,7 @@ export const users = mysqlTable("users", {
|
||||
sonumRole: mysqlEnum("sonumRole", ["referent", "gestionnaire", "adherent"])
|
||||
.default("referent")
|
||||
.notNull(),
|
||||
isActive: boolean("isActive").default(true).notNull(),
|
||||
// CGU acceptée
|
||||
cguAccepted: boolean("cguAccepted").default(false).notNull(),
|
||||
cguAcceptedAt: timestamp("cguAcceptedAt"),
|
||||
|
||||
Reference in New Issue
Block a user