MCPcopy Create free account
hub / github.com/code100x/daily-code / createTrack

Function createTrack

apps/web/components/utils.tsx:206–258  ·  view source on GitHub ↗
(data: {
  id: string;
  title: string;
  description: string;
  image: string;
  selectedCategory?: string[];
  problems: { problem: Prisma.ProblemCreateManyInput; sortingOrder: number }[];
  hidden: boolean;
  cohort?: number;
  canvaLink?: string;
  trackType: "NOTION" | "CANVA";
})

Source from the content-addressed store, hash-verified

204}
205
206export async function createTrack(data: {
207 id: string;
208 title: string;
209 description: string;
210 image: string;
211 selectedCategory?: string[];
212 problems: { problem: Prisma.ProblemCreateManyInput; sortingOrder: number }[];
213 hidden: boolean;
214 cohort?: number;
215 canvaLink?: string;
216 trackType: "NOTION" | "CANVA";
217}) {
218 try {
219 await db.problem.createMany({
220 data: data.problems.map((x) => x.problem),
221 });
222
223 const track = await db.track.create({
224 data: {
225 id: data.id,
226 title: data.title,
227 description: data.description,
228 image: data.image,
229 cohort: data.cohort,
230 canvaLink: data.canvaLink,
231 trackType: data.trackType,
232 hidden: data.hidden,
233 problems: {
234 createMany: {
235 data: data.problems.map((problem) => ({
236 problemId: problem.problem.id!,
237 sortingOrder: problem.sortingOrder!,
238 })),
239 },
240 },
241 },
242 });
243
244 if (data.selectedCategory) {
245 data.selectedCategory.forEach(async (category) => {
246 await db.trackCategory.create({
247 data: {
248 trackId: data.id,
249 categoryId: category,
250 },
251 });
252 });
253 }
254 return track;
255 } catch (e) {
256 return new Error("Failed to create track");
257 }
258}
259
260export async function updateTrack(
261 trackId: string,

Callers 2

AddTrackCardFunction · 0.90
handleAddTrackFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected