191 lines
9.5 KiB
TypeScript
191 lines
9.5 KiB
TypeScript
|
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}`);
|
||
|
}
|
||
|
}
|