Compare commits

4 Commits

4 changed files with 22 additions and 18 deletions

Binary file not shown.

View File

@@ -147,8 +147,6 @@ paths:
$ref: '#/components/schemas/Idea'
'400':
description: Bad Request - Id not a positive integer, or no fields provided
'401':
description: Unauthorized - Missing or invalid token
'404':
description: Not Found - No idea with that id belongs to this user
'409':
@@ -392,6 +390,10 @@ paths:
schema:
type: string
format: binary
'404':
description: Not Found or Unauthorized
'400':
description: Bad Request - Id not a positive integer
/api/materials:
get:
@@ -616,22 +618,17 @@ components:
id:
type: integer
readOnly: true
example: 1
example: 10
name:
type: string
example: Project 1
example: alice_dev Project 4
description:
type: string
example: Project 1 description
example: Workspace for project 4
date_created:
type: string
format: date-time
readOnly: true
files:
type: array
readOnly: true
items:
$ref: '#/components/schemas/File'
ProjectRequest:
type: object
@@ -641,10 +638,10 @@ components:
properties:
name:
type: string
example: Project 1
example: alice_dev Project 4
description:
type: string
example: Project 1 description
example: Workspace for project 4
ProjectUpdateRequest:
type: object

View File

@@ -110,7 +110,7 @@ export async function deleteProjectFileHandler(req, res) {
return res.status(404).json({ error: 'File not found or unauthorized' });
}
res.status(200).json({ message: 'File deleted successfully' });
res.status(204).json({ message: 'File deleted successfully' });
} catch (error) {
res.status(400).json({ error: 'Invalid file ID' });
}

View File

@@ -29,7 +29,7 @@ export async function getAll(
orderBy: { [safeSortBy]: safeOrder },
skip: offset,
take: limit,
include: { files: true },
include: { files: false },
});
return projects;
@@ -47,7 +47,7 @@ export async function getById(projectId, userId) {
const project = await prisma.project.findUnique({
where: { id: projectId },
include: { files: true },
include: { files: false },
});
if (project && project.userId !== userId) {
@@ -64,7 +64,7 @@ export async function create(userId, projectData) {
const newProject = await prisma.project.create({
data: { ...projectData, userId },
include: { files: true },
include: { files: false },
});
return newProject;
@@ -92,7 +92,7 @@ export async function update(projectId, userId, updatedData) {
const updatedProject = await prisma.project.update({
where: { id: projectId },
data: updatedData,
include: { files: true },
include: { files: false },
});
return updatedProject;
@@ -118,7 +118,7 @@ export async function remove(projectId, userId) {
const deletedProject = await prisma.project.delete({
where: { id: projectId },
include: { files: true },
include: { files: false },
});
return deletedProject;
@@ -161,6 +161,13 @@ export async function getFilesByProjectId(projectId, userId) {
const files = await prisma.file.findMany({
where: { projectId },
select: {
id: true,
projectId: true,
name: true,
size: true,
mimeType: true,
},
});
return files;