Skip to content
This repository was archived by the owner on Feb 22, 2025. It is now read-only.

Commit 39c1c65

Browse files
committed
feat(showcase): ✨ Edit approved status
1 parent f6f5e3d commit 39c1c65

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

src/controllers/BuildTeamController.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { Request, Response } from "express";
21
import { ERROR_GENERIC, ERROR_VALIDATION } from "../util/Errors.js";
32
import { FrontendRoutesGroups, rerenderFrontend } from "../util/Frontend.js";
3+
import { Request, Response } from "express";
44

55
import { ApplicationQuestionType } from "@prisma/client";
6+
import Core from "../Core.js";
67
import crypto from "crypto";
8+
import { questions } from "../util/QuestionData.js";
79
import { validationResult } from "express-validator";
810
import yup from "yup";
9-
import Core from "../Core.js";
10-
import { questions } from "../util/QuestionData.js";
1111

1212
class BuildTeamController {
1313
private core: Core;
@@ -50,9 +50,10 @@ class BuildTeamController {
5050
});
5151
} else {
5252
const buildteams = await this.core.getPrisma().buildTeam.findMany({
53+
orderBy: { members: { _count: "desc" } },
5354
include: {
5455
_count: {
55-
select: { members: true },
56+
select: { members: true, showcases: true },
5657
},
5758
members: req.user
5859
? {

src/controllers/ShowcaseController.ts

+13-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { FrontendRoutesGroups, rerenderFrontend } from "../util/Frontend.js";
55
import { DeleteObjectCommand } from "@aws-sdk/client-s3";
66
import { validationResult } from "express-validator";
77
import Core from "../Core.js";
8+
import { userHasPermissions } from "../web/routes/utils/CheckUserPermissionMiddleware.js";
89

910
class ShowcaseController {
1011
private core: Core;
@@ -201,13 +202,24 @@ class ShowcaseController {
201202
if (!errors.isEmpty()) {
202203
return ERROR_VALIDATION(res, errors.array());
203204
}
205+
const isAdmin = await userHasPermissions(
206+
this.core.getPrisma(),
207+
req.user.ssoId,
208+
["admin.admin"]
209+
);
204210

205211
const showcase = await this.core.getPrisma().showcase.update({
206-
where: { id: req.params.id,buildTeam: req.query.slug ? { slug: req.params.team } : { id: req.params.team } },
212+
where: {
213+
id: req.params.id,
214+
buildTeam: req.query.slug
215+
? { slug: req.params.team }
216+
: { id: req.params.team },
217+
},
207218
data: {
208219
title: req.body.title,
209220
city: req.body.city,
210221
createdAt: req.body.date,
222+
approved: isAdmin ? req.body.approved : undefined,
211223
},
212224
select: { image: true },
213225
});

0 commit comments

Comments
 (0)