feat: tags for expenses, filters by tags in statistics

This commit is contained in:
2024-11-27 15:57:56 +04:00
parent 564895c26f
commit 431bc35d8b
37 changed files with 687 additions and 248 deletions

View File

@@ -25,6 +25,7 @@ export type { BarcodeTemplateUpdateRequest } from './models/BarcodeTemplateUpdat
export type { BarcodeTemplateUpdateResponse } from './models/BarcodeTemplateUpdateResponse';
export type { BaseEnumListSchema } from './models/BaseEnumListSchema';
export type { BaseEnumSchema } from './models/BaseEnumSchema';
export type { BaseExpenseTagSchema } from './models/BaseExpenseTagSchema';
export type { BaseMarketplaceSchema } from './models/BaseMarketplaceSchema';
export type { BaseShippingWarehouseSchema } from './models/BaseShippingWarehouseSchema';
export type { BillPaymentStatus } from './models/BillPaymentStatus';
@@ -47,6 +48,7 @@ export type { CreateBarcodeTemplateAttributeRequest } from './models/CreateBarco
export type { CreateBarcodeTemplateAttributeResponse } from './models/CreateBarcodeTemplateAttributeResponse';
export type { CreateDealBillRequest } from './models/CreateDealBillRequest';
export type { CreateDealBillResponse } from './models/CreateDealBillResponse';
export type { CreateExpenseTagRequest } from './models/CreateExpenseTagRequest';
export type { CreateMarketplaceRequest } from './models/CreateMarketplaceRequest';
export type { CreateMarketplaceResponse } from './models/CreateMarketplaceResponse';
export type { CreatePaymentRecordRequest } from './models/CreatePaymentRecordRequest';
@@ -133,6 +135,7 @@ export type { DealUpdateServiceQuantityResponse } from './models/DealUpdateServi
export type { DealUpdateServiceRequest } from './models/DealUpdateServiceRequest';
export type { DealUpdateServiceResponse } from './models/DealUpdateServiceResponse';
export type { DeleteExpenseResponse } from './models/DeleteExpenseResponse';
export type { DeleteExpenseTagResponse } from './models/DeleteExpenseTagResponse';
export type { DeleteMarketplaceRequest } from './models/DeleteMarketplaceRequest';
export type { DeleteMarketplaceResponse } from './models/DeleteMarketplaceResponse';
export type { DeletePaymentRecordRequest } from './models/DeletePaymentRecordRequest';
@@ -147,6 +150,7 @@ export type { DeleteShiftResponse } from './models/DeleteShiftResponse';
export type { DeleteShippingWarehouseRequest } from './models/DeleteShippingWarehouseRequest';
export type { DeleteShippingWarehouseResponse } from './models/DeleteShippingWarehouseResponse';
export type { ExpenseSchemaBase } from './models/ExpenseSchemaBase';
export type { ExpenseTagSchema } from './models/ExpenseTagSchema';
export type { FinishShiftByIdResponse } from './models/FinishShiftByIdResponse';
export type { FinishShiftResponse } from './models/FinishShiftResponse';
export type { GetAllBarcodeTemplateAttributesResponse } from './models/GetAllBarcodeTemplateAttributesResponse';
@@ -154,6 +158,7 @@ export type { GetAllBarcodeTemplateSizesResponse } from './models/GetAllBarcodeT
export type { GetAllBarcodeTemplatesResponse } from './models/GetAllBarcodeTemplatesResponse';
export type { GetAllBaseMarketplacesResponse } from './models/GetAllBaseMarketplacesResponse';
export type { GetAllExpensesResponse } from './models/GetAllExpensesResponse';
export type { GetAllExpenseTagsResponse } from './models/GetAllExpenseTagsResponse';
export type { GetAllPayRatesResponse } from './models/GetAllPayRatesResponse';
export type { GetAllPayrollSchemeResponse } from './models/GetAllPayrollSchemeResponse';
export type { GetAllPositionsResponse } from './models/GetAllPositionsResponse';
@@ -249,6 +254,8 @@ export type { TimeTrackingRecord } from './models/TimeTrackingRecord';
export type { UpdateExpenseRequest } from './models/UpdateExpenseRequest';
export type { UpdateExpenseResponse } from './models/UpdateExpenseResponse';
export type { UpdateExpenseSchema } from './models/UpdateExpenseSchema';
export type { UpdateExpenseTagRequest } from './models/UpdateExpenseTagRequest';
export type { UpdateExpenseTagResponse } from './models/UpdateExpenseTagResponse';
export type { UpdateMarketplaceRequest } from './models/UpdateMarketplaceRequest';
export type { UpdateMarketplaceResponse } from './models/UpdateMarketplaceResponse';
export type { UpdatePayRateRequest } from './models/UpdatePayRateRequest';

View File

@@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseExpenseTagSchema = {
name: string;
};

View File

@@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseExpenseTagSchema } from './BaseExpenseTagSchema';
export type CreateExpenseTagRequest = {
tag: BaseExpenseTagSchema;
};

View File

@@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type DeleteExpenseTagResponse = {
ok: boolean;
message: string;
};

View File

@@ -2,6 +2,7 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ExpenseTagSchema } from './ExpenseTagSchema';
import type { UserSchema } from './UserSchema';
export type ExpenseSchemaBase = {
id: number;
@@ -10,5 +11,6 @@ export type ExpenseSchemaBase = {
amount: number;
createdByUser: UserSchema;
spentDate: string;
tags: Array<ExpenseTagSchema>;
};

View File

@@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ExpenseTagSchema = {
name: string;
id: number;
};

View File

@@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ExpenseTagSchema } from './ExpenseTagSchema';
export type GetAllExpenseTagsResponse = {
tags: Array<ExpenseTagSchema>;
};

View File

@@ -3,7 +3,7 @@
/* tslint:disable */
/* eslint-disable */
export type PaginationInfoSchema = {
totalPages: number;
totalItems: number;
totalPages?: number;
totalItems?: number;
};

View File

@@ -8,5 +8,6 @@ export type UpdateExpenseSchema = {
comment?: (string | null);
amount: number;
spentDate: string;
tags?: Array<string>;
};

View File

@@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ExpenseTagSchema } from './ExpenseTagSchema';
export type UpdateExpenseTagRequest = {
tag: ExpenseTagSchema;
};

View File

@@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type UpdateExpenseTagResponse = {
ok: boolean;
message: string;
};

View File

@@ -2,10 +2,15 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CreateExpenseTagRequest } from '../models/CreateExpenseTagRequest';
import type { DeleteExpenseResponse } from '../models/DeleteExpenseResponse';
import type { DeleteExpenseTagResponse } from '../models/DeleteExpenseTagResponse';
import type { GetAllExpensesResponse } from '../models/GetAllExpensesResponse';
import type { GetAllExpenseTagsResponse } from '../models/GetAllExpenseTagsResponse';
import type { UpdateExpenseRequest } from '../models/UpdateExpenseRequest';
import type { UpdateExpenseResponse } from '../models/UpdateExpenseResponse';
import type { UpdateExpenseTagRequest } from '../models/UpdateExpenseTagRequest';
import type { UpdateExpenseTagResponse } from '../models/UpdateExpenseTagResponse';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
@@ -75,4 +80,76 @@ export class ExpenseService {
},
});
}
/**
* Get All
* @returns GetAllExpenseTagsResponse Successful Response
* @throws ApiError
*/
public static getAllExpenseTags(): CancelablePromise<GetAllExpenseTagsResponse> {
return __request(OpenAPI, {
method: 'GET',
url: '/expense/get-all-tags',
});
}
/**
* Update Expense
* @returns UpdateExpenseTagResponse Successful Response
* @throws ApiError
*/
public static createExpenseTag({
requestBody,
}: {
requestBody: CreateExpenseTagRequest,
}): CancelablePromise<UpdateExpenseTagResponse> {
return __request(OpenAPI, {
method: 'POST',
url: '/expense/create-tag',
body: requestBody,
mediaType: 'application/json',
errors: {
422: `Validation Error`,
},
});
}
/**
* Update Expense
* @returns UpdateExpenseTagResponse Successful Response
* @throws ApiError
*/
public static updateExpenseTag({
requestBody,
}: {
requestBody: UpdateExpenseTagRequest,
}): CancelablePromise<UpdateExpenseTagResponse> {
return __request(OpenAPI, {
method: 'POST',
url: '/expense/update-tag',
body: requestBody,
mediaType: 'application/json',
errors: {
422: `Validation Error`,
},
});
}
/**
* Update Expense
* @returns DeleteExpenseTagResponse Successful Response
* @throws ApiError
*/
public static deleteExpenseTag({
tagId,
}: {
tagId: number,
}): CancelablePromise<DeleteExpenseTagResponse> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/expense/delete-tag/{tag_id}',
path: {
'tag_id': tagId,
},
errors: {
422: `Validation Error`,
},
});
}
}