Skip to content

Commit

Permalink
fix formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
JustinScitech committed Sep 27, 2024
1 parent ed40db4 commit c6a0efc
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ export const createTeamMemberDtoValidator = async (
return res.status(400).send(getApiValidationError("teamRole", "string"));
}
return next();
};
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Migration } from '../umzug';
import { Migration } from "../umzug";
import { DataType } from "sequelize-typescript";

const TABLE_NAME = "team_members";
Expand All @@ -22,11 +22,10 @@ export const up: Migration = async ({ context: sequelize }) => {
teamRole: {
type: DataType.ENUM("PM", "DESIGNER", "PL", "DEVELOPER"),
allowNull: false,
}
},
});
};


export const down: Migration = async ({ context: sequelize }) => {
await sequelize.getQueryInterface().dropTable(TABLE_NAME);
};
};
26 changes: 12 additions & 14 deletions backend/typescript/rest/teamMemberRoutes.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
import { Router } from "express";

import {
createTeamMemberDtoValidator ,
} from "../middlewares/validators/teamMemberValidators";
import { createTeamMemberDtoValidator } from "../middlewares/validators/teamMemberValidators";
import TeamMemberService from "../services/implementations/teamMemberService";
import { TeamRole, TeamMemberDTO, CreateTeamMemberDTO } from "../types";
import {
getErrorMessage,
NotFoundError,
INTERNAL_SERVER_ERROR_MESSAGE,
getErrorMessage,
NotFoundError,
INTERNAL_SERVER_ERROR_MESSAGE,
} from "../utilities/errorUtils";
import ITeamMemberService from "../services/interfaces/teamMemberService";

Expand All @@ -24,14 +22,14 @@ teamMemberRouter.get("/", async (req, res) => {
}
});

teamMemberRouter.post("/", createTeamMemberDtoValidator , async (req, res) => {
let data: CreateTeamMemberDTO = req.body
try {
const newUser = await teamMemberService.createTeamMember(data);
res.status(201).json(newUser);
} catch (error: unknown) {
res.status(500).json({ error: getErrorMessage(error) });
}
teamMemberRouter.post("/", createTeamMemberDtoValidator, async (req, res) => {
let data: CreateTeamMemberDTO = req.body;
try {
const newUser = await teamMemberService.createTeamMember(data);
res.status(201).json(newUser);
} catch (error: unknown) {
res.status(500).json({ error: getErrorMessage(error) });
}
});

export default teamMemberRouter;
77 changes: 39 additions & 38 deletions backend/typescript/services/implementations/teamMemberService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,47 @@ import { getErrorMessage } from "../../utilities/errorUtils";
const Logger = logger(__filename);

class TeamMemberService implements ITeamMemberService {
private teamMembers: TeamMemberDTO[] = [];
async getTeamMembers(): Promise<TeamMemberDTO[]> {
try {
const teamMembers: Array<PgTeamMember> = await PgTeamMember.findAll();
return teamMembers.map((teamMember) => ({
id: teamMember.id,
firstName: teamMember.firstName,
lastName: teamMember.lastName,
teamRole: teamMember.teamRole,
}));
} catch (error: unknown) {
Logger.error(
`Failed to retrieve team members. Reason = ${getErrorMessage(error)}`,
);
throw error;
}
private teamMembers: TeamMemberDTO[] = [];
async getTeamMembers(): Promise<TeamMemberDTO[]> {
try {
const teamMembers: Array<PgTeamMember> = await PgTeamMember.findAll();
return teamMembers.map((teamMember) => ({
id: teamMember.id,
firstName: teamMember.firstName,
lastName: teamMember.lastName,
teamRole: teamMember.teamRole,
}));
} catch (error: unknown) {
Logger.error(
`Failed to retrieve team members. Reason = ${getErrorMessage(error)}`,
);
throw error;
}
}

async createTeamMember(teamMember: CreateTeamMemberDTO): Promise<TeamMemberDTO> {
let newTeamMember: PgTeamMember | null;
try {
newTeamMember = await PgTeamMember.create({
firstName: teamMember.firstName,
lastName: teamMember.lastName,
teamRole: teamMember.teamRole,
});
}
catch (error: unknown) {
Logger.error(
`Failed to retrieve team members. Reason = ${getErrorMessage(error)}`,
);
throw new Error("Failed to create team member");
}
return {
id: newTeamMember.id,
firstName: newTeamMember.firstName,
lastName: newTeamMember.lastName,
teamRole: newTeamMember.teamRole,
}
async createTeamMember(
teamMember: CreateTeamMemberDTO,
): Promise<TeamMemberDTO> {
let newTeamMember: PgTeamMember | null;
try {
newTeamMember = await PgTeamMember.create({
firstName: teamMember.firstName,
lastName: teamMember.lastName,
teamRole: teamMember.teamRole,
});
} catch (error: unknown) {
Logger.error(
`Failed to retrieve team members. Reason = ${getErrorMessage(error)}`,
);
throw new Error("Failed to create team member");
}
return {
id: newTeamMember.id,
firstName: newTeamMember.firstName,
lastName: newTeamMember.lastName,
teamRole: newTeamMember.teamRole,
};
}
}

export default TeamMemberService;
export default TeamMemberService;
3 changes: 1 addition & 2 deletions backend/typescript/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ export type UserDTO = {
phoneNumber?: string | null;
};


export type CreateUserDTO = Omit<UserDTO, "id"> & { password: string };

export type UpdateUserDTO = Omit<UserDTO, "id">;
Expand Down Expand Up @@ -79,4 +78,4 @@ export type TeamMemberDTO = {
teamRole: TeamRole;
};

export type CreateTeamMemberDTO = Omit<TeamMemberDTO, "id">;
export type CreateTeamMemberDTO = Omit<TeamMemberDTO, "id">;

0 comments on commit c6a0efc

Please sign in to comment.