feat: sending and receiving messages with files, editing text messages

This commit is contained in:
2025-04-02 15:27:57 +04:00
parent f6c55012bd
commit 23f0cdc081
29 changed files with 615 additions and 72 deletions

View File

@@ -40,6 +40,7 @@ export type { BillPaymentStatus } from './models/BillPaymentStatus';
export type { BillStatusUpdateRequest } from './models/BillStatusUpdateRequest';
export type { BoardSchema } from './models/BoardSchema';
export type { Body_parse_deals_excel } from './models/Body_parse_deals_excel';
export type { Body_send_messages_with_files } from './models/Body_send_messages_with_files';
export type { Body_upload_passport_image } from './models/Body_upload_passport_image';
export type { Body_upload_product_barcode_image } from './models/Body_upload_product_barcode_image';
export type { Body_upload_product_image } from './models/Body_upload_product_image';
@@ -216,6 +217,9 @@ export type { DepartmentSchema } from './models/DepartmentSchema';
export type { DepartmentSectionBaseSchema } from './models/DepartmentSectionBaseSchema';
export type { DepartmentSectionBriefSchema } from './models/DepartmentSectionBriefSchema';
export type { DepartmentSectionSchema } from './models/DepartmentSectionSchema';
export type { EditMessageRequest } from './models/EditMessageRequest';
export type { EditMessageResponse } from './models/EditMessageResponse';
export type { EditMessageSchema } from './models/EditMessageSchema';
export type { FinishPauseByShiftIdResponse } from './models/FinishPauseByShiftIdResponse';
export type { FinishPauseByUserIdResponse } from './models/FinishPauseByUserIdResponse';
export type { FinishShiftByIdResponse } from './models/FinishShiftByIdResponse';
@@ -279,12 +283,14 @@ export type { GetWorkShiftsPlanningDataRequest } from './models/GetWorkShiftsPla
export type { GetWorkShiftsResponse } from './models/GetWorkShiftsResponse';
export type { GroupBillRequestSchema } from './models/GroupBillRequestSchema';
export type { HTTPValidationError } from './models/HTTPValidationError';
export type { LoadMessagesResponse } from './models/LoadMessagesResponse';
export type { LoadReceiptRequest } from './models/LoadReceiptRequest';
export type { LoadReceiptResponse } from './models/LoadReceiptResponse';
export type { ManageEmployeeRequest } from './models/ManageEmployeeRequest';
export type { ManageEmployeeResponse } from './models/ManageEmployeeResponse';
export type { MarketplaceCreateSchema } from './models/MarketplaceCreateSchema';
export type { MarketplaceSchema } from './models/MarketplaceSchema';
export type { MessageFileSchema } from './models/MessageFileSchema';
export type { MessageSchema } from './models/MessageSchema';
export type { ModuleSchema } from './models/ModuleSchema';
export type { NotificationChannel } from './models/NotificationChannel';
@@ -334,12 +340,15 @@ export type { ProjectGeneralInfoSchema } from './models/ProjectGeneralInfoSchema
export type { ProjectSchema } from './models/ProjectSchema';
export type { ReceiptBoxSchema } from './models/ReceiptBoxSchema';
export type { ReceiptPalletSchema } from './models/ReceiptPalletSchema';
export type { RepeatSendingMessageSchema } from './models/RepeatSendingMessageSchema';
export type { RepeatSendingTextMessageRequest } from './models/RepeatSendingTextMessageRequest';
export type { RepeatSendingTextMessageResponse } from './models/RepeatSendingTextMessageResponse';
export type { ResidualBoxSchema } from './models/ResidualBoxSchema';
export type { ResidualPalletSchema } from './models/ResidualPalletSchema';
export type { ResidualProductSchema } from './models/ResidualProductSchema';
export type { RoleSchema } from './models/RoleSchema';
export type { SendMessageRequest } from './models/SendMessageRequest';
export type { SendMessageResponse } from './models/SendMessageResponse';
export type { SendTextMessageRequest } from './models/SendTextMessageRequest';
export type { SendTextMessageResponse } from './models/SendTextMessageResponse';
export type { ServiceCategoryReorderRequest } from './models/ServiceCategoryReorderRequest';
export type { ServiceCategoryReorderResponse } from './models/ServiceCategoryReorderResponse';
export type { ServiceCategorySchema } from './models/ServiceCategorySchema';

View File

@@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type Body_send_messages_with_files = {
files: Array<Blob>;
};

View File

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

View File

@@ -2,7 +2,7 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type SendMessageResponse = {
export type EditMessageResponse = {
ok: boolean;
message: string;
};

View File

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

View File

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

View File

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

View File

@@ -2,6 +2,7 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { MessageFileSchema } from './MessageFileSchema';
import type { TgUserSchema } from './TgUserSchema';
export type MessageSchema = {
text: string;
@@ -10,5 +11,7 @@ export type MessageSchema = {
createdAt: string;
tgSender: (TgUserSchema | null);
status: string;
isEdited: boolean;
file?: (MessageFileSchema | null);
};

View File

@@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type RepeatSendingMessageSchema = {
text: string;
chatId: number;
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 { RepeatSendingMessageSchema } from './RepeatSendingMessageSchema';
export type RepeatSendingTextMessageRequest = {
message: RepeatSendingMessageSchema;
};

View File

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

View File

@@ -3,7 +3,7 @@
/* tslint:disable */
/* eslint-disable */
import type { BaseMessageSchema } from './BaseMessageSchema';
export type SendMessageRequest = {
export type SendTextMessageRequest = {
message: BaseMessageSchema;
};

View File

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

View File

@@ -2,29 +2,35 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { Body_send_messages_with_files } from '../models/Body_send_messages_with_files';
import type { CreateChatRequest } from '../models/CreateChatRequest';
import type { CreateChatResponse } from '../models/CreateChatResponse';
import type { DeleteMessageResponse } from '../models/DeleteMessageResponse';
import type { EditMessageRequest } from '../models/EditMessageRequest';
import type { EditMessageResponse } from '../models/EditMessageResponse';
import type { GetChatRequest } from '../models/GetChatRequest';
import type { GetChatResponse } from '../models/GetChatResponse';
import type { GetMessagesRequest } from '../models/GetMessagesRequest';
import type { GetMessagesResponse } from '../models/GetMessagesResponse';
import type { SendMessageRequest } from '../models/SendMessageRequest';
import type { SendMessageResponse } from '../models/SendMessageResponse';
import type { LoadMessagesResponse } from '../models/LoadMessagesResponse';
import type { RepeatSendingTextMessageRequest } from '../models/RepeatSendingTextMessageRequest';
import type { RepeatSendingTextMessageResponse } from '../models/RepeatSendingTextMessageResponse';
import type { SendTextMessageRequest } from '../models/SendTextMessageRequest';
import type { SendTextMessageResponse } from '../models/SendTextMessageResponse';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class ChatService {
/**
* Send Message
* @returns SendMessageResponse Successful Response
* Send Text Message
* @returns SendTextMessageResponse Successful Response
* @throws ApiError
*/
public static sendMessage({
public static sendTextMessage({
requestBody,
}: {
requestBody: SendMessageRequest,
}): CancelablePromise<SendMessageResponse> {
requestBody: SendTextMessageRequest,
}): CancelablePromise<SendTextMessageResponse> {
return __request(OpenAPI, {
method: 'POST',
url: '/chat/message',
@@ -35,6 +41,74 @@ export class ChatService {
},
});
}
/**
* Edit Message
* @returns EditMessageResponse Successful Response
* @throws ApiError
*/
public static editMessage({
requestBody,
}: {
requestBody: EditMessageRequest,
}): CancelablePromise<EditMessageResponse> {
return __request(OpenAPI, {
method: 'PATCH',
url: '/chat/message',
body: requestBody,
mediaType: 'application/json',
errors: {
422: `Validation Error`,
},
});
}
/**
* Repeat Sending Text Message
* @returns RepeatSendingTextMessageResponse Successful Response
* @throws ApiError
*/
public static repeatSendingTextMessage({
requestBody,
}: {
requestBody: RepeatSendingTextMessageRequest,
}): CancelablePromise<RepeatSendingTextMessageResponse> {
return __request(OpenAPI, {
method: 'POST',
url: '/chat/message/repeat',
body: requestBody,
mediaType: 'application/json',
errors: {
422: `Validation Error`,
},
});
}
/**
* Send Messages With Files
* @returns LoadMessagesResponse Successful Response
* @throws ApiError
*/
public static sendMessagesWithFiles({
chatId,
caption,
formData,
}: {
chatId: number,
caption: string,
formData: Body_send_messages_with_files,
}): CancelablePromise<LoadMessagesResponse> {
return __request(OpenAPI, {
method: 'POST',
url: '/chat/message/files',
query: {
'chat_id': chatId,
'caption': caption,
},
formData: formData,
mediaType: 'multipart/form-data',
errors: {
422: `Validation Error`,
},
});
}
/**
* Delete Message
* @returns DeleteMessageResponse Successful Response
@@ -116,4 +190,25 @@ export class ChatService {
},
});
}
/**
* Get Tg File
* @returns any Successful Response
* @throws ApiError
*/
public static getTgFileChatTgFileFileIdGet({
fileId,
}: {
fileId: number,
}): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'GET',
url: '/chat/tg-file/{file_id}',
path: {
'file_id': fileId,
},
errors: {
422: `Validation Error`,
},
});
}
}