26 lines
		
	
	
		
			810 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			810 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { axios } from "@/api/index";
 | 
						|
import { InternshipDocument } from "@/api/dto/internship-registration";
 | 
						|
import { prepare } from "@/routing";
 | 
						|
 | 
						|
export enum UploadType {
 | 
						|
    Ipp = "IppScan",
 | 
						|
    DeanConsent = "DeanConsent",
 | 
						|
    Insurance = "NnwInsurance",
 | 
						|
}
 | 
						|
 | 
						|
const CREATE_DOCUMENT_ENDPOINT = '/document';
 | 
						|
const DOCUMENT_UPLOAD_ENDPOINT = '/document/:id/scan';
 | 
						|
 | 
						|
export async function create(type: UploadType) {
 | 
						|
    const response = await axios.post<InternshipDocument>(CREATE_DOCUMENT_ENDPOINT, { type });
 | 
						|
    return response.data;
 | 
						|
}
 | 
						|
 | 
						|
export async function upload(document: InternshipDocument, file: File) {
 | 
						|
    const data = new FormData();
 | 
						|
    data.append('documentScan', file)
 | 
						|
 | 
						|
    const response = await axios.put(prepare(DOCUMENT_UPLOAD_ENDPOINT, { id: document.id as string }), data);
 | 
						|
    return true;
 | 
						|
}
 |