change: add query by storeId endpoint

This commit is contained in:
Julian Krauser 2025-04-14 09:33:30 +02:00
parent cc2096a409
commit 5a057af17d

View file

@ -12,30 +12,31 @@ interface GetQueryParams {
interface IQueryRequests { interface IQueryRequests {
getQueries: RequestDefinition<void, void, QueryViewModel[]>; getQueries: RequestDefinition<void, void, QueryViewModel[]>;
getQueryById: RequestDefinition<{ id: number }, void, QueryViewModel>; getQueryById: RequestDefinition<{ id: string }, void, QueryViewModel>;
createQuery: RequestDefinition<void, CreateQueryViewModel, number>; createQuery: RequestDefinition<void, CreateQueryViewModel, string>;
updateQuery: RequestDefinition<{ id: number }, UpdateQueryViewModel, void>; updateQuery: RequestDefinition<{ id: string }, UpdateQueryViewModel, void>;
deleteQuery: RequestDefinition<{ id: number }, void, void>; deleteQuery: RequestDefinition<{ id: string }, void, void>;
executeQuery: RequestDefinition<GetQueryParams, DynamicQueryStructure | string, QueryExecuteResult>; executeQuery: RequestDefinition<GetQueryParams, DynamicQueryStructure | string, QueryExecuteResult>;
executeQueryByQueryStoreId: RequestDefinition<GetQueryParams & { storeId: string }, void, QueryExecuteResult>;
} }
@ImplementsRequestInterface<IQueryRequests>() @ImplementsRequestInterface<IQueryRequests>()
export default abstract class QueryDataRequests { export default abstract class QueryDataRequests {
static async getQueries({ http }: BaseClient): Promise<AxiosResponse<QueryViewModel[], any>> { static async getQueries({ http }: BaseClient): Promise<AxiosResponse<QueryViewModel[], any>> {
return await http.get("/admin/award"); return await http.get("/admin/querystore");
} }
static async getQueryById({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<QueryViewModel, any>> { static async getQueryById({ http }: BaseClient, p: RequestData<{ id: string }, void>): Promise<AxiosResponse<QueryViewModel, any>> {
return await http.get(`/admin/award/${p.params.id}`); return await http.get(`/admin/querystore/${p.params.id}`);
} }
static async createQuery({ http }: BaseClient, p: RequestData<void, CreateQueryViewModel>): Promise<AxiosResponse<number, any>> { static async createQuery({ http }: BaseClient, p: RequestData<void, CreateQueryViewModel>): Promise<AxiosResponse<string, any>> {
return await http.post("/admin/award", p.body); return await http.post("/admin/querystore", p.body);
} }
static async updateQuery({ http }: BaseClient, p: RequestData<{ id: number }, UpdateQueryViewModel>): Promise<AxiosResponse<void, any>> { static async updateQuery({ http }: BaseClient, p: RequestData<{ id: string }, UpdateQueryViewModel>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/award/${p.params.id}`, p.body); return await http.post(`/admin/querystore/${p.params.id}`, p.body);
} }
static async deleteQuery({ http }: BaseClient, p: RequestData<{ id: number }, void>): Promise<AxiosResponse<void, any>> { static async deleteQuery({ http }: BaseClient, p: RequestData<{ id: string }, void>): Promise<AxiosResponse<void, any>> {
return await http.post(`/admin/award/${p.params.id}`); return await http.post(`/admin/querystore/${p.params.id}`);
} }
static async executeQuery( static async executeQuery(
@ -45,4 +46,13 @@ export default abstract class QueryDataRequests {
const queryParams = new URLSearchParams(Object.fromEntries(Object.entries(p.params).filter(([_, v]) => v !== undefined))).toString(); const queryParams = new URLSearchParams(Object.fromEntries(Object.entries(p.params).filter(([_, v]) => v !== undefined))).toString();
return await http.post(`/admin/query?${queryParams}`, p.body); return await http.post(`/admin/query?${queryParams}`, p.body);
} }
static async executeQueryByQueryStoreId(
{ http }: BaseClient,
p: RequestData<GetQueryParams & { storeId: string }, void>
): Promise<AxiosResponse<QueryExecuteResult, any>> {
const queryParams = new URLSearchParams(
Object.fromEntries(Object.entries(p.params).filter(([k, v]) => v !== undefined && k != "storeId"))
).toString();
return await http.post(`/admin/query/${p.params.storeId}?${queryParams}`);
}
} }