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
No fields configured for issues without a type.

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions