refactoring

This commit is contained in:
Emily
2025-03-06 10:55:46 +01:00
parent 63fa3995c5
commit 942d074f99
28 changed files with 253 additions and 83 deletions

View File

@@ -1,16 +1,18 @@
export default defineEventHandler(async event => {
const data = await getRequestDataOld(event, { requireSchema: false, allowGuests: false, allowLitlyx: false });
const data = await getRequestData(event, [], ['OWNER']);
if (!data) return;
const { project } = data;
const { name } = await readBody(event);
if (name.length == 0) return setResponseStatus(event, 400, 'name is required');
if (name.trim()) return setResponseStatus(event, 400, 'name is required');
if (name.trim().length < 2) return setResponseStatus(event, 400, 'name too short');
if (name.trim().length > 32) return setResponseStatus(event, 400, 'name too long');
project.name = name;
project.name = name.trim();
await project.save();
return { ok: true };

View File

@@ -8,7 +8,7 @@ export default defineEventHandler(async event => {
const body = await readBody(event);
const newProjectName = body.name;
const newProjectName = body.name.trim();
if (!newProjectName) return setResponseStatus(event, 400, 'ProjectName too short');
if (newProjectName.length < 2) return setResponseStatus(event, 400, 'ProjectName too short');

View File

@@ -7,9 +7,7 @@ export default defineEventHandler(async event => {
if (!userData?.logged) return [];
const members = await TeamMemberModel.find({
user_id: userData.id
});
const members = await TeamMemberModel.find({ user_id: userData.id, pending: false });
const projects: TProject[] = [];

View File

@@ -10,6 +10,8 @@ export default defineEventHandler(async event => {
const { project_id } = body;
if (!project_id) return setResponseStatus(event, 400, 'project_id is required');
console.log({ project_id, user_id: data.user.id });
const member = await TeamMemberModel.findOne({ project_id, user_id: data.user.id });
if (!member) return setResponseStatus(event, 400, 'member not found');

View File

@@ -9,12 +9,16 @@ export default defineEventHandler(async event => {
const data = await getRequestData(event, [], ['OWNER']);
if (!data) return;
const { project_id, project } = data;
const { project_id, project, user } = data;
const { email } = await readBody(event);
const targetUser = await UserModel.findOne({ email });
if (targetUser && targetUser._id.toString() === project.owner.toString()) {
return setResponseStatus(event, 400, 'You cannot invite yourself');
}
const link = `http://127.0.0.1:3000/accept_invite?project_id=${project_id.toString()}`;

View File

@@ -4,7 +4,7 @@ import { TeamMemberModel } from "@schema/TeamMemberSchema";
export default defineEventHandler(async event => {
const data = await getRequestData(event, []);
const data = await getRequestData(event, [], []);
if (!data) return;
const { project_id, user } = data;

View File

@@ -14,7 +14,7 @@ export type MemberWithPermissions = {
export default defineEventHandler(async event => {
const data = await getRequestData(event);
const data = await getRequestData(event, [], ['OWNER']);
if (!data) return;
const { project_id, project, user } = data;