import {Authorization, AuthorizationForm} from "../models/Settings/Authorization";
import {Signature, SignatureForm} from "../models/Settings/Signature";
import {instance} from "./axios";
import {PaginationParams, RecordsResponse} from "../models/Axios";

export async function addAuthorization(params: AuthorizationForm) {
    return instance.post<Authorization>("api/behalves/create", params);
}

export async function getMyAuthorizations(authorizationsParams:PaginationParams) {
    return instance.get<RecordsResponse<Authorization>>("api/behalves/my-authorizations",
        {params: authorizationsParams});
}

export async function getMicroServices() {
    return instance.get<String>("api/microservices");
}

export async function updateAuthorization(params: AuthorizationForm) {
    return instance.post<Authorization>("api/behalves/update", params);
}

export async function deleteAuthorization(id:number) {
    return instance.post<number>("api/behalves/remove",
        {id:id});
}

export async function getMySignatures(signaturesParams:PaginationParams) {
    return instance.get<RecordsResponse<Signature>>("api/signatures/getByUser", {params: signaturesParams});
}

export async function addSignature(params: SignatureForm) {
    return instance.post<Signature>("api/signatures/create/signature", params);
}

export async function updateMySignature(params: Signature) {
    return instance.post<Signature>("api/signatures/update/signature", params);
}

export async function deleteMySignature(id:number) {
    return instance.post<number>("api/signatures/delete/signature",{id:id});
}

export async function getDuaSettings() {
    return instance.get("api/settings/user/data");
}