diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 4db51d4..e902b9c 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -67,6 +67,11 @@ model User { userAddressDetails UserAddressDetails[] userDocuments UserDocuments[] activityTracks ActivityTrack[] + // 🔹 Activities created by this user + createdActivities Activities[] @relation("UserActivities") + + // 🔹 Activities where this user is Account Manager + managedActivities Activities[] @relation("ActivityAccountManager") @@map("users") @@schema("usr") @@ -394,12 +399,13 @@ model DocumentType { } model FoodCuisines { - id Int @id @default(autoincrement()) - cuisineName String @unique @map("cuisine_name") @db.VarChar(30) - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") + id Int @id @default(autoincrement()) + cuisineName String @unique @map("cuisine_name") @db.VarChar(30) + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") + activityCuisines ActivityCuisine[] @@map("food_cuisines") @@schema("mst") @@ -434,13 +440,14 @@ model Amenities { } model FoodTypes { - id Int @id @default(autoincrement()) - foodTypeName String @unique @map("food_type_name") @db.VarChar(30) - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - ActivityFoodDetails ActivityFoodDetails[] + id Int @id @default(autoincrement()) + foodTypeName String @unique @map("food_type_name") @db.VarChar(30) + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") + ActivityFoodCost ActivityFoodCost[] + activityFoodTypes ActivityFoodTypes[] @@map("food_types") @@schema("mst") @@ -614,6 +621,7 @@ model EnergyLevels { id Int @id @default(autoincrement()) energyLevelName String @map("energy_level_name") @db.VarChar(30) energyIcon String @map("energy_icon") @db.VarChar(400) + energyColor String @map("energy_color") @db.VarChar(20) isActive Boolean @default(true) @map("is_active") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") @@ -844,38 +852,45 @@ model HostTrack { // ACTIVITY MODELS model Activities { - id Int @id @default(autoincrement()) - hostXid Int @map("host_xid") - host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade) - activityTypeXid Int @map("activity_type_xid") - activityType ActivityTypes @relation(fields: [activityTypeXid], references: [id], onDelete: Restrict) - frequenciesXid Int? @map("frequencies_xid") - frequency Frequencies? @relation(fields: [frequenciesXid], references: [id], onDelete: Restrict) - activityRefNumber String? @map("activity_ref_number") @db.VarChar(30) - activityTitle String? @map("activity_title") @db.VarChar(30) - activityDescription String? @map("activity_description") @db.VarChar(80) - checkInLat Float? @map("check_in_lat") - checkInLong Float? @map("check_in_long") - checkInAddress String? @map("check_in_address") @db.VarChar(150) - isCheckOutSame Boolean? @default(true) @map("is_check_out_same") - checkOutLat Float? @map("check_out_lat") - checkOutLong Float? @map("check_out_long") - checkOutAddress String? @map("check_out_address") @db.VarChar(150) - energyLevelXid Int? @map("energy_level_xid") - energyLevel EnergyLevels? @relation(fields: [energyLevelXid], references: [id], onDelete: Restrict) - activityDurationMins Int? @map("activity_duration_mins") - foodAvailable Boolean? @default(false) @map("food_available") - foodIsChargeable Boolean? @default(false) @map("food_is_chargeable") - alcoholAvailable Boolean? @default(false) @map("alcohol_available") - trainerAvailable Boolean? @default(false) @map("trainer_available") - trainerIsChargeable Boolean? @default(false) @map("trainer_is_chargeable") - pickUpDropAvailable Boolean? @default(false) @map("pick_up_drop_available") - pickUpDropIsChargeable Boolean? @default(false) @map("pick_up_drop_is_chargeable") - inActivityAvailable Boolean? @default(false) @map("in_activity_available") - inActivityIsChargeable Boolean? @default(false) @map("in_activity_is_chargeable") - equipmentAvailable Boolean? @default(false) @map("equipment_available") - equipmentIsChargeable Boolean? @default(false) @map("equipment_is_chargeable") - cancellationAvailable Boolean? @default(false) @map("cancellation_available") + id Int @id @default(autoincrement()) + hostXid Int @map("host_xid") + host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade) + activityTypeXid Int @map("activity_type_xid") + activityType ActivityTypes @relation(fields: [activityTypeXid], references: [id], onDelete: Restrict) + frequenciesXid Int? @map("frequencies_xid") + frequency Frequencies? @relation(fields: [frequenciesXid], references: [id], onDelete: Restrict) + activityRefNumber String? @map("activity_ref_number") @db.VarChar(30) + activityTitle String? @map("activity_title") @db.VarChar(30) + activityDescription String? @map("activity_description") @db.VarChar(80) + checkInLat Float? @map("check_in_lat") + checkInLong Float? @map("check_in_long") + checkInAddress String? @map("check_in_address") @db.VarChar(150) + isCheckOutSame Boolean? @default(true) @map("is_check_out_same") + checkOutLat Float? @map("check_out_lat") + checkOutLong Float? @map("check_out_long") + checkOutAddress String? @map("check_out_address") @db.VarChar(150) + energyLevelXid Int? @map("energy_level_xid") + energyLevel EnergyLevels? @relation(fields: [energyLevelXid], references: [id], onDelete: Restrict) + activityDurationMins Int? @map("activity_duration_mins") + foodAvailable Boolean? @default(false) @map("food_available") + foodIsChargeable Boolean? @default(false) @map("food_is_chargeable") + alcoholAvailable Boolean? @default(false) @map("alcohol_available") + trainerAvailable Boolean? @default(false) @map("trainer_available") + trainerIsChargeable Boolean? @default(false) @map("trainer_is_chargeable") + pickUpDropAvailable Boolean? @default(false) @map("pick_up_drop_available") + pickUpDropIsChargeable Boolean? @default(false) @map("pick_up_drop_is_chargeable") + inActivityAvailable Boolean? @default(false) @map("in_activity_available") + inActivityIsChargeable Boolean? @default(false) @map("in_activity_is_chargeable") + equipmentAvailable Boolean? @default(false) @map("equipment_available") + equipmentIsChargeable Boolean? @default(false) @map("equipment_is_chargeable") + cancellationAvailable Boolean? @default(false) @map("cancellation_available") + // 🔹 Creator / owner + userId Int? + user User? @relation("UserActivities", fields: [userId], references: [id]) + + // 🔹 Account Manager + accountManagerXid Int? + accountManager User? @relation("ActivityAccountManager", fields: [accountManagerXid], references: [id], onDelete: Restrict) cancellationAllowedBeforeMins Int? @map("cancellation_allowed_before_mins") currencyXid Int? @map("currency_xid") currencies Currencies? @relation(fields: [currencyXid], references: [id], onDelete: Restrict) @@ -902,7 +917,7 @@ model Activities { ActivityVenueArtifacts ActivityVenueArtifacts[] ActivityPQQheader ActivityPQQheader[] ActivityAllowedEntry ActivityAllowedEntry[] - ActivityFoodDetails ActivityFoodDetails[] + ActivityFoodCost ActivityFoodCost[] ActivityEquipments ActivityEquipments[] ActivityNavigationModes ActivityNavigationModes[] ActivityPickUpDetails ActivityPickUpDetails[] @@ -911,6 +926,9 @@ model Activities { ScheduleHeader ScheduleHeader[] ItineraryActivities ItineraryActivities[] activityTracks ActivityTrack[] + activityFoodTypes ActivityFoodTypes[] + activityCuisines ActivityCuisine[] + activityPickUpTransports ActivityPickUpTransport[] @@map("activities") @@schema("act") @@ -920,7 +938,6 @@ model ActivityOtherDetails { id Int @id @default(autoincrement()) activityXid Int @map("activity_xid") activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade) - foodCuisines String? @map("food_cuisines") @db.VarChar(30) exclusiveNotes String? @map("exclusive_notes") @db.VarChar(50) dosNotes String? @map("dos_notes") @db.VarChar(200) dontsNotes String? @map("donts_notes") @db.VarChar(200) @@ -1036,10 +1053,14 @@ model ActivityEligibility { weightRestrictionName String? @map("weight_restriction_name") @db.VarChar(30) weightEntered Int? @map("weight_entered") weightIn String? @map("weight_in") @db.VarChar(30) + minWeight Int? @map("min_weight") + maxWeight Int? @map("max_weight") isHeightRestriction Boolean @default(false) @map("is_height_restriction") heightRestrictionName String? @map("height_restriction_name") @db.VarChar(30) heightEntered Int? @map("height_entered") heightIn String? @map("height_in") @db.VarChar(30) + minHeight Int? @map("min_height") + maxHeight Int? @map("max_height") isActive Boolean @default(true) @map("is_active") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") @@ -1204,12 +1225,10 @@ model ActivityAllowedEntry { @@schema("act") } -model ActivityFoodDetails { +model ActivityFoodCost { id Int @id @default(autoincrement()) activityXid Int @map("activity_xid") activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade) - foodTypeXid Int @map("food_type_xid") - foodType FoodTypes @relation(fields: [foodTypeXid], references: [id], onDelete: Restrict) baseAmount Int @map("base_amount") totalAmount Int @map("total_amount") isActive Boolean @default(true) @map("is_active") @@ -1217,23 +1236,55 @@ model ActivityFoodDetails { updatedAt DateTime @updatedAt @map("updated_at") deletedAt DateTime? @map("deleted_at") ActivityFoodTaxes ActivityFoodTaxes[] + foodTypes FoodTypes? @relation(fields: [foodTypesId], references: [id]) + foodTypesId Int? - @@map("activity_food_details") + @@map("activity_food_cost") + @@schema("act") +} + +model ActivityFoodTypes { + id Int @id @default(autoincrement()) + activityXid Int @map("activity_xid") + activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade) + foodTypeXid Int @map("food_type_xid") + foodType FoodTypes @relation(fields: [foodTypeXid], references: [id], onDelete: Restrict) + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") + + @@map("activity_food_types") + @@schema("act") +} + +model ActivityCuisine { + id Int @id @default(autoincrement()) + activityXid Int @map("activity_xid") + activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade) + foodCuisineXid Int @map("food_cuisine_xid") + foodCuisine FoodCuisines @relation(fields: [foodCuisineXid], references: [id], onDelete: Restrict) + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") + + @@map("activity_cuisine") @@schema("act") } model ActivityFoodTaxes { - id Int @id @default(autoincrement()) - activityFoodDetailsXid Int @map("activity_food_details_xid") - activityFoodDetails ActivityFoodDetails @relation(fields: [activityFoodDetailsXid], references: [id], onDelete: Cascade) - taxXid Int @map("tax_xid") - taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict) - taxPer Float @map("tax_per") - taxAmount Int @map("tax_amount") - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") + id Int @id @default(autoincrement()) + activityFoodCostXid Int @map("activity_food_cost_xid") + activityFoodCost ActivityFoodCost @relation(fields: [activityFoodCostXid], references: [id], onDelete: Cascade) + taxXid Int @map("tax_xid") + taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict) + taxPer Float @map("tax_per") + taxAmount Int @map("tax_amount") + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") @@map("activity_food_taxes") @@schema("act") @@ -1310,54 +1361,57 @@ model ActivityNavigationModesTaxes { } model ActivityPickUpDetails { - id Int @id @default(autoincrement()) - activityXid Int @map("activity_xid") - activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade) - isPickUp Boolean @default(false) @map("is_pick_up") - locationLat Float? @map("location_lat") - locationLong Float? @map("location_long") - locationAddress String? @map("location_address") @db.VarChar(150) - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - ActivityPickUpTransport ActivityPickUpTransport[] - - @@map("activity_pick_up_details") - @@schema("act") -} - -model ActivityPickUpTransport { id Int @id @default(autoincrement()) - activityPickUpDetailsXid Int @map("activity_pick_up_details_xid") - activityPickUpDetails ActivityPickUpDetails @relation(fields: [activityPickUpDetailsXid], references: [id], onDelete: Cascade) - transportModeXid Int @map("transport_mode_xid") - transportMode TransportModes @relation(fields: [transportModeXid], references: [id], onDelete: Restrict) - isTransportModeChargeable Boolean @default(false) @map("is_transport_mode_chargeable") + activityPickUpTransportXid Int @map("activity_pick_up_transport_xid") + activityPickUpTransport ActivityPickUpTransport @relation(fields: [activityPickUpTransportXid], references: [id], onDelete: Cascade) + isPickUp Boolean @default(false) @map("is_pick_up") + locationLat Float? @map("location_lat") + locationLong Float? @map("location_long") + locationAddress String? @map("location_address") @db.VarChar(150) transportBasePrice Int @map("transport_base_price") transportTotalPrice Int @map("transport_total_price") isActive Boolean @default(true) @map("is_active") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") deletedAt DateTime? @map("deleted_at") - ActivityPickUpTransportTaxes ActivityPickUpTransportTaxes[] + activities Activities? @relation(fields: [activitiesId], references: [id]) + activitiesId Int? + activityPickUpTransportTaxes ActivityPickUpTransportTaxes[] + + @@map("activity_pick_up_details") + @@schema("act") +} + +model ActivityPickUpTransport { + id Int @id @default(autoincrement()) + activityXid Int @map("activity_xid") + activity Activities @relation(fields: [activityXid], references: [id], onDelete: Cascade) + transportModeXid Int @map("transport_mode_xid") + transportMode TransportModes @relation(fields: [transportModeXid], references: [id], onDelete: Restrict) + isTransportModeChargeable Boolean @default(false) @map("is_transport_mode_chargeable") + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") + + pickupDetails ActivityPickUpDetails[] @@map("activity_pick_up_transport") @@schema("act") } model ActivityPickUpTransportTaxes { - id Int @id @default(autoincrement()) - activityPickUpTransportXid Int @map("activity_pick_up_transport_xid") - activityPickUpTransport ActivityPickUpTransport @relation(fields: [activityPickUpTransportXid], references: [id], onDelete: Cascade) - taxXid Int @map("tax_xid") - taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict) - taxPer Float @map("tax_per") - taxAmount Int @map("tax_amount") - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") + id Int @id @default(autoincrement()) + activityPickUpDetailsXid Int @map("activity_pick_up_details_xid") + activityPickUpDetails ActivityPickUpDetails @relation(fields: [activityPickUpDetailsXid], references: [id], onDelete: Cascade) + taxXid Int @map("tax_xid") + taxes Taxes @relation(fields: [taxXid], references: [id], onDelete: Restrict) + taxPer Float @map("tax_per") + taxAmount Int @map("tax_amount") + isActive Boolean @default(true) @map("is_active") + createdAt DateTime @default(now()) @map("created_at") + updatedAt DateTime @updatedAt @map("updated_at") + deletedAt DateTime? @map("deleted_at") @@map("activity_pick_up_transport_taxes") @@schema("act") diff --git a/src/modules/minglaradmin/services/rejectionMailtoHost.service.ts b/src/modules/minglaradmin/services/rejectionMailtoHost.service.ts index 6170b41..8f50509 100644 --- a/src/modules/minglaradmin/services/rejectionMailtoHost.service.ts +++ b/src/modules/minglaradmin/services/rejectionMailtoHost.service.ts @@ -52,7 +52,11 @@ export async function sendAMRejectionMailtoHost(

Your account manager has reviewed your application and provided some suggestions.
Please make the necessary improvements and re-submit your application to proceed with the onboarding process on Minglar.

You may access your application using the link below:
- Link: ${config.HOST_LINK}

+ Link: + + ${config.HOST_LINK} + +

If you have any questions, please feel free to contact the Minglar Support Team.

Best regards,
Minglar Team