pos-dashboard/src/services/organizationsApi.js
2025-08-03 11:14:55 +07:00

92 lines
2.3 KiB
JavaScript

import api from './api';
const ENDPOINTS = {
ORGANIZATIONS: 'organizations',
ORGANIZATION_BY_ID: (id) => `organizations/${id}`,
};
export const organizationsApi = {
// Get all organizations
getAllOrganizations: async (params = {}) => {
try {
const response = await api.get(ENDPOINTS.ORGANIZATIONS, { params });
return response.data;
} catch (error) {
console.error('Error fetching organizations:', error);
throw error;
}
},
// Get organization by ID
getOrganizationById: async (id) => {
try {
const response = await api.get(ENDPOINTS.ORGANIZATION_BY_ID(id));
return response.data;
} catch (error) {
console.error(`Error fetching organization ${id}:`, error);
throw error;
}
},
// Create organization
createOrganization: async (data) => {
try {
const response = await api.post(ENDPOINTS.ORGANIZATIONS, data);
return response.data;
} catch (error) {
console.error('Error creating organization:', error);
throw error;
}
},
// Update organization
updateOrganization: async (id, data) => {
try {
const response = await api.put(ENDPOINTS.ORGANIZATION_BY_ID(id), data);
return response.data;
} catch (error) {
console.error(`Error updating organization ${id}:`, error);
throw error;
}
},
// Delete organization
deleteOrganization: async (id) => {
try {
const response = await api.delete(ENDPOINTS.ORGANIZATION_BY_ID(id));
return response.data;
} catch (error) {
console.error(`Error deleting organization ${id}:`, error);
throw error;
}
},
// Bulk update
bulkUpdate: async (organizations) => {
try {
const response = await api.put(`${ENDPOINTS.ORGANIZATIONS}/bulk`, {
organizations,
});
return response.data;
} catch (error) {
console.error('Error bulk updating organizations:', error);
throw error;
}
},
// Bulk delete
bulkDelete: async (ids) => {
try {
const response = await api.delete(`${ENDPOINTS.ORGANIZATIONS}/bulk`, {
data: { ids },
});
return response.data;
} catch (error) {
console.error('Error bulk deleting organizations:', error);
throw error;
}
},
};
export default organizationsApi;