forked from VinokurovVE/tests
227 lines
6.8 KiB
TypeScript
227 lines
6.8 KiB
TypeScript
import { AxiosProgressEvent } from "axios";
|
|
import axiosInstance from "../http/axiosInstance";
|
|
import { IBank, ICompany, IDepartment, IDocument, IDocumentFolder, IOrganization, IOrganizationBank } from "../interfaces/documents";
|
|
|
|
export default class DocumentService {
|
|
// Get Main
|
|
static async getMain() {
|
|
return await axiosInstance.get(`/info/`)
|
|
}
|
|
|
|
// Get Companies
|
|
static async getCompanies(limit?: number, offset?: number) {
|
|
return await axiosInstance.get(`/info/companies`, {
|
|
params: {
|
|
limit: limit || 10,
|
|
offset: offset || 0
|
|
}
|
|
})
|
|
}
|
|
|
|
// Create Company
|
|
static async createCompany(data: ICompany) {
|
|
return await axiosInstance.post(`/info/companies/`, data)
|
|
}
|
|
|
|
// Delete Company
|
|
static async deleteCompany(company_id: number) {
|
|
return await axiosInstance.delete(`/info/companies/${company_id}`)
|
|
}
|
|
|
|
// Update Company
|
|
static async updateCompany(company_id: number) {
|
|
return await axiosInstance.patch(`/info/companies/${company_id}`)
|
|
}
|
|
|
|
// Get Departments
|
|
static async getDepartments(limit?: number, offset?: number) {
|
|
return await axiosInstance.get(`/info/departments/`, {
|
|
params: {
|
|
limit: limit || 10,
|
|
offset: offset || 0
|
|
}
|
|
})
|
|
}
|
|
|
|
// Get Department
|
|
static async getDepartment(department_id: number) {
|
|
return await axiosInstance.get(`/info/departments/${department_id}`)
|
|
}
|
|
|
|
|
|
// Delete Department
|
|
static async deleteDepartment(department_id: number) {
|
|
return await axiosInstance.delete(`/info/departments/${department_id}`)
|
|
}
|
|
|
|
// Update Department
|
|
static async updateDepartment(department_id: number, data: IDepartment) {
|
|
return await axiosInstance.patch(`/info/departments/${department_id}`, data)
|
|
}
|
|
|
|
// Create Department
|
|
static async createDepartment(data: IDepartment) {
|
|
return await axiosInstance.post(`/info/department/`, data)
|
|
}
|
|
|
|
// Get Documents
|
|
static async getDocuments(limit?: number, offset?: number) {
|
|
return await axiosInstance.get(`/info/document_folder/`, {
|
|
params: {
|
|
limit: limit || 10,
|
|
offset: offset || 0
|
|
}
|
|
})
|
|
}
|
|
|
|
// Create Documentfolder
|
|
static async createDocumentFolder(data: IDocumentFolder) {
|
|
return await axiosInstance.post(`/info/document_folder/`, data)
|
|
}
|
|
|
|
// Get Document
|
|
static async getDocument(folder_id: number) {
|
|
return await axiosInstance.get(`/info/document_folder/${folder_id}`)
|
|
}
|
|
|
|
// Delete Document
|
|
static async deleteDocument(folder_id: number) {
|
|
return await axiosInstance.delete(`/info/document_folder/${folder_id}`)
|
|
}
|
|
|
|
// Update Document
|
|
static async updateDocument(folder_id: number, data: IDocument) {
|
|
return await axiosInstance.patch(`/info/document_folder/${folder_id}`, data)
|
|
}
|
|
|
|
// Get Docs
|
|
static async getDocs(folder_id: number) {
|
|
return await axiosInstance.get(`/info/documents/${folder_id}`)
|
|
}
|
|
|
|
// Upload Files
|
|
static async uploadFiles(folder_id: number, files: any, setUploadProgress?: any) {
|
|
return await axiosInstance.post(`/info/documents/upload/${folder_id}`, files, {
|
|
onUploadProgress: (progressEvent: AxiosProgressEvent) => {
|
|
const percentCompleted = progressEvent.progress
|
|
setUploadProgress?.(percentCompleted)
|
|
}
|
|
})
|
|
}
|
|
|
|
// Download Doc
|
|
static async downloadDoc(folder_id: number, doc_id: number) {
|
|
return await axiosInstance.get(`/info/document/${folder_id}&${doc_id}`, {
|
|
responseType: 'blob',
|
|
})
|
|
}
|
|
|
|
// Delete Doc
|
|
static async deleteDoc(folder_id: number, doc_id: number) {
|
|
return await axiosInstance.delete(`/info/document/`, {
|
|
params: {
|
|
folder_id: folder_id,
|
|
doc_id: doc_id
|
|
}
|
|
})
|
|
}
|
|
|
|
// Convert Phones
|
|
static async convertPhones(data: any) {
|
|
return await axiosInstance.post(`/info/other/phones/`, data)
|
|
}
|
|
|
|
// Get Budget
|
|
static async getBudget() {
|
|
return await axiosInstance.get(`/info/organization/budget/`)
|
|
}
|
|
|
|
// Add Bank
|
|
static async addBank(data: IBank) {
|
|
return await axiosInstance.post(`/info/organization/bank`, data)
|
|
}
|
|
|
|
// Update Bank
|
|
static async updateBank(bank_id: string, bank_1c_id: string, data: IBank) {
|
|
return await axiosInstance.patch(`/info/organization/bank`, data, {
|
|
params: {
|
|
bank_id: bank_id,
|
|
bank_1c_id: bank_1c_id
|
|
}
|
|
})
|
|
}
|
|
|
|
// Get Banks
|
|
static async getBanks(bank_id?: string, search?: string, limit?: number, offset?: number) {
|
|
return await axiosInstance.get(`/info/organization/banks`, {
|
|
params: {
|
|
bank_id: bank_id,
|
|
search: search || null,
|
|
limit: limit || 10,
|
|
offset: offset || 0
|
|
}
|
|
})
|
|
}
|
|
|
|
// Get Bank
|
|
static async getBank(id_1c: string) {
|
|
return await axiosInstance.get(`/info/organization/bank/${id_1c}`)
|
|
}
|
|
|
|
// Delete Bank
|
|
static async deleteBank(bank_id: string, bank_1c_id: string) {
|
|
return await axiosInstance.get(`/info/organization/bank/`, {
|
|
params: {
|
|
bank_id: bank_id,
|
|
bank_1c_id: bank_1c_id
|
|
}
|
|
})
|
|
}
|
|
|
|
// Add Org
|
|
static async addOrganization(data: IOrganization) {
|
|
return await axiosInstance.post(`/info/organization/org/`, data)
|
|
}
|
|
|
|
// Update Org
|
|
static async updateOrganization(org_id: string, org_1c_id: string, data: IOrganization) {
|
|
return await axiosInstance.patch(`/info/organization/org`, data, {
|
|
params: {
|
|
org_id: org_id,
|
|
org_1c_id: org_1c_id
|
|
}
|
|
})
|
|
}
|
|
|
|
// Delete Org
|
|
static async deleteOrganization(org_id: string, org_1c_id: string) {
|
|
return await axiosInstance.delete(`/info/organization/org`, {
|
|
params: {
|
|
org_id: org_id,
|
|
org_1c_id: org_1c_id
|
|
}
|
|
})
|
|
}
|
|
|
|
// Get Orgs
|
|
static async getOrganizations(org_id?: string, search?: string, limit?: number, offset?: number) {
|
|
return await axiosInstance.get(`/info/organization/orgs`, {
|
|
params: {
|
|
org_id: org_id,
|
|
search: search || null,
|
|
limit: limit || 10,
|
|
offset: offset || 0
|
|
}
|
|
})
|
|
}
|
|
|
|
// Get Org
|
|
static async getOrganization(id_1c: string) {
|
|
return await axiosInstance.get(`/info/organization/org/${id_1c}`)
|
|
}
|
|
|
|
// Add Orgbank
|
|
static async addOrganizationBank(data: IOrganizationBank) {
|
|
return await axiosInstance.post(`/info/organization/org_bank`, data)
|
|
}
|
|
} |