Skip to content

Commit

Permalink
fast track and users
Browse files Browse the repository at this point in the history
  • Loading branch information
ngoerlitz committed Mar 17, 2024
1 parent 685dd46 commit fb68783
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 20 deletions.
35 changes: 19 additions & 16 deletions src/controllers/fast-track/FastTrackAdminController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@ import { Config } from "../../core/Config";
import path from "path";
import Validator, { ValidationTypeEnum } from "../../utility/Validator";

/**
* Returns the fast track including target user and requesting user
* @param id
*/
async function _getFastTrackByID(id: any) {
return await FastTrackRequest.findOne({
where: {
id: id,
},
include: [FastTrackRequest.associations.user, FastTrackRequest.associations.requested_by_user],
});
}

/**
* Returns a list of all fast track requests
* @param request
Expand Down Expand Up @@ -39,7 +52,7 @@ async function getAll(request: Request, response: Response, next: NextFunction)
async function getAllPending(request: Request, response: Response, next: NextFunction) {
try {
const user: User = response.locals.user;
PermissionHelper.checkUserHasPermission(user, "atd.fast-track.pending.view", true);
PermissionHelper.checkUserHasPermission(user, "atd.fast_track.view", false);

const pendingFastTracks = await FastTrackRequest.findAll({
where: {
Expand Down Expand Up @@ -102,14 +115,9 @@ async function getAttachmentByID(request: Request, response: Response, next: Nex
try {
const user: User = response.locals.user;
const params = request.params as { id: string };
PermissionHelper.checkUserHasPermission(user, "atd.fast-track.pending.view", true);
PermissionHelper.checkUserHasPermission(user, "atd.fast_track.view", false);

const pendingFastTracks = await FastTrackRequest.findOne({
where: {
id: params.id,
},
include: [FastTrackRequest.associations.user, FastTrackRequest.associations.requested_by_user],
});
const pendingFastTracks = await _getFastTrackByID(params.id);

if (pendingFastTracks == null) {
response.sendStatus(HttpStatusCode.NotFound);
Expand All @@ -133,14 +141,9 @@ async function getByID(request: Request, response: Response, next: NextFunction)
try {
const user: User = response.locals.user;
const params = request.params as { id: string };
PermissionHelper.checkUserHasPermission(user, "atd.fast-track.pending.view", true);
PermissionHelper.checkUserHasPermission(user, "atd.fast_track.view", false);

const pendingFastTracks = await FastTrackRequest.findOne({
where: {
id: params.id,
},
include: [FastTrackRequest.associations.user, FastTrackRequest.associations.requested_by_user],
});
const pendingFastTracks = await _getFastTrackByID(params.id);

if (pendingFastTracks == null) {
response.sendStatus(HttpStatusCode.NotFound);
Expand All @@ -164,7 +167,7 @@ async function updateByID(request: Request, response: Response, next: NextFuncti
const user: User = response.locals.user;
const params = request.params as { id: string };
const body = request.body as { comment?: string; status: number };
PermissionHelper.checkUserHasPermission(user, "atd.fast-track.update", true);
PermissionHelper.checkUserHasPermission(user, "atd.fast_track.view", true);

if (body.status == null || params.id == null) {
response.sendStatus(HttpStatusCode.BadRequest);
Expand Down
2 changes: 1 addition & 1 deletion src/controllers/log-template/LogTemplateAdminController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ async function create(request: Request, response: Response, next: NextFunction)

Validator.validate(body, {
name: [ValidationTypeEnum.NON_NULL],
content: [ValidationTypeEnum.NON_NULL, ValidationTypeEnum.VALID_JSON],
content: [ValidationTypeEnum.NON_NULL, ValidationTypeEnum.VALID_JSON, ValidationTypeEnum.IS_ARRAY],
});

const logTemplate = await TrainingLogTemplate.create({
Expand Down
14 changes: 13 additions & 1 deletion src/controllers/training-request/TrainingRequestController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,22 @@ async function getPlanned(request: Request, response: Response) {
user_id: user.id,
passed: null,
},
attributes: ["id", "user_id", "createdAt"],
include: [
{
association: TrainingSessionBelongsToUsers.associations.training_session,
include: [TrainingSession.associations.mentor, TrainingSession.associations.training_station],
include: [
TrainingSession.associations.mentor,
{
association: TrainingSession.associations.training_station,
attributes: ["id", "callsign", "frequency"],
},
{
association: TrainingSession.associations.training_type,
attributes: ["id", "name"],
},
],
attributes: ["uuid", "mentor_id", "date", "createdAt"],
},
],
});
Expand Down
2 changes: 1 addition & 1 deletion src/models/TrainingSession.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export class TrainingSession extends Model<InferAttributes<TrainingSession>, Inf
declare mentor_id: CreationOptional<number> | null; // NULL for CPTs without Beisitzer ONLY!
declare completed: CreationOptional<boolean>;
declare date: CreationOptional<Date> | null;
declare training_type_id: number | undefined | null;
declare training_type_id: CreationOptional<ForeignKey<TrainingType["id"]>> | null;
declare training_station_id: CreationOptional<ForeignKey<TrainingStation["id"]>> | undefined | null;
declare cpt_session_id: CreationOptional<ForeignKey<CptSession["id"]>> | null;
declare createdAt: CreationOptional<Date> | null;
Expand Down
2 changes: 1 addition & 1 deletion src/models/User.ts
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ User.init(USER_TABLE_ATTRIBUTES, {

defaultScope: {
attributes: {
exclude: ["access_token", "refresh_token", "email"],
exclude: ["access_token", "refresh_token", "email", "createdAt", "updatedAt"],
},
},
scopes: {
Expand Down

0 comments on commit fb68783

Please sign in to comment.