Feat: Implementación de módulos ABM de suscripciones por cliente

This commit is contained in:
2025-07-31 10:24:26 -03:00
parent d62ca7feb3
commit b14c5de1b4
16 changed files with 1204 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
import apiClient from '../apiClient';
import type { SuscripcionDto } from '../../models/dtos/Suscripciones/SuscripcionDto';
import type { CreateSuscripcionDto } from '../../models/dtos/Suscripciones/CreateSuscripcionDto';
import type { UpdateSuscripcionDto } from '../../models/dtos/Suscripciones/UpdateSuscripcionDto';
const API_URL_BASE = '/suscripciones';
const API_URL_BY_SUSCRIPTOR = '/suscriptores'; // Para la ruta anidada
const getSuscripcionesPorSuscriptor = async (idSuscriptor: number): Promise<SuscripcionDto[]> => {
const response = await apiClient.get<SuscripcionDto[]>(`${API_URL_BY_SUSCRIPTOR}/${idSuscriptor}/suscripciones`);
return response.data;
};
const getSuscripcionById = async (id: number): Promise<SuscripcionDto> => {
const response = await apiClient.get<SuscripcionDto>(`${API_URL_BASE}/${id}`);
return response.data;
};
const createSuscripcion = async (data: CreateSuscripcionDto): Promise<SuscripcionDto> => {
const response = await apiClient.post<SuscripcionDto>(API_URL_BASE, data);
return response.data;
};
const updateSuscripcion = async (id: number, data: UpdateSuscripcionDto): Promise<void> => {
await apiClient.put(`${API_URL_BASE}/${id}`, data);
};
export default {
getSuscripcionesPorSuscriptor,
getSuscripcionById,
createSuscripcion,
updateSuscripcion,
};