jobia/backend/prisma/schema.prisma
2025-05-24 01:01:01 +02:00

56 lines
No EOL
1.9 KiB
Text

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
}
model JobOffer {
// Identifiant unique de l'offre (celui de l'API France Travail)
id String @id @unique
// Informations principales
title String
description String @db.Text // Utiliser Text pour de longues descriptions
publicationDate DateTime @map("dateCreation") // La date de création de l'offre, mappée du champ de l'API
romeCode String? // Code ROME (peut être optionnel si non toujours présent)
romeLabel String? // Libellé du code ROME
// Informations sur le lieu de travail
locationLabel String? @map("lieuTravailLibelle") // ex: "Paris (75)" ou "Lyon (69)"
postalCode String?
departmentCode String?
cityName String?
// Informations sur l'entreprise
companyName String? @map("entrepriseNom") // Nom de l'entreprise (peut être non renseigné)
// Type de contrat
contractType String?
contractLabel String? // Libellé du type de contrat
// Autres champs pertinents si tu les as identifiés dans l'API et que tu souhaites les stocker
// Par exemple:
// duration String? // Durée du contrat
// offerUrl String? // URL directe de l'offre sur France Travail
// Champs de métadonnées pour notre base de données
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
// Tu pourras ajouter des relations ici plus tard (ex: avec un modèle User ou Favorite)
}