Merge branch 'refacto/live-votes' into dev
This commit is contained in:
commit
02b046ad59
@ -1,4 +1,4 @@
|
||||
import { Appointment } from "le-coffre-resources/dist/SuperAdmin";
|
||||
import { Appointment, Vote } from "le-coffre-resources/dist/SuperAdmin";
|
||||
|
||||
import BaseSuperAdmin from "../BaseSuperAdmin";
|
||||
|
||||
@ -18,6 +18,9 @@ export type LiveVote = {
|
||||
appointment: Appointment;
|
||||
};
|
||||
|
||||
export type IDeleteVotesParams = {
|
||||
uid: Vote["uid"];
|
||||
};
|
||||
export default class LiveVotes extends BaseSuperAdmin {
|
||||
private static instance: LiveVotes;
|
||||
private readonly baseURl = this.namespaceUrl.concat("/live-votes");
|
||||
@ -46,4 +49,17 @@ export default class LiveVotes extends BaseSuperAdmin {
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : Delete a vote
|
||||
*/
|
||||
public async delete(body: IDeleteVotesParams): Promise<Vote> {
|
||||
const url = new URL(`${this.baseURl}/${body.uid}`);
|
||||
try {
|
||||
return await this.deleteRequest<Vote>(url, body);
|
||||
} catch (err) {
|
||||
this.onError(err);
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,44 +0,0 @@
|
||||
import { Vote } from "le-coffre-resources/dist/SuperAdmin";
|
||||
|
||||
import BaseSuperAdmin from "../BaseSuperAdmin";
|
||||
|
||||
// TODO Type get query params -> Where + inclue + orderby
|
||||
export interface IGetVotessparams {
|
||||
where?: {};
|
||||
include?: {};
|
||||
select?: {};
|
||||
}
|
||||
|
||||
export type IDeleteVotesParams = {
|
||||
uid: Vote["uid"];
|
||||
};
|
||||
|
||||
export default class Votes extends BaseSuperAdmin {
|
||||
private static instance: Votes;
|
||||
private readonly baseURl = this.namespaceUrl.concat("/votes");
|
||||
|
||||
private constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static getInstance() {
|
||||
if (!this.instance) {
|
||||
return new this();
|
||||
} else {
|
||||
return this.instance;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description : Create a Votes
|
||||
*/
|
||||
public async delete(body: IDeleteVotesParams): Promise<Vote> {
|
||||
const url = new URL(this.baseURl + "/" + body.uid);
|
||||
try {
|
||||
return await this.deleteRequest<Vote>(url, body);
|
||||
} catch (err) {
|
||||
this.onError(err);
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
}
|
@ -3,7 +3,6 @@ import WarningIcon from "@Assets/images/warning.png";
|
||||
import Roles from "@Front/Api/LeCoffreApi/Admin/Roles/Roles";
|
||||
import LiveVotes from "@Front/Api/LeCoffreApi/SuperAdmin/LiveVotes/LiveVotes";
|
||||
import Users from "@Front/Api/LeCoffreApi/SuperAdmin/Users/Users";
|
||||
import Votes from "@Front/Api/LeCoffreApi/SuperAdmin/Votes/Votes";
|
||||
import Button, { EButtonVariant } from "@Front/Components/DesignSystem/Button";
|
||||
import SelectField, { IOption } from "@Front/Components/DesignSystem/Form/SelectField";
|
||||
import Confirm from "@Front/Components/DesignSystem/Modal/Confirm";
|
||||
@ -224,7 +223,7 @@ export default function UserInformations(props: IProps) {
|
||||
const user = JwtService.getInstance().decodeJwt();
|
||||
const vote = currentAppointment.votes?.find((vote) => vote.voter?.uid === user?.userId);
|
||||
if (!vote) return;
|
||||
await Votes.getInstance().delete({ uid: vote.uid });
|
||||
await LiveVotes.getInstance().delete({ uid: vote.uid });
|
||||
await getUser();
|
||||
}, [currentAppointment, getUser]);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user