Feat: Implementación de módulos ABM de suscripciones por cliente
This commit is contained in:
33
Frontend/src/services/Suscripciones/suscripcionService.ts
Normal file
33
Frontend/src/services/Suscripciones/suscripcionService.ts
Normal 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,
|
||||
};
|
||||
Reference in New Issue
Block a user