feat: add profiles session API

This commit is contained in:
Matthieu
2025-09-17 23:11:25 +02:00
parent 83251b532c
commit df5bbeecb7
78 changed files with 3000 additions and 836 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -33,6 +33,7 @@ let MachinesService = class MachinesService {
include: {
site: true,
typeMachine: true,
constructeur: true,
},
});
const components = typeMachine.components;
@@ -55,6 +56,7 @@ let MachinesService = class MachinesService {
customFields: true,
},
},
constructeur: true,
composants: {
include: {
typeComposant: true,
@@ -66,8 +68,10 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
},
},
constructeur: true,
},
},
pieces: {
@@ -77,6 +81,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
},
},
customFieldValues: {
@@ -123,7 +128,7 @@ let MachinesService = class MachinesService {
data: {
name: component.name,
reference: component.reference || '',
constructeur: component.constructeur || '',
constructeurId: await this.resolveConstructeurId(prisma, component.constructeur),
emplacement: component.emplacement || '',
prix: component.prix || null,
machineId,
@@ -180,7 +185,7 @@ let MachinesService = class MachinesService {
data: {
name: piece.name,
reference: piece.reference || '',
constructeur: piece.constructeur || '',
constructeurId: await this.resolveConstructeurId(prisma, piece.constructeur),
emplacement: piece.emplacement || '',
prix: piece.prix || null,
composantId: createdComposant.id,
@@ -217,6 +222,7 @@ let MachinesService = class MachinesService {
data: {
name: piece.name,
machineId,
constructeurId: await this.resolveConstructeurId(prisma, piece.constructeur),
},
});
if (piece.customFields && piece.customFields.length > 0) {
@@ -274,6 +280,7 @@ let MachinesService = class MachinesService {
customFields: true,
},
},
constructeur: true,
composants: {
include: {
typeComposant: true,
@@ -283,6 +290,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
pieces: {
include: {
customFieldValues: {
@@ -290,6 +298,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
},
},
},
@@ -301,6 +310,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
},
},
customFieldValues: {
@@ -322,6 +332,7 @@ let MachinesService = class MachinesService {
customFields: true,
},
},
constructeur: true,
composants: {
include: {
typeComposant: true,
@@ -331,6 +342,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
pieces: {
include: {
customFieldValues: {
@@ -338,6 +350,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
},
},
},
@@ -349,6 +362,7 @@ let MachinesService = class MachinesService {
customField: true,
},
},
constructeur: true,
},
},
customFieldValues: {
@@ -371,14 +385,34 @@ let MachinesService = class MachinesService {
customFields: true,
},
},
constructeur: true,
composants: {
include: {
typeComposant: true,
sousComposants: true,
pieces: true,
constructeur: true,
pieces: {
include: {
constructeur: true,
customFieldValues: {
include: {
customField: true,
},
},
},
},
},
},
pieces: {
include: {
constructeur: true,
customFieldValues: {
include: {
customField: true,
},
},
},
},
pieces: true,
customFieldValues: {
include: {
customField: true,
@@ -388,6 +422,27 @@ let MachinesService = class MachinesService {
},
});
}
async resolveConstructeurId(prisma, rawName) {
if (!rawName)
return null;
const name = String(rawName).trim();
if (!name)
return null;
const existing = await prisma.constructeur.findFirst({
where: {
name: {
equals: name,
mode: 'insensitive',
},
},
});
if (existing)
return existing.id;
const created = await prisma.constructeur.create({
data: { name },
});
return created.id;
}
async remove(id) {
const machine = await this.prisma.machine.findUnique({
where: { id },

File diff suppressed because one or more lines are too long