nordlet 0.2.2

Official Rust SDK for the Nordlet Accounting API
Documentation
use crate::api::*;
use crate::{ApiError, ClientConfig, HttpClient, RequestOptions};
use reqwest::Method;

pub struct HrClient {
    pub http_client: HttpClient,
}

impl HrClient {
    pub fn new(config: ClientConfig) -> Result<Self, ApiError> {
        Ok(Self {
            http_client: HttpClient::new(config.clone())?,
        })
    }

    pub async fn post_v1_hr_positions_create(
        &self,
        request: &PostV1HrPositionsCreateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrPositionsCreateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/positions/create",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_positions_update(
        &self,
        request: &PostV1HrPositionsUpdateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrPositionsUpdateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/positions/update",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_positions_list(
        &self,
        request: &PostV1HrPositionsListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrPositionsListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/positions/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_create(
        &self,
        request: &PostV1HrEmployeesCreateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesCreateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/create",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_update(
        &self,
        request: &PostV1HrEmployeesUpdateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesUpdateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/update",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_get(
        &self,
        request: &PostV1HrEmployeesGetRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesGetResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/get",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_list(
        &self,
        request: &PostV1HrEmployeesListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_contracts_create(
        &self,
        request: &PostV1HrContractsCreateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrContractsCreateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/contracts/create",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_contracts_end(
        &self,
        request: &PostV1HrContractsEndRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrContractsEndResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/contracts/end",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_contracts_list(
        &self,
        request: &PostV1HrContractsListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrContractsListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/contracts/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_leave_balances_set(
        &self,
        request: &PostV1HrLeaveBalancesSetRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrLeaveBalancesSetResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/leave-balances/set",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_leave_balances_list(
        &self,
        request: &PostV1HrLeaveBalancesListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrLeaveBalancesListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/leave-balances/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_incapacity_certificates_create(
        &self,
        request: &PostV1HrIncapacityCertificatesCreateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrIncapacityCertificatesCreateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/incapacity-certificates/create",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_incapacity_certificates_list(
        &self,
        request: &PostV1HrIncapacityCertificatesListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrIncapacityCertificatesListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/incapacity-certificates/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_records_create(
        &self,
        request: &PostV1HrEmployeesRecordsCreateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesRecordsCreateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/records/create",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_records_update(
        &self,
        request: &PostV1HrEmployeesRecordsUpdateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesRecordsUpdateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/records/update",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_records_delete(
        &self,
        request: &PostV1HrEmployeesRecordsDeleteRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesRecordsDeleteResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/records/delete",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_records_list(
        &self,
        request: &PostV1HrEmployeesRecordsListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesRecordsListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/records/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_employees_attachments_list(
        &self,
        request: &PostV1HrEmployeesAttachmentsListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrEmployeesAttachmentsListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/employees/attachments/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_timesheets_generate(
        &self,
        request: &PostV1HrTimesheetsGenerateRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrTimesheetsGenerateResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/timesheets/generate",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_timesheets_upsert(
        &self,
        request: &PostV1HrTimesheetsUpsertRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrTimesheetsUpsertResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/timesheets/upsert",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_timesheets_get(
        &self,
        request: &PostV1HrTimesheetsGetRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrTimesheetsGetResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/timesheets/get",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_timesheets_list(
        &self,
        request: &PostV1HrTimesheetsListRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrTimesheetsListResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/timesheets/list",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }

    pub async fn post_v1_hr_timesheets_delete(
        &self,
        request: &PostV1HrTimesheetsDeleteRequest,
        options: Option<RequestOptions>,
    ) -> Result<PostV1HrTimesheetsDeleteResponse, ApiError> {
        self.http_client
            .execute_request(
                Method::POST,
                "v1/hr/timesheets/delete",
                Some(serde_json::to_value(request).map_err(ApiError::Serialization)?),
                None,
                options,
            )
            .await
    }
}