Mission Refactor Members 2

This commit is contained in:
alma 2026-01-09 17:18:56 +01:00
parent 8d4c9d5e23
commit 725b92383f
9 changed files with 338 additions and 33 deletions

View File

@ -66,6 +66,27 @@ export async function POST(
return NextResponse.json({ error: 'Invalid guardian role' }, { status: 400 });
}
// Ensure the new user exists in the database
const existingUser = await prisma.user.findUnique({
where: { id: newUserId },
});
if (!existingUser) {
// Create user with Keycloak ID
try {
await prisma.user.create({
data: {
id: newUserId,
email: newUserEmail || `${newUserId}@placeholder.local`,
password: '',
},
});
logger.debug('Created new user for guardian role', { newUserId, guardianRole });
} catch (createError) {
logger.warn('Could not create user, may already exist', { newUserId });
}
}
// Update the guardian in database
// First, remove old guardian if exists
if (oldUserId) {

View File

@ -267,12 +267,14 @@ export async function POST(request: Request) {
});
// Step 2: Create mission users (guardians and volunteers)
const missionUsers = [];
const missionUsers: MissionUserInput[] = [];
const userIdsToEnsure: string[] = [];
// Add guardians
// Collect all user IDs that need to be ensured in the database
if (body.guardians) {
for (const [role, guardianId] of Object.entries(body.guardians)) {
if (guardianId) {
if (guardianId && typeof guardianId === 'string') {
userIdsToEnsure.push(guardianId);
missionUsers.push({
missionId: mission.id,
userId: guardianId,
@ -282,9 +284,10 @@ export async function POST(request: Request) {
}
}
// Add volunteers
if (body.volunteers && body.volunteers.length > 0) {
for (const volunteerId of body.volunteers) {
if (volunteerId) {
userIdsToEnsure.push(volunteerId);
missionUsers.push({
missionId: mission.id,
userId: volunteerId,
@ -292,6 +295,42 @@ export async function POST(request: Request) {
});
}
}
}
// Ensure all users exist in the database before creating MissionUser entries
if (userIdsToEnsure.length > 0) {
// Get existing users
const existingUsers = await prisma.user.findMany({
where: { id: { in: userIdsToEnsure } },
select: { id: true }
});
const existingUserIds = new Set(existingUsers.map(u => u.id));
// Create missing users
const missingUserIds = userIdsToEnsure.filter(id => !existingUserIds.has(id));
if (missingUserIds.length > 0) {
logger.debug('Creating missing users for mission', {
missionId: mission.id,
missingUserIds
});
// Create users with their Keycloak ID
for (const userId of missingUserIds) {
try {
await prisma.user.create({
data: {
id: userId,
email: `${userId}@placeholder.local`, // Placeholder email, will be updated on first login
password: '', // Empty password, users authenticate via Keycloak
}
});
} catch (createError) {
// User might have been created by another concurrent request
logger.warn('Could not create user, may already exist', { userId });
}
}
}
}
// Create all mission users
if (missionUsers.length > 0) {

11
node_modules/.prisma/client/edge.js generated vendored

File diff suppressed because one or more lines are too long

View File

@ -193,6 +193,7 @@ exports.Prisma.MissionScalarFieldEnum = {
id: 'id',
name: 'name',
logo: 'logo',
logoUrl: 'logoUrl',
oddScope: 'oddScope',
niveau: 'niveau',
intention: 'intention',
@ -202,6 +203,10 @@ exports.Prisma.MissionScalarFieldEnum = {
services: 'services',
participation: 'participation',
profils: 'profils',
actionPlan: 'actionPlan',
actionPlanGeneratedAt: 'actionPlanGeneratedAt',
isClosed: 'isClosed',
closedAt: 'closedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
creatorId: 'creatorId',

View File

@ -8698,12 +8698,17 @@ export namespace Prisma {
id: string | null
name: string | null
logo: string | null
logoUrl: string | null
niveau: string | null
intention: string | null
missionType: string | null
donneurDOrdre: string | null
projection: string | null
participation: string | null
actionPlan: string | null
actionPlanGeneratedAt: Date | null
isClosed: boolean | null
closedAt: Date | null
createdAt: Date | null
updatedAt: Date | null
creatorId: string | null
@ -8718,12 +8723,17 @@ export namespace Prisma {
id: string | null
name: string | null
logo: string | null
logoUrl: string | null
niveau: string | null
intention: string | null
missionType: string | null
donneurDOrdre: string | null
projection: string | null
participation: string | null
actionPlan: string | null
actionPlanGeneratedAt: Date | null
isClosed: boolean | null
closedAt: Date | null
createdAt: Date | null
updatedAt: Date | null
creatorId: string | null
@ -8738,6 +8748,7 @@ export namespace Prisma {
id: number
name: number
logo: number
logoUrl: number
oddScope: number
niveau: number
intention: number
@ -8747,6 +8758,10 @@ export namespace Prisma {
services: number
participation: number
profils: number
actionPlan: number
actionPlanGeneratedAt: number
isClosed: number
closedAt: number
createdAt: number
updatedAt: number
creatorId: number
@ -8763,12 +8778,17 @@ export namespace Prisma {
id?: true
name?: true
logo?: true
logoUrl?: true
niveau?: true
intention?: true
missionType?: true
donneurDOrdre?: true
projection?: true
participation?: true
actionPlan?: true
actionPlanGeneratedAt?: true
isClosed?: true
closedAt?: true
createdAt?: true
updatedAt?: true
creatorId?: true
@ -8783,12 +8803,17 @@ export namespace Prisma {
id?: true
name?: true
logo?: true
logoUrl?: true
niveau?: true
intention?: true
missionType?: true
donneurDOrdre?: true
projection?: true
participation?: true
actionPlan?: true
actionPlanGeneratedAt?: true
isClosed?: true
closedAt?: true
createdAt?: true
updatedAt?: true
creatorId?: true
@ -8803,6 +8828,7 @@ export namespace Prisma {
id?: true
name?: true
logo?: true
logoUrl?: true
oddScope?: true
niveau?: true
intention?: true
@ -8812,6 +8838,10 @@ export namespace Prisma {
services?: true
participation?: true
profils?: true
actionPlan?: true
actionPlanGeneratedAt?: true
isClosed?: true
closedAt?: true
createdAt?: true
updatedAt?: true
creatorId?: true
@ -8899,6 +8929,7 @@ export namespace Prisma {
id: string
name: string
logo: string | null
logoUrl: string | null
oddScope: string[]
niveau: string
intention: string
@ -8908,6 +8939,10 @@ export namespace Prisma {
services: string[]
participation: string | null
profils: string[]
actionPlan: string | null
actionPlanGeneratedAt: Date | null
isClosed: boolean
closedAt: Date | null
createdAt: Date
updatedAt: Date
creatorId: string
@ -8939,6 +8974,7 @@ export namespace Prisma {
id?: boolean
name?: boolean
logo?: boolean
logoUrl?: boolean
oddScope?: boolean
niveau?: boolean
intention?: boolean
@ -8948,6 +8984,10 @@ export namespace Prisma {
services?: boolean
participation?: boolean
profils?: boolean
actionPlan?: boolean
actionPlanGeneratedAt?: boolean
isClosed?: boolean
closedAt?: boolean
createdAt?: boolean
updatedAt?: boolean
creatorId?: boolean
@ -8966,6 +9006,7 @@ export namespace Prisma {
id?: boolean
name?: boolean
logo?: boolean
logoUrl?: boolean
oddScope?: boolean
niveau?: boolean
intention?: boolean
@ -8975,6 +9016,10 @@ export namespace Prisma {
services?: boolean
participation?: boolean
profils?: boolean
actionPlan?: boolean
actionPlanGeneratedAt?: boolean
isClosed?: boolean
closedAt?: boolean
createdAt?: boolean
updatedAt?: boolean
creatorId?: boolean
@ -8990,6 +9035,7 @@ export namespace Prisma {
id?: boolean
name?: boolean
logo?: boolean
logoUrl?: boolean
oddScope?: boolean
niveau?: boolean
intention?: boolean
@ -8999,6 +9045,10 @@ export namespace Prisma {
services?: boolean
participation?: boolean
profils?: boolean
actionPlan?: boolean
actionPlanGeneratedAt?: boolean
isClosed?: boolean
closedAt?: boolean
createdAt?: boolean
updatedAt?: boolean
creatorId?: boolean
@ -9014,6 +9064,7 @@ export namespace Prisma {
id?: boolean
name?: boolean
logo?: boolean
logoUrl?: boolean
oddScope?: boolean
niveau?: boolean
intention?: boolean
@ -9023,6 +9074,10 @@ export namespace Prisma {
services?: boolean
participation?: boolean
profils?: boolean
actionPlan?: boolean
actionPlanGeneratedAt?: boolean
isClosed?: boolean
closedAt?: boolean
createdAt?: boolean
updatedAt?: boolean
creatorId?: boolean
@ -9033,7 +9088,7 @@ export namespace Prisma {
penpotProjectId?: boolean
}
export type MissionOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "name" | "logo" | "oddScope" | "niveau" | "intention" | "missionType" | "donneurDOrdre" | "projection" | "services" | "participation" | "profils" | "createdAt" | "updatedAt" | "creatorId" | "leantimeProjectId" | "outlineCollectionId" | "rocketChatChannelId" | "giteaRepositoryUrl" | "penpotProjectId", ExtArgs["result"]["mission"]>
export type MissionOmit<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = $Extensions.GetOmit<"id" | "name" | "logo" | "logoUrl" | "oddScope" | "niveau" | "intention" | "missionType" | "donneurDOrdre" | "projection" | "services" | "participation" | "profils" | "actionPlan" | "actionPlanGeneratedAt" | "isClosed" | "closedAt" | "createdAt" | "updatedAt" | "creatorId" | "leantimeProjectId" | "outlineCollectionId" | "rocketChatChannelId" | "giteaRepositoryUrl" | "penpotProjectId", ExtArgs["result"]["mission"]>
export type MissionInclude<ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs> = {
creator?: boolean | UserDefaultArgs<ExtArgs>
attachments?: boolean | Mission$attachmentsArgs<ExtArgs>
@ -9058,6 +9113,7 @@ export namespace Prisma {
id: string
name: string
logo: string | null
logoUrl: string | null
oddScope: string[]
niveau: string
intention: string
@ -9067,6 +9123,10 @@ export namespace Prisma {
services: string[]
participation: string | null
profils: string[]
actionPlan: string | null
actionPlanGeneratedAt: Date | null
isClosed: boolean
closedAt: Date | null
createdAt: Date
updatedAt: Date
creatorId: string
@ -9504,6 +9564,7 @@ export namespace Prisma {
readonly id: FieldRef<"Mission", 'String'>
readonly name: FieldRef<"Mission", 'String'>
readonly logo: FieldRef<"Mission", 'String'>
readonly logoUrl: FieldRef<"Mission", 'String'>
readonly oddScope: FieldRef<"Mission", 'String[]'>
readonly niveau: FieldRef<"Mission", 'String'>
readonly intention: FieldRef<"Mission", 'String'>
@ -9513,6 +9574,10 @@ export namespace Prisma {
readonly services: FieldRef<"Mission", 'String[]'>
readonly participation: FieldRef<"Mission", 'String'>
readonly profils: FieldRef<"Mission", 'String[]'>
readonly actionPlan: FieldRef<"Mission", 'String'>
readonly actionPlanGeneratedAt: FieldRef<"Mission", 'DateTime'>
readonly isClosed: FieldRef<"Mission", 'Boolean'>
readonly closedAt: FieldRef<"Mission", 'DateTime'>
readonly createdAt: FieldRef<"Mission", 'DateTime'>
readonly updatedAt: FieldRef<"Mission", 'DateTime'>
readonly creatorId: FieldRef<"Mission", 'String'>
@ -12322,6 +12387,7 @@ export namespace Prisma {
id: 'id',
name: 'name',
logo: 'logo',
logoUrl: 'logoUrl',
oddScope: 'oddScope',
niveau: 'niveau',
intention: 'intention',
@ -12331,6 +12397,10 @@ export namespace Prisma {
services: 'services',
participation: 'participation',
profils: 'profils',
actionPlan: 'actionPlan',
actionPlanGeneratedAt: 'actionPlanGeneratedAt',
isClosed: 'isClosed',
closedAt: 'closedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
creatorId: 'creatorId',
@ -12953,6 +13023,7 @@ export namespace Prisma {
id?: StringFilter<"Mission"> | string
name?: StringFilter<"Mission"> | string
logo?: StringNullableFilter<"Mission"> | string | null
logoUrl?: StringNullableFilter<"Mission"> | string | null
oddScope?: StringNullableListFilter<"Mission">
niveau?: StringFilter<"Mission"> | string
intention?: StringFilter<"Mission"> | string
@ -12962,6 +13033,10 @@ export namespace Prisma {
services?: StringNullableListFilter<"Mission">
participation?: StringNullableFilter<"Mission"> | string | null
profils?: StringNullableListFilter<"Mission">
actionPlan?: StringNullableFilter<"Mission"> | string | null
actionPlanGeneratedAt?: DateTimeNullableFilter<"Mission"> | Date | string | null
isClosed?: BoolFilter<"Mission"> | boolean
closedAt?: DateTimeNullableFilter<"Mission"> | Date | string | null
createdAt?: DateTimeFilter<"Mission"> | Date | string
updatedAt?: DateTimeFilter<"Mission"> | Date | string
creatorId?: StringFilter<"Mission"> | string
@ -12979,6 +13054,7 @@ export namespace Prisma {
id?: SortOrder
name?: SortOrder
logo?: SortOrderInput | SortOrder
logoUrl?: SortOrderInput | SortOrder
oddScope?: SortOrder
niveau?: SortOrder
intention?: SortOrder
@ -12988,6 +13064,10 @@ export namespace Prisma {
services?: SortOrder
participation?: SortOrderInput | SortOrder
profils?: SortOrder
actionPlan?: SortOrderInput | SortOrder
actionPlanGeneratedAt?: SortOrderInput | SortOrder
isClosed?: SortOrder
closedAt?: SortOrderInput | SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
creatorId?: SortOrder
@ -13008,6 +13088,7 @@ export namespace Prisma {
NOT?: MissionWhereInput | MissionWhereInput[]
name?: StringFilter<"Mission"> | string
logo?: StringNullableFilter<"Mission"> | string | null
logoUrl?: StringNullableFilter<"Mission"> | string | null
oddScope?: StringNullableListFilter<"Mission">
niveau?: StringFilter<"Mission"> | string
intention?: StringFilter<"Mission"> | string
@ -13017,6 +13098,10 @@ export namespace Prisma {
services?: StringNullableListFilter<"Mission">
participation?: StringNullableFilter<"Mission"> | string | null
profils?: StringNullableListFilter<"Mission">
actionPlan?: StringNullableFilter<"Mission"> | string | null
actionPlanGeneratedAt?: DateTimeNullableFilter<"Mission"> | Date | string | null
isClosed?: BoolFilter<"Mission"> | boolean
closedAt?: DateTimeNullableFilter<"Mission"> | Date | string | null
createdAt?: DateTimeFilter<"Mission"> | Date | string
updatedAt?: DateTimeFilter<"Mission"> | Date | string
creatorId?: StringFilter<"Mission"> | string
@ -13034,6 +13119,7 @@ export namespace Prisma {
id?: SortOrder
name?: SortOrder
logo?: SortOrderInput | SortOrder
logoUrl?: SortOrderInput | SortOrder
oddScope?: SortOrder
niveau?: SortOrder
intention?: SortOrder
@ -13043,6 +13129,10 @@ export namespace Prisma {
services?: SortOrder
participation?: SortOrderInput | SortOrder
profils?: SortOrder
actionPlan?: SortOrderInput | SortOrder
actionPlanGeneratedAt?: SortOrderInput | SortOrder
isClosed?: SortOrder
closedAt?: SortOrderInput | SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
creatorId?: SortOrder
@ -13063,6 +13153,7 @@ export namespace Prisma {
id?: StringWithAggregatesFilter<"Mission"> | string
name?: StringWithAggregatesFilter<"Mission"> | string
logo?: StringNullableWithAggregatesFilter<"Mission"> | string | null
logoUrl?: StringNullableWithAggregatesFilter<"Mission"> | string | null
oddScope?: StringNullableListFilter<"Mission">
niveau?: StringWithAggregatesFilter<"Mission"> | string
intention?: StringWithAggregatesFilter<"Mission"> | string
@ -13072,6 +13163,10 @@ export namespace Prisma {
services?: StringNullableListFilter<"Mission">
participation?: StringNullableWithAggregatesFilter<"Mission"> | string | null
profils?: StringNullableListFilter<"Mission">
actionPlan?: StringNullableWithAggregatesFilter<"Mission"> | string | null
actionPlanGeneratedAt?: DateTimeNullableWithAggregatesFilter<"Mission"> | Date | string | null
isClosed?: BoolWithAggregatesFilter<"Mission"> | boolean
closedAt?: DateTimeNullableWithAggregatesFilter<"Mission"> | Date | string | null
createdAt?: DateTimeWithAggregatesFilter<"Mission"> | Date | string
updatedAt?: DateTimeWithAggregatesFilter<"Mission"> | Date | string
creatorId?: StringWithAggregatesFilter<"Mission"> | string
@ -13764,6 +13859,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -13773,6 +13869,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
leantimeProjectId?: string | null
@ -13789,6 +13889,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -13798,6 +13899,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
creatorId: string
@ -13814,6 +13919,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -13823,6 +13929,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null
@ -13839,6 +13949,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -13848,6 +13959,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
creatorId?: StringFieldUpdateOperationsInput | string
@ -13864,6 +13979,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -13873,6 +13989,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
creatorId: string
@ -13887,6 +14007,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -13896,6 +14017,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null
@ -13909,6 +14034,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -13918,6 +14044,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
creatorId?: StringFieldUpdateOperationsInput | string
@ -14598,6 +14728,7 @@ export namespace Prisma {
id?: SortOrder
name?: SortOrder
logo?: SortOrder
logoUrl?: SortOrder
oddScope?: SortOrder
niveau?: SortOrder
intention?: SortOrder
@ -14607,6 +14738,10 @@ export namespace Prisma {
services?: SortOrder
participation?: SortOrder
profils?: SortOrder
actionPlan?: SortOrder
actionPlanGeneratedAt?: SortOrder
isClosed?: SortOrder
closedAt?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
creatorId?: SortOrder
@ -14621,12 +14756,17 @@ export namespace Prisma {
id?: SortOrder
name?: SortOrder
logo?: SortOrder
logoUrl?: SortOrder
niveau?: SortOrder
intention?: SortOrder
missionType?: SortOrder
donneurDOrdre?: SortOrder
projection?: SortOrder
participation?: SortOrder
actionPlan?: SortOrder
actionPlanGeneratedAt?: SortOrder
isClosed?: SortOrder
closedAt?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
creatorId?: SortOrder
@ -14641,12 +14781,17 @@ export namespace Prisma {
id?: SortOrder
name?: SortOrder
logo?: SortOrder
logoUrl?: SortOrder
niveau?: SortOrder
intention?: SortOrder
missionType?: SortOrder
donneurDOrdre?: SortOrder
projection?: SortOrder
participation?: SortOrder
actionPlan?: SortOrder
actionPlanGeneratedAt?: SortOrder
isClosed?: SortOrder
closedAt?: SortOrder
createdAt?: SortOrder
updatedAt?: SortOrder
creatorId?: SortOrder
@ -15804,6 +15949,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -15813,6 +15959,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
leantimeProjectId?: string | null
@ -15828,6 +15978,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -15837,6 +15988,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
leantimeProjectId?: string | null
@ -16097,6 +16252,7 @@ export namespace Prisma {
id?: StringFilter<"Mission"> | string
name?: StringFilter<"Mission"> | string
logo?: StringNullableFilter<"Mission"> | string | null
logoUrl?: StringNullableFilter<"Mission"> | string | null
oddScope?: StringNullableListFilter<"Mission">
niveau?: StringFilter<"Mission"> | string
intention?: StringFilter<"Mission"> | string
@ -16106,6 +16262,10 @@ export namespace Prisma {
services?: StringNullableListFilter<"Mission">
participation?: StringNullableFilter<"Mission"> | string | null
profils?: StringNullableListFilter<"Mission">
actionPlan?: StringNullableFilter<"Mission"> | string | null
actionPlanGeneratedAt?: DateTimeNullableFilter<"Mission"> | Date | string | null
isClosed?: BoolFilter<"Mission"> | boolean
closedAt?: DateTimeNullableFilter<"Mission"> | Date | string | null
createdAt?: DateTimeFilter<"Mission"> | Date | string
updatedAt?: DateTimeFilter<"Mission"> | Date | string
creatorId?: StringFilter<"Mission"> | string
@ -16833,6 +16993,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -16842,6 +17003,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
leantimeProjectId?: string | null
@ -16857,6 +17022,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -16866,6 +17032,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
creatorId: string
@ -16932,6 +17102,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -16941,6 +17112,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null
@ -16956,6 +17131,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -16965,6 +17141,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
creatorId?: StringFieldUpdateOperationsInput | string
@ -17021,6 +17201,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -17030,6 +17211,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
leantimeProjectId?: string | null
@ -17045,6 +17230,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -17054,6 +17240,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
creatorId: string
@ -17120,6 +17310,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -17129,6 +17320,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null
@ -17144,6 +17339,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -17153,6 +17349,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
creatorId?: StringFieldUpdateOperationsInput | string
@ -17260,6 +17460,7 @@ export namespace Prisma {
id?: string
name: string
logo?: string | null
logoUrl?: string | null
oddScope?: MissionCreateoddScopeInput | string[]
niveau: string
intention: string
@ -17269,6 +17470,10 @@ export namespace Prisma {
services?: MissionCreateservicesInput | string[]
participation?: string | null
profils?: MissionCreateprofilsInput | string[]
actionPlan?: string | null
actionPlanGeneratedAt?: Date | string | null
isClosed?: boolean
closedAt?: Date | string | null
createdAt?: Date | string
updatedAt?: Date | string
leantimeProjectId?: string | null
@ -17456,6 +17661,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -17465,6 +17671,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null
@ -17480,6 +17690,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -17489,6 +17700,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null
@ -17504,6 +17719,7 @@ export namespace Prisma {
id?: StringFieldUpdateOperationsInput | string
name?: StringFieldUpdateOperationsInput | string
logo?: NullableStringFieldUpdateOperationsInput | string | null
logoUrl?: NullableStringFieldUpdateOperationsInput | string | null
oddScope?: MissionUpdateoddScopeInput | string[]
niveau?: StringFieldUpdateOperationsInput | string
intention?: StringFieldUpdateOperationsInput | string
@ -17513,6 +17729,10 @@ export namespace Prisma {
services?: MissionUpdateservicesInput | string[]
participation?: NullableStringFieldUpdateOperationsInput | string | null
profils?: MissionUpdateprofilsInput | string[]
actionPlan?: NullableStringFieldUpdateOperationsInput | string | null
actionPlanGeneratedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
isClosed?: BoolFieldUpdateOperationsInput | boolean
closedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
leantimeProjectId?: NullableStringFieldUpdateOperationsInput | string | null

11
node_modules/.prisma/client/index.js generated vendored

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
{
"name": "prisma-client-1994dc52aa4f59938721431e3940ffa67d6e93e681792ba749fd038a9012d8cc",
"name": "prisma-client-f662f3ffae53c91aaf11cd03c0ea0b692aa694f2c91a9a7fe4c4babaf346ccc7",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",

View File

@ -122,6 +122,7 @@ model Mission {
id String @id @default(uuid())
name String
logo String? // Stores the path to the logo in Minio
logoUrl String? // Stores the full URL to access the logo
oddScope String[] // Categories / ODD scope
niveau String // Project Type / Niveau
intention String // Description / Intention
@ -131,6 +132,10 @@ model Mission {
services String[] // Experience / Services
participation String? // Friendly Address / Participation
profils String[] // Level / Profils
actionPlan String? // Generated action plan from LLM (stored as text/markdown)
actionPlanGeneratedAt DateTime? // When the action plan was generated
isClosed Boolean @default(false) // Whether the mission is closed
closedAt DateTime? // When the mission was closed
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
creator User @relation(fields: [creatorId], references: [id], onDelete: Cascade)

View File

@ -193,6 +193,7 @@ exports.Prisma.MissionScalarFieldEnum = {
id: 'id',
name: 'name',
logo: 'logo',
logoUrl: 'logoUrl',
oddScope: 'oddScope',
niveau: 'niveau',
intention: 'intention',
@ -202,6 +203,10 @@ exports.Prisma.MissionScalarFieldEnum = {
services: 'services',
participation: 'participation',
profils: 'profils',
actionPlan: 'actionPlan',
actionPlanGeneratedAt: 'actionPlanGeneratedAt',
isClosed: 'isClosed',
closedAt: 'closedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
creatorId: 'creatorId',