ff-admin-webapi-client/src/requests/admin/memberDataRequests.ts

191 lines
9.5 KiB
TypeScript
Raw Normal View History

2025-02-05 14:29:09 +01:00
import { AxiosResponse } from "axios";
import { RequestDefinition, RequestData, ImplementsRequestInterface } from "../requestBase";
import {
AwardViewModel,
CreateAwardViewModel,
UpdateAwardViewModel,
CommunicationTypeViewModel,
CreateCommunicationTypeViewModel,
UpdateCommunicationTypeViewModel,
ExecutivePositionViewModel,
CreateExecutivePositionViewModel,
UpdateExecutivePositionViewModel,
MembershipStatusViewModel,
CreateMembershipStatusViewModel,
UpdateMembershipStatusViewModel,
QualificationViewModel,
CreateQualificationViewModel,
UpdateQualificationViewModel,
SalutationViewModel,
CreateSalutationViewModel,
UpdateSalutationViewModel,
} from "../../viewmodels/admin/memberData.models";
import { BaseClient } from "../../clients/clientBase";
interface IMemberDataRequests {
getAwards: RequestDefinition<void, void, AwardViewModel[]>;
getAwardById: RequestDefinition<{ id: number }, void, AwardViewModel>;
createAward: RequestDefinition<void, CreateAwardViewModel, void>;
updateAward: RequestDefinition<{ id: number }, UpdateAwardViewModel, void>;
deleteAward: RequestDefinition<{ id: number }, void, void>;
getCommunicationTypes: RequestDefinition<void, void, CommunicationTypeViewModel[]>;
getCommunicationTypeById: RequestDefinition<{ id: number }, void, CommunicationTypeViewModel>;
createCommunicationType: RequestDefinition<void, CreateCommunicationTypeViewModel, void>;
updateCommunicationType: RequestDefinition<{ id: number }, UpdateCommunicationTypeViewModel, void>;
deleteCommunicationType: RequestDefinition<{ id: number }, void, void>;
getExecutivePositions: RequestDefinition<void, void, ExecutivePositionViewModel[]>;
getXxecutivePositionsById: RequestDefinition<{ id: number }, void, ExecutivePositionViewModel>;
createExecutivePositions: RequestDefinition<void, CreateExecutivePositionViewModel, void>;
updateExecutivePositions: RequestDefinition<{ id: number }, UpdateExecutivePositionViewModel, void>;
deleteExecutivePositions: RequestDefinition<{ id: number }, void, void>;
getMembershipStatus: RequestDefinition<void, void, MembershipStatusViewModel[]>;
getMembershipStatusById: RequestDefinition<{ id: number }, void, MembershipStatusViewModel>;
createMembershipStatus: RequestDefinition<void, CreateMembershipStatusViewModel, void>;
updateMembershipStatus: RequestDefinition<{ id: number }, UpdateMembershipStatusViewModel, void>;
deleteMembershipStatus: RequestDefinition<{ id: number }, void, void>;
getQualifications: RequestDefinition<void, void, QualificationViewModel[]>;
getQualificationById: RequestDefinition<{ id: number }, void, QualificationViewModel>;
createQualification: RequestDefinition<void, CreateQualificationViewModel, void>;
updateQualification: RequestDefinition<{ id: number }, UpdateQualificationViewModel, void>;
deleteQualification: RequestDefinition<{ id: number }, void, void>;
getSalutations: RequestDefinition<void, void, SalutationViewModel[]>;
getSalutationById: RequestDefinition<{ id: number }, void, SalutationViewModel>;
createSalutation: RequestDefinition<void, CreateSalutationViewModel, void>;
updateSalutation: RequestDefinition<{ id: number }, UpdateSalutationViewModel, void>;
deleteSalutation: RequestDefinition<{ id: number }, void, void>;
}
@ImplementsRequestInterface<IMemberDataRequests>()
export default abstract class MemberDataRequests {
static async getAwards({ http }: BaseClient): Promise<AxiosResponse<AwardViewModel[], any>> {
return await http.get("/admin/award");
}
static async getAwardById({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<AwardViewModel, any>> {
return await http.get(`/admin/award/${p.params.id}`);
}
static async createAward({ http }: BaseClient, p: RequestData<void, CreateAwardViewModel>): Promise<AxiosResponse<void, any>> {
return await http.post("/admin/award", p.body);
}
static async updateAward({ http }: BaseClient, p: RequestData<{ id: number }, UpdateAwardViewModel>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/award/${p.params.id}`, p.body);
}
static async deleteAward({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/award/${p.params.id}`);
}
static async getCommunicationTypes({ http }: BaseClient): Promise<AxiosResponse<CommunicationTypeViewModel[], any>> {
return await http.get("/admin/communicationtype");
}
static async getCommunicationTypeById(
{ http }: BaseClient,
p: RequestData<{ id: number }, void>
): Promise<AxiosResponse<CommunicationTypeViewModel, any>> {
return await http.get(`/admin/communicationtype/${p.params.id}`);
}
static async createCommunicationType(
{ http }: BaseClient,
p: RequestData<void, CreateCommunicationTypeViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post("/admin/communicationtype", p.body);
}
static async updateCommunicationType(
{ http }: BaseClient,
p: RequestData<{ id: number }, UpdateCommunicationTypeViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/communicationtype/${p.params.id}`, p.body);
}
static async deleteCommunicationType({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/communicationtype/${p.params.id}`);
}
static async getExecutivePositions({ http }: BaseClient): Promise<AxiosResponse<ExecutivePositionViewModel[], any>> {
return await http.get("/admin/executiveposition");
}
static async getXxecutivePositionsById(
{ http }: BaseClient,
p: RequestData<{ id: number }, void>
): Promise<AxiosResponse<ExecutivePositionViewModel, any>> {
return await http.get(`/admin/executiveposition/${p.params.id}`);
}
static async createExecutivePositions(
{ http }: BaseClient,
p: RequestData<void, CreateExecutivePositionViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post("/admin/executiveposition", p.body);
}
static async updateExecutivePositions(
{ http }: BaseClient,
p: RequestData<{ id: number }, UpdateExecutivePositionViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/executiveposition/${p.params.id}`, p.body);
}
static async deleteExecutivePositions({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/executiveposition/${p.params.id}`);
}
static async getMembershipStatus({ http }: BaseClient): Promise<AxiosResponse<MembershipStatusViewModel[], any>> {
return await http.get("/admin/membershipstatus");
}
static async getMembershipStatusById(
{ http }: BaseClient,
p: RequestData<{ id: number }, void>
): Promise<AxiosResponse<MembershipStatusViewModel, any>> {
return await http.get(`/admin/membershipstatus/${p.params.id}`);
}
static async createMembershipStatus(
{ http }: BaseClient,
p: RequestData<void, CreateMembershipStatusViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post("/admin/membershipstatus", p.body);
}
static async updateMembershipStatus(
{ http }: BaseClient,
p: RequestData<{ id: number }, UpdateMembershipStatusViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/membershipstatus/${p.params.id}`, p.body);
}
static async deleteMembershipStatus({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/membershipstatus/${p.params.id}`);
}
static async getQualifications({ http }: BaseClient): Promise<AxiosResponse<QualificationViewModel[], any>> {
return await http.get("/admin/qualification");
}
static async getQualificationById({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<QualificationViewModel, any>> {
return await http.get(`/admin/qualification/${p.params.id}`);
}
static async createQualification({ http }: BaseClient, p: RequestData<void, CreateQualificationViewModel>): Promise<AxiosResponse<void, any>> {
return await http.post("/admin/qualification", p.body);
}
static async updateQualification(
{ http }: BaseClient,
p: RequestData<{ id: number }, UpdateQualificationViewModel>
): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/qualification/${p.params.id}`, p.body);
}
static async deleteQualification({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/qualification/${p.params.id}`);
}
static async getSalutations({ http }: BaseClient): Promise<AxiosResponse<SalutationViewModel[], any>> {
return await http.get("/admin/salutation");
}
static async getSalutationById({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<SalutationViewModel, any>> {
return await http.get(`/admin/salutation/${p.params.id}`);
}
static async createSalutation({ http }: BaseClient, p: RequestData<void, CreateSalutationViewModel>): Promise<AxiosResponse<void, any>> {
return await http.post("/admin/salutation", p.body);
}
static async updateSalutation({ http }: BaseClient, p: RequestData<{ id: number }, UpdateSalutationViewModel>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/salutation/${p.params.id}`, p.body);
}
static async deleteSalutation({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/salutation/${p.params.id}`);
}
}