feat: make assignedTo field accept multiple values for all collections
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import mongoose from "mongoose";
|
||||
import mongoose, { Schema } from "mongoose";
|
||||
import { z } from "zod";
|
||||
import { files } from "../file/file.schema";
|
||||
import { buildJsonSchemas } from "fastify-zod";
|
||||
@@ -25,7 +25,7 @@ const taskSchema = new mongoose.Schema({
|
||||
ref: "user",
|
||||
},
|
||||
assignedTo: {
|
||||
type: mongoose.Types.ObjectId,
|
||||
type: [Schema.Types.ObjectId],
|
||||
ref: "user",
|
||||
},
|
||||
taggedUsers: Array,
|
||||
@@ -41,7 +41,7 @@ const createTaskInput = z.object({
|
||||
title: z.string(),
|
||||
dueDate: z.date().optional(),
|
||||
files: z.array(files).optional(),
|
||||
assignedTo: z.string().optional(),
|
||||
assignedTo: z.array(z.string()).optional(),
|
||||
labels: z.array(z.string()).optional(),
|
||||
priority: z.string().optional(),
|
||||
stage: z
|
||||
@@ -64,7 +64,7 @@ const updateTaskInput = z.object({
|
||||
title: z.string().optional(),
|
||||
dueDate: z.date().optional(),
|
||||
files: z.array(files).optional(),
|
||||
assignedTo: z.string().optional(),
|
||||
assignedTo: z.array(z.string()).optional(),
|
||||
labels: z.array(z.string()).optional(),
|
||||
priority: z.string().optional(),
|
||||
stage: z
|
||||
|
||||
@@ -163,12 +163,14 @@ export async function listTasks(
|
||||
},
|
||||
},
|
||||
assignedTo: {
|
||||
$let: {
|
||||
vars: { assignedTo: { $arrayElemAt: ["$assignedTo", 0] } },
|
||||
$map: {
|
||||
input: "$assignedTo",
|
||||
as: "user",
|
||||
in: {
|
||||
_id: "$$assignedTo._id",
|
||||
pid: "$$assignedTo.pid",
|
||||
name: "$$assignedTo.name",
|
||||
_id: "$$user._id",
|
||||
pid: "$$user.pid",
|
||||
name: "$$user.name",
|
||||
avatar: "$$user.avatar",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -272,12 +274,14 @@ export async function searchTasks(
|
||||
},
|
||||
},
|
||||
assignedTo: {
|
||||
$let: {
|
||||
vars: { assignedTo: { $arrayElemAt: ["$assignedTo", 0] } },
|
||||
$map: {
|
||||
input: "$assignedTo",
|
||||
as: "user",
|
||||
in: {
|
||||
_id: "$$assignedTo._id",
|
||||
pid: "$$assignedTo.pid",
|
||||
name: "$$assignedTo.name",
|
||||
_id: "$$user._id",
|
||||
pid: "$$user.pid",
|
||||
name: "$$user.name",
|
||||
avatar: "$$user.avatar",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user