clqms-fe1/src/lib/api/organization.js

68 lines
1.9 KiB
JavaScript
Raw Normal View History

import { get, post, patch, del } from './client.js';
// Disciplines
export async function fetchDisciplines(params = {}) {
const query = new URLSearchParams(params).toString();
return get(query ? `/api/organization/discipline?${query}` : '/api/organization/discipline');
}
export async function fetchDiscipline(id) {
return get(`/api/organization/discipline/${id}`);
}
export async function createDiscipline(data) {
const payload = {
DisciplineCode: data.DisciplineCode,
DisciplineName: data.DisciplineName,
Parent: data.Parent || null,
};
return post('/api/organization/discipline', payload);
}
export async function updateDiscipline(data) {
const payload = {
id: data.DisciplineID,
DisciplineCode: data.DisciplineCode,
DisciplineName: data.DisciplineName,
Parent: data.Parent || null,
};
return patch('/api/organization/discipline', payload);
}
export async function deleteDiscipline(id) {
return del('/api/organization/discipline', { id });
}
// Departments
export async function fetchDepartments(params = {}) {
const query = new URLSearchParams(params).toString();
return get(query ? `/api/organization/department?${query}` : '/api/organization/department');
}
export async function fetchDepartment(id) {
return get(`/api/organization/department/${id}`);
}
export async function createDepartment(data) {
const payload = {
DepartmentCode: data.DepartmentCode,
DepartmentName: data.DepartmentName,
DisciplineID: data.DisciplineID,
};
return post('/api/organization/department', payload);
}
export async function updateDepartment(data) {
const payload = {
id: data.DepartmentID,
DepartmentCode: data.DepartmentCode,
DepartmentName: data.DepartmentName,
DisciplineID: data.DisciplineID,
};
return patch('/api/organization/department', payload);
}
export async function deleteDepartment(id) {
return del('/api/organization/department', { id });
}