Fix types

This commit is contained in:
sianida26 2024-02-20 00:30:19 +07:00
parent 6e68b2da58
commit fa8422849a
13 changed files with 32 additions and 20 deletions

View File

@ -27,7 +27,7 @@ export default async function getUser() {
return { return {
name: user.name ?? "", name: user.name ?? "",
email: user.email ?? "", email: user.email ?? "",
photoUrl: user.photoProfile?.path ?? null, photoUrl: user.photoProfile ?? null,
}; };
} catch (e: unknown) { } catch (e: unknown) {
// Handle specific authentication errors gracefully // Handle specific authentication errors gracefully

View File

@ -1,5 +1,6 @@
"use server"; "use server";
import db from "@/core/db";
import prisma from "@/db"; import prisma from "@/db";
import checkPermission from "@/modules/dashboard/services/checkPermission"; import checkPermission from "@/modules/dashboard/services/checkPermission";
import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction"; import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction";
@ -10,7 +11,7 @@ import { revalidatePath } from "next/cache";
export default async function deletePermission(id: string): Promise<ServerResponseAction> { export default async function deletePermission(id: string): Promise<ServerResponseAction> {
try { try {
if (!(await checkPermission("permission.delete"))) unauthorized(); if (!(await checkPermission("permission.delete"))) unauthorized();
const permission = await prisma.permission.delete({ const permission = await db.permission.delete({
where: { id }, where: { id },
}); });

View File

@ -6,6 +6,7 @@ import handleCatch from "@/modules/dashboard/utils/handleCatch";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
import "server-only"; import "server-only";
import Permission from "../types/Permission"; import Permission from "../types/Permission";
import db from "@/core/db";
/** /**
* Retrieves all permissions along with the count of associated permissions and users. * Retrieves all permissions along with the count of associated permissions and users.
@ -21,7 +22,7 @@ export default async function getAllPermissions(): Promise<ServerResponseAction<
try { try {
// Fetch permissions from the database // Fetch permissions from the database
const permissions = await prisma.permission.findMany({ const permissions = await db.permission.findMany({
include: { include: {
_count: { _count: {
select: { select: {

View File

@ -1,5 +1,6 @@
"use server"; "use server";
import db from "@/core/db";
import prisma from "@/db"; import prisma from "@/db";
import checkPermission from "@/modules/dashboard/services/checkPermission"; import checkPermission from "@/modules/dashboard/services/checkPermission";
import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction"; import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction";
@ -20,7 +21,7 @@ export default async function getPermissionById(
try { try {
if (!(await checkPermission("permissions.read"))) unauthorized(); if (!(await checkPermission("permissions.read"))) unauthorized();
const permission = await prisma.permission.findFirst({ const permission = await db.permission.findFirst({
where: { id }, where: { id },
select: { select: {
code: true, code: true,

View File

@ -9,6 +9,7 @@ import checkPermission from "@/modules/dashboard/services/checkPermission";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
import DashboardError from "@/modules/dashboard/errors/DashboardError"; import DashboardError from "@/modules/dashboard/errors/DashboardError";
import handleCatch from "@/modules/dashboard/utils/handleCatch"; import handleCatch from "@/modules/dashboard/utils/handleCatch";
import db from "@/core/db";
/** /**
* Upserts a permission based on the provided PermissionFormData. * Upserts a permission based on the provided PermissionFormData.
@ -47,7 +48,7 @@ export default async function upsertPermission(
// Database operation // Database operation
if (isInsert) { if (isInsert) {
if (await prisma.permission.findFirst({ if (await db.permission.findFirst({
where: { where: {
code: permissionData.code code: permissionData.code
} }
@ -59,9 +60,9 @@ export default async function upsertPermission(
} }
}) })
} }
await prisma.permission.create({ data: permissionData }); await db.permission.create({ data: permissionData });
} else { } else {
await prisma.permission.update({ await db.permission.update({
where: { id: validatedFields.data.id! }, where: { id: validatedFields.data.id! },
data: permissionData, data: permissionData,
}); });

View File

@ -1,5 +1,6 @@
"use server"; "use server";
import db from "@/core/db";
import prisma from "@/db"; import prisma from "@/db";
import checkPermission from "@/modules/dashboard/services/checkPermission"; import checkPermission from "@/modules/dashboard/services/checkPermission";
import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction"; import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction";
@ -13,7 +14,7 @@ export default async function deleteRole(
): Promise<ServerResponseAction> { ): Promise<ServerResponseAction> {
try { try {
if (!(await checkPermission("roles.delete"))) return unauthorized(); if (!(await checkPermission("roles.delete"))) return unauthorized();
const role = await prisma.role.delete({ const role = await db.role.delete({
where: { id }, where: { id },
}); });

View File

@ -6,6 +6,7 @@ import handleCatch from "@/modules/dashboard/utils/handleCatch";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
import "server-only"; import "server-only";
import Role from "../types/Role"; import Role from "../types/Role";
import db from "@/core/db";
/** /**
* Retrieves all roles along with the count of associated permissions and users. * Retrieves all roles along with the count of associated permissions and users.
@ -23,7 +24,7 @@ export default async function getAllRoles(): Promise<
} }
// Fetch roles from the database // Fetch roles from the database
const roles = await prisma.role.findMany({ const roles = await db.role.findMany({
include: { include: {
_count: { _count: {
select: { select: {

View File

@ -1,5 +1,6 @@
"use server"; "use server";
import db from "@/core/db";
import prisma from "@/db"; import prisma from "@/db";
import checkPermission from "@/modules/dashboard/services/checkPermission"; import checkPermission from "@/modules/dashboard/services/checkPermission";
import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction"; import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction";
@ -24,7 +25,7 @@ export default async function getRoleById(id: string): Promise<ServerResponseAct
if (!(await checkPermission("roles.read"))) return unauthorized(); if (!(await checkPermission("roles.read"))) return unauthorized();
const role = await prisma.role.findFirst({ const role = await db.role.findFirst({
where: { id }, where: { id },
select: { select: {
code: true, code: true,

View File

@ -9,6 +9,7 @@ import checkPermission from "@/modules/dashboard/services/checkPermission";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
import DashboardError from "@/modules/dashboard/errors/DashboardError"; import DashboardError from "@/modules/dashboard/errors/DashboardError";
import handleCatch from "@/modules/dashboard/utils/handleCatch"; import handleCatch from "@/modules/dashboard/utils/handleCatch";
import db from "@/core/db";
/** /**
* Upserts a role based on the provided RoleFormData. * Upserts a role based on the provided RoleFormData.
@ -54,7 +55,7 @@ export default async function upsertRole(
// Database operation // Database operation
if (isInsert) { if (isInsert) {
if ( if (
await prisma.role.findFirst({ await db.role.findFirst({
where: { where: {
code: roleData.code, code: roleData.code,
}, },
@ -67,7 +68,7 @@ export default async function upsertRole(
}, },
}); });
} }
await prisma.role.create({ await db.role.create({
data: { data: {
...roleData, ...roleData,
permissions: { permissions: {
@ -76,7 +77,7 @@ export default async function upsertRole(
}, },
}); });
} else { } else {
await prisma.role.update({ await db.role.update({
where: { id: validatedFields.data.id! }, where: { id: validatedFields.data.id! },
data: { ...roleData, permissions: { connect: permissionIds } }, data: { ...roleData, permissions: { connect: permissionIds } },
}); });

View File

@ -9,6 +9,7 @@ import notFound from "@/modules/dashboard/utils/notFound";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
import { revalidatePath } from "next/cache"; import { revalidatePath } from "next/cache";
import UserManagementError from "../errors/UserManagementError"; import UserManagementError from "../errors/UserManagementError";
import db from "@/core/db";
export default async function deleteUser( export default async function deleteUser(
id: string id: string
@ -27,7 +28,7 @@ export default async function deleteUser(
}); });
} }
const user = await prisma.user.delete({ const user = await db.user.delete({
where: { id }, where: { id },
}); });

View File

@ -1,3 +1,4 @@
import db from "@/core/db";
import prisma from "@/db"; import prisma from "@/db";
import checkPermission from "@/modules/dashboard/services/checkPermission"; import checkPermission from "@/modules/dashboard/services/checkPermission";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
@ -7,7 +8,7 @@ const getAllUsers = async () => {
if (!(await checkPermission("users.readAll"))) unauthorized(); if (!(await checkPermission("users.readAll"))) unauthorized();
try { try {
const users = await prisma.user.findMany({ const users = await db.user.findMany({
select: { select: {
id: true, id: true,
email: true, email: true,

View File

@ -4,6 +4,7 @@ import prisma from "@/db";
import checkPermission from "@/modules/dashboard/services/checkPermission"; import checkPermission from "@/modules/dashboard/services/checkPermission";
import unauthorized from "@/modules/dashboard/utils/unauthorized"; import unauthorized from "@/modules/dashboard/utils/unauthorized";
import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction"; import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction";
import db from "@/core/db";
type UserData = { type UserData = {
id: string; id: string;
@ -29,7 +30,7 @@ export default async function getUserDetailById(
if (!checkPermission("users.read")) return unauthorized(); if (!checkPermission("users.read")) return unauthorized();
// Retrieve user data from the database // Retrieve user data from the database
const user = await prisma.user.findFirst({ const user = await db.user.findFirst({
where: { id }, where: { id },
select: { select: {
id: true, id: true,

View File

@ -12,6 +12,7 @@ import DashboardError from "@/modules/dashboard/errors/DashboardError";
import handleCatch from "@/modules/dashboard/utils/handleCatch"; import handleCatch from "@/modules/dashboard/utils/handleCatch";
import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction"; import ServerResponseAction from "@/modules/dashboard/types/ServerResponseAction";
import hashPassword from "@/modules/auth/utils/hashPassword"; import hashPassword from "@/modules/auth/utils/hashPassword";
import db from "@/core/db";
/** /**
* Upserts a user based on the provided UserFormData. * Upserts a user based on the provided UserFormData.
@ -52,7 +53,7 @@ export default async function upsertUser(
const passwordHash = await hashPassword(validatedFields.data.password!); const passwordHash = await hashPassword(validatedFields.data.password!);
const roles = await prisma.role.findMany({ const roles = await db.role.findMany({
where: { where: {
code: { code: {
in: validatedFields.data.roles, in: validatedFields.data.roles,
@ -66,7 +67,7 @@ export default async function upsertUser(
// Database operation // Database operation
if (isInsert) { if (isInsert) {
if ( if (
await prisma.user.findFirst({ await db.user.findFirst({
where: { where: {
email: userData.email, email: userData.email,
}, },
@ -79,7 +80,7 @@ export default async function upsertUser(
}, },
}); });
} }
await prisma.user.create({ await db.user.create({
data: { data: {
...userData, ...userData,
passwordHash, passwordHash,
@ -89,7 +90,7 @@ export default async function upsertUser(
}, },
}); });
} else { } else {
await prisma.user.update({ await db.user.update({
where: { id: validatedFields.data.id! }, where: { id: validatedFields.data.id! },
data: { data: {
...userData, ...userData,