Chat interno 1-a-1 entre usuarios de la plataforma (addon skeen_chat + pagina Chat con badge de no leidos)
This commit is contained in:
@@ -544,6 +544,27 @@ export interface Receta {
|
||||
contenido: string;
|
||||
}
|
||||
|
||||
// ---- Chat interno ----
|
||||
export interface ChatUser {
|
||||
id: number;
|
||||
name: string;
|
||||
role: FrontendRole;
|
||||
unread: number;
|
||||
last_message: string | null;
|
||||
last_date: string | null;
|
||||
last_mine: boolean | null;
|
||||
}
|
||||
|
||||
export interface ChatMessage {
|
||||
id: number;
|
||||
sender_id: number;
|
||||
recipient_id: number;
|
||||
body: string;
|
||||
is_read: boolean;
|
||||
mine: boolean;
|
||||
date: string | null;
|
||||
}
|
||||
|
||||
export interface Diagnostico {
|
||||
id: number;
|
||||
name: string;
|
||||
@@ -894,6 +915,27 @@ export const odooApi = {
|
||||
return data;
|
||||
},
|
||||
|
||||
// Chat interno entre usuarios de la plataforma
|
||||
async getChatUsers(): Promise<{ status: string; users: ChatUser[] }> {
|
||||
const { data } = await axios.post(`${ODOO_BASE}/skeen/frontend/v1/chat/users`);
|
||||
return data;
|
||||
},
|
||||
|
||||
async getChatMessages(userId: number, sinceId?: number): Promise<{ status: string; messages: ChatMessage[] }> {
|
||||
const { data } = await axios.post(`${ODOO_BASE}/skeen/frontend/v1/chat/messages`, { user_id: userId, since_id: sinceId || undefined });
|
||||
return data;
|
||||
},
|
||||
|
||||
async sendChatMessage(userId: number, message: string): Promise<{ status: string; message: ChatMessage }> {
|
||||
const { data } = await axios.post(`${ODOO_BASE}/skeen/frontend/v1/chat/send`, { user_id: userId, message });
|
||||
return data;
|
||||
},
|
||||
|
||||
async getChatUnreadCount(): Promise<{ status: string; unread: number }> {
|
||||
const { data } = await axios.post(`${ODOO_BASE}/skeen/frontend/v1/chat/unread_count`);
|
||||
return data;
|
||||
},
|
||||
|
||||
async getAvailableSlots(date: string, servicio_id: number): Promise<{ status: string; slots: { time: number; time_str: string }[] }> {
|
||||
const { data } = await axios.get(`${ODOO_BASE}/skeen/frontend/v1/appointments/slots`, { params: { date, servicio_id } });
|
||||
return data;
|
||||
|
||||
Reference in New Issue
Block a user