/* eslint-disable @typescript-eslint/no-unused-vars */
import {instance} from "./axios";
import RescomFilters from '../models/Rescom/RescomFilters'
import {RecordsResponse} from "../models/Axios";
import {RescomProject} from "../models/Rescom/RescomErga";
import {RescomContract} from "../models/Rescom/RescomContracts";

export async  function getRescomStats(unit_id: any) {
	return instance.get("api/rescom/v1/organization/statistics", {
		params: {
			unit_id: unit_id
		}
	});
}

export function getRescomContractsFilters() {
	return instance.get<RescomFilters>("/api/rescom/v1/organization/contracts/filter");
}

interface RescomContractsParams {
	unit_id: string
	filterBy: 'age' | 'tier' | 'gender' | 'category' | ''
	value: string
	page: number
	page_size?: number
}

interface RescomErgaParams {
	page: number
	page_size?: number
}

interface RescomSymvaseisErgouParams {
	page: number
	project_id: string | undefined
	page_size?: number
}

export function getRescomErga(params:RescomErgaParams) {

	return instance.get<RecordsResponse<RescomProject>>("api/rescom/v1/researcher/projects/list", {
		params: {
			...params,
		}
	});
}

export function getRescomContracts(params:RescomContractsParams) {

	return instance.get<RecordsResponse<RescomContract>>("api/rescom/v1/organization/contracts/list/search", {
		params: {
			...params,
			filterBy: params.value ? params.filterBy :  ''
		},
	});
}

export function getRescomSymvaseisErgou(params:RescomSymvaseisErgouParams) {

	return instance.get<RecordsResponse<RescomContract>>("api/rescom/v1/organization/contracts/by/project", {
		params: {
			...params,
		}
	});
}