68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
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 });
|
|
}
|