diff --git a/back-end/src/controllers/member.controller.ts b/back-end/src/controllers/member.controller.ts index 5b89c25..e69de29 100644 --- a/back-end/src/controllers/member.controller.ts +++ b/back-end/src/controllers/member.controller.ts @@ -1,48 +0,0 @@ -import { new_client } from '../db/db_client'; -import { Member, User } from '../types/member'; -import { Either, eitherLeft, eitherRight } from '../utils/utils'; - -const getDefaultUser = (): User => ({ id_member: -1, name: "unknown" }); -const getDefaultMember = (): Member => ({ id_member: -1, name: "unknown", password: "none" }); - -const getMember = async (idOrName: number | string): Promise> => { - const client = new_client(); - await client.connect(); - let res; - if (typeof idOrName !== 'number') { - res = await client.query("SELECT * FROM membres WHERE nom_membre=$1;", [`${idOrName}`]); - } else { - res = await client.query("SELECT * FROM membres WHERE id_membre=$1;", [idOrName]); - } - if (res.rows.length === 0) { - await client.end(); - return eitherRight("Does not exist."); - } - const member: Member = { id_member: res.rows[0].id_membre, name: res.rows[0].nom_membre, password: res.rows[0].mdp_membre }; - await client.end(); - - return eitherLeft(member); -} - -const createMember = async (name: string, passwd: string): Promise> => { - const gettingMember = await getMember(name); - if (!gettingMember.hasRight) { - return eitherRight("Already in database."); - } - const client = new_client(); - await client.connect(); - const res = await client.query("INSERT INTO membres (nom_membre, mdp_membre) VALUES ($1, $2) RETURNING *;", [`${name}`, `${passwd}`]); - if (res.rows.length === 0) { - await client.end(); - return eitherRight("Something went wrong"); - } - const member: Member = { id_member: res.rows[0].id_membre, name: res.rows[0].nom_membre, password: res.rows[0].mdp_membre }; - await client.end(); - return eitherLeft(member); -} - -function userAdapter(member: Member): User { - return { id_member: member.id_member, name: member.name }; -} - -export { getDefaultUser, getDefaultMember, getMember, createMember, userAdapter }; diff --git a/back-end/src/services/member.service.ts b/back-end/src/services/member.service.ts new file mode 100644 index 0000000..d5b1cce --- /dev/null +++ b/back-end/src/services/member.service.ts @@ -0,0 +1,56 @@ +import { new_client } from '../db/db_client'; +import { Member, User } from '../types/member'; +import { Either, eitherLeft, eitherRight } from '../utils/utils'; + +const getMember = async (idOrName: number | string): Promise> => { + const client = new_client(); + await client.connect(); + let res; + if (typeof idOrName !== 'number') { + res = await client.query("SELECT * FROM membres WHERE nom_membre=$1;", [`${idOrName}`]); + } else { + res = await client.query("SELECT * FROM membres WHERE id_membre=$1;", [idOrName]); + } + if (res.rows.length === 0) { + await client.end(); + return eitherRight("Does not exist."); + } + const member: Member = { id_member: res.rows[0].id_membre, name: res.rows[0].nom_membre, password: res.rows[0].mdp_membre }; + await client.end(); + + return eitherLeft(member); +} + +const createMember = async (name: string, passwd: string): Promise> => { + const gettingMember = await getMember(name); + if (!gettingMember.hasRight) { + return eitherRight("Already in database."); + } + const client = new_client(); + await client.connect(); + const res = await client.query("INSERT INTO membres (nom_membre, mdp_membre) VALUES ($1, $2) RETURNING *;", [`${name}`, `${passwd}`]); + if (res.rows.length === 0) { + await client.end(); + return eitherRight("Something went wrong"); + } + const member: Member = { id_member: res.rows[0].id_membre, name: res.rows[0].nom_membre, password: res.rows[0].mdp_membre }; + await client.end(); + return eitherLeft(member); +} + +const getDefaultUser = (): User => ({ id_member: -1, name: "unknown" }); +const getDefaultMember = (): Member => ({ id_member: -1, name: "unknown", password: "none" }); + +function userAdapter(member: Member): User { + return { id_member: member.id_member, name: member.name }; +} + +const memberService = { + getMember, + createMember, + getDefaultUser, + getDefaultMember, + userAdapter, +}; + +export default memberService;