Skip to content
This repository was archived by the owner on Feb 21, 2023. It is now read-only.
This repository was archived by the owner on Feb 21, 2023. It is now read-only.

School database structure #25

@florian-lefebvre

Description

@florian-lefebvre

Je propose qu'on parte sur le modèle suivant (on ne parle pas ici des join tables) :

graph LR
    User <--> Member <--> School
Loading

Les modèles ne prennent pas en compte les PRs en cours qui peuvent modifier certains schemas.

type UserRole = 'user' | 'developer' | 'admin'

interface User {
  id: number
  email: string
  password: string
  rememberMeToken?: string
  roles: UserRole[]
  accesses: HasMany<Access>
  members: HasMany<Member>
  createdAt: DateTime
  updatedAt: DateTime
}

type MemberRole = 'student' | 'teacher' | 'parent' | 'staff'

interface Member {
  id: number
  firstName: string
  lastName: string
  birthDate: DateTime
  roles: MemberRole[]
  user: BelongsTo<User>
  school: BelongsTo<School>
  createdAt: DateTime
  updatedAt: DateTime
}

interface School {
  id: number
  name: string
  members: HasMany<Member>
  contact: {
    email: string
    phone: string
  }
  address: {
    street: string
    city: string
    state: string
    zip: string
  }
  rne: string
  createdAt: DateTime
  updatedAt: DateTime
}

J'oublie sûrement plein de champs, n'hésitez pas à faire part de vos idées et je mettrai à jour ce message.

cc @op-ent/backend

Metadata

Metadata

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions