refactor(v4.0.0-alpha): beginning of a new era

This commit is contained in:
Amruth Pillai
2023-11-05 12:31:42 +01:00
parent 0ba6a444e2
commit 22933bd412
505 changed files with 81829 additions and 0 deletions

View File

@ -0,0 +1,11 @@
import { kebabCase } from "@reactive-resume/utils";
import { createZodDto } from "nestjs-zod/dto";
import { z } from "nestjs-zod/z";
export const createResumeSchema = z.object({
title: z.string().min(1),
slug: z.string().min(1).transform(kebabCase),
visibility: z.enum(["public", "private"]).default("private"),
});
export class CreateResumeDto extends createZodDto(createResumeSchema) {}

View File

@ -0,0 +1,9 @@
import { idSchema } from "@reactive-resume/schema";
import { createZodDto } from "nestjs-zod/dto";
import { z } from "nestjs-zod/z";
export const deleteResumeSchema = z.object({
id: idSchema,
});
export class DeleteResumeDto extends createZodDto(deleteResumeSchema) {}

View File

@ -0,0 +1,13 @@
import { resumeDataSchema } from "@reactive-resume/schema";
import { kebabCase } from "@reactive-resume/utils";
import { createZodDto } from "nestjs-zod/dto";
import { z } from "nestjs-zod/z";
export const importResumeSchema = z.object({
title: z.string().optional(),
slug: z.string().min(1).transform(kebabCase).optional(),
visibility: z.enum(["public", "private"]).default("private").optional(),
data: resumeDataSchema,
});
export class ImportResumeDto extends createZodDto(importResumeSchema) {}

View File

@ -0,0 +1,6 @@
export * from "./create";
export * from "./delete";
export * from "./import";
export * from "./resume";
export * from "./update";
export * from "./url";

View File

@ -0,0 +1,19 @@
import { defaultResumeData, idSchema, resumeDataSchema } from "@reactive-resume/schema";
import { createZodDto } from "nestjs-zod/dto";
import { z } from "nestjs-zod/z";
import { userSchema } from "../user";
export const resumeSchema = z.object({
id: idSchema,
title: z.string(),
slug: z.string(),
data: resumeDataSchema.default(defaultResumeData),
visibility: z.enum(["private", "public"]).default("private"),
userId: idSchema,
user: userSchema.optional(),
createdAt: z.date().or(z.dateString()),
updatedAt: z.date().or(z.dateString()),
});
export class ResumeDto extends createZodDto(resumeSchema) {}

View File

@ -0,0 +1,7 @@
import { createZodDto } from "nestjs-zod/dto";
import { resumeSchema } from "./resume";
export const updateResumeSchema = resumeSchema;
export class UpdateResumeDto extends createZodDto(updateResumeSchema) {}

View File

@ -0,0 +1,6 @@
import { createZodDto } from "nestjs-zod/dto";
import { z } from "nestjs-zod/z";
export const urlSchema = z.object({ url: z.string().url() });
export class UrlDto extends createZodDto(urlSchema) {}