Titles with a cool effect
This commit is contained in:
16
api/db/migrations/20241005014130_/migration.sql
Normal file
16
api/db/migrations/20241005014130_/migration.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the `Title` table. If the table is not empty, all the data it contains will be lost.
|
||||
|
||||
*/
|
||||
-- DropTable
|
||||
DROP TABLE "Title";
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Titles" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"titles" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
||||
|
||||
CONSTRAINT "Titles_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -63,9 +63,9 @@ model Resume {
|
||||
fileId String
|
||||
}
|
||||
|
||||
model Title {
|
||||
id Int @id @default(autoincrement())
|
||||
title String
|
||||
model Titles {
|
||||
id Int @id @default(autoincrement())
|
||||
titles String[] @default([])
|
||||
}
|
||||
|
||||
model Tag {
|
||||
|
||||
18
api/src/graphql/title.sdl.ts
Normal file
18
api/src/graphql/title.sdl.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
export const schema = gql`
|
||||
type Titles {
|
||||
id: Int!
|
||||
titles: [String]!
|
||||
}
|
||||
|
||||
type Query {
|
||||
titles: Titles! @skipAuth
|
||||
}
|
||||
|
||||
input UpdateTitlesInput {
|
||||
titles: [String]!
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
updateTitles(input: UpdateTitlesInput!): Titles! @requireAuth
|
||||
}
|
||||
`
|
||||
@@ -1,25 +0,0 @@
|
||||
export const schema = gql`
|
||||
type Title {
|
||||
id: Int!
|
||||
title: String!
|
||||
}
|
||||
|
||||
type Query {
|
||||
titles: [Title!]! @skipAuth
|
||||
title(id: Int!): Title @skipAuth
|
||||
}
|
||||
|
||||
input CreateTitleInput {
|
||||
title: String!
|
||||
}
|
||||
|
||||
input UpdateTitleInput {
|
||||
title: String
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
createTitle(input: CreateTitleInput!): Title! @requireAuth
|
||||
updateTitle(id: Int!, input: UpdateTitleInput!): Title! @requireAuth
|
||||
deleteTitle(id: Int!): Title! @requireAuth
|
||||
}
|
||||
`
|
||||
11
api/src/services/title/title.ts
Normal file
11
api/src/services/title/title.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import type { QueryResolvers, MutationResolvers } from 'types/graphql'
|
||||
|
||||
import { db } from 'src/lib/db'
|
||||
|
||||
export const titles: QueryResolvers['titles'] = () => db.titles.findFirst()
|
||||
|
||||
export const updateTitles: MutationResolvers['updateTitles'] = ({ input }) =>
|
||||
db.titles.update({
|
||||
data: input,
|
||||
where: { id: 1 },
|
||||
})
|
||||
@@ -1,26 +0,0 @@
|
||||
import type { QueryResolvers, MutationResolvers } from 'types/graphql'
|
||||
|
||||
import { db } from 'src/lib/db'
|
||||
|
||||
export const titles: QueryResolvers['titles'] = () => db.title.findMany()
|
||||
|
||||
export const title: QueryResolvers['title'] = ({ id }) =>
|
||||
db.title.findUnique({
|
||||
where: { id },
|
||||
})
|
||||
|
||||
export const createTitle: MutationResolvers['createTitle'] = ({ input }) =>
|
||||
db.title.create({
|
||||
data: input,
|
||||
})
|
||||
|
||||
export const updateTitle: MutationResolvers['updateTitle'] = ({ id, input }) =>
|
||||
db.title.update({
|
||||
data: input,
|
||||
where: { id },
|
||||
})
|
||||
|
||||
export const deleteTitle: MutationResolvers['deleteTitle'] = ({ id }) =>
|
||||
db.title.delete({
|
||||
where: { id },
|
||||
})
|
||||
Reference in New Issue
Block a user