diff --git a/README.rst b/README.rst index 636870c..64f0454 100644 --- a/README.rst +++ b/README.rst @@ -3,7 +3,7 @@ FactorialHR api python wrapper This package provides a python wrapper to the `api of FactorialHR `_. -The package currently supports the api version `v2026-01-01 `_. +The package currently supports the api version `v2026-04-01 `_. The openapi schema can be found at https://api.factorialhr.com/oas **I derived some types from the examples given. They might be incorrect. If you encounter any problems, please create an issue and/or contribute a fix.** diff --git a/docs/approvals.rst b/docs/approvals.rst new file mode 100644 index 0000000..1726e2f --- /dev/null +++ b/docs/approvals.rst @@ -0,0 +1,39 @@ +Approvals +========= + +Usage +~~~~~ + +Approve or reject a resource in a materialized approvals flow:: + + import asyncio + import factorialhr + + async def main(): + auth = factorialhr.AccessTokenAuth("your_access_token") + async with factorialhr.ApiClient(auth=auth) as api: + flows = factorialhr.MaterializedApprovalsFlowsEndpoint(api) + result = await flows.approve_resource( + data={"resource_id": 123, "resource_type": "Timeoff::Leave"}, + ) + print(result.status) + rejected = await flows.reject_resource( + data={ + "resource_id": 456, + "resource_type": "Timeoff::Leave", + "reason": "Does not comply with policy", + }, + ) + print(rejected.status) + + asyncio.run(main()) + +Models and endpoints +~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: factorialhr.MaterializedApprovalsFlow + :members: + :exclude-members: model_config + +.. autoclass:: factorialhr.MaterializedApprovalsFlowsEndpoint + :members: diff --git a/docs/changelog.rst b/docs/changelog.rst index f9d5e85..6c2a5fb 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -5,6 +5,38 @@ All notable changes to factorialhr module will be documented in this file. The format is based on `Keep a Changelog `_ +[7.0.0] - 2026-06-07 +------------- + +Changed +^^^^^^^ + +- support api version ``2026-04-01``. Checkout full `changelog `_ + +Added +^^^^^ + +- ``MaterializedApprovalsFlow``, ``MaterializedApprovalsFlowsEndpoint`` for approvals (``approve_resource``, ``reject_resource``) +- ``BudgetStrategy``, ``BudgetStrategiesEndpoint``, ``BudgetStrategyType`` for project management budget strategies +- ``default_work_area_id`` field to ``Employee`` model +- ``contract_end_date`` field to ``EmployeeTermination`` model +- ``trip_name`` field to ``PerDiem`` model +- ``total``, ``accrued_incidences``, ``available_incidences`` fields to ``AllowanceStatsNew`` model +- ``completed_duration`` field to ``SessionAttendance`` model +- ``gross_cost``, ``net_cost``, ``currency``, ``created_at``, ``payment_status`` fields to ``TrainingClass`` model +- ``TrainingClassPaymentStatus`` enum +- ``de_base_salary_type_id`` field to ``ContractVersion`` and ``ContractVersionHistory`` models + +Removed +^^^^^^^ + +- ``job_catalog_level_id`` field from ``ContractVersion`` model + +Note +^^^^ + +- New query parameters (e.g. ``updated_at_gteq``, ``updated_at_lteq``, ``employee_id``, ``due_date``) and request body fields (e.g. ``source``, ``qr_code``, ``skip_qr``, ``system_created``, ``project_id``, ``send_calendar_invites``, ``completed_duration``, ``payment_status``, ``training_id``, ``all``) are supported by passing them via ``params`` or the request ``data`` to the existing endpoint methods. + [6.0.0] - 2026-02-20 ------------- diff --git a/docs/index.rst b/docs/index.rst index 31c6ac3..4656027 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,6 +5,7 @@ authentication api_public + approvals ats attendance banking diff --git a/docs/project_management.rst b/docs/project_management.rst index 57cf34b..07fbc01 100644 --- a/docs/project_management.rst +++ b/docs/project_management.rst @@ -34,6 +34,11 @@ Enums :undoc-members: :show-inheritance: +.. autoclass:: factorialhr.BudgetStrategyType + :members: + :undoc-members: + :show-inheritance: + .. autoclass:: factorialhr.ProjectEmployeeAssignment :members: :undoc-members: @@ -84,6 +89,13 @@ Models and endpoints .. autoclass:: factorialhr.PlannedRecordsEndpoint :members: +.. autoclass:: factorialhr.BudgetStrategy + :members: + :exclude-members: model_config + +.. autoclass:: factorialhr.BudgetStrategiesEndpoint + :members: + .. autoclass:: factorialhr.Project :members: :exclude-members: model_config diff --git a/src/factorialhr/__init__.py b/src/factorialhr/__init__.py index 529b8fb..f65b383 100644 --- a/src/factorialhr/__init__.py +++ b/src/factorialhr/__init__.py @@ -4,6 +4,10 @@ WebhookSubscription, WebhookSubscriptionEndpoint, ) +from factorialhr._approvals import ( + MaterializedApprovalsFlow, + MaterializedApprovalsFlowsEndpoint, +) from factorialhr._ats import ( Answer, AnswersEndpoint, @@ -287,6 +291,9 @@ PurchaseRequestStatus, ) from factorialhr._project_management import ( + BudgetStrategiesEndpoint, + BudgetStrategy, + BudgetStrategyType, ExpenseRecord, ExpenseRecordEndpoint, ExportableExpense, @@ -349,6 +356,7 @@ TrainingCategory, TrainingClass, TrainingClassesEndpoint, + TrainingClassPaymentStatus, TrainingMembership, TrainingMembershipsEndpoint, TrainingsEndpoint, @@ -400,6 +408,9 @@ 'BreakConfigurationsEndpoint', 'BudgetOption', 'BudgetOptionsEndpoint', + 'BudgetStrategiesEndpoint', + 'BudgetStrategy', + 'BudgetStrategyType', 'Candidate', 'CandidateSource', 'CandidateSourceCategory', @@ -536,6 +547,8 @@ 'Location', 'LocationType', 'LocationsEndpoint', + 'MaterializedApprovalsFlow', + 'MaterializedApprovalsFlowsEndpoint', 'Membership', 'MembershipsEndpoint', 'Message', @@ -685,6 +698,7 @@ 'TrainingCategoriesEndpoint', 'TrainingCategory', 'TrainingClass', + 'TrainingClassPaymentStatus', 'TrainingClassesEndpoint', 'TrainingMembership', 'TrainingMembershipsEndpoint', diff --git a/src/factorialhr/_api_public.py b/src/factorialhr/_api_public.py index 513f152..59a7b22 100644 --- a/src/factorialhr/_api_public.py +++ b/src/factorialhr/_api_public.py @@ -63,7 +63,7 @@ class CredentialsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Credentials]: """Get all credentials. - Official documentation: `api_public/credentials `_ + Official documentation: `api_public/credentials `_ :return: List of credentials :rtype: ListApiResponse[Credentials] @@ -79,7 +79,7 @@ async def all(self, **kwargs) -> ListApiResponse[Credentials]: async def get(self, **kwargs) -> MetaApiResponse[Credentials]: """Get credentials with pagination metadata. - Official documentation: `api_public/credentials `_ + Official documentation: `api_public/credentials `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -124,7 +124,7 @@ class WebhookSubscriptionEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[WebhookSubscription]: """Get all webhooks. - Official documentation: `api_public/webhook_subscriptions `_ + Official documentation: `api_public/webhook_subscriptions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -138,7 +138,7 @@ async def all(self, **kwargs) -> ListApiResponse[WebhookSubscription]: async def get(self, **kwargs) -> MetaApiResponse[WebhookSubscription]: """Get webhooks with pagination metadata. - Official documentation: `api_public/webhook_subscriptions `_ + Official documentation: `api_public/webhook_subscriptions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -154,7 +154,7 @@ async def get(self, **kwargs) -> MetaApiResponse[WebhookSubscription]: async def get_by_id(self, webhook_subscription_id: int | str, **kwargs) -> WebhookSubscription: """Get a specific webhook by ID. - Official documentation: `api_public/webhook_subscriptions `_ + Official documentation: `api_public/webhook_subscriptions `_ :param webhook_subscription_id: The unique identifier. :type webhook_subscription_id: int | str @@ -170,7 +170,7 @@ async def get_by_id(self, webhook_subscription_id: int | str, **kwargs) -> Webho async def create(self, data: Mapping[str, typing.Any], **kwargs) -> WebhookSubscription: """Create a new webhook subscription. - Official documentation: `api_public/webhook_subscriptions `_ + Official documentation: `api_public/webhook_subscriptions `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -191,7 +191,7 @@ async def update( ) -> WebhookSubscription: """Update an existing webhook subscription. - Official documentation: `api_public/webhook_subscriptions `_ + Official documentation: `api_public/webhook_subscriptions `_ :param webhook_subscription_id: The unique identifier of the record to update. :type webhook_subscription_id: int | str @@ -214,7 +214,7 @@ async def update( async def delete(self, webhook_subscription_id: int | str, **kwargs) -> WebhookSubscription: """Delete a webhook subscription. - Official documentation: `api_public/webhook_subscriptions `_ + Official documentation: `api_public/webhook_subscriptions `_ :param webhook_subscription_id: The unique identifier of the record to delete. :type webhook_subscription_id: int | str diff --git a/src/factorialhr/_approvals.py b/src/factorialhr/_approvals.py new file mode 100644 index 0000000..ed96275 --- /dev/null +++ b/src/factorialhr/_approvals.py @@ -0,0 +1,98 @@ +import datetime +import typing +from collections.abc import Mapping, Sequence + +import pydantic + +from factorialhr._client import Endpoint + + +class MaterializedApprovalsFlow(pydantic.BaseModel): + """Model for approvals_materialized_approvals_flow.""" + + model_config = pydantic.ConfigDict(frozen=True) + + #: Materialized approvals flow identifier + id: int = pydantic.Field(description='Materialized approvals flow identifier') + #: Author identifier + author_id: int | None = pydantic.Field(default=None, description='Author identifier') + #: Author employee identifier + author_employee_id: int | None = pydantic.Field(default=None, description='Author employee identifier') + #: Owner identifier + owner_id: int | None = pydantic.Field(default=None, description='Owner identifier') + #: Owner employee identifier + owner_employee_id: int | None = pydantic.Field(default=None, description='Owner employee identifier') + #: Type of the resource (e.g. Timeoff::Leave) + resource_type: str | None = pydantic.Field(default=None, description='Type of the resource (e.g. Timeoff::Leave)') + #: Id of the resource + resource_id: int | None = pydantic.Field(default=None, description='Id of the resource') + #: URL of the resource + resource_url: str | None = pydantic.Field(default=None, description='URL of the resource') + #: Status of the approval flow + status: str | None = pydantic.Field(default=None, description='Status of the approval flow') + #: Expiration timestamp + expires_at: datetime.datetime | None = pydantic.Field(default=None, description='Expiration timestamp') + #: Final decision timestamp + final_decision_at: datetime.datetime | None = pydantic.Field(default=None, description='Final decision timestamp') + #: Approval flow identifier + approval_flow_id: int | None = pydantic.Field(default=None, description='Approval flow identifier') + #: List of approvers + approvers: Sequence[typing.Any] = pydantic.Field(default_factory=list, description='List of approvers') + #: Email detail blocks + email_detail_blocks: Sequence[typing.Any] = pydantic.Field( + default_factory=list, + description='Email detail blocks', + ) + #: Override approver identifier + override_approver_id: int | None = pydantic.Field(default=None, description='Override approver identifier') + #: Override approver employee identifier + override_approver_employee_id: int | None = pydantic.Field( + default=None, + description='Override approver employee identifier', + ) + #: Rules decision + rules_decision: str | None = pydantic.Field(default=None, description='Rules decision') + #: Auto approval description + auto_approval_description: str | None = pydantic.Field(default=None, description='Auto approval description') + #: Action type + action_type: str | None = pydantic.Field(default=None, description='Action type') + #: Reason for rejection + reason: str | None = pydantic.Field(default=None, description='Reason for rejection') + + +class MaterializedApprovalsFlowsEndpoint(Endpoint): + """Endpoint for approvals/materialized_approvals_flows operations.""" + + endpoint = 'approvals/materialized_approvals_flows' + + async def approve_resource(self, data: Mapping[str, typing.Any], **kwargs) -> MaterializedApprovalsFlow: + """Approve resources in a materialized approvals flow. + + Official documentation: `approvals/materialized_approvals_flows `_ + + :param data: Payload with ``resource_id`` and ``resource_type`` (key-value mapping). + :type data: Mapping[str, typing.Any] + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: The updated approval flow. + :rtype: MaterializedApprovalsFlow + """ + response = await self.api.post(self.endpoint, 'approve_resource', json=data, **kwargs) + return pydantic.TypeAdapter(MaterializedApprovalsFlow).validate_python(response['data']) + + async def reject_resource(self, data: Mapping[str, typing.Any], **kwargs) -> MaterializedApprovalsFlow: + """Reject resources in a materialized approvals flow. + + Official documentation: `approvals/materialized_approvals_flows `_ + + :param data: Payload with ``resource_id``, ``resource_type``, and optional ``reason`` (key-value mapping). + :type data: Mapping[str, typing.Any] + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: The updated approval flow. + :rtype: MaterializedApprovalsFlow + """ + response = await self.api.post(self.endpoint, 'reject_resource', json=data, **kwargs) + return pydantic.TypeAdapter(MaterializedApprovalsFlow).validate_python(response['data']) diff --git a/src/factorialhr/_ats.py b/src/factorialhr/_ats.py index 1a88399..948492b 100644 --- a/src/factorialhr/_ats.py +++ b/src/factorialhr/_ats.py @@ -185,7 +185,7 @@ class AnswersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Answer]: """Get all answers. - Official documentation: `ats/answers `_ + Official documentation: `ats/answers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -199,7 +199,7 @@ async def all(self, **kwargs) -> ListApiResponse[Answer]: async def get(self, **kwargs) -> MetaApiResponse[Answer]: """Get answers with pagination metadata. - Official documentation: `ats/answers `_ + Official documentation: `ats/answers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -215,7 +215,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Answer]: async def get_by_id(self, answer_id: int | str, **kwargs) -> Answer: """Get a specific answer by ID. - Official documentation: `ats/answers `_ + Official documentation: `ats/answers `_ :param answer_id: The unique identifier of the answer. :type answer_id: int | str @@ -231,7 +231,7 @@ async def get_by_id(self, answer_id: int | str, **kwargs) -> Answer: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Answer: """Create an answer. - Official documentation: `ats/answers `_ + Official documentation: `ats/answers `_ :param data: Payload for the new answer (key-value mapping). :type data: Mapping[str, typing.Any] @@ -288,7 +288,7 @@ class ApplicationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Application]: """Get all applications. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -302,7 +302,7 @@ async def all(self, **kwargs) -> ListApiResponse[Application]: async def get(self, **kwargs) -> MetaApiResponse[Application]: """Get applications with pagination metadata. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -318,7 +318,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Application]: async def get_by_id(self, application_id: int | str, **kwargs) -> Application: """Get a specific application by ID. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param application_id: The unique identifier of the application. :type application_id: int | str @@ -334,7 +334,7 @@ async def get_by_id(self, application_id: int | str, **kwargs) -> Application: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Application: """Create an application. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param data: Payload for the new application (key-value mapping). :type data: Mapping[str, typing.Any] @@ -350,7 +350,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Application: async def update(self, application_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Application: """Update an application. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param application_id: The unique identifier of the application to update. :type application_id: int | str @@ -368,7 +368,7 @@ async def update(self, application_id: int | str, data: Mapping[str, typing.Any] async def delete(self, application_id: int | str, **kwargs) -> Application: """Delete an application. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param application_id: The unique identifier of the application to delete. :type application_id: int | str @@ -384,7 +384,7 @@ async def delete(self, application_id: int | str, **kwargs) -> Application: async def apply(self, data: Mapping[str, typing.Any], **kwargs) -> Application: """Apply to an application. - Official documentation: `ats/applications `_ + Official documentation: `ats/applications `_ :param data: Payload for the apply action (key-value mapping). :type data: Mapping[str, typing.Any] @@ -429,7 +429,7 @@ class ApplicationPhasesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ApplicationPhase]: """Get all application phases. - Official documentation: `ats/application_phases `_ + Official documentation: `ats/application_phases `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -443,7 +443,7 @@ async def all(self, **kwargs) -> ListApiResponse[ApplicationPhase]: async def get(self, **kwargs) -> MetaApiResponse[ApplicationPhase]: """Get application phases with pagination metadata. - Official documentation: `ats/application_phases `_ + Official documentation: `ats/application_phases `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -459,7 +459,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ApplicationPhase]: async def get_by_id(self, application_phase_id: int | str, **kwargs) -> ApplicationPhase: """Get a single application phase by ID. - Official documentation: `ats/application_phases `_ + Official documentation: `ats/application_phases `_ :param application_phase_id: The unique identifier of the application phase. :type application_phase_id: int | str @@ -548,7 +548,7 @@ class CandidatesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Candidate]: """Get all candidates. - Official documentation: `ats/candidates `_ + Official documentation: `ats/candidates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -562,7 +562,7 @@ async def all(self, **kwargs) -> ListApiResponse[Candidate]: async def get(self, **kwargs) -> MetaApiResponse[Candidate]: """Get candidates with pagination metadata. - Official documentation: `ats/candidates `_ + Official documentation: `ats/candidates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -578,7 +578,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Candidate]: async def get_by_id(self, candidate_id: int | str, **kwargs) -> Candidate: """Get a single candidate by ID. - Official documentation: `ats/candidates `_ + Official documentation: `ats/candidates `_ :param candidate_id: The unique identifier of the candidate. :type candidate_id: int | str @@ -594,7 +594,7 @@ async def get_by_id(self, candidate_id: int | str, **kwargs) -> Candidate: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Candidate: """Create a candidate. - Official documentation: `ats/candidates `_ + Official documentation: `ats/candidates `_ :param data: Payload for the new candidate (key-value mapping). :type data: Mapping[str, typing.Any] @@ -610,7 +610,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Candidate: async def update(self, candidate_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Candidate: """Update a candidate. - Official documentation: `ats/candidates `_ + Official documentation: `ats/candidates `_ :param candidate_id: The unique identifier of the candidate to update. :type candidate_id: int | str @@ -628,7 +628,7 @@ async def update(self, candidate_id: int | str, data: Mapping[str, typing.Any], async def delete(self, candidate_id: int | str, **kwargs) -> Candidate: """Delete a candidate. - Official documentation: `ats/candidates `_ + Official documentation: `ats/candidates `_ :param candidate_id: The unique identifier of the candidate to delete. :type candidate_id: int | str @@ -667,7 +667,7 @@ class CandidateSourcesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CandidateSource]: """Get all candidate sources. - Official documentation: `ats/candidate_sources `_ + Official documentation: `ats/candidate_sources `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -681,7 +681,7 @@ async def all(self, **kwargs) -> ListApiResponse[CandidateSource]: async def get(self, **kwargs) -> MetaApiResponse[CandidateSource]: """Get candidate sources with pagination metadata. - Official documentation: `ats/candidate_sources `_ + Official documentation: `ats/candidate_sources `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -697,7 +697,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CandidateSource]: async def get_by_id(self, candidate_source_id: int | str, **kwargs) -> CandidateSource: """Get a single candidate source by ID. - Official documentation: `ats/candidate_sources `_ + Official documentation: `ats/candidate_sources `_ :param candidate_source_id: The unique identifier of the candidate source. :type candidate_source_id: int | str @@ -748,7 +748,7 @@ class EvaluationFormsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EvaluationForm]: """Get all evaluation forms. - Official documentation: `ats/evaluation_forms `_ + Official documentation: `ats/evaluation_forms `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -762,7 +762,7 @@ async def all(self, **kwargs) -> ListApiResponse[EvaluationForm]: async def get(self, **kwargs) -> MetaApiResponse[EvaluationForm]: """Get evaluation forms with pagination metadata. - Official documentation: `ats/evaluation_forms `_ + Official documentation: `ats/evaluation_forms `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -778,7 +778,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EvaluationForm]: async def get_by_id(self, evaluation_form_id: int | str, **kwargs) -> EvaluationForm: """Get a single evaluation form by ID. - Official documentation: `ats/evaluation_forms `_ + Official documentation: `ats/evaluation_forms `_ :param evaluation_form_id: The unique identifier of the evaluation form. :type evaluation_form_id: int | str @@ -794,7 +794,7 @@ async def get_by_id(self, evaluation_form_id: int | str, **kwargs) -> Evaluation async def save_as_template(self, data: Mapping[str, typing.Any], **kwargs) -> EvaluationForm: """Save the evaluation form as a template. - Official documentation: `ats/evaluation_forms `_ + Official documentation: `ats/evaluation_forms `_ :param data: Payload for saving as template (key-value mapping). :type data: Mapping[str, typing.Any] @@ -856,7 +856,7 @@ class FeedbacksEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Feedback]: """Get all feedbacks. - Official documentation: `ats/feedbacks `_ + Official documentation: `ats/feedbacks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -870,7 +870,7 @@ async def all(self, **kwargs) -> ListApiResponse[Feedback]: async def get(self, **kwargs) -> MetaApiResponse[Feedback]: """Get feedbacks with pagination metadata. - Official documentation: `ats/feedbacks `_ + Official documentation: `ats/feedbacks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -886,7 +886,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Feedback]: async def get_by_id(self, feedback_id: int | str, **kwargs) -> Feedback: """Get a single feedback by ID. - Official documentation: `ats/feedbacks `_ + Official documentation: `ats/feedbacks `_ :param feedback_id: The unique identifier of the feedback. :type feedback_id: int | str @@ -902,7 +902,7 @@ async def get_by_id(self, feedback_id: int | str, **kwargs) -> Feedback: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Feedback: """Create a feedback. - Official documentation: `ats/feedbacks `_ + Official documentation: `ats/feedbacks `_ :param data: Payload for the new feedback (key-value mapping). :type data: Mapping[str, typing.Any] @@ -918,7 +918,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Feedback: async def update(self, feedback_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Feedback: """Update a feedback. - Official documentation: `ats/feedbacks `_ + Official documentation: `ats/feedbacks `_ :param feedback_id: The unique identifier of the feedback to update. :type feedback_id: int | str @@ -936,7 +936,7 @@ async def update(self, feedback_id: int | str, data: Mapping[str, typing.Any], * async def delete(self, feedback_id: int | str, **kwargs) -> Feedback: """Delete a feedback. - Official documentation: `ats/feedbacks `_ + Official documentation: `ats/feedbacks `_ :param feedback_id: The unique identifier of the feedback to delete. :type feedback_id: int | str @@ -973,7 +973,7 @@ class HiringStagesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[HiringStage]: """Get all hiring stages. - Official documentation: `ats/hiring_stages `_ + Official documentation: `ats/hiring_stages `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -987,7 +987,7 @@ async def all(self, **kwargs) -> ListApiResponse[HiringStage]: async def get(self, **kwargs) -> MetaApiResponse[HiringStage]: """Get hiring stages with pagination metadata. - Official documentation: `ats/hiring_stages `_ + Official documentation: `ats/hiring_stages `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1003,7 +1003,7 @@ async def get(self, **kwargs) -> MetaApiResponse[HiringStage]: async def get_by_id(self, hiring_stage_id: int | str, **kwargs) -> HiringStage: """Get a single hiring stage by ID. - Official documentation: `ats/hiring_stages `_ + Official documentation: `ats/hiring_stages `_ :param hiring_stage_id: The unique identifier of the hiring stage. :type hiring_stage_id: int | str @@ -1111,7 +1111,7 @@ class JobPostingsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[JobPosting]: """Get all job postings. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1125,7 +1125,7 @@ async def all(self, **kwargs) -> ListApiResponse[JobPosting]: async def get(self, **kwargs) -> MetaApiResponse[JobPosting]: """Get job postings with pagination metadata. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1141,7 +1141,7 @@ async def get(self, **kwargs) -> MetaApiResponse[JobPosting]: async def get_by_id(self, job_posting_id: int | str, **kwargs) -> JobPosting: """Get a single job posting by ID. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param job_posting_id: The unique identifier of the job posting. :type job_posting_id: int | str @@ -1157,7 +1157,7 @@ async def get_by_id(self, job_posting_id: int | str, **kwargs) -> JobPosting: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> JobPosting: """Create a job posting. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param data: Payload for the new job posting (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1173,7 +1173,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> JobPosting: async def update(self, job_posting_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> JobPosting: """Update a job posting. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param job_posting_id: The unique identifier of the job posting to update. :type job_posting_id: int | str @@ -1191,7 +1191,7 @@ async def update(self, job_posting_id: int | str, data: Mapping[str, typing.Any] async def delete(self, job_posting_id: int | str, **kwargs) -> JobPosting: """Delete a job posting. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param job_posting_id: The unique identifier of the job posting to delete. :type job_posting_id: int | str @@ -1207,7 +1207,7 @@ async def delete(self, job_posting_id: int | str, **kwargs) -> JobPosting: async def duplicate(self, data: Mapping[str, typing.Any], **kwargs) -> JobPosting: """Duplicate a job posting. - Official documentation: `ats/job_postings `_ + Official documentation: `ats/job_postings `_ :param data: Payload for the duplicate action (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1260,7 +1260,7 @@ class MessagesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Message]: """Get all messages. - Official documentation: `ats/messages `_ + Official documentation: `ats/messages `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1274,7 +1274,7 @@ async def all(self, **kwargs) -> ListApiResponse[Message]: async def get(self, **kwargs) -> MetaApiResponse[Message]: """Get messages with pagination metadata. - Official documentation: `ats/messages `_ + Official documentation: `ats/messages `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1290,7 +1290,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Message]: async def get_by_id(self, message_id: int | str, **kwargs) -> Message: """Get a single message by ID. - Official documentation: `ats/messages `_ + Official documentation: `ats/messages `_ :param message_id: The unique identifier of the message. :type message_id: int | str @@ -1306,7 +1306,7 @@ async def get_by_id(self, message_id: int | str, **kwargs) -> Message: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Message: """Create a message. - Official documentation: `ats/messages `_ + Official documentation: `ats/messages `_ :param data: Payload for the new message (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1355,7 +1355,7 @@ class QuestionsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Question]: """Get all questions. - Official documentation: `ats/questions `_ + Official documentation: `ats/questions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1369,7 +1369,7 @@ async def all(self, **kwargs) -> ListApiResponse[Question]: async def get(self, **kwargs) -> MetaApiResponse[Question]: """Get questions with pagination metadata. - Official documentation: `ats/questions `_ + Official documentation: `ats/questions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1385,7 +1385,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Question]: async def get_by_id(self, question_id: int | str, **kwargs) -> Question: """Get a single question by ID. - Official documentation: `ats/questions `_ + Official documentation: `ats/questions `_ :param question_id: The unique identifier of the question. :type question_id: int | str @@ -1401,7 +1401,7 @@ async def get_by_id(self, question_id: int | str, **kwargs) -> Question: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Question: """Create a question. - Official documentation: `ats/questions `_ + Official documentation: `ats/questions `_ :param data: Payload for the new question (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1417,7 +1417,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Question: async def update(self, question_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Question: """Update a question. - Official documentation: `ats/questions `_ + Official documentation: `ats/questions `_ :param question_id: The unique identifier of the question to update. :type question_id: int | str @@ -1435,7 +1435,7 @@ async def update(self, question_id: int | str, data: Mapping[str, typing.Any], * async def delete(self, question_id: int | str, **kwargs) -> Question: """Delete a question. - Official documentation: `ats/questions `_ + Official documentation: `ats/questions `_ :param question_id: The unique identifier of the question to delete. :type question_id: int | str @@ -1474,7 +1474,7 @@ class RejectionReasonsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[RejectionReason]: """Get all rejection reasons. - Official documentation: `ats/rejection_reasons `_ + Official documentation: `ats/rejection_reasons `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1488,7 +1488,7 @@ async def all(self, **kwargs) -> ListApiResponse[RejectionReason]: async def get(self, **kwargs) -> MetaApiResponse[RejectionReason]: """Get rejection reasons with pagination metadata. - Official documentation: `ats/rejection_reasons `_ + Official documentation: `ats/rejection_reasons `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1504,7 +1504,7 @@ async def get(self, **kwargs) -> MetaApiResponse[RejectionReason]: async def get_by_id(self, rejection_reason_id: int | str, **kwargs) -> RejectionReason: """Get a single rejection reason by ID. - Official documentation: `ats/rejection_reasons `_ + Official documentation: `ats/rejection_reasons `_ :param rejection_reason_id: The unique identifier of the rejection reason. :type rejection_reason_id: int | str diff --git a/src/factorialhr/_attendance.py b/src/factorialhr/_attendance.py index c5ef065..377167a 100644 --- a/src/factorialhr/_attendance.py +++ b/src/factorialhr/_attendance.py @@ -90,7 +90,7 @@ class BreakConfigurationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[BreakConfiguration]: """Get all break configurations records. - Official documentation: `attendance/break_configurations `_ + Official documentation: `attendance/break_configurations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -104,7 +104,7 @@ async def all(self, **kwargs) -> ListApiResponse[BreakConfiguration]: async def get(self, **kwargs) -> MetaApiResponse[BreakConfiguration]: """Get break configurations with pagination metadata. - Official documentation: `attendance/break_configurations `_ + Official documentation: `attendance/break_configurations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -120,7 +120,7 @@ async def get(self, **kwargs) -> MetaApiResponse[BreakConfiguration]: async def get_by_id(self, break_configuration_id: int | str, **kwargs) -> BreakConfiguration: """Get a specific break configuration by ID. - Official documentation: `attendance/break_configurations `_ + Official documentation: `attendance/break_configurations `_ :param break_configuration_id: The unique identifier. :type break_configuration_id: int | str @@ -136,7 +136,7 @@ async def get_by_id(self, break_configuration_id: int | str, **kwargs) -> BreakC async def create(self, data: Mapping[str, typing.Any], **kwargs) -> BreakConfiguration: """Create a new break configuration. - Official documentation: `attendance/break_configurations `_ + Official documentation: `attendance/break_configurations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -157,7 +157,7 @@ async def update( ) -> BreakConfiguration: """Update a break configuration. - Official documentation: `attendance/break_configurations `_ + Official documentation: `attendance/break_configurations `_ :param break_configuration_id: The unique identifier of the record to update. :type break_configuration_id: int | str @@ -219,7 +219,7 @@ class EditTimesheetRequestsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EditTimesheetRequest]: """Get all edit timesheet requests records. - Official documentation: `attendance/edit_timesheet_requests `_ + Official documentation: `attendance/edit_timesheet_requests `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -233,7 +233,7 @@ async def all(self, **kwargs) -> ListApiResponse[EditTimesheetRequest]: async def get(self, **kwargs) -> MetaApiResponse[EditTimesheetRequest]: """Get edit timesheet requests with pagination metadata. - Official documentation: `attendance/edit_timesheet_requests `_ + Official documentation: `attendance/edit_timesheet_requests `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -249,7 +249,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EditTimesheetRequest]: async def get_by_id(self, edit_timesheet_request_id: int | str, **kwargs) -> EditTimesheetRequest: """Get a specific edit timesheet request by ID. - Official documentation: `attendance/edit_timesheet_requests `_ + Official documentation: `attendance/edit_timesheet_requests `_ :param edit_timesheet_request_id: The unique identifier. :type edit_timesheet_request_id: int | str @@ -265,7 +265,7 @@ async def get_by_id(self, edit_timesheet_request_id: int | str, **kwargs) -> Edi async def create(self, data: Mapping[str, typing.Any], **kwargs) -> EditTimesheetRequest: """Create a new edit timesheet request. - Official documentation: `attendance/edit_timesheet_requests `_ + Official documentation: `attendance/edit_timesheet_requests `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -286,7 +286,7 @@ async def update( ) -> EditTimesheetRequest: """Update an edit timesheet request. - Official documentation: `attendance/edit_timesheet_requests `_ + Official documentation: `attendance/edit_timesheet_requests `_ :param edit_timesheet_request_id: The unique identifier of the record to update. :type edit_timesheet_request_id: int | str @@ -304,7 +304,7 @@ async def update( async def delete(self, edit_timesheet_request_id: int | str, **kwargs) -> EditTimesheetRequest: """Delete an edit timesheet request. - Official documentation: `attendance/edit_timesheet_requests `_ + Official documentation: `attendance/edit_timesheet_requests `_ :param edit_timesheet_request_id: The unique identifier of the record to delete. :type edit_timesheet_request_id: int | str @@ -539,7 +539,7 @@ class EstimatedTimesEndpoint(Endpoint): async def get(self, **kwargs) -> MetaApiResponse[EstimatedTime]: """Get estimated times with pagination metadata. - Official documentation: `attendance/estimated_times `_ + Official documentation: `attendance/estimated_times `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -555,7 +555,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EstimatedTime]: async def all(self, **kwargs) -> ListApiResponse[EstimatedTime]: """Get all estimated times records. - Official documentation: `attendance/estimated_times `_ + Official documentation: `attendance/estimated_times `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -575,7 +575,7 @@ class OpenShiftsEndpoint(Endpoint): async def get(self, **kwargs) -> MetaApiResponse[OpenShift]: """Get open shifts with pagination metadata. - Official documentation: `attendance/open_shifts `_ + Official documentation: `attendance/open_shifts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -591,7 +591,7 @@ async def get(self, **kwargs) -> MetaApiResponse[OpenShift]: async def all(self, **kwargs) -> ListApiResponse[OpenShift]: """Get all open shifts records. - Official documentation: `attendance/open_shifts `_ + Official documentation: `attendance/open_shifts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -611,7 +611,7 @@ class OvertimeRequestsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[OvertimeRequest]: """Get all overtime requests records. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -625,7 +625,7 @@ async def all(self, **kwargs) -> ListApiResponse[OvertimeRequest]: async def get(self, **kwargs) -> MetaApiResponse[OvertimeRequest]: """Get overtime requests with pagination metadata. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -641,7 +641,7 @@ async def get(self, **kwargs) -> MetaApiResponse[OvertimeRequest]: async def get_by_id(self, overtime_request_id: int | str, **kwargs) -> OvertimeRequest: """Get a specific overtime request by ID. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param overtime_request_id: The unique identifier. :type overtime_request_id: int | str @@ -657,7 +657,7 @@ async def get_by_id(self, overtime_request_id: int | str, **kwargs) -> OvertimeR async def create(self, data: Mapping[str, typing.Any], **kwargs) -> OvertimeRequest: """Create a new overtime request. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -678,7 +678,7 @@ async def update( ) -> OvertimeRequest: """Update an overtime request. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param overtime_request_id: The unique identifier of the record to update. :type overtime_request_id: int | str @@ -696,7 +696,7 @@ async def update( async def delete(self, overtime_request_id: int | str, **kwargs) -> OvertimeRequest: """Delete an overtime request. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param overtime_request_id: The unique identifier of the record to delete. :type overtime_request_id: int | str @@ -712,7 +712,7 @@ async def delete(self, overtime_request_id: int | str, **kwargs) -> OvertimeRequ async def approve(self, data: Mapping[str, typing.Any], **kwargs) -> OvertimeRequest: """Approve an overtime request. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -728,7 +728,7 @@ async def approve(self, data: Mapping[str, typing.Any], **kwargs) -> OvertimeReq async def reject(self, data: Mapping[str, typing.Any], **kwargs) -> OvertimeRequest: """Reject an overtime request. - Official documentation: `attendance/overtime_requests `_ + Official documentation: `attendance/overtime_requests `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -750,7 +750,7 @@ class ShiftsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[AttendanceShift]: """Get all shifts records. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -764,7 +764,7 @@ async def all(self, **kwargs) -> ListApiResponse[AttendanceShift]: async def get(self, **kwargs) -> MetaApiResponse[AttendanceShift]: """Get shifts with pagination metadata. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -780,7 +780,7 @@ async def get(self, **kwargs) -> MetaApiResponse[AttendanceShift]: async def get_by_id(self, shift_id: int | str, **kwargs) -> AttendanceShift: """Get a specific shift by ID. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param shift_id: The unique identifier. :type shift_id: int | str @@ -796,7 +796,7 @@ async def get_by_id(self, shift_id: int | str, **kwargs) -> AttendanceShift: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> AttendanceShift: """Create a new shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -817,7 +817,7 @@ async def update( ) -> AttendanceShift: """Update a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param shift_id: The unique identifier of the record to update. :type shift_id: int | str @@ -835,7 +835,7 @@ async def update( async def delete(self, shift_id: int | str, **kwargs) -> AttendanceShift: """Delete a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param shift_id: The unique identifier of the record to delete. :type shift_id: int | str @@ -851,7 +851,7 @@ async def delete(self, shift_id: int | str, **kwargs) -> AttendanceShift: async def autofill(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[AttendanceShift]: """Autofill shifts. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -867,7 +867,7 @@ async def autofill(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[A async def break_start(self, data: Mapping[str, typing.Any], **kwargs) -> AttendanceShift: """Start a break in a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -883,7 +883,7 @@ async def break_start(self, data: Mapping[str, typing.Any], **kwargs) -> Attenda async def break_end(self, data: Mapping[str, typing.Any], **kwargs) -> AttendanceShift: """End a break in a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -899,7 +899,7 @@ async def break_end(self, data: Mapping[str, typing.Any], **kwargs) -> Attendanc async def clock_in(self, data: Mapping[str, typing.Any], **kwargs) -> AttendanceShift: """Clock in a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -915,7 +915,7 @@ async def clock_in(self, data: Mapping[str, typing.Any], **kwargs) -> Attendance async def clock_out(self, data: Mapping[str, typing.Any], **kwargs) -> AttendanceShift: """Clock out a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -931,7 +931,7 @@ async def clock_out(self, data: Mapping[str, typing.Any], **kwargs) -> Attendanc async def toggle_clock(self, data: Mapping[str, typing.Any], **kwargs) -> AttendanceShift: """Toggle clock (clock in/out) a shift. - Official documentation: `attendance/shifts `_ + Official documentation: `attendance/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -972,7 +972,7 @@ class ReviewsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Review]: """Get all reviews records. - Official documentation: `attendance/reviews `_ + Official documentation: `attendance/reviews `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -986,7 +986,7 @@ async def all(self, **kwargs) -> ListApiResponse[Review]: async def get(self, **kwargs) -> MetaApiResponse[Review]: """Get reviews with pagination metadata. - Official documentation: `attendance/reviews `_ + Official documentation: `attendance/reviews `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1002,7 +1002,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Review]: async def get_by_id(self, review_id: int | str, **kwargs) -> Review: """Get a specific review by ID. - Official documentation: `attendance/reviews `_ + Official documentation: `attendance/reviews `_ :param review_id: The unique identifier. :type review_id: int | str @@ -1018,7 +1018,7 @@ async def get_by_id(self, review_id: int | str, **kwargs) -> Review: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Review]: """Bulk create reviews. - Official documentation: `attendance/reviews `_ + Official documentation: `attendance/reviews `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1034,7 +1034,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_destroy(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Review]: """Bulk destroy reviews. - Official documentation: `attendance/reviews `_ + Official documentation: `attendance/reviews `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1056,7 +1056,7 @@ class WorkedTimesEndpoint(Endpoint): async def get(self, **kwargs) -> MetaApiResponse[WorkedTime]: """Get worked times with pagination metadata. - Official documentation: `attendance/worked_times `_ + Official documentation: `attendance/worked_times `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1072,7 +1072,7 @@ async def get(self, **kwargs) -> MetaApiResponse[WorkedTime]: async def all(self, **kwargs) -> ListApiResponse[WorkedTime]: """Get all worked times records. - Official documentation: `attendance/worked_times `_ + Official documentation: `attendance/worked_times `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional diff --git a/src/factorialhr/_banking.py b/src/factorialhr/_banking.py index 4fff06b..04a12aa 100644 --- a/src/factorialhr/_banking.py +++ b/src/factorialhr/_banking.py @@ -209,7 +209,7 @@ class BankAccountsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[BankAccount]: """Get all bank accounts records. - Official documentation: `banking/bank_accounts `_ + Official documentation: `banking/bank_accounts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -223,7 +223,7 @@ async def all(self, **kwargs) -> ListApiResponse[BankAccount]: async def get(self, **kwargs) -> MetaApiResponse[BankAccount]: """Get bank accounts with pagination metadata. - Official documentation: `banking/bank_accounts `_ + Official documentation: `banking/bank_accounts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -239,7 +239,7 @@ async def get(self, **kwargs) -> MetaApiResponse[BankAccount]: async def get_by_id(self, bank_account_id: int | str, **kwargs) -> BankAccount: """Get a specific bank account by ID. - Official documentation: `banking/bank_accounts `_ + Official documentation: `banking/bank_accounts `_ :param bank_account_id: The unique identifier. :type bank_account_id: int | str @@ -255,7 +255,7 @@ async def get_by_id(self, bank_account_id: int | str, **kwargs) -> BankAccount: async def create_manual(self, data: Mapping[str, typing.Any], **kwargs) -> BankAccount: """Create a manual bank account. - Official documentation: `banking/bank_accounts `_ + Official documentation: `banking/bank_accounts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -277,7 +277,7 @@ class CardPaymentsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CardPayment]: """Get all card payments records. - Official documentation: `banking/card_payments `_ + Official documentation: `banking/card_payments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -291,7 +291,7 @@ async def all(self, **kwargs) -> ListApiResponse[CardPayment]: async def get(self, **kwargs) -> MetaApiResponse[CardPayment]: """Get card payments with pagination metadata. - Official documentation: `banking/card_payments `_ + Official documentation: `banking/card_payments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -307,7 +307,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CardPayment]: async def get_by_id(self, card_payment_id: int | str, **kwargs) -> CardPayment: """Get a specific card payment by ID. - Official documentation: `banking/card_payments `_ + Official documentation: `banking/card_payments `_ :param card_payment_id: The unique identifier. :type card_payment_id: int | str @@ -329,7 +329,7 @@ class TransactionsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Transaction]: """Get all transactions records. - Official documentation: `banking/transactions `_ + Official documentation: `banking/transactions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -343,7 +343,7 @@ async def all(self, **kwargs) -> ListApiResponse[Transaction]: async def get(self, **kwargs) -> MetaApiResponse[Transaction]: """Get transactions with pagination metadata. - Official documentation: `banking/transactions `_ + Official documentation: `banking/transactions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -359,7 +359,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Transaction]: async def get_by_id(self, transaction_id: int | str, **kwargs) -> Transaction: """Get a specific transaction by ID. - Official documentation: `banking/transactions `_ + Official documentation: `banking/transactions `_ :param transaction_id: The unique identifier. :type transaction_id: int | str diff --git a/src/factorialhr/_bookkeepers_management.py b/src/factorialhr/_bookkeepers_management.py index c80e0f0..c1079bf 100644 --- a/src/factorialhr/_bookkeepers_management.py +++ b/src/factorialhr/_bookkeepers_management.py @@ -95,7 +95,7 @@ class BookkeepersManagementEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[BookkeepersManagementIncidence]: """Get all incidences records. - Official documentation: `bookkeepers_management/incidences `_ + Official documentation: `bookkeepers_management/incidences `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -109,7 +109,7 @@ async def all(self, **kwargs) -> ListApiResponse[BookkeepersManagementIncidence] async def get(self, **kwargs) -> MetaApiResponse[BookkeepersManagementIncidence]: """Get incidences with pagination metadata. - Official documentation: `bookkeepers_management/incidences `_ + Official documentation: `bookkeepers_management/incidences `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -129,7 +129,7 @@ async def get(self, **kwargs) -> MetaApiResponse[BookkeepersManagementIncidence] async def get_by_id(self, incidence_id: int | str, **kwargs) -> BookkeepersManagementIncidence: """Get a specific incidence by ID. - Official documentation: `bookkeepers_management/incidences `_ + Official documentation: `bookkeepers_management/incidences `_ :param incidence_id: The unique identifier. :type incidence_id: int | str @@ -150,7 +150,7 @@ async def update( ) -> BookkeepersManagementIncidence: """Update an incidence. - Official documentation: `bookkeepers_management/incidences `_ + Official documentation: `bookkeepers_management/incidences `_ :param incidence_id: The unique identifier of the record to update. :type incidence_id: int | str diff --git a/src/factorialhr/_client.py b/src/factorialhr/_client.py index 9537acc..933c6c5 100644 --- a/src/factorialhr/_client.py +++ b/src/factorialhr/_client.py @@ -345,7 +345,7 @@ def api_version(self) -> str: :return: The API version string. :rtype: str """ - return '2026-01-01' + return '2026-04-01' async def close(self): """Close the client session. diff --git a/src/factorialhr/_companies.py b/src/factorialhr/_companies.py index 4ff22dd..6010988 100644 --- a/src/factorialhr/_companies.py +++ b/src/factorialhr/_companies.py @@ -43,7 +43,7 @@ class LegalEntitiesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[LegalEntity]: """Get all companies records. - Official documentation: `companies/legal_entities `_ + Official documentation: `companies/legal_entities `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -57,7 +57,7 @@ async def all(self, **kwargs) -> ListApiResponse[LegalEntity]: async def get(self, **kwargs) -> MetaApiResponse[LegalEntity]: """Get companies with pagination metadata. - Official documentation: `companies/legal_entities `_ + Official documentation: `companies/legal_entities `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -73,7 +73,7 @@ async def get(self, **kwargs) -> MetaApiResponse[LegalEntity]: async def get_by_id(self, legal_entity_id: int | str, **kwargs) -> LegalEntity: """Get a specific companies by ID. - Official documentation: `companies/legal_entities `_ + Official documentation: `companies/legal_entities `_ :param legal_entity_id: The unique identifier. :type legal_entity_id: int | str @@ -89,7 +89,7 @@ async def get_by_id(self, legal_entity_id: int | str, **kwargs) -> LegalEntity: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> LegalEntity: """Create a new companies. - Official documentation: `companies/legal_entities `_ + Official documentation: `companies/legal_entities `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_compensations.py b/src/factorialhr/_compensations.py index ccad1b1..12fe560 100644 --- a/src/factorialhr/_compensations.py +++ b/src/factorialhr/_compensations.py @@ -64,7 +64,7 @@ class ConceptsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Concept]: """Get all concepts records. - Official documentation: `compensations/concepts `_ + Official documentation: `compensations/concepts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -78,7 +78,7 @@ async def all(self, **kwargs) -> ListApiResponse[Concept]: async def get(self, **kwargs) -> MetaApiResponse[Concept]: """Get concepts with pagination metadata. - Official documentation: `compensations/concepts `_ + Official documentation: `compensations/concepts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -94,7 +94,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Concept]: async def get_by_id(self, concept_id: int | str, **kwargs) -> Concept: """Get a specific concept by ID. - Official documentation: `compensations/concepts `_ + Official documentation: `compensations/concepts `_ :param concept_id: The unique identifier. :type concept_id: int | str diff --git a/src/factorialhr/_contracts.py b/src/factorialhr/_contracts.py index 45a6f74..f05bd68 100644 --- a/src/factorialhr/_contracts.py +++ b/src/factorialhr/_contracts.py @@ -126,11 +126,6 @@ class ContractVersion(pydantic.BaseModel): ) #: Job title of the employee job_title: str | None = pydantic.Field(default=None, description='Job title of the employee') - #: Job catalog level identifier, refers to /job_catalog/levels endpoint - job_catalog_level_id: int | None = pydantic.Field( - default=None, - description='Job catalog level identifier, refers to /job_catalog/levels endpoint', - ) #: The day the employee is hired starts_on: datetime.date | None = pydantic.Field(default=None, description='The day the employee is hired') #: The day the employee is terminated @@ -274,6 +269,14 @@ class ContractVersion(pydantic.BaseModel): fr_work_type_id: int | None = pydantic.Field(default=None, description='Work type identifier') #: Contract type identifier de_contract_type_id: int | None = pydantic.Field(default=None, description='Contract type identifier') + #: Identifier for the german base salary type (see /payroll/concepts) + de_base_salary_type_id: int | None = pydantic.Field( + default=None, + description=( + 'Identifier for the german base salary type. ' + 'references a payroll concept available via the /payroll/concepts endpoint' + ), + ) #: Contract type identifier pt_contract_type_id: int | None = pydantic.Field(default=None, description='Contract type identifier') #: The role id of the employee in the job catalog @@ -441,7 +444,7 @@ class CompensationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Compensation]: """Get all compensations. - Official documentation: `contracts/compensations `_ + Official documentation: `contracts/compensations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -455,7 +458,7 @@ async def all(self, **kwargs) -> ListApiResponse[Compensation]: async def get(self, **kwargs) -> MetaApiResponse[Compensation]: """Get compensations with pagination metadata. - Official documentation: `contracts/compensations `_ + Official documentation: `contracts/compensations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -471,7 +474,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Compensation]: async def get_by_id(self, compensation_id: int | str, **kwargs) -> Compensation: """Get a specific compensation by ID. - Official documentation: `contracts/compensations `_ + Official documentation: `contracts/compensations `_ :param compensation_id: The unique identifier. :type compensation_id: int | str @@ -487,7 +490,7 @@ async def get_by_id(self, compensation_id: int | str, **kwargs) -> Compensation: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Compensation: """Create a new compensation. - Official documentation: `contracts/compensations `_ + Official documentation: `contracts/compensations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -503,7 +506,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Compensation async def update(self, compensation_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Compensation: """Update a compensation. - Official documentation: `contracts/compensations `_ + Official documentation: `contracts/compensations `_ :param compensation_id: The unique identifier of the record to update. :type compensation_id: int | str @@ -521,7 +524,7 @@ async def update(self, compensation_id: int | str, data: Mapping[str, typing.Any async def delete(self, compensation_id: int | str, **kwargs) -> None: """Delete a compensation. - Official documentation: `contracts/compensations `_ + Official documentation: `contracts/compensations `_ :param compensation_id: The unique identifier of the record to delete. :type compensation_id: int | str @@ -542,7 +545,7 @@ class ContractTemplatesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ContractTemplate]: """Get all contract templates. - Official documentation: `contracts/contract_templates `_ + Official documentation: `contracts/contract_templates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -556,7 +559,7 @@ async def all(self, **kwargs) -> ListApiResponse[ContractTemplate]: async def get(self, **kwargs) -> MetaApiResponse[ContractTemplate]: """Get contract templates with pagination metadata. - Official documentation: `contracts/contract_templates `_ + Official documentation: `contracts/contract_templates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -572,7 +575,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ContractTemplate]: async def get_by_id(self, template_id: int | str, **kwargs) -> ContractTemplate: """Get a specific contract template by ID. - Official documentation: `contracts/contract_templates `_ + Official documentation: `contracts/contract_templates `_ :param template_id: The unique identifier. :type template_id: int | str @@ -594,7 +597,7 @@ class ContractVersionsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ContractVersion]: """Get all contract versions. - Official documentation: `contracts/contract_versions `_ + Official documentation: `contracts/contract_versions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -608,7 +611,7 @@ async def all(self, **kwargs) -> ListApiResponse[ContractVersion]: async def get(self, **kwargs) -> MetaApiResponse[ContractVersion]: """Get contract versions with pagination metadata. - Official documentation: `contracts/contract_versions `_ + Official documentation: `contracts/contract_versions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -624,7 +627,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ContractVersion]: async def get_by_id(self, version_id: int | str, **kwargs) -> ContractVersion: """Get a specific contract version by ID. - Official documentation: `contracts/contract_versions `_ + Official documentation: `contracts/contract_versions `_ :param version_id: The unique identifier. :type version_id: int | str @@ -640,7 +643,7 @@ async def get_by_id(self, version_id: int | str, **kwargs) -> ContractVersion: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ContractVersion: """Create a new contract version. - Official documentation: `contracts/contract_versions `_ + Official documentation: `contracts/contract_versions `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -656,7 +659,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ContractVers async def update(self, version_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ContractVersion: """Update a contract version. - Official documentation: `contracts/contract_versions `_ + Official documentation: `contracts/contract_versions `_ :param version_id: The unique identifier of the record to update. :type version_id: int | str @@ -674,7 +677,7 @@ async def update(self, version_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, version_id: int | str, **kwargs) -> None: """Delete a contract version. - Official documentation: `contracts/contract_versions `_ + Official documentation: `contracts/contract_versions `_ :param version_id: The unique identifier of the record to delete. :type version_id: int | str @@ -695,7 +698,7 @@ class SpanishContractTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SpanishContractType]: """Get all Spanish contract types. - Official documentation: `contracts/spanish_contract_types `_ + Official documentation: `contracts/spanish_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -709,7 +712,7 @@ async def all(self, **kwargs) -> ListApiResponse[SpanishContractType]: async def get(self, **kwargs) -> MetaApiResponse[SpanishContractType]: """Get Spanish contract types with pagination metadata. - Official documentation: `contracts/spanish_contract_types `_ + Official documentation: `contracts/spanish_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -725,7 +728,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SpanishContractType]: async def get_by_id(self, type_id: int | str, **kwargs) -> SpanishContractType: """Get a specific Spanish contract type by ID. - Official documentation: `contracts/spanish_contract_types `_ + Official documentation: `contracts/spanish_contract_types `_ :param type_id: The unique identifier. :type type_id: int | str @@ -741,7 +744,7 @@ async def get_by_id(self, type_id: int | str, **kwargs) -> SpanishContractType: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> SpanishContractType: """Create a new Spanish contract type. - Official documentation: `contracts/spanish_contract_types `_ + Official documentation: `contracts/spanish_contract_types `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -763,7 +766,7 @@ class FrenchContractTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[FrenchContractType]: """Get all French contract types. - Official documentation: `contracts/french_contract_types `_ + Official documentation: `contracts/french_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -777,7 +780,7 @@ async def all(self, **kwargs) -> ListApiResponse[FrenchContractType]: async def get(self, **kwargs) -> MetaApiResponse[FrenchContractType]: """Get French contract types with pagination metadata. - Official documentation: `contracts/french_contract_types `_ + Official documentation: `contracts/french_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -793,7 +796,7 @@ async def get(self, **kwargs) -> MetaApiResponse[FrenchContractType]: async def get_by_id(self, type_id: int | str, **kwargs) -> FrenchContractType: """Get a specific French contract type by ID. - Official documentation: `contracts/french_contract_types `_ + Official documentation: `contracts/french_contract_types `_ :param type_id: The unique identifier. :type type_id: int | str @@ -815,7 +818,7 @@ class GermanContractTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[GermanContractType]: """Get all German contract types. - Official documentation: `contracts/german_contract_types `_ + Official documentation: `contracts/german_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -829,7 +832,7 @@ async def all(self, **kwargs) -> ListApiResponse[GermanContractType]: async def get(self, **kwargs) -> MetaApiResponse[GermanContractType]: """Get German contract types with pagination metadata. - Official documentation: `contracts/german_contract_types `_ + Official documentation: `contracts/german_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -845,7 +848,7 @@ async def get(self, **kwargs) -> MetaApiResponse[GermanContractType]: async def get_by_id(self, type_id: int | str, **kwargs) -> GermanContractType: """Get a specific German contract type by ID. - Official documentation: `contracts/german_contract_types `_ + Official documentation: `contracts/german_contract_types `_ :param type_id: The unique identifier. :type type_id: int | str @@ -867,7 +870,7 @@ class PortugueseContractTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PortugueseContractType]: """Get all Portuguese contract types. - Official documentation: `contracts/portuguese_contract_types `_ + Official documentation: `contracts/portuguese_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -881,7 +884,7 @@ async def all(self, **kwargs) -> ListApiResponse[PortugueseContractType]: async def get(self, **kwargs) -> MetaApiResponse[PortugueseContractType]: """Get Portuguese contract types with pagination metadata. - Official documentation: `contracts/portuguese_contract_types `_ + Official documentation: `contracts/portuguese_contract_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -897,7 +900,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PortugueseContractType]: async def get_by_id(self, type_id: int | str, **kwargs) -> PortugueseContractType: """Get a specific Portuguese contract type by ID. - Official documentation: `contracts/portuguese_contract_types `_ + Official documentation: `contracts/portuguese_contract_types `_ :param type_id: The unique identifier. :type type_id: int | str @@ -919,7 +922,7 @@ class ReferenceContractsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ContractVersion]: """Get all reference contracts. - Official documentation: `contracts/reference_contracts `_ + Official documentation: `contracts/reference_contracts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -933,7 +936,7 @@ async def all(self, **kwargs) -> ListApiResponse[ContractVersion]: async def get(self, **kwargs) -> MetaApiResponse[ContractVersion]: """Get reference contracts with pagination metadata. - Official documentation: `contracts/reference_contracts `_ + Official documentation: `contracts/reference_contracts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -955,7 +958,7 @@ class SpanishEducationLevelsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SpanishEducationLevel]: """Get all Spanish education levels. - Official documentation: `contracts/spanish_education_levels `_ + Official documentation: `contracts/spanish_education_levels `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -969,7 +972,7 @@ async def all(self, **kwargs) -> ListApiResponse[SpanishEducationLevel]: async def get(self, **kwargs) -> MetaApiResponse[SpanishEducationLevel]: """Get Spanish education levels with pagination metadata. - Official documentation: `contracts/spanish_education_levels `_ + Official documentation: `contracts/spanish_education_levels `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -985,7 +988,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SpanishEducationLevel]: async def get_by_id(self, level_id: int | str, **kwargs) -> SpanishEducationLevel: """Get a specific Spanish education level by ID. - Official documentation: `contracts/spanish_education_levels `_ + Official documentation: `contracts/spanish_education_levels `_ :param level_id: The unique identifier. :type level_id: int | str @@ -1001,7 +1004,7 @@ async def get_by_id(self, level_id: int | str, **kwargs) -> SpanishEducationLeve async def create(self, data: Mapping[str, typing.Any], **kwargs) -> SpanishEducationLevel: """Create a new Spanish education level. - Official documentation: `contracts/spanish_education_levels `_ + Official documentation: `contracts/spanish_education_levels `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1023,7 +1026,7 @@ class SpanishProfessionalCategoriesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SpanishProfessionalCategory]: """Get all Spanish professional categories. - Official documentation: `contracts/spanish_professional_categories `_ + Official documentation: `contracts/spanish_professional_categories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1037,7 +1040,7 @@ async def all(self, **kwargs) -> ListApiResponse[SpanishProfessionalCategory]: async def get(self, **kwargs) -> MetaApiResponse[SpanishProfessionalCategory]: """Get Spanish professional categories with pagination metadata. - Official documentation: `contracts/spanish_professional_categories `_ + Official documentation: `contracts/spanish_professional_categories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1057,7 +1060,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SpanishProfessionalCategory]: async def get_by_id(self, category_id: int | str, **kwargs) -> SpanishProfessionalCategory: """Get a specific Spanish professional category by ID. - Official documentation: `contracts/spanish_professional_categories `_ + Official documentation: `contracts/spanish_professional_categories `_ :param category_id: The unique identifier. :type category_id: int | str @@ -1073,7 +1076,7 @@ async def get_by_id(self, category_id: int | str, **kwargs) -> SpanishProfession async def create(self, data: Mapping[str, typing.Any], **kwargs) -> SpanishProfessionalCategory: """Create a new Spanish professional category. - Official documentation: `contracts/spanish_professional_categories `_ + Official documentation: `contracts/spanish_professional_categories `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1095,7 +1098,7 @@ class SpanishWorkingDayTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SpanishWorkingDayType]: """Get all Spanish working day types. - Official documentation: `contracts/spanish_working_day_types `_ + Official documentation: `contracts/spanish_working_day_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1109,7 +1112,7 @@ async def all(self, **kwargs) -> ListApiResponse[SpanishWorkingDayType]: async def get(self, **kwargs) -> MetaApiResponse[SpanishWorkingDayType]: """Get Spanish working day types with pagination metadata. - Official documentation: `contracts/spanish_working_day_types `_ + Official documentation: `contracts/spanish_working_day_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1125,7 +1128,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SpanishWorkingDayType]: async def get_by_id(self, type_id: int | str, **kwargs) -> SpanishWorkingDayType: """Get a specific Spanish working day type by ID. - Official documentation: `contracts/spanish_working_day_types `_ + Official documentation: `contracts/spanish_working_day_types `_ :param type_id: The unique identifier. :type type_id: int | str @@ -1141,7 +1144,7 @@ async def get_by_id(self, type_id: int | str, **kwargs) -> SpanishWorkingDayType async def create(self, data: Mapping[str, typing.Any], **kwargs) -> SpanishWorkingDayType: """Create a new Spanish working day type. - Official documentation: `contracts/spanish_working_day_types `_ + Official documentation: `contracts/spanish_working_day_types `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1177,6 +1180,14 @@ class ContractVersionHistory(pydantic.BaseModel): 'role. Refer to job_catalog/tree_nodes endpoint.' ), ) + #: Identifier for the german base salary type (see /payroll/concepts) + de_base_salary_type_id: int | None = pydantic.Field( + default=None, + description=( + 'Identifier for the german base salary type. ' + 'references a payroll concept available via the /payroll/concepts endpoint' + ), + ) #: Creation date created_at: datetime.datetime = pydantic.Field(description='Creation date') #: Last update date @@ -1210,7 +1221,7 @@ class ContractVersionHistoriesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ContractVersionHistory]: """Get all contract version histories. - Official documentation: `contracts/contract_version_histories `_ + Official documentation: `contracts/contract_version_histories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1224,7 +1235,7 @@ async def all(self, **kwargs) -> ListApiResponse[ContractVersionHistory]: async def get(self, **kwargs) -> MetaApiResponse[ContractVersionHistory]: """Get contract version histories with pagination metadata. - Official documentation: `contracts/contract_version_histories `_ + Official documentation: `contracts/contract_version_histories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1240,7 +1251,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ContractVersionHistory]: async def get_by_id(self, history_id: int | str, **kwargs) -> ContractVersionHistory: """Get a specific contract version history by ID. - Official documentation: `contracts/contract_version_histories `_ + Official documentation: `contracts/contract_version_histories `_ :param history_id: The unique identifier. :type history_id: int | str @@ -1262,7 +1273,7 @@ class ContractVersionMetaDataEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ContractVersionMetaDatum]: """Get all contract version meta data. - Official documentation: `contracts/contract_version_meta_data `_ + Official documentation: `contracts/contract_version_meta_data `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1276,7 +1287,7 @@ async def all(self, **kwargs) -> ListApiResponse[ContractVersionMetaDatum]: async def get(self, **kwargs) -> MetaApiResponse[ContractVersionMetaDatum]: """Get contract version meta data with pagination metadata. - Official documentation: `contracts/contract_version_meta_data `_ + Official documentation: `contracts/contract_version_meta_data `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1296,7 +1307,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ContractVersionMetaDatum]: async def get_by_id(self, meta_datum_id: int | str, **kwargs) -> ContractVersionMetaDatum: """Get a specific contract version meta datum by ID. - Official documentation: `contracts/contract_version_meta_data `_ + Official documentation: `contracts/contract_version_meta_data `_ :param meta_datum_id: The unique identifier. :type meta_datum_id: int | str @@ -1318,7 +1329,7 @@ class TaxonomiesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Taxonomy]: """Get all taxonomies. - Official documentation: `contracts/taxonomies `_ + Official documentation: `contracts/taxonomies `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1332,7 +1343,7 @@ async def all(self, **kwargs) -> ListApiResponse[Taxonomy]: async def get(self, **kwargs) -> MetaApiResponse[Taxonomy]: """Get taxonomies with pagination metadata. - Official documentation: `contracts/taxonomies `_ + Official documentation: `contracts/taxonomies `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1348,7 +1359,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Taxonomy]: async def get_by_id(self, taxonomy_id: int | str, **kwargs) -> Taxonomy: """Get a specific taxonomy by ID. - Official documentation: `contracts/taxonomies `_ + Official documentation: `contracts/taxonomies `_ :param taxonomy_id: The unique identifier. :type taxonomy_id: int | str diff --git a/src/factorialhr/_custom_fields.py b/src/factorialhr/_custom_fields.py index 6fd5c1a..2901a92 100644 --- a/src/factorialhr/_custom_fields.py +++ b/src/factorialhr/_custom_fields.py @@ -128,7 +128,7 @@ class FieldsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Field]: """Get all custom fields. - Official documentation: `custom_fields/fields `_ + Official documentation: `custom_fields/fields `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -142,7 +142,7 @@ async def all(self, **kwargs) -> ListApiResponse[Field]: async def get(self, **kwargs) -> MetaApiResponse[Field]: """Get custom fields with pagination metadata. - Official documentation: `custom_fields/fields `_ + Official documentation: `custom_fields/fields `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -158,7 +158,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Field]: async def get_by_id(self, field_id: int | str, **kwargs) -> Field: """Get a specific custom field by ID. - Official documentation: `custom_fields/fields `_ + Official documentation: `custom_fields/fields `_ :param field_id: The unique identifier. :type field_id: int | str @@ -174,7 +174,7 @@ async def get_by_id(self, field_id: int | str, **kwargs) -> Field: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Field: """Create a new custom field. - Official documentation: `custom_fields/fields `_ + Official documentation: `custom_fields/fields `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -190,7 +190,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Field: async def delete(self, field_id: int | str, **kwargs) -> None: """Delete a custom field. - Official documentation: `custom_fields/fields `_ + Official documentation: `custom_fields/fields `_ :param field_id: The unique identifier of the record to delete. :type field_id: int | str @@ -211,7 +211,7 @@ class OptionsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Option]: """Get all custom field options. - Official documentation: `custom_fields/options `_ + Official documentation: `custom_fields/options `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -225,7 +225,7 @@ async def all(self, **kwargs) -> ListApiResponse[Option]: async def get(self, **kwargs) -> MetaApiResponse[Option]: """Get custom field options with pagination metadata. - Official documentation: `custom_fields/options `_ + Official documentation: `custom_fields/options `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -241,7 +241,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Option]: async def get_by_id(self, option_id: int | str, **kwargs) -> Option: """Get a specific custom field option by ID. - Official documentation: `custom_fields/options `_ + Official documentation: `custom_fields/options `_ :param option_id: The unique identifier. :type option_id: int | str @@ -257,7 +257,7 @@ async def get_by_id(self, option_id: int | str, **kwargs) -> Option: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Option: """Create a new custom field option. - Official documentation: `custom_fields/options `_ + Official documentation: `custom_fields/options `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -279,7 +279,7 @@ class ResourceFieldsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ResourceField]: """Get all custom resource fields. - Official documentation: `custom_fields/resource_fields `_ + Official documentation: `custom_fields/resource_fields `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -293,7 +293,7 @@ async def all(self, **kwargs) -> ListApiResponse[ResourceField]: async def get(self, **kwargs) -> MetaApiResponse[ResourceField]: """Get custom resource fields with pagination metadata. - Official documentation: `custom_fields/resource_fields `_ + Official documentation: `custom_fields/resource_fields `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -309,7 +309,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ResourceField]: async def get_by_id(self, resource_field_id: int | str, **kwargs) -> ResourceField: """Get a specific custom resource field by ID. - Official documentation: `custom_fields/resource_fields `_ + Official documentation: `custom_fields/resource_fields `_ :param resource_field_id: The unique identifier. :type resource_field_id: int | str @@ -325,7 +325,7 @@ async def get_by_id(self, resource_field_id: int | str, **kwargs) -> ResourceFie async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ResourceField: """Create a new custom resource field. - Official documentation: `custom_fields/resource_fields `_ + Official documentation: `custom_fields/resource_fields `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -347,7 +347,7 @@ class CustomFieldsValuesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CustomFieldValue]: """Get all custom field values. - Official documentation: `custom_fields/values `_ + Official documentation: `custom_fields/values `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -361,7 +361,7 @@ async def all(self, **kwargs) -> ListApiResponse[CustomFieldValue]: async def get(self, **kwargs) -> MetaApiResponse[CustomFieldValue]: """Get custom field values with pagination metadata. - Official documentation: `custom_fields/values `_ + Official documentation: `custom_fields/values `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -377,7 +377,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CustomFieldValue]: async def get_by_id(self, value_id: int | str, **kwargs) -> CustomFieldValue: """Get a specific custom field value by ID. - Official documentation: `custom_fields/values `_ + Official documentation: `custom_fields/values `_ :param value_id: The unique identifier. :type value_id: int | str @@ -393,7 +393,7 @@ async def get_by_id(self, value_id: int | str, **kwargs) -> CustomFieldValue: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> CustomFieldValue: """Create a new custom field value. - Official documentation: `custom_fields/values `_ + Official documentation: `custom_fields/values `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -409,7 +409,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> CustomFieldV async def update(self, value_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> CustomFieldValue: """Update a custom field value. - Official documentation: `custom_fields/values `_ + Official documentation: `custom_fields/values `_ :param value_id: The unique identifier of the record to update. :type value_id: int | str diff --git a/src/factorialhr/_custom_resources.py b/src/factorialhr/_custom_resources.py index e7bf69d..3259399 100644 --- a/src/factorialhr/_custom_resources.py +++ b/src/factorialhr/_custom_resources.py @@ -67,7 +67,7 @@ class CustomResourcesSchemasEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Schema]: """Get all schemas records. - Official documentation: `custom_resources/schemas `_ + Official documentation: `custom_resources/schemas `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -81,7 +81,7 @@ async def all(self, **kwargs) -> ListApiResponse[Schema]: async def get(self, **kwargs) -> MetaApiResponse[Schema]: """Get schemas with pagination metadata. - Official documentation: `custom_resources/schemas `_ + Official documentation: `custom_resources/schemas `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -97,7 +97,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Schema]: async def get_by_id(self, schema_id: int | str, **kwargs) -> Schema: """Get a specific schema by ID. - Official documentation: `custom_resources/schemas `_ + Official documentation: `custom_resources/schemas `_ :param schema_id: The unique identifier. :type schema_id: int | str @@ -113,7 +113,7 @@ async def get_by_id(self, schema_id: int | str, **kwargs) -> Schema: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Schema: """Create a new schema. - Official documentation: `custom_resources/schemas `_ + Official documentation: `custom_resources/schemas `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -135,7 +135,7 @@ class ResourcesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Resource]: """Get all resources records. - Official documentation: `custom_resources/resources `_ + Official documentation: `custom_resources/resources `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -149,7 +149,7 @@ async def all(self, **kwargs) -> ListApiResponse[Resource]: async def get(self, **kwargs) -> MetaApiResponse[Resource]: """Get resources with pagination metadata. - Official documentation: `custom_resources/resources `_ + Official documentation: `custom_resources/resources `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -165,7 +165,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Resource]: async def get_by_id(self, resource_id: int | str, **kwargs) -> Resource: """Get a specific resource by ID. - Official documentation: `custom_resources/resources `_ + Official documentation: `custom_resources/resources `_ :param resource_id: The unique identifier. :type resource_id: int | str @@ -187,7 +187,7 @@ class CustomResourcesValuesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CustomResourcesValue]: """Get all values records. - Official documentation: `custom_resources/values `_ + Official documentation: `custom_resources/values `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -201,7 +201,7 @@ async def all(self, **kwargs) -> ListApiResponse[CustomResourcesValue]: async def get(self, **kwargs) -> MetaApiResponse[CustomResourcesValue]: """Get values with pagination metadata. - Official documentation: `custom_resources/values `_ + Official documentation: `custom_resources/values `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -217,7 +217,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CustomResourcesValue]: async def get_by_id(self, value_id: int | str, **kwargs) -> CustomResourcesValue: """Get a specific value by ID. - Official documentation: `custom_resources/values `_ + Official documentation: `custom_resources/values `_ :param value_id: The unique identifier. :type value_id: int | str @@ -233,7 +233,7 @@ async def get_by_id(self, value_id: int | str, **kwargs) -> CustomResourcesValue async def create(self, data: Mapping[str, typing.Any], **kwargs) -> CustomResourcesValue: """Create a new value. - Official documentation: `custom_resources/values `_ + Official documentation: `custom_resources/values `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_documents.py b/src/factorialhr/_documents.py index 71c1dae..b995d30 100644 --- a/src/factorialhr/_documents.py +++ b/src/factorialhr/_documents.py @@ -129,7 +129,7 @@ class DocumentsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Document]: """Get all documents records. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -143,7 +143,7 @@ async def all(self, **kwargs) -> ListApiResponse[Document]: async def get(self, **kwargs) -> MetaApiResponse[Document]: """Get documents with pagination metadata. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -159,7 +159,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Document]: async def get_by_id(self, document_id: int | str, **kwargs) -> Document: """Get a specific document by ID. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param document_id: The unique identifier. :type document_id: int | str @@ -175,7 +175,7 @@ async def get_by_id(self, document_id: int | str, **kwargs) -> Document: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Document: """Create a new document. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -191,7 +191,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Document: async def update(self, document_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Document: """Update a document. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param document_id: The unique identifier of the record to update. :type document_id: int | str @@ -209,7 +209,7 @@ async def update(self, document_id: int | str, data: Mapping[str, typing.Any], * async def delete(self, document_id: int | str, **kwargs) -> Document: """Delete a document. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param document_id: The unique identifier of the record to delete. :type document_id: int | str @@ -225,7 +225,7 @@ async def delete(self, document_id: int | str, **kwargs) -> Document: async def move_to_trash_bin(self, document_ids: Sequence[int], **kwargs) -> Sequence[Document]: """Move documents to trash bin. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param document_ids: The unique identifier. :type document_ids: int | str @@ -246,7 +246,7 @@ async def move_to_trash_bin(self, document_ids: Sequence[int], **kwargs) -> Sequ async def restore_from_trash_bin(self, document_ids: Sequence[int], **kwargs) -> Sequence[Document]: """Restore documents from trash bin. - Official documentation: `documents/documents `_ + Official documentation: `documents/documents `_ :param document_ids: The unique identifier. :type document_ids: int | str @@ -273,7 +273,7 @@ class DownloadUrlsEndpoint(Endpoint): async def bulk_create(self, document_ids: Sequence[int], **kwargs) -> Sequence[DownloadUrl]: """Bulk create download URLs for documents. - Official documentation: `documents/download_urls `_ + Official documentation: `documents/download_urls `_ :param document_ids: The unique identifier. :type document_ids: int | str @@ -295,7 +295,7 @@ class FoldersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Folder]: """Get all folders records. - Official documentation: `documents/folders `_ + Official documentation: `documents/folders `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -309,7 +309,7 @@ async def all(self, **kwargs) -> ListApiResponse[Folder]: async def get(self, **kwargs) -> MetaApiResponse[Folder]: """Get folders with pagination metadata. - Official documentation: `documents/folders `_ + Official documentation: `documents/folders `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -325,7 +325,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Folder]: async def get_by_id(self, folder_id: int | str, **kwargs) -> Folder: """Get a specific folder by ID. - Official documentation: `documents/folders `_ + Official documentation: `documents/folders `_ :param folder_id: The unique identifier. :type folder_id: int | str @@ -341,7 +341,7 @@ async def get_by_id(self, folder_id: int | str, **kwargs) -> Folder: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Folder: """Create a new folder. - Official documentation: `documents/folders `_ + Official documentation: `documents/folders `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -357,7 +357,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Folder: async def update(self, folder_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Folder: """Update a folder. - Official documentation: `documents/folders `_ + Official documentation: `documents/folders `_ :param folder_id: The unique identifier of the record to update. :type folder_id: int | str diff --git a/src/factorialhr/_employee_updates.py b/src/factorialhr/_employee_updates.py index 6134684..f7cb397 100644 --- a/src/factorialhr/_employee_updates.py +++ b/src/factorialhr/_employee_updates.py @@ -414,6 +414,14 @@ class EmployeeTermination(pydantic.BaseModel): employee_id: int = pydantic.Field(description='Employee identifier') #: Termination date terminated_on: datetime.date | None = pydantic.Field(default=None, description='Termination date') + #: End date of contract (employment end). users can still have have access to factorial after this date + contract_end_date: datetime.date | None = pydantic.Field( + default=None, + description=( + 'End date of contract (employment end). users can still have have access to factorial after this date. ' + 'to revoke access, use the terminated_on field' + ), + ) #: Reason for termination termination_reason: str | None = pydantic.Field(default=None, description='Reason for termination') #: Observations about the termination @@ -442,7 +450,7 @@ class AbsencesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeAbsence]: """Get all absences records. - Official documentation: `employee_updates/absences `_ + Official documentation: `employee_updates/absences `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -456,7 +464,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeAbsence]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeAbsence]: """Get absences with pagination metadata. - Official documentation: `employee_updates/absences `_ + Official documentation: `employee_updates/absences `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -472,7 +480,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeAbsence]: async def get_by_id(self, absence_id: int | str, **kwargs) -> EmployeeAbsence: """Get a specific absence by ID. - Official documentation: `employee_updates/absences `_ + Official documentation: `employee_updates/absences `_ :param absence_id: The unique identifier. :type absence_id: int | str @@ -494,7 +502,7 @@ class ContractChangesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeContractChange]: """Get all contract changes records. - Official documentation: `employee_updates/contract_changes `_ + Official documentation: `employee_updates/contract_changes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -508,7 +516,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeContractChange]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeContractChange]: """Get contract changes with pagination metadata. - Official documentation: `employee_updates/contract_changes `_ + Official documentation: `employee_updates/contract_changes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -524,7 +532,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeContractChange]: async def get_by_id(self, contract_change_id: int | str, **kwargs) -> EmployeeContractChange: """Get a specific contract change by ID. - Official documentation: `employee_updates/contract_changes `_ + Official documentation: `employee_updates/contract_changes `_ :param contract_change_id: The unique identifier. :type contract_change_id: int | str @@ -546,7 +554,7 @@ class NewHiresEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeNewHire]: """Get all new hires records. - Official documentation: `employee_updates/new_hires `_ + Official documentation: `employee_updates/new_hires `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -560,7 +568,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeNewHire]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeNewHire]: """Get new hires with pagination metadata. - Official documentation: `employee_updates/new_hires `_ + Official documentation: `employee_updates/new_hires `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -576,7 +584,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeNewHire]: async def get_by_id(self, new_hire_id: int | str, **kwargs) -> EmployeeNewHire: """Get a specific new hire by ID. - Official documentation: `employee_updates/new_hires `_ + Official documentation: `employee_updates/new_hires `_ :param new_hire_id: The unique identifier. :type new_hire_id: int | str @@ -598,7 +606,7 @@ class PersonalChangesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeePersonalChange]: """Get all personal changes records. - Official documentation: `employee_updates/personal_changes `_ + Official documentation: `employee_updates/personal_changes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -612,7 +620,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeePersonalChange]: async def get(self, **kwargs) -> MetaApiResponse[EmployeePersonalChange]: """Get personal changes with pagination metadata. - Official documentation: `employee_updates/personal_changes `_ + Official documentation: `employee_updates/personal_changes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -628,7 +636,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeePersonalChange]: async def get_by_id(self, personal_change_id: int | str, **kwargs) -> EmployeePersonalChange: """Get a specific personal change by ID. - Official documentation: `employee_updates/personal_changes `_ + Official documentation: `employee_updates/personal_changes `_ :param personal_change_id: The unique identifier. :type personal_change_id: int | str @@ -650,7 +658,7 @@ class SummariesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeSummary]: """Get all summaries records. - Official documentation: `employee_updates/summaries `_ + Official documentation: `employee_updates/summaries `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -664,7 +672,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeSummary]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeSummary]: """Get summaries with pagination metadata. - Official documentation: `employee_updates/summaries `_ + Official documentation: `employee_updates/summaries `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -680,7 +688,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeSummary]: async def get_by_id(self, summary_id: int | str, **kwargs) -> EmployeeSummary: """Get a specific summary by ID. - Official documentation: `employee_updates/summaries `_ + Official documentation: `employee_updates/summaries `_ :param summary_id: The unique identifier. :type summary_id: int | str @@ -702,7 +710,7 @@ class TerminationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeTermination]: """Get all terminations records. - Official documentation: `employee_updates/terminations `_ + Official documentation: `employee_updates/terminations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -716,7 +724,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeTermination]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeTermination]: """Get terminations with pagination metadata. - Official documentation: `employee_updates/terminations `_ + Official documentation: `employee_updates/terminations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -732,7 +740,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeTermination]: async def get_by_id(self, termination_id: int | str, **kwargs) -> EmployeeTermination: """Get a specific termination by ID. - Official documentation: `employee_updates/terminations `_ + Official documentation: `employee_updates/terminations `_ :param termination_id: The unique identifier. :type termination_id: int | str @@ -754,7 +762,7 @@ class EmployeeUpdatesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeAbsence]: """Get all employee_updates records. - Official documentation: `employee_updates `_ + Official documentation: `employee_updates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -768,7 +776,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeAbsence]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeAbsence]: """Get employee_updates with pagination metadata. - Official documentation: `employee_updates `_ + Official documentation: `employee_updates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -784,7 +792,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeAbsence]: async def get_by_id(self, employee_update_id: int | str, **kwargs) -> EmployeeAbsence: """Get a specific employee_updates by ID. - Official documentation: `employee_updates `_ + Official documentation: `employee_updates `_ :param employee_update_id: The unique identifier. :type employee_update_id: int | str @@ -800,7 +808,7 @@ async def get_by_id(self, employee_update_id: int | str, **kwargs) -> EmployeeAb async def create(self, data: Mapping[str, typing.Any], **kwargs) -> EmployeeAbsence: """Create a new employee_updates. - Official documentation: `employee_updates `_ + Official documentation: `employee_updates `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -816,7 +824,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> EmployeeAbse async def update(self, update_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> EmployeeAbsence: """Update a employee_updates. - Official documentation: `employee_updates `_ + Official documentation: `employee_updates `_ :param update_id: The unique identifier of the record to update. :type update_id: int | str @@ -834,7 +842,7 @@ async def update(self, update_id: int | str, data: Mapping[str, typing.Any], **k async def delete(self, update_id: int | str, **kwargs) -> None: """Delete a employee_updates. - Official documentation: `employee_updates `_ + Official documentation: `employee_updates `_ :param update_id: The unique identifier of the record to delete. :type update_id: int | str diff --git a/src/factorialhr/_employees.py b/src/factorialhr/_employees.py index b14c7b6..0cff466 100644 --- a/src/factorialhr/_employees.py +++ b/src/factorialhr/_employees.py @@ -91,6 +91,11 @@ class Employee(pydantic.BaseModel): ) #: Location id of the employee, references to locations/locations location_id: int = pydantic.Field(description='Location id of the employee, references to locations/locations') + #: Default work area id for the employee at the default workplace. references locations/work_areas + default_work_area_id: int | None = pydantic.Field( + default=None, + description='Default work area id for the employee at the default workplace. references locations/work_areas', + ) #: Creation date of the employee created_at: datetime.datetime = pydantic.Field(description='Creation date of the employee') #: Date of last modification of the employee @@ -185,7 +190,7 @@ class EmployeesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Employee]: """Get all employees records. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -199,7 +204,7 @@ async def all(self, **kwargs) -> ListApiResponse[Employee]: async def get(self, **kwargs) -> MetaApiResponse[Employee]: """Get employees with pagination metadata. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -215,7 +220,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Employee]: async def get_by_id(self, employee_id: int | str, **kwargs) -> Employee: """Get a specific employee by ID. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param employee_id: The unique identifier. :type employee_id: int | str @@ -231,7 +236,7 @@ async def get_by_id(self, employee_id: int | str, **kwargs) -> Employee: async def update(self, employee_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Employee: """Update an employee. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param employee_id: The unique identifier of the record to update. :type employee_id: int | str @@ -249,7 +254,7 @@ async def update(self, employee_id: int | str, data: Mapping[str, typing.Any], * async def create_with_contract(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: """Create an employee with contract. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -265,7 +270,7 @@ async def create_with_contract(self, data: Mapping[str, typing.Any], **kwargs) - async def invite(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: """Invite an employee. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -281,7 +286,7 @@ async def invite(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: async def terminate(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: """Terminate an employee. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -297,7 +302,7 @@ async def terminate(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: async def unterminate(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: """Unterminate an employee. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -313,7 +318,7 @@ async def unterminate(self, data: Mapping[str, typing.Any], **kwargs) -> Employe async def set_regular_access_start_date(self, data: Mapping[str, typing.Any], **kwargs) -> Employee: """Set regular access start date for an employee. - Official documentation: `employees/employees `_ + Official documentation: `employees/employees `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_expenses.py b/src/factorialhr/_expenses.py index 7081c23..dbb328b 100644 --- a/src/factorialhr/_expenses.py +++ b/src/factorialhr/_expenses.py @@ -473,6 +473,8 @@ class PerDiem(pydantic.BaseModel): status: ExpenseStatus = pydantic.Field(description='The status of the per diem') #: The rates for the per diem rates: Sequence[typing.Any] = pydantic.Field(description='The rates for the per diem') + #: The name of the trip + trip_name: str | None = pydantic.Field(default=None, description='The name of the trip') class ExpensablesEndpoint(Endpoint): @@ -483,7 +485,7 @@ class ExpensablesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Expensable]: """Get all expensables records. - Official documentation: `expenses/expensables `_ + Official documentation: `expenses/expensables `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -497,7 +499,7 @@ async def all(self, **kwargs) -> ListApiResponse[Expensable]: async def get(self, **kwargs) -> MetaApiResponse[Expensable]: """Get expensables with pagination metadata. - Official documentation: `expenses/expensables `_ + Official documentation: `expenses/expensables `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -513,7 +515,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Expensable]: async def get_by_id(self, expensable_id: int | str, **kwargs) -> Expensable: """Get a specific expensable by ID. - Official documentation: `expenses/expensables `_ + Official documentation: `expenses/expensables `_ :param expensable_id: The unique identifier. :type expensable_id: int | str @@ -529,7 +531,7 @@ async def get_by_id(self, expensable_id: int | str, **kwargs) -> Expensable: async def bulk_set_to_paid(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Expensable]: """Bulk set expensables to paid status. - Official documentation: `expenses/expensables `_ + Official documentation: `expenses/expensables `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -551,7 +553,7 @@ class ExpensesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Expense]: """Get all expenses records. - Official documentation: `expenses/expenses `_ + Official documentation: `expenses/expenses `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -565,7 +567,7 @@ async def all(self, **kwargs) -> ListApiResponse[Expense]: async def get(self, **kwargs) -> MetaApiResponse[Expense]: """Get expenses with pagination metadata. - Official documentation: `expenses/expenses `_ + Official documentation: `expenses/expenses `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -581,7 +583,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Expense]: async def get_by_id(self, expense_id: int | str, **kwargs) -> Expense: """Get a specific expense by ID. - Official documentation: `expenses/expenses `_ + Official documentation: `expenses/expenses `_ :param expense_id: The unique identifier. :type expense_id: int | str @@ -603,7 +605,7 @@ class MileagesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Mileage]: """Get all mileages records. - Official documentation: `expenses/mileages `_ + Official documentation: `expenses/mileages `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -617,7 +619,7 @@ async def all(self, **kwargs) -> ListApiResponse[Mileage]: async def get(self, **kwargs) -> MetaApiResponse[Mileage]: """Get mileages with pagination metadata. - Official documentation: `expenses/mileages `_ + Official documentation: `expenses/mileages `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -633,7 +635,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Mileage]: async def get_by_id(self, mileage_id: int | str, **kwargs) -> Mileage: """Get a specific mileage by ID. - Official documentation: `expenses/mileages `_ + Official documentation: `expenses/mileages `_ :param mileage_id: The unique identifier. :type mileage_id: int | str @@ -655,7 +657,7 @@ class PerDiemsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PerDiem]: """Get all per diems records. - Official documentation: `expenses/per_diems `_ + Official documentation: `expenses/per_diems `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -669,7 +671,7 @@ async def all(self, **kwargs) -> ListApiResponse[PerDiem]: async def get(self, **kwargs) -> MetaApiResponse[PerDiem]: """Get per diems with pagination metadata. - Official documentation: `expenses/per_diems `_ + Official documentation: `expenses/per_diems `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -685,7 +687,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PerDiem]: async def get_by_id(self, per_diem_id: int | str, **kwargs) -> PerDiem: """Get a specific per diem by ID. - Official documentation: `expenses/per_diems `_ + Official documentation: `expenses/per_diems `_ :param per_diem_id: The unique identifier. :type per_diem_id: int | str diff --git a/src/factorialhr/_finance.py b/src/factorialhr/_finance.py index aa377ae..ebee0b5 100644 --- a/src/factorialhr/_finance.py +++ b/src/factorialhr/_finance.py @@ -599,7 +599,7 @@ class BudgetOptionsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[BudgetOption]: """Get all budget options. - Official documentation: `finance/budget_options `_ + Official documentation: `finance/budget_options `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -613,7 +613,7 @@ async def all(self, **kwargs) -> ListApiResponse[BudgetOption]: async def get(self, **kwargs) -> MetaApiResponse[BudgetOption]: """Get budget options with pagination metadata. - Official documentation: `finance/budget_options `_ + Official documentation: `finance/budget_options `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -629,7 +629,7 @@ async def get(self, **kwargs) -> MetaApiResponse[BudgetOption]: async def get_by_id(self, budget_option_id: int | str, **kwargs) -> BudgetOption: """Get a specific budget option by ID. - Official documentation: `finance/budget_options `_ + Official documentation: `finance/budget_options `_ :param budget_option_id: The unique identifier. :type budget_option_id: int | str @@ -651,7 +651,7 @@ class AccountsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Account]: """Get all accounts. - Official documentation: `finance/accounts `_ + Official documentation: `finance/accounts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -665,7 +665,7 @@ async def all(self, **kwargs) -> ListApiResponse[Account]: async def get(self, **kwargs) -> MetaApiResponse[Account]: """Get accounts with pagination metadata. - Official documentation: `finance/accounts `_ + Official documentation: `finance/accounts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -681,7 +681,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Account]: async def get_by_id(self, account_id: int | str, **kwargs) -> Account: """Get a specific account by ID. - Official documentation: `finance/accounts `_ + Official documentation: `finance/accounts `_ :param account_id: The unique identifier. :type account_id: int | str @@ -697,7 +697,7 @@ async def get_by_id(self, account_id: int | str, **kwargs) -> Account: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Account: """Create a new account. - Official documentation: `finance/accounts `_ + Official documentation: `finance/accounts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -713,7 +713,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Account: async def update(self, account_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Account: """Update an account. - Official documentation: `finance/accounts `_ + Official documentation: `finance/accounts `_ :param account_id: The unique identifier of the record to update. :type account_id: int | str @@ -737,7 +737,7 @@ class AccountingSettingsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[AccountingSetting]: """Get all accounting settings. - Official documentation: `finance/accounting_settings `_ + Official documentation: `finance/accounting_settings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -751,7 +751,7 @@ async def all(self, **kwargs) -> ListApiResponse[AccountingSetting]: async def get(self, **kwargs) -> MetaApiResponse[AccountingSetting]: """Get accounting settings with pagination metadata. - Official documentation: `finance/accounting_settings `_ + Official documentation: `finance/accounting_settings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -767,7 +767,7 @@ async def get(self, **kwargs) -> MetaApiResponse[AccountingSetting]: async def get_by_id(self, setting_id: int | str, **kwargs) -> AccountingSetting: """Get a specific accounting setting by ID. - Official documentation: `finance/accounting_settings `_ + Official documentation: `finance/accounting_settings `_ :param setting_id: The unique identifier. :type setting_id: int | str @@ -783,7 +783,7 @@ async def get_by_id(self, setting_id: int | str, **kwargs) -> AccountingSetting: async def upsert(self, data: Mapping[str, typing.Any], **kwargs) -> AccountingSetting: """Upsert an accounting setting. - Official documentation: `finance/accounting_settings `_ + Official documentation: `finance/accounting_settings `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -805,7 +805,7 @@ class FinanceCategoriesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[FinanceCategory]: """Get all categories records. - Official documentation: `finance/categories `_ + Official documentation: `finance/categories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -819,7 +819,7 @@ async def all(self, **kwargs) -> ListApiResponse[FinanceCategory]: async def get(self, **kwargs) -> MetaApiResponse[FinanceCategory]: """Get categories with pagination metadata. - Official documentation: `finance/categories `_ + Official documentation: `finance/categories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -835,7 +835,7 @@ async def get(self, **kwargs) -> MetaApiResponse[FinanceCategory]: async def get_by_id(self, category_id: int | str, **kwargs) -> FinanceCategory: """Get a specific category by ID. - Official documentation: `finance/categories `_ + Official documentation: `finance/categories `_ :param category_id: The unique identifier. :type category_id: int | str @@ -857,7 +857,7 @@ class ContactsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Contact]: """Get all contacts. - Official documentation: `finance/contacts `_ + Official documentation: `finance/contacts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -871,7 +871,7 @@ async def all(self, **kwargs) -> ListApiResponse[Contact]: async def get(self, **kwargs) -> MetaApiResponse[Contact]: """Get contacts with pagination metadata. - Official documentation: `finance/contacts `_ + Official documentation: `finance/contacts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -887,7 +887,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Contact]: async def get_by_id(self, contact_id: int | str, **kwargs) -> Contact: """Get a specific contact by ID. - Official documentation: `finance/contacts `_ + Official documentation: `finance/contacts `_ :param contact_id: The unique identifier. :type contact_id: int | str @@ -903,7 +903,7 @@ async def get_by_id(self, contact_id: int | str, **kwargs) -> Contact: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Contact: """Create a new contact. - Official documentation: `finance/contacts `_ + Official documentation: `finance/contacts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -919,7 +919,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Contact: async def update(self, contact_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Contact: """Update a contact. - Official documentation: `finance/contacts `_ + Official documentation: `finance/contacts `_ :param contact_id: The unique identifier of the record to update. :type contact_id: int | str @@ -943,7 +943,7 @@ class CostCentersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CostCenter]: """Get all cost centers. - Official documentation: `finance/cost_centers `_ + Official documentation: `finance/cost_centers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -957,7 +957,7 @@ async def all(self, **kwargs) -> ListApiResponse[CostCenter]: async def get(self, **kwargs) -> MetaApiResponse[CostCenter]: """Get cost centers with pagination metadata. - Official documentation: `finance/cost_centers `_ + Official documentation: `finance/cost_centers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -973,7 +973,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CostCenter]: async def get_by_id(self, cost_center_id: int | str, **kwargs) -> CostCenter: """Get a specific cost center by ID. - Official documentation: `finance/cost_centers `_ + Official documentation: `finance/cost_centers `_ :param cost_center_id: The unique identifier. :type cost_center_id: int | str @@ -989,7 +989,7 @@ async def get_by_id(self, cost_center_id: int | str, **kwargs) -> CostCenter: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> CostCenter: """Create a new cost center. - Official documentation: `finance/cost_centers `_ + Official documentation: `finance/cost_centers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1005,7 +1005,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> CostCenter: async def edit(self, data: Mapping[str, typing.Any], **kwargs) -> CostCenter: """Edit a cost center. - Official documentation: `finance/cost_centers `_ + Official documentation: `finance/cost_centers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1021,7 +1021,7 @@ async def edit(self, data: Mapping[str, typing.Any], **kwargs) -> CostCenter: async def delete(self, cost_center_id: int | str, **kwargs) -> CostCenter: """Delete a cost center. - Official documentation: `finance/cost_centers `_ + Official documentation: `finance/cost_centers `_ :param cost_center_id: The unique identifier of the record to delete. :type cost_center_id: int | str @@ -1043,7 +1043,7 @@ class CostCenterMembershipsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CostCenterMembership]: """Get all cost center memberships. - Official documentation: `finance/cost_center_memberships `_ + Official documentation: `finance/cost_center_memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1057,7 +1057,7 @@ async def all(self, **kwargs) -> ListApiResponse[CostCenterMembership]: async def get(self, **kwargs) -> MetaApiResponse[CostCenterMembership]: """Get cost center memberships with pagination metadata. - Official documentation: `finance/cost_center_memberships `_ + Official documentation: `finance/cost_center_memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1073,7 +1073,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CostCenterMembership]: async def bulk_create_update(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[CostCenterMembership]: """Bulk create/update cost center memberships. - Official documentation: `finance/cost_center_memberships `_ + Official documentation: `finance/cost_center_memberships `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1095,7 +1095,7 @@ class FinancialDocumentsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[FinancialDocument]: """Get all financial documents. - Official documentation: `finance/financial_documents `_ + Official documentation: `finance/financial_documents `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1109,7 +1109,7 @@ async def all(self, **kwargs) -> ListApiResponse[FinancialDocument]: async def get(self, **kwargs) -> MetaApiResponse[FinancialDocument]: """Get financial documents with pagination metadata. - Official documentation: `finance/financial_documents `_ + Official documentation: `finance/financial_documents `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1125,7 +1125,7 @@ async def get(self, **kwargs) -> MetaApiResponse[FinancialDocument]: async def get_by_id(self, document_id: int | str, **kwargs) -> FinancialDocument: """Get a specific financial document by ID. - Official documentation: `finance/financial_documents `_ + Official documentation: `finance/financial_documents `_ :param document_id: The unique identifier. :type document_id: int | str @@ -1147,7 +1147,7 @@ class JournalEntriesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[JournalEntry]: """Get all journal entries. - Official documentation: `finance/journal_entries `_ + Official documentation: `finance/journal_entries `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1161,7 +1161,7 @@ async def all(self, **kwargs) -> ListApiResponse[JournalEntry]: async def get(self, **kwargs) -> MetaApiResponse[JournalEntry]: """Get journal entries with pagination metadata. - Official documentation: `finance/journal_entries `_ + Official documentation: `finance/journal_entries `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1177,7 +1177,7 @@ async def get(self, **kwargs) -> MetaApiResponse[JournalEntry]: async def get_by_id(self, entry_id: int | str, **kwargs) -> JournalEntry: """Get a specific journal entry by ID. - Official documentation: `finance/journal_entries `_ + Official documentation: `finance/journal_entries `_ :param entry_id: The unique identifier. :type entry_id: int | str @@ -1193,7 +1193,7 @@ async def get_by_id(self, entry_id: int | str, **kwargs) -> JournalEntry: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> JournalEntry: """Create a new journal entry. - Official documentation: `finance/journal_entries `_ + Official documentation: `finance/journal_entries `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1215,7 +1215,7 @@ class JournalLinesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[JournalLine]: """Get all journal lines. - Official documentation: `finance/journal_lines `_ + Official documentation: `finance/journal_lines `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1229,7 +1229,7 @@ async def all(self, **kwargs) -> ListApiResponse[JournalLine]: async def get(self, **kwargs) -> MetaApiResponse[JournalLine]: """Get journal lines with pagination metadata. - Official documentation: `finance/journal_lines `_ + Official documentation: `finance/journal_lines `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1245,7 +1245,7 @@ async def get(self, **kwargs) -> MetaApiResponse[JournalLine]: async def get_by_id(self, line_id: int | str, **kwargs) -> JournalLine: """Get a specific journal line by ID. - Official documentation: `finance/journal_lines `_ + Official documentation: `finance/journal_lines `_ :param line_id: The unique identifier. :type line_id: int | str @@ -1267,7 +1267,7 @@ class LedgerAccountResourcesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[LedgerAccountResource]: """Get all ledger account resources. - Official documentation: `finance/ledger_account_resources `_ + Official documentation: `finance/ledger_account_resources `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1281,7 +1281,7 @@ async def all(self, **kwargs) -> ListApiResponse[LedgerAccountResource]: async def get(self, **kwargs) -> MetaApiResponse[LedgerAccountResource]: """Get ledger account resources with pagination metadata. - Official documentation: `finance/ledger_account_resources `_ + Official documentation: `finance/ledger_account_resources `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1297,7 +1297,7 @@ async def get(self, **kwargs) -> MetaApiResponse[LedgerAccountResource]: async def get_by_id(self, resource_id: int | str, **kwargs) -> LedgerAccountResource: """Get a specific ledger account resource by ID. - Official documentation: `finance/ledger_account_resources `_ + Official documentation: `finance/ledger_account_resources `_ :param resource_id: The unique identifier. :type resource_id: int | str @@ -1313,7 +1313,7 @@ async def get_by_id(self, resource_id: int | str, **kwargs) -> LedgerAccountReso async def upsert(self, data: Mapping[str, typing.Any], **kwargs) -> LedgerAccountResource: """Upsert a ledger account resource. - Official documentation: `finance/ledger_account_resources `_ + Official documentation: `finance/ledger_account_resources `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1335,7 +1335,7 @@ class TaxRatesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TaxRate]: """Get all tax rates. - Official documentation: `finance/tax_rates `_ + Official documentation: `finance/tax_rates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1349,7 +1349,7 @@ async def all(self, **kwargs) -> ListApiResponse[TaxRate]: async def get(self, **kwargs) -> MetaApiResponse[TaxRate]: """Get tax rates with pagination metadata. - Official documentation: `finance/tax_rates `_ + Official documentation: `finance/tax_rates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1365,7 +1365,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TaxRate]: async def get_by_id(self, rate_id: int | str, **kwargs) -> TaxRate: """Get a specific tax rate by ID. - Official documentation: `finance/tax_rates `_ + Official documentation: `finance/tax_rates `_ :param rate_id: The unique identifier. :type rate_id: int | str @@ -1381,7 +1381,7 @@ async def get_by_id(self, rate_id: int | str, **kwargs) -> TaxRate: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TaxRate: """Create a new tax rate. - Official documentation: `finance/tax_rates `_ + Official documentation: `finance/tax_rates `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1397,7 +1397,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TaxRate: async def update(self, rate_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> TaxRate: """Update a tax rate. - Official documentation: `finance/tax_rates `_ + Official documentation: `finance/tax_rates `_ :param rate_id: The unique identifier of the record to update. :type rate_id: int | str @@ -1421,7 +1421,7 @@ class TaxTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TaxType]: """Get all tax types. - Official documentation: `finance/tax_types `_ + Official documentation: `finance/tax_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1435,7 +1435,7 @@ async def all(self, **kwargs) -> ListApiResponse[TaxType]: async def get(self, **kwargs) -> MetaApiResponse[TaxType]: """Get tax types with pagination metadata. - Official documentation: `finance/tax_types `_ + Official documentation: `finance/tax_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1451,7 +1451,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TaxType]: async def get_by_id(self, type_id: int | str, **kwargs) -> TaxType: """Get a specific tax type by ID. - Official documentation: `finance/tax_types `_ + Official documentation: `finance/tax_types `_ :param type_id: The unique identifier. :type type_id: int | str @@ -1467,7 +1467,7 @@ async def get_by_id(self, type_id: int | str, **kwargs) -> TaxType: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TaxType: """Create a new tax type. - Official documentation: `finance/tax_types `_ + Official documentation: `finance/tax_types `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1483,7 +1483,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TaxType: async def update(self, type_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> TaxType: """Update a tax type. - Official documentation: `finance/tax_types `_ + Official documentation: `finance/tax_types `_ :param type_id: The unique identifier of the record to update. :type type_id: int | str diff --git a/src/factorialhr/_holidays.py b/src/factorialhr/_holidays.py index c26916a..81320c2 100644 --- a/src/factorialhr/_holidays.py +++ b/src/factorialhr/_holidays.py @@ -48,7 +48,7 @@ class CompanyHolidaysEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CompanyHoliday]: """Get all company holidays records. - Official documentation: `holidays/company_holidays `_ + Official documentation: `holidays/company_holidays `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -62,7 +62,7 @@ async def all(self, **kwargs) -> ListApiResponse[CompanyHoliday]: async def get(self, **kwargs) -> MetaApiResponse[CompanyHoliday]: """Get company holidays with pagination metadata. - Official documentation: `holidays/company_holidays `_ + Official documentation: `holidays/company_holidays `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -78,7 +78,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CompanyHoliday]: async def get_by_id(self, holiday_id: int | str, **kwargs) -> CompanyHoliday: """Get a specific company holiday by ID. - Official documentation: `holidays/company_holidays `_ + Official documentation: `holidays/company_holidays `_ :param holiday_id: The unique identifier. :type holiday_id: int | str diff --git a/src/factorialhr/_integrations.py b/src/factorialhr/_integrations.py index bfcb36d..94956d6 100644 --- a/src/factorialhr/_integrations.py +++ b/src/factorialhr/_integrations.py @@ -67,7 +67,7 @@ class SyncableItemsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SyncableItem]: """Get all syncable items records. - Official documentation: `integrations/syncable_items `_ + Official documentation: `integrations/syncable_items `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -81,7 +81,7 @@ async def all(self, **kwargs) -> ListApiResponse[SyncableItem]: async def get(self, **kwargs) -> MetaApiResponse[SyncableItem]: """Get syncable items with pagination metadata. - Official documentation: `integrations/syncable_items `_ + Official documentation: `integrations/syncable_items `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -97,7 +97,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SyncableItem]: async def get_by_id(self, item_id: int | str, **kwargs) -> SyncableItem: """Get a specific syncable item by ID. - Official documentation: `integrations/syncable_items `_ + Official documentation: `integrations/syncable_items `_ :param item_id: The unique identifier. :type item_id: int | str @@ -119,7 +119,7 @@ class SyncableSyncRunsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SyncableSyncRun]: """Get all syncable sync runs records. - Official documentation: `integrations/syncable_sync_runs `_ + Official documentation: `integrations/syncable_sync_runs `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -133,7 +133,7 @@ async def all(self, **kwargs) -> ListApiResponse[SyncableSyncRun]: async def get(self, **kwargs) -> MetaApiResponse[SyncableSyncRun]: """Get syncable sync runs with pagination metadata. - Official documentation: `integrations/syncable_sync_runs `_ + Official documentation: `integrations/syncable_sync_runs `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -149,7 +149,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SyncableSyncRun]: async def get_by_id(self, run_id: int | str, **kwargs) -> SyncableSyncRun: """Get a specific syncable sync run by ID. - Official documentation: `integrations/syncable_sync_runs `_ + Official documentation: `integrations/syncable_sync_runs `_ :param run_id: The unique identifier. :type run_id: int | str @@ -165,7 +165,7 @@ async def get_by_id(self, run_id: int | str, **kwargs) -> SyncableSyncRun: async def update(self, run_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> SyncableSyncRun: """Update a syncable sync run. - Official documentation: `integrations/syncable_sync_runs `_ + Official documentation: `integrations/syncable_sync_runs `_ :param run_id: The unique identifier of the record to update. :type run_id: int | str diff --git a/src/factorialhr/_it_management.py b/src/factorialhr/_it_management.py index e1c8abb..6c5c9ef 100644 --- a/src/factorialhr/_it_management.py +++ b/src/factorialhr/_it_management.py @@ -52,7 +52,7 @@ class ItAssetsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ItAsset]: """Get all IT assets. - Official documentation: `it_management/it_assets `_ + Official documentation: `it_management/it_assets `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -66,7 +66,7 @@ async def all(self, **kwargs) -> ListApiResponse[ItAsset]: async def get(self, **kwargs) -> MetaApiResponse[ItAsset]: """Get IT assets with pagination metadata. - Official documentation: `it_management/it_assets `_ + Official documentation: `it_management/it_assets `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -82,7 +82,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ItAsset]: async def get_by_id(self, asset_id: int | str, **kwargs) -> ItAsset: """Get a specific IT asset by ID. - Official documentation: `it_management/it_assets `_ + Official documentation: `it_management/it_assets `_ :param asset_id: The unique identifier. :type asset_id: int | str @@ -99,7 +99,7 @@ async def get_by_id(self, asset_id: int | str, **kwargs) -> ItAsset: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ItAsset: """Create an IT asset. - Official documentation: `it_management/it_assets `_ + Official documentation: `it_management/it_assets `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -116,7 +116,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ItAsset: async def update(self, asset_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ItAsset: """Update an IT asset. - Official documentation: `it_management/it_assets `_ + Official documentation: `it_management/it_assets `_ :param asset_id: The unique identifier of the record to update. :type asset_id: int | str @@ -135,7 +135,7 @@ async def update(self, asset_id: int | str, data: Mapping[str, typing.Any], **kw async def delete(self, asset_id: int | str, **kwargs) -> ItAsset: """Delete an IT asset. - Official documentation: `it_management/it_assets `_ + Official documentation: `it_management/it_assets `_ :param asset_id: The unique identifier of the record to delete. :type asset_id: int | str @@ -179,7 +179,7 @@ class ItAssetModelsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ItAssetModel]: """Get all IT asset models. - Official documentation: `it_management/it_asset_models `_ + Official documentation: `it_management/it_asset_models `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -193,7 +193,7 @@ async def all(self, **kwargs) -> ListApiResponse[ItAssetModel]: async def get(self, **kwargs) -> MetaApiResponse[ItAssetModel]: """Get IT asset models with pagination metadata. - Official documentation: `it_management/it_asset_models `_ + Official documentation: `it_management/it_asset_models `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -209,7 +209,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ItAssetModel]: async def get_by_id(self, model_id: int | str, **kwargs) -> ItAssetModel: """Get a specific IT asset model by ID. - Official documentation: `it_management/it_asset_models `_ + Official documentation: `it_management/it_asset_models `_ :param model_id: The unique identifier. :type model_id: int | str @@ -226,7 +226,7 @@ async def get_by_id(self, model_id: int | str, **kwargs) -> ItAssetModel: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ItAssetModel: """Create an IT asset model. - Official documentation: `it_management/it_asset_models `_ + Official documentation: `it_management/it_asset_models `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -243,7 +243,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ItAssetModel async def update(self, model_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ItAssetModel: """Update an IT asset model. - Official documentation: `it_management/it_asset_models `_ + Official documentation: `it_management/it_asset_models `_ :param model_id: The unique identifier of the record to update. :type model_id: int | str diff --git a/src/factorialhr/_job_catalog.py b/src/factorialhr/_job_catalog.py index 37270ff..3af528f 100644 --- a/src/factorialhr/_job_catalog.py +++ b/src/factorialhr/_job_catalog.py @@ -60,7 +60,7 @@ class LevelsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Jobcataloglevel]: """Get all job catalog levels records. - Official documentation: `job_catalog/levels `_ + Official documentation: `job_catalog/levels `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -74,7 +74,7 @@ async def all(self, **kwargs) -> ListApiResponse[Jobcataloglevel]: async def get(self, **kwargs) -> MetaApiResponse[Jobcataloglevel]: """Get job catalog levels with pagination metadata. - Official documentation: `job_catalog/levels `_ + Official documentation: `job_catalog/levels `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -90,7 +90,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Jobcataloglevel]: async def get_by_id(self, level_id: int | str, **kwargs) -> Jobcataloglevel: """Get a specific job catalog level by ID. - Official documentation: `job_catalog/levels `_ + Official documentation: `job_catalog/levels `_ :param level_id: The unique identifier. :type level_id: int | str @@ -112,7 +112,7 @@ class RolesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Jobcatalogrole]: """Get all job catalog roles records. - Official documentation: `job_catalog/roles `_ + Official documentation: `job_catalog/roles `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -126,7 +126,7 @@ async def all(self, **kwargs) -> ListApiResponse[Jobcatalogrole]: async def get(self, **kwargs) -> MetaApiResponse[Jobcatalogrole]: """Get job catalog roles with pagination metadata. - Official documentation: `job_catalog/roles `_ + Official documentation: `job_catalog/roles `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -142,7 +142,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Jobcatalogrole]: async def get_by_id(self, role_id: int | str, **kwargs) -> Jobcatalogrole: """Get a specific job catalog role by ID. - Official documentation: `job_catalog/roles `_ + Official documentation: `job_catalog/roles `_ :param role_id: The unique identifier. :type role_id: int | str @@ -191,7 +191,7 @@ class NodeAttributesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[NodeAttribute]: """Get all node attributes. - Official documentation: `job_catalog/node_attributes `_ + Official documentation: `job_catalog/node_attributes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -205,7 +205,7 @@ async def all(self, **kwargs) -> ListApiResponse[NodeAttribute]: async def get(self, **kwargs) -> MetaApiResponse[NodeAttribute]: """Get node attributes with pagination metadata. - Official documentation: `job_catalog/node_attributes `_ + Official documentation: `job_catalog/node_attributes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -268,7 +268,7 @@ class TreeNodesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[JobCatalogNode]: """Get all tree nodes. - Official documentation: `job_catalog/tree_nodes `_ + Official documentation: `job_catalog/tree_nodes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -282,7 +282,7 @@ async def all(self, **kwargs) -> ListApiResponse[JobCatalogNode]: async def get(self, **kwargs) -> MetaApiResponse[JobCatalogNode]: """Get tree nodes with pagination metadata. - Official documentation: `job_catalog/tree_nodes `_ + Official documentation: `job_catalog/tree_nodes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional diff --git a/src/factorialhr/_locations.py b/src/factorialhr/_locations.py index c212f60..a6bcf70 100644 --- a/src/factorialhr/_locations.py +++ b/src/factorialhr/_locations.py @@ -68,7 +68,7 @@ class LocationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Location]: """Get all locations records. - Official documentation: `locations/locations `_ + Official documentation: `locations/locations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -82,7 +82,7 @@ async def all(self, **kwargs) -> ListApiResponse[Location]: async def get(self, **kwargs) -> MetaApiResponse[Location]: """Get locations with pagination metadata. - Official documentation: `locations/locations `_ + Official documentation: `locations/locations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -98,7 +98,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Location]: async def get_by_id(self, location_id: int | str, **kwargs) -> Location: """Get a specific location by ID. - Official documentation: `locations/locations `_ + Official documentation: `locations/locations `_ :param location_id: The unique identifier. :type location_id: int | str @@ -114,7 +114,7 @@ async def get_by_id(self, location_id: int | str, **kwargs) -> Location: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Location: """Create a new location. - Official documentation: `locations/locations `_ + Official documentation: `locations/locations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -130,7 +130,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Location: async def update(self, location_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Location: """Update a location. - Official documentation: `locations/locations `_ + Official documentation: `locations/locations `_ :param location_id: The unique identifier of the record to update. :type location_id: int | str @@ -148,7 +148,7 @@ async def update(self, location_id: int | str, data: Mapping[str, typing.Any], * async def delete(self, location_id: int | str, **kwargs) -> Location: """Delete a location. - Official documentation: `locations/locations `_ + Official documentation: `locations/locations `_ :param location_id: The unique identifier of the record to delete. :type location_id: int | str @@ -170,7 +170,7 @@ class WorkAreasEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[WorkArea]: """Get all work areas records. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -184,7 +184,7 @@ async def all(self, **kwargs) -> ListApiResponse[WorkArea]: async def get(self, **kwargs) -> MetaApiResponse[WorkArea]: """Get work areas with pagination metadata. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -200,7 +200,7 @@ async def get(self, **kwargs) -> MetaApiResponse[WorkArea]: async def get_by_id(self, work_area_id: int | str, **kwargs) -> WorkArea: """Get a specific work area by ID. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param work_area_id: The unique identifier. :type work_area_id: int | str @@ -216,7 +216,7 @@ async def get_by_id(self, work_area_id: int | str, **kwargs) -> WorkArea: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> WorkArea: """Create a new work area. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -232,7 +232,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> WorkArea: async def update(self, work_area_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> WorkArea: """Update a work area. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param work_area_id: The unique identifier of the record to update. :type work_area_id: int | str @@ -250,7 +250,7 @@ async def update(self, work_area_id: int | str, data: Mapping[str, typing.Any], async def archive(self, data: Mapping[str, typing.Any], **kwargs) -> WorkArea: """Archive a work area. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -266,7 +266,7 @@ async def archive(self, data: Mapping[str, typing.Any], **kwargs) -> WorkArea: async def unarchive(self, data: Mapping[str, typing.Any], **kwargs) -> WorkArea: """Unarchive a work area. - Official documentation: `locations/work_areas `_ + Official documentation: `locations/work_areas `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_marketplace.py b/src/factorialhr/_marketplace.py index 3f91142..f4bf431 100644 --- a/src/factorialhr/_marketplace.py +++ b/src/factorialhr/_marketplace.py @@ -51,7 +51,7 @@ class InstallationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Installation]: """Get all installations records. - Official documentation: `marketplace/installations `_ + Official documentation: `marketplace/installations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -65,7 +65,7 @@ async def all(self, **kwargs) -> ListApiResponse[Installation]: async def get(self, **kwargs) -> MetaApiResponse[Installation]: """Get installations with pagination metadata. - Official documentation: `marketplace/installations `_ + Official documentation: `marketplace/installations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -81,7 +81,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Installation]: async def get_by_id(self, installation_id: int | str, **kwargs) -> Installation: """Get a specific installation by ID. - Official documentation: `marketplace/installations `_ + Official documentation: `marketplace/installations `_ :param installation_id: The unique identifier. :type installation_id: int | str @@ -97,7 +97,7 @@ async def get_by_id(self, installation_id: int | str, **kwargs) -> Installation: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Installation: """Create a new installation. - Official documentation: `marketplace/installations `_ + Official documentation: `marketplace/installations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -119,7 +119,7 @@ class InstallationSettingsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[InstallationSettings]: """Get all installation settings records. - Official documentation: `marketplace/installation_settings `_ + Official documentation: `marketplace/installation_settings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -133,7 +133,7 @@ async def all(self, **kwargs) -> ListApiResponse[InstallationSettings]: async def get(self, **kwargs) -> MetaApiResponse[InstallationSettings]: """Get installation settings with pagination metadata. - Official documentation: `marketplace/installation_settings `_ + Official documentation: `marketplace/installation_settings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional diff --git a/src/factorialhr/_payroll.py b/src/factorialhr/_payroll.py index 131c537..640e94d 100644 --- a/src/factorialhr/_payroll.py +++ b/src/factorialhr/_payroll.py @@ -232,7 +232,7 @@ class FamilySituationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[FamilySituation]: """Get all family situations records. - Official documentation: `payroll/family_situations `_ + Official documentation: `payroll/family_situations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -246,7 +246,7 @@ async def all(self, **kwargs) -> ListApiResponse[FamilySituation]: async def get(self, **kwargs) -> MetaApiResponse[FamilySituation]: """Get family situations with pagination metadata. - Official documentation: `payroll/family_situations `_ + Official documentation: `payroll/family_situations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -262,7 +262,7 @@ async def get(self, **kwargs) -> MetaApiResponse[FamilySituation]: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> FamilySituation: """Create a new family situation. - Official documentation: `payroll/family_situations `_ + Official documentation: `payroll/family_situations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -278,7 +278,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> FamilySituat async def update(self, family_situation_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> FamilySituation: """Update a family situation. - Official documentation: `payroll/family_situations `_ + Official documentation: `payroll/family_situations `_ :param family_situation_id: The unique identifier of the record to update. :type family_situation_id: int | str @@ -302,7 +302,7 @@ class PolicyPeriodsEndpoint(Endpoint): async def change_status(self, data: Mapping[str, typing.Any], **kwargs) -> PolicyPeriod: """Change status of a policy period. - Official documentation: `payroll/policy_periods `_ + Official documentation: `payroll/policy_periods `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -324,7 +324,7 @@ class SupplementsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Supplement]: """Get all supplements records. - Official documentation: `payroll/supplements `_ + Official documentation: `payroll/supplements `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -338,7 +338,7 @@ async def all(self, **kwargs) -> ListApiResponse[Supplement]: async def get(self, **kwargs) -> MetaApiResponse[Supplement]: """Get supplements with pagination metadata. - Official documentation: `payroll/supplements `_ + Official documentation: `payroll/supplements `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -354,7 +354,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Supplement]: async def get_by_id(self, supplement_id: int | str, **kwargs) -> Supplement: """Get a specific supplement by ID. - Official documentation: `payroll/supplements `_ + Official documentation: `payroll/supplements `_ :param supplement_id: The unique identifier. :type supplement_id: int | str @@ -370,7 +370,7 @@ async def get_by_id(self, supplement_id: int | str, **kwargs) -> Supplement: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Supplement: """Create a new supplement. - Official documentation: `payroll/supplements `_ + Official documentation: `payroll/supplements `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -386,7 +386,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Supplement: async def update(self, supplement_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Supplement: """Update a supplement. - Official documentation: `payroll/supplements `_ + Official documentation: `payroll/supplements `_ :param supplement_id: The unique identifier of the record to update. :type supplement_id: int | str @@ -404,7 +404,7 @@ async def update(self, supplement_id: int | str, data: Mapping[str, typing.Any], async def delete(self, supplement_id: int | str, **kwargs) -> Supplement: """Delete a supplement. - Official documentation: `payroll/supplements `_ + Official documentation: `payroll/supplements `_ :param supplement_id: The unique identifier of the record to delete. :type supplement_id: int | str diff --git a/src/factorialhr/_payroll_employees.py b/src/factorialhr/_payroll_employees.py index 4d512bd..b6cb9c2 100644 --- a/src/factorialhr/_payroll_employees.py +++ b/src/factorialhr/_payroll_employees.py @@ -43,7 +43,7 @@ class IdentifiersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Payrollemployeesidentifier]: """Get all payroll employee identifiers records. - Official documentation: `payroll_employees/identifiers `_ + Official documentation: `payroll_employees/identifiers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -57,7 +57,7 @@ async def all(self, **kwargs) -> ListApiResponse[Payrollemployeesidentifier]: async def get(self, **kwargs) -> MetaApiResponse[Payrollemployeesidentifier]: """Get payroll employee identifiers with pagination metadata. - Official documentation: `payroll_employees/identifiers `_ + Official documentation: `payroll_employees/identifiers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -77,7 +77,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Payrollemployeesidentifier]: async def get_by_id(self, identifier_id: int | str, **kwargs) -> Payrollemployeesidentifier: """Get a specific payroll employee identifier by ID. - Official documentation: `payroll_employees/identifiers `_ + Official documentation: `payroll_employees/identifiers `_ :param identifier_id: The unique identifier. :type identifier_id: int | str @@ -93,7 +93,7 @@ async def get_by_id(self, identifier_id: int | str, **kwargs) -> Payrollemployee async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Payrollemployeesidentifier: """Create a new payroll employee identifier. - Official documentation: `payroll_employees/identifiers `_ + Official documentation: `payroll_employees/identifiers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -114,7 +114,7 @@ async def update( ) -> Payrollemployeesidentifier: """Update a payroll employee identifier. - Official documentation: `payroll_employees/identifiers `_ + Official documentation: `payroll_employees/identifiers `_ :param identifier_id: The unique identifier of the record to update. :type identifier_id: int | str @@ -132,7 +132,7 @@ async def update( async def delete(self, identifier_id: int | str, **kwargs) -> Payrollemployeesidentifier: """Delete a payroll employee identifier. - Official documentation: `payroll_employees/identifiers `_ + Official documentation: `payroll_employees/identifiers `_ :param identifier_id: The unique identifier of the record to delete. :type identifier_id: int | str diff --git a/src/factorialhr/_payroll_integrations_base.py b/src/factorialhr/_payroll_integrations_base.py index ada7632..ee062a0 100644 --- a/src/factorialhr/_payroll_integrations_base.py +++ b/src/factorialhr/_payroll_integrations_base.py @@ -57,7 +57,7 @@ class CodesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Payrollintegrationsbasecode]: """Get all payroll integration codes records. - Official documentation: `payroll_integrations_base/codes `_ + Official documentation: `payroll_integrations_base/codes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -71,7 +71,7 @@ async def all(self, **kwargs) -> ListApiResponse[Payrollintegrationsbasecode]: async def get(self, **kwargs) -> MetaApiResponse[Payrollintegrationsbasecode]: """Get payroll integration codes with pagination metadata. - Official documentation: `payroll_integrations_base/codes `_ + Official documentation: `payroll_integrations_base/codes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -91,7 +91,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Payrollintegrationsbasecode]: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Payrollintegrationsbasecode: """Create a new payroll integration code. - Official documentation: `payroll_integrations_base/codes `_ + Official documentation: `payroll_integrations_base/codes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -107,7 +107,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Payrollinteg async def update(self, code_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Payrollintegrationsbasecode: """Update a payroll integration code. - Official documentation: `payroll_integrations_base/codes `_ + Official documentation: `payroll_integrations_base/codes `_ :param code_id: The unique identifier of the record to update. :type code_id: int | str @@ -125,7 +125,7 @@ async def update(self, code_id: int | str, data: Mapping[str, typing.Any], **kwa async def delete(self, code_id: int | str, **kwargs) -> Payrollintegrationsbasecode: """Delete a payroll integration code. - Official documentation: `payroll_integrations_base/codes `_ + Official documentation: `payroll_integrations_base/codes `_ :param code_id: The unique identifier of the record to delete. :type code_id: int | str diff --git a/src/factorialhr/_performance.py b/src/factorialhr/_performance.py index e156471..d2e2e03 100644 --- a/src/factorialhr/_performance.py +++ b/src/factorialhr/_performance.py @@ -492,7 +492,7 @@ class AgreementsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Agreement]: """Get all agreements. - Official documentation: `performance/agreements `_ + Official documentation: `performance/agreements `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -506,7 +506,7 @@ async def all(self, **kwargs) -> ListApiResponse[Agreement]: async def get(self, **kwargs) -> MetaApiResponse[Agreement]: """Get agreements with pagination metadata. - Official documentation: `performance/agreements `_ + Official documentation: `performance/agreements `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -522,7 +522,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Agreement]: async def get_by_id(self, agreement_id: int | str, **kwargs) -> Agreement: """Get a specific agreement by ID. - Official documentation: `performance/agreements `_ + Official documentation: `performance/agreements `_ :param agreement_id: The unique identifier. :type agreement_id: int | str @@ -538,7 +538,7 @@ async def get_by_id(self, agreement_id: int | str, **kwargs) -> Agreement: async def bulk_initiate(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Agreement]: """Initiate action plans for all direct reports in a review process. - Official documentation: `performance/agreements `_ + Official documentation: `performance/agreements `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -554,7 +554,7 @@ async def bulk_initiate(self, data: Mapping[str, typing.Any], **kwargs) -> Seque async def initiate(self, data: Mapping[str, typing.Any], **kwargs) -> Agreement: """Initiate an action plan for a specific review process target. - Official documentation: `performance/agreements `_ + Official documentation: `performance/agreements `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -576,7 +576,7 @@ class CompanyEmployeeScoreScalesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[CompanyEmployeeScoreScale]: """Get all company employee score scales. - Official documentation: `performance/company_employee_score_scales `_ + Official documentation: `performance/company_employee_score_scales `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -590,7 +590,7 @@ async def all(self, **kwargs) -> ListApiResponse[CompanyEmployeeScoreScale]: async def get(self, **kwargs) -> MetaApiResponse[CompanyEmployeeScoreScale]: """Get company employee score scales with pagination metadata. - Official documentation: `performance/company_employee_score_scales `_ + Official documentation: `performance/company_employee_score_scales `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -610,7 +610,7 @@ async def get(self, **kwargs) -> MetaApiResponse[CompanyEmployeeScoreScale]: async def get_by_id(self, scale_id: int | str, **kwargs) -> CompanyEmployeeScoreScale: """Get a specific company employee score scale by ID. - Official documentation: `performance/company_employee_score_scales `_ + Official documentation: `performance/company_employee_score_scales `_ :param scale_id: The unique identifier. :type scale_id: int | str @@ -626,7 +626,7 @@ async def get_by_id(self, scale_id: int | str, **kwargs) -> CompanyEmployeeScore async def set_scale(self, data: Mapping[str, typing.Any], **kwargs) -> CompanyEmployeeScoreScale: """Set the predefined employee score scale for the company. - Official documentation: `performance/company_employee_score_scales `_ + Official documentation: `performance/company_employee_score_scales `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -648,7 +648,7 @@ class EmployeeScoreScalesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[EmployeeScoreScale]: """Get all employee score scales. - Official documentation: `performance/employee_score_scales `_ + Official documentation: `performance/employee_score_scales `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -662,7 +662,7 @@ async def all(self, **kwargs) -> ListApiResponse[EmployeeScoreScale]: async def get(self, **kwargs) -> MetaApiResponse[EmployeeScoreScale]: """Get employee score scales with pagination metadata. - Official documentation: `performance/employee_score_scales `_ + Official documentation: `performance/employee_score_scales `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -678,7 +678,7 @@ async def get(self, **kwargs) -> MetaApiResponse[EmployeeScoreScale]: async def get_by_id(self, scale_id: int | str, **kwargs) -> EmployeeScoreScale: """Get a specific employee score scale by ID. - Official documentation: `performance/employee_score_scales `_ + Official documentation: `performance/employee_score_scales `_ :param scale_id: The unique identifier. :type scale_id: int | str @@ -700,7 +700,7 @@ class ReviewEvaluationScoresEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewEvaluationScore]: """Get all review evaluation scores. - Official documentation: `performance/review_evaluation_scores `_ + Official documentation: `performance/review_evaluation_scores `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -714,7 +714,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewEvaluationScore]: async def get(self, **kwargs) -> MetaApiResponse[ReviewEvaluationScore]: """Get review evaluation scores with pagination metadata. - Official documentation: `performance/review_evaluation_scores `_ + Official documentation: `performance/review_evaluation_scores `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -730,7 +730,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewEvaluationScore]: async def get_by_id(self, score_id: int | str, **kwargs) -> ReviewEvaluationScore: """Get a specific review evaluation score by ID. - Official documentation: `performance/review_evaluation_scores `_ + Official documentation: `performance/review_evaluation_scores `_ :param score_id: The unique identifier. :type score_id: int | str @@ -752,7 +752,7 @@ class ReviewEvaluationsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewEvaluation]: """Get all review evaluations. - Official documentation: `performance/review_evaluations `_ + Official documentation: `performance/review_evaluations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -766,7 +766,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewEvaluation]: async def get(self, **kwargs) -> MetaApiResponse[ReviewEvaluation]: """Get review evaluations with pagination metadata. - Official documentation: `performance/review_evaluations `_ + Official documentation: `performance/review_evaluations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -782,7 +782,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewEvaluation]: async def get_by_id(self, evaluation_id: int | str, **kwargs) -> ReviewEvaluation: """Get a specific review evaluation by ID. - Official documentation: `performance/review_evaluations `_ + Official documentation: `performance/review_evaluations `_ :param evaluation_id: The unique identifier. :type evaluation_id: int | str @@ -798,7 +798,7 @@ async def get_by_id(self, evaluation_id: int | str, **kwargs) -> ReviewEvaluatio async def replace_reviewer(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewEvaluation: """Replace a reviewer for an evaluation. - Official documentation: `performance/review_evaluations `_ + Official documentation: `performance/review_evaluations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -820,7 +820,7 @@ class ReviewEvaluationAnswersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewEvaluationAnswer]: """Get all review evaluation answers. - Official documentation: `performance/review_evaluation_answers `_ + Official documentation: `performance/review_evaluation_answers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -834,7 +834,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewEvaluationAnswer]: async def get(self, **kwargs) -> MetaApiResponse[ReviewEvaluationAnswer]: """Get review evaluation answers with pagination metadata. - Official documentation: `performance/review_evaluation_answers `_ + Official documentation: `performance/review_evaluation_answers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -856,7 +856,7 @@ class ReviewOwnersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewOwner]: """Get all review owners. - Official documentation: `performance/review_owners `_ + Official documentation: `performance/review_owners `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -870,7 +870,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewOwner]: async def get(self, **kwargs) -> MetaApiResponse[ReviewOwner]: """Get review owners with pagination metadata. - Official documentation: `performance/review_owners `_ + Official documentation: `performance/review_owners `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -886,7 +886,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewOwner]: async def delete(self, owner_id: int | str, **kwargs) -> ReviewOwner: """Delete a review owner. - Official documentation: `performance/review_owners `_ + Official documentation: `performance/review_owners `_ :param owner_id: The unique identifier of the record to delete. :type owner_id: int | str @@ -902,7 +902,7 @@ async def delete(self, owner_id: int | str, **kwargs) -> ReviewOwner: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ReviewOwner]: """Add multiple owners to a review process. - Official documentation: `performance/review_owners `_ + Official documentation: `performance/review_owners `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -924,7 +924,7 @@ class ReviewProcessesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewProcess]: """Get all review processes. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -938,7 +938,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewProcess]: async def get(self, **kwargs) -> MetaApiResponse[ReviewProcess]: """Get review processes with pagination metadata. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -954,7 +954,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewProcess]: async def get_by_id(self, process_id: int | str, **kwargs) -> ReviewProcess: """Get a specific review process by ID. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param process_id: The unique identifier. :type process_id: int | str @@ -970,7 +970,7 @@ async def get_by_id(self, process_id: int | str, **kwargs) -> ReviewProcess: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Create a new review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -986,7 +986,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProces async def delete(self, process_id: int | str, **kwargs) -> ReviewProcess: """Delete a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param process_id: The unique identifier of the record to delete. :type process_id: int | str @@ -1002,7 +1002,7 @@ async def delete(self, process_id: int | str, **kwargs) -> ReviewProcess: async def create_from_template(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Create a new review process from a template. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1018,7 +1018,7 @@ async def create_from_template(self, data: Mapping[str, typing.Any], **kwargs) - async def duplicate(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Duplicate an existing review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1034,7 +1034,7 @@ async def duplicate(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewPro async def remind_in_bulk(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Send bulk reminders to reviewers. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1050,7 +1050,7 @@ async def remind_in_bulk(self, data: Mapping[str, typing.Any], **kwargs) -> Revi async def remove_schedule(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Remove the schedule job for a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1066,7 +1066,7 @@ async def remove_schedule(self, data: Mapping[str, typing.Any], **kwargs) -> Rev async def reopen(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Reopen a finished review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1082,7 +1082,7 @@ async def reopen(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProces async def schedule(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Schedule a review process to start at a given date. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1098,7 +1098,7 @@ async def schedule(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProc async def start(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Start a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1114,7 +1114,7 @@ async def start(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess async def stop(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Stop a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1130,7 +1130,7 @@ async def stop(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: async def toggle_archive(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Archive or unarchive a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1146,7 +1146,7 @@ async def toggle_archive(self, data: Mapping[str, typing.Any], **kwargs) -> Revi async def update_agreements_configuration(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Enable or disable action plans in a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1162,7 +1162,7 @@ async def update_agreements_configuration(self, data: Mapping[str, typing.Any], async def update_basic_info(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Update the basic information of a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1182,7 +1182,7 @@ async def update_competencies_assessments_configuration( ) -> ReviewProcess: """Update competencies assessments configuration. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1203,7 +1203,7 @@ async def update_competencies_assessments_configuration( async def update_deadline(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Update the deadline of a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1219,7 +1219,7 @@ async def update_deadline(self, data: Mapping[str, typing.Any], **kwargs) -> Rev async def update_employee_score_configuration(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Update employee score configuration. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1235,7 +1235,7 @@ async def update_employee_score_configuration(self, data: Mapping[str, typing.An async def update_reviewer_strategies(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Update the review types of a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1251,7 +1251,7 @@ async def update_reviewer_strategies(self, data: Mapping[str, typing.Any], **kwa async def update_schedule(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Update the starting date of a scheduled review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1267,7 +1267,7 @@ async def update_schedule(self, data: Mapping[str, typing.Any], **kwargs) -> Rev async def update_target_strategy(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcess: """Update the criteria for calculating the participants of a review process. - Official documentation: `performance/review_processes `_ + Official documentation: `performance/review_processes `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1289,7 +1289,7 @@ class ReviewProcessCustomTemplatesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewProcessCustomTemplate]: """Get all review process custom templates. - Official documentation: `performance/review_process_custom_templates `_ + Official documentation: `performance/review_process_custom_templates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1303,7 +1303,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewProcessCustomTemplate]: async def get(self, **kwargs) -> MetaApiResponse[ReviewProcessCustomTemplate]: """Get review process custom templates with pagination metadata. - Official documentation: `performance/review_process_custom_templates `_ + Official documentation: `performance/review_process_custom_templates `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1323,7 +1323,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewProcessCustomTemplate]: async def get_by_id(self, template_id: int | str, **kwargs) -> ReviewProcessCustomTemplate: """Get a specific review process custom template by ID. - Official documentation: `performance/review_process_custom_templates `_ + Official documentation: `performance/review_process_custom_templates `_ :param template_id: The unique identifier. :type template_id: int | str @@ -1345,7 +1345,7 @@ class ReviewProcessEstimatedTargetsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewProcessEstimatedTarget]: """Get all review process estimated targets. - Official documentation: `performance/review_process_estimated_targets `_ + Official documentation: `performance/review_process_estimated_targets `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1359,7 +1359,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewProcessEstimatedTarget]: async def get(self, **kwargs) -> MetaApiResponse[ReviewProcessEstimatedTarget]: """Get review process estimated targets with pagination metadata. - Official documentation: `performance/review_process_estimated_targets `_ + Official documentation: `performance/review_process_estimated_targets `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1385,7 +1385,7 @@ class ReviewProcessTargetsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewProcessTarget]: """Get all review process targets. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1399,7 +1399,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewProcessTarget]: async def get(self, **kwargs) -> MetaApiResponse[ReviewProcessTarget]: """Get review process targets with pagination metadata. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1415,7 +1415,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewProcessTarget]: async def get_by_id(self, target_id: str, **kwargs) -> ReviewProcessTarget: """Get a specific review process target by ID. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param target_id: The unique identifier. :type target_id: int | str @@ -1431,7 +1431,7 @@ async def get_by_id(self, target_id: str, **kwargs) -> ReviewProcessTarget: async def delete(self, target_id: str, **kwargs) -> ReviewProcessTarget: """Delete a participant from the active review process. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param target_id: The unique identifier of the record to delete. :type target_id: int | str @@ -1447,7 +1447,7 @@ async def delete(self, target_id: str, **kwargs) -> ReviewProcessTarget: async def add_peers(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcessTarget: """Assign peers to evaluate a specific participant. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1463,7 +1463,7 @@ async def add_peers(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewPro async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ReviewProcessTarget]: """Add multiple participants to the active review process. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1479,7 +1479,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def remove_peer_evaluations(self, data: Mapping[str, typing.Any], **kwargs) -> ReviewProcessTarget: """Remove peers and their evaluations from a specific participant. - Official documentation: `performance/review_process_targets `_ + Official documentation: `performance/review_process_targets `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1501,7 +1501,7 @@ class ReviewQuestionnaireByStrategiesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewQuestionnairesByStrategy]: """Get all review questionnaires by strategies. - Official documentation: `performance/review_questionnaire_by_strategies `_ + Official documentation: `performance/review_questionnaire_by_strategies `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1515,7 +1515,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewQuestionnairesByStrategy] async def get(self, **kwargs) -> MetaApiResponse[ReviewQuestionnairesByStrategy]: """Get review questionnaires by strategies with pagination metadata. - Official documentation: `performance/review_questionnaire_by_strategies `_ + Official documentation: `performance/review_questionnaire_by_strategies `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1535,7 +1535,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewQuestionnairesByStrategy] async def get_by_id(self, questionnaire_id: int | str, **kwargs) -> ReviewQuestionnairesByStrategy: """Get a specific review questionnaire by strategy by ID. - Official documentation: `performance/review_questionnaire_by_strategies `_ + Official documentation: `performance/review_questionnaire_by_strategies `_ :param questionnaire_id: The unique identifier. :type questionnaire_id: int | str @@ -1555,7 +1555,7 @@ async def update_default_rating_scale( ) -> ReviewQuestionnairesByStrategy: """Update the scoring range used in rating questions for all reviewer strategies. - Official documentation: `performance/review_questionnaire_by_strategies `_ + Official documentation: `performance/review_questionnaire_by_strategies `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1575,7 +1575,7 @@ async def update_questionnaire_for_strategy( ) -> ReviewQuestionnairesByStrategy: """Update the review process questionnaire for a specific reviewer strategy. - Official documentation: `performance/review_questionnaire_by_strategies `_ + Official documentation: `performance/review_questionnaire_by_strategies `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1602,7 +1602,7 @@ class ReviewVisibilitySettingsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ReviewVisibilitySetting]: """Get all review visibility settings. - Official documentation: `performance/review_visibility_settings `_ + Official documentation: `performance/review_visibility_settings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1616,7 +1616,7 @@ async def all(self, **kwargs) -> ListApiResponse[ReviewVisibilitySetting]: async def get(self, **kwargs) -> MetaApiResponse[ReviewVisibilitySetting]: """Get review visibility settings with pagination metadata. - Official documentation: `performance/review_visibility_settings `_ + Official documentation: `performance/review_visibility_settings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1632,7 +1632,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ReviewVisibilitySetting]: async def update(self, setting_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ReviewVisibilitySetting: """Update the visibility settings of a review process. - Official documentation: `performance/review_visibility_settings `_ + Official documentation: `performance/review_visibility_settings `_ :param setting_id: The unique identifier of the record to update. :type setting_id: int | str @@ -1656,7 +1656,7 @@ class TargetManagersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TargetManager]: """Get all target managers. - Official documentation: `performance/target_managers `_ + Official documentation: `performance/target_managers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1670,7 +1670,7 @@ async def all(self, **kwargs) -> ListApiResponse[TargetManager]: async def get(self, **kwargs) -> MetaApiResponse[TargetManager]: """Get target managers with pagination metadata. - Official documentation: `performance/target_managers `_ + Official documentation: `performance/target_managers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1686,7 +1686,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TargetManager]: async def get_by_id(self, manager_id: int | str, **kwargs) -> TargetManager: """Get a specific target manager by ID. - Official documentation: `performance/target_managers `_ + Official documentation: `performance/target_managers `_ :param manager_id: The unique identifier. :type manager_id: int | str diff --git a/src/factorialhr/_posts.py b/src/factorialhr/_posts.py index e083ab7..488d2d7 100644 --- a/src/factorialhr/_posts.py +++ b/src/factorialhr/_posts.py @@ -92,7 +92,7 @@ class CommentsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Comment]: """Get all comments records. - Official documentation: `posts/comments `_ + Official documentation: `posts/comments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -106,7 +106,7 @@ async def all(self, **kwargs) -> ListApiResponse[Comment]: async def get(self, **kwargs) -> MetaApiResponse[Comment]: """Get comments with pagination metadata. - Official documentation: `posts/comments `_ + Official documentation: `posts/comments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -122,7 +122,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Comment]: async def get_by_id(self, comment_id: int | str, **kwargs) -> Comment: """Get a specific comment by ID. - Official documentation: `posts/comments `_ + Official documentation: `posts/comments `_ :param comment_id: The unique identifier. :type comment_id: int | str @@ -138,7 +138,7 @@ async def get_by_id(self, comment_id: int | str, **kwargs) -> Comment: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Comment: """Create a new comment. - Official documentation: `posts/comments `_ + Official documentation: `posts/comments `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -154,7 +154,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Comment: async def update(self, comment_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Comment: """Update a comment. - Official documentation: `posts/comments `_ + Official documentation: `posts/comments `_ :param comment_id: The unique identifier of the record to update. :type comment_id: int | str @@ -172,7 +172,7 @@ async def update(self, comment_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, comment_id: int | str, **kwargs) -> Comment: """Delete a comment. - Official documentation: `posts/comments `_ + Official documentation: `posts/comments `_ :param comment_id: The unique identifier of the record to delete. :type comment_id: int | str @@ -194,7 +194,7 @@ class GroupsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Group]: """Get all groups records. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -208,7 +208,7 @@ async def all(self, **kwargs) -> ListApiResponse[Group]: async def get(self, **kwargs) -> MetaApiResponse[Group]: """Get groups with pagination metadata. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -224,7 +224,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Group]: async def get_by_id(self, group_id: int | str, **kwargs) -> Group: """Get a specific group by ID. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param group_id: The unique identifier. :type group_id: int | str @@ -240,7 +240,7 @@ async def get_by_id(self, group_id: int | str, **kwargs) -> Group: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Group: """Create a new group. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -256,7 +256,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Group: async def update(self, group_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Group: """Update a group. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param group_id: The unique identifier of the record to update. :type group_id: int | str @@ -274,7 +274,7 @@ async def update(self, group_id: int | str, data: Mapping[str, typing.Any], **kw async def delete(self, group_id: int | str, **kwargs) -> Group: """Delete a group. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param group_id: The unique identifier of the record to delete. :type group_id: int | str @@ -290,7 +290,7 @@ async def delete(self, group_id: int | str, **kwargs) -> Group: async def archive(self, data: Mapping[str, typing.Any], **kwargs) -> Group: """Archive a group. - Official documentation: `posts/groups `_ + Official documentation: `posts/groups `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -312,7 +312,7 @@ class PostsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Post]: """Get all posts records. - Official documentation: `posts/posts `_ + Official documentation: `posts/posts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -326,7 +326,7 @@ async def all(self, **kwargs) -> ListApiResponse[Post]: async def get(self, **kwargs) -> MetaApiResponse[Post]: """Get posts with pagination metadata. - Official documentation: `posts/posts `_ + Official documentation: `posts/posts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -342,7 +342,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Post]: async def get_by_id(self, post_id: int | str, **kwargs) -> Post: """Get a specific post by ID. - Official documentation: `posts/posts `_ + Official documentation: `posts/posts `_ :param post_id: The unique identifier. :type post_id: int | str @@ -358,7 +358,7 @@ async def get_by_id(self, post_id: int | str, **kwargs) -> Post: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Post: """Create a new post. - Official documentation: `posts/posts `_ + Official documentation: `posts/posts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -374,7 +374,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Post: async def update(self, post_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Post: """Update a post. - Official documentation: `posts/posts `_ + Official documentation: `posts/posts `_ :param post_id: The unique identifier of the record to update. :type post_id: int | str @@ -392,7 +392,7 @@ async def update(self, post_id: int | str, data: Mapping[str, typing.Any], **kwa async def delete(self, post_id: int | str, **kwargs) -> Post: """Delete a post. - Official documentation: `posts/posts `_ + Official documentation: `posts/posts `_ :param post_id: The unique identifier of the record to delete. :type post_id: int | str diff --git a/src/factorialhr/_procurement.py b/src/factorialhr/_procurement.py index 2391cda..dc3790b 100644 --- a/src/factorialhr/_procurement.py +++ b/src/factorialhr/_procurement.py @@ -63,7 +63,7 @@ class PurchaseOrdersEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PurchaseOrder]: """Get all purchase orders records. - Official documentation: `procurement/purchase_orders `_ + Official documentation: `procurement/purchase_orders `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -77,7 +77,7 @@ async def all(self, **kwargs) -> ListApiResponse[PurchaseOrder]: async def get(self, **kwargs) -> MetaApiResponse[PurchaseOrder]: """Get purchase orders with pagination metadata. - Official documentation: `procurement/purchase_orders `_ + Official documentation: `procurement/purchase_orders `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -93,7 +93,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PurchaseOrder]: async def get_by_id(self, purchase_order_id: int | str, **kwargs) -> PurchaseOrder: """Get a specific purchase order by ID. - Official documentation: `procurement/purchase_orders `_ + Official documentation: `procurement/purchase_orders `_ :param purchase_order_id: The unique identifier. :type purchase_order_id: int | str @@ -168,7 +168,7 @@ class PurchaseRequestsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PurchaseRequest]: """Get all purchase requests records. - Official documentation: `procurement/purchase_requests `_ + Official documentation: `procurement/purchase_requests `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -182,7 +182,7 @@ async def all(self, **kwargs) -> ListApiResponse[PurchaseRequest]: async def get(self, **kwargs) -> MetaApiResponse[PurchaseRequest]: """Get purchase requests with pagination metadata. - Official documentation: `procurement/purchase_requests `_ + Official documentation: `procurement/purchase_requests `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -198,7 +198,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PurchaseRequest]: async def get_by_id(self, purchase_request_id: int | str, **kwargs) -> PurchaseRequest: """Get a specific purchase request by ID. - Official documentation: `procurement/purchase_requests `_ + Official documentation: `procurement/purchase_requests `_ :param purchase_request_id: The unique identifier. :type purchase_request_id: int | str @@ -248,7 +248,7 @@ class ProcurementTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ProcurementType]: """Get all procurement types records. - Official documentation: `procurement/types `_ + Official documentation: `procurement/types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -262,7 +262,7 @@ async def all(self, **kwargs) -> ListApiResponse[ProcurementType]: async def get(self, **kwargs) -> MetaApiResponse[ProcurementType]: """Get procurement types with pagination metadata. - Official documentation: `procurement/types `_ + Official documentation: `procurement/types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -278,7 +278,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ProcurementType]: async def get_by_id(self, type_id: int | str, **kwargs) -> ProcurementType: """Get a specific procurement type by ID. - Official documentation: `procurement/types `_ + Official documentation: `procurement/types `_ :param type_id: The unique identifier. :type type_id: int | str diff --git a/src/factorialhr/_project_management.py b/src/factorialhr/_project_management.py index 7dbbb5a..4d3a483 100644 --- a/src/factorialhr/_project_management.py +++ b/src/factorialhr/_project_management.py @@ -43,7 +43,7 @@ class ExpenseRecordEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ExpenseRecord]: """Get all expense records. - Official documentation: `project_management/expense_records `_ + Official documentation: `project_management/expense_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -57,7 +57,7 @@ async def all(self, **kwargs) -> ListApiResponse[ExpenseRecord]: async def get(self, **kwargs) -> MetaApiResponse[ExpenseRecord]: """Get expense records with pagination metadata. - Official documentation: `project_management/expense_records `_ + Official documentation: `project_management/expense_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -73,7 +73,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ExpenseRecord]: async def get_by_id(self, expense_id: int | str, **kwargs) -> ExpenseRecord: """Get a specific expense record by ID. - Official documentation: `project_management/expense_records `_ + Official documentation: `project_management/expense_records `_ :param expense_id: The unique identifier. :type expense_id: int | str @@ -89,7 +89,7 @@ async def get_by_id(self, expense_id: int | str, **kwargs) -> ExpenseRecord: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ExpenseRecord: """Create a new expense record. - Official documentation: `project_management/expense_records `_ + Official documentation: `project_management/expense_records `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -105,7 +105,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ExpenseRecor async def update(self, expense_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ExpenseRecord: """Update an expense record. - Official documentation: `project_management/expense_records `_ + Official documentation: `project_management/expense_records `_ :param expense_id: The unique identifier of the record to update. :type expense_id: int | str @@ -123,7 +123,7 @@ async def update(self, expense_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, expense_id: int | str, **kwargs) -> None: """Delete an expense record. - Official documentation: `project_management/expense_records `_ + Official documentation: `project_management/expense_records `_ :param expense_id: The unique identifier of the record to delete. :type expense_id: int | str @@ -171,7 +171,7 @@ class ExportableExpenseEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ExportableExpense]: """Get all exportable expenses. - Official documentation: `project_management/exportable_expenses `_ + Official documentation: `project_management/exportable_expenses `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -185,7 +185,7 @@ async def all(self, **kwargs) -> ListApiResponse[ExportableExpense]: async def get(self, **kwargs) -> MetaApiResponse[ExportableExpense]: """Get exportable expenses with pagination metadata. - Official documentation: `project_management/exportable_expenses `_ + Official documentation: `project_management/exportable_expenses `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -201,7 +201,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ExportableExpense]: async def get_by_id(self, expense_id: int | str, **kwargs) -> ExportableExpense: """Get a specific exportable expense by ID. - Official documentation: `project_management/exportable_expenses `_ + Official documentation: `project_management/exportable_expenses `_ :param expense_id: The unique identifier. :type expense_id: int | str @@ -217,7 +217,7 @@ async def get_by_id(self, expense_id: int | str, **kwargs) -> ExportableExpense: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ExportableExpense: """Create a new exportable expense. - Official documentation: `project_management/exportable_expenses `_ + Official documentation: `project_management/exportable_expenses `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -233,7 +233,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ExportableEx async def update(self, expense_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ExportableExpense: """Update an exportable expense. - Official documentation: `project_management/exportable_expenses `_ + Official documentation: `project_management/exportable_expenses `_ :param expense_id: The unique identifier of the record to update. :type expense_id: int | str @@ -251,7 +251,7 @@ async def update(self, expense_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, expense_id: int | str, **kwargs) -> None: """Delete an exportable expense. - Official documentation: `project_management/exportable_expenses `_ + Official documentation: `project_management/exportable_expenses `_ :param expense_id: The unique identifier of the record to delete. :type expense_id: int | str @@ -299,7 +299,7 @@ class ExportableProjectEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ExportableProject]: """Get all exportable projects. - Official documentation: `project_management/exportable_projects `_ + Official documentation: `project_management/exportable_projects `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -313,7 +313,7 @@ async def all(self, **kwargs) -> ListApiResponse[ExportableProject]: async def get(self, **kwargs) -> MetaApiResponse[ExportableProject]: """Get exportable projects with pagination metadata. - Official documentation: `project_management/exportable_projects `_ + Official documentation: `project_management/exportable_projects `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -329,7 +329,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ExportableProject]: async def get_by_id(self, project_id: int | str, **kwargs) -> ExportableProject: """Get a specific exportable project by ID. - Official documentation: `project_management/exportable_projects `_ + Official documentation: `project_management/exportable_projects `_ :param project_id: The unique identifier. :type project_id: int | str @@ -345,7 +345,7 @@ async def get_by_id(self, project_id: int | str, **kwargs) -> ExportableProject: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ExportableProject: """Create a new exportable project. - Official documentation: `project_management/exportable_projects `_ + Official documentation: `project_management/exportable_projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -361,7 +361,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ExportablePr async def update(self, project_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ExportableProject: """Update an exportable project. - Official documentation: `project_management/exportable_projects `_ + Official documentation: `project_management/exportable_projects `_ :param project_id: The unique identifier of the record to update. :type project_id: int | str @@ -379,7 +379,7 @@ async def update(self, project_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, project_id: int | str, **kwargs) -> None: """Delete an exportable project. - Official documentation: `project_management/exportable_projects `_ + Official documentation: `project_management/exportable_projects `_ :param project_id: The unique identifier of the record to delete. :type project_id: int | str @@ -415,7 +415,7 @@ class FlexibleTimeRecordEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[FlexibleTimeRecord]: """Get all flexible time records. - Official documentation: `project_management/flexible_time_records `_ + Official documentation: `project_management/flexible_time_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -429,7 +429,7 @@ async def all(self, **kwargs) -> ListApiResponse[FlexibleTimeRecord]: async def get(self, **kwargs) -> MetaApiResponse[FlexibleTimeRecord]: """Get flexible time records with pagination metadata. - Official documentation: `project_management/flexible_time_records `_ + Official documentation: `project_management/flexible_time_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -445,7 +445,7 @@ async def get(self, **kwargs) -> MetaApiResponse[FlexibleTimeRecord]: async def get_by_id(self, record_id: int | str, **kwargs) -> FlexibleTimeRecord: """Get a specific flexible time record by ID. - Official documentation: `project_management/flexible_time_records `_ + Official documentation: `project_management/flexible_time_records `_ :param record_id: The unique identifier. :type record_id: int | str @@ -461,7 +461,7 @@ async def get_by_id(self, record_id: int | str, **kwargs) -> FlexibleTimeRecord: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> FlexibleTimeRecord: """Create a new flexible time record. - Official documentation: `project_management/flexible_time_records `_ + Official documentation: `project_management/flexible_time_records `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -477,7 +477,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> FlexibleTime async def update(self, record_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> FlexibleTimeRecord: """Update a flexible time record. - Official documentation: `project_management/flexible_time_records `_ + Official documentation: `project_management/flexible_time_records `_ :param record_id: The unique identifier of the record to update. :type record_id: int | str @@ -495,7 +495,7 @@ async def update(self, record_id: int | str, data: Mapping[str, typing.Any], **k async def delete(self, record_id: int | str, **kwargs) -> FlexibleTimeRecord: """Delete a flexible time record. - Official documentation: `project_management/flexible_time_records `_ + Official documentation: `project_management/flexible_time_records `_ :param record_id: The unique identifier of the record to delete. :type record_id: int | str @@ -528,7 +528,7 @@ class FlexibleTimeRecordCommentEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[FlexibleTimeRecordComment]: """Get all flexible time record comments. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -542,7 +542,7 @@ async def all(self, **kwargs) -> ListApiResponse[FlexibleTimeRecordComment]: async def get(self, **kwargs) -> MetaApiResponse[FlexibleTimeRecordComment]: """Get flexible time record comments with pagination metadata. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -562,7 +562,7 @@ async def get(self, **kwargs) -> MetaApiResponse[FlexibleTimeRecordComment]: async def get_by_id(self, comment_id: int | str, **kwargs) -> FlexibleTimeRecordComment: """Get a specific flexible time record comment by ID. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param comment_id: The unique identifier. :type comment_id: int | str @@ -578,7 +578,7 @@ async def get_by_id(self, comment_id: int | str, **kwargs) -> FlexibleTimeRecord async def create(self, data: Mapping[str, typing.Any], **kwargs) -> FlexibleTimeRecordComment: """Create a new flexible time record comment. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -599,7 +599,7 @@ async def update( ) -> FlexibleTimeRecordComment: """Update a flexible time record comment. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param comment_id: The unique identifier of the record to update. :type comment_id: int | str @@ -617,7 +617,7 @@ async def update( async def delete(self, comment_id: int | str, **kwargs) -> FlexibleTimeRecordComment: """Delete a flexible time record comment. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param comment_id: The unique identifier of the record to delete. :type comment_id: int | str @@ -637,7 +637,7 @@ async def delete_by_flexible_time_record( ) -> FlexibleTimeRecordComment: """Delete a flexible time record comment by flexible time record ID. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -657,7 +657,7 @@ async def update_by_flexible_time_record( ) -> FlexibleTimeRecordComment: """Update a flexible time record comment by flexible time record ID. - Official documentation: `project_management/flexible_time_record_comments `_ + Official documentation: `project_management/flexible_time_record_comments `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -732,7 +732,7 @@ class ProjectEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Project]: """Get all projects. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -746,7 +746,7 @@ async def all(self, **kwargs) -> ListApiResponse[Project]: async def get(self, **kwargs) -> MetaApiResponse[Project]: """Get projects with pagination metadata. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -762,7 +762,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Project]: async def get_by_id(self, project_id: int | str, **kwargs) -> Project: """Get a specific project by ID. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param project_id: The unique identifier. :type project_id: int | str @@ -778,7 +778,7 @@ async def get_by_id(self, project_id: int | str, **kwargs) -> Project: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Project: """Create a new project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -794,7 +794,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Project: async def update(self, project_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Project: """Update a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param project_id: The unique identifier of the record to update. :type project_id: int | str @@ -812,7 +812,7 @@ async def update(self, project_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, project_id: int | str, **kwargs) -> Project: """Delete a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param project_id: The unique identifier of the record to delete. :type project_id: int | str @@ -828,7 +828,7 @@ async def delete(self, project_id: int | str, **kwargs) -> Project: async def activate(self, data: Mapping[str, typing.Any], **kwargs) -> Project: """Activate a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -844,7 +844,7 @@ async def activate(self, data: Mapping[str, typing.Any], **kwargs) -> Project: async def change_assignment(self, data: Mapping[str, typing.Any], **kwargs) -> Project: """Change assignment of a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -860,7 +860,7 @@ async def change_assignment(self, data: Mapping[str, typing.Any], **kwargs) -> P async def change_status(self, data: Mapping[str, typing.Any], **kwargs) -> Project: """Change status of a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -876,7 +876,7 @@ async def change_status(self, data: Mapping[str, typing.Any], **kwargs) -> Proje async def close(self, data: Mapping[str, typing.Any], **kwargs) -> Project: """Close a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -892,7 +892,7 @@ async def close(self, data: Mapping[str, typing.Any], **kwargs) -> Project: async def soft_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Project: """Soft delete a project. - Official documentation: `project_management/projects `_ + Official documentation: `project_management/projects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -929,7 +929,7 @@ class ProjectTaskEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ProjectTask]: """Get all project tasks. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -943,7 +943,7 @@ async def all(self, **kwargs) -> ListApiResponse[ProjectTask]: async def get(self, **kwargs) -> MetaApiResponse[ProjectTask]: """Get project tasks with pagination metadata. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -959,7 +959,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ProjectTask]: async def get_by_id(self, task_id: int | str, **kwargs) -> ProjectTask: """Get a specific project task by ID. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param task_id: The unique identifier. :type task_id: int | str @@ -975,7 +975,7 @@ async def get_by_id(self, task_id: int | str, **kwargs) -> ProjectTask: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ProjectTask: """Create a new project task. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -991,7 +991,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ProjectTask: async def update(self, task_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ProjectTask: """Update a project task. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param task_id: The unique identifier of the record to update. :type task_id: int | str @@ -1009,7 +1009,7 @@ async def update(self, task_id: int | str, data: Mapping[str, typing.Any], **kwa async def delete(self, task_id: int | str, **kwargs) -> ProjectTask: """Delete a project task. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param task_id: The unique identifier of the record to delete. :type task_id: int | str @@ -1025,7 +1025,7 @@ async def delete(self, task_id: int | str, **kwargs) -> ProjectTask: async def bulk_destroy(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ProjectTask]: """Bulk destroy project tasks. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1041,7 +1041,7 @@ async def bulk_destroy(self, data: Mapping[str, typing.Any], **kwargs) -> Sequen async def bulk_duplicate(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ProjectTask]: """Bulk duplicate project tasks. - Official documentation: `project_management/project_tasks `_ + Official documentation: `project_management/project_tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1082,7 +1082,7 @@ class ProjectWorkerEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ProjectWorker]: """Get all project workers. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1096,7 +1096,7 @@ async def all(self, **kwargs) -> ListApiResponse[ProjectWorker]: async def get(self, **kwargs) -> MetaApiResponse[ProjectWorker]: """Get project workers with pagination metadata. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1112,7 +1112,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ProjectWorker]: async def get_by_id(self, worker_id: int | str, **kwargs) -> ProjectWorker: """Get a specific project worker by ID. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param worker_id: The unique identifier. :type worker_id: int | str @@ -1128,7 +1128,7 @@ async def get_by_id(self, worker_id: int | str, **kwargs) -> ProjectWorker: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ProjectWorker: """Create a new project worker. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1144,7 +1144,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ProjectWorke async def update(self, worker_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ProjectWorker: """Update a project worker. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param worker_id: The unique identifier of the record to update. :type worker_id: int | str @@ -1162,7 +1162,7 @@ async def update(self, worker_id: int | str, data: Mapping[str, typing.Any], **k async def delete(self, worker_id: int | str, **kwargs) -> ProjectWorker: """Delete a project worker. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param worker_id: The unique identifier of the record to delete. :type worker_id: int | str @@ -1178,7 +1178,7 @@ async def delete(self, worker_id: int | str, **kwargs) -> ProjectWorker: async def bulk_assign(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ProjectWorker]: """Bulk assign project workers. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1194,7 +1194,7 @@ async def bulk_assign(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ProjectWorker]: """Bulk create project workers. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1210,7 +1210,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def unassign(self, data: Mapping[str, typing.Any], **kwargs) -> ProjectWorker: """Unassign a project worker. - Official documentation: `project_management/project_workers `_ + Official documentation: `project_management/project_workers `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1259,7 +1259,7 @@ class SubprojectEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Subproject]: """Get all subprojects. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1273,7 +1273,7 @@ async def all(self, **kwargs) -> ListApiResponse[Subproject]: async def get(self, **kwargs) -> MetaApiResponse[Subproject]: """Get subprojects with pagination metadata. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1289,7 +1289,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Subproject]: async def get_by_id(self, subproject_id: int | str, **kwargs) -> Subproject: """Get a specific subproject by ID. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param subproject_id: The unique identifier. :type subproject_id: int | str @@ -1305,7 +1305,7 @@ async def get_by_id(self, subproject_id: int | str, **kwargs) -> Subproject: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Subproject: """Create a new subproject. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1321,7 +1321,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Subproject: async def update(self, subproject_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Subproject: """Update a subproject. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param subproject_id: The unique identifier of the record to update. :type subproject_id: int | str @@ -1339,7 +1339,7 @@ async def update(self, subproject_id: int | str, data: Mapping[str, typing.Any], async def delete(self, subproject_id: int | str, **kwargs) -> Subproject: """Delete a subproject. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param subproject_id: The unique identifier of the record to delete. :type subproject_id: int | str @@ -1355,7 +1355,7 @@ async def delete(self, subproject_id: int | str, **kwargs) -> Subproject: async def rename(self, data: Mapping[str, typing.Any], **kwargs) -> Subproject: """Rename a subproject. - Official documentation: `project_management/subprojects `_ + Official documentation: `project_management/subprojects `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1404,7 +1404,7 @@ class TimeRecordEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TimeRecord]: """Get all time records. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1418,7 +1418,7 @@ async def all(self, **kwargs) -> ListApiResponse[TimeRecord]: async def get(self, **kwargs) -> MetaApiResponse[TimeRecord]: """Get time records with pagination metadata. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1434,7 +1434,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TimeRecord]: async def get_by_id(self, record_id: int | str, **kwargs) -> TimeRecord: """Get a specific time record by ID. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param record_id: The unique identifier. :type record_id: int | str @@ -1450,7 +1450,7 @@ async def get_by_id(self, record_id: int | str, **kwargs) -> TimeRecord: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TimeRecord: """Create a new time record. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1466,7 +1466,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TimeRecord: async def update(self, record_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> TimeRecord: """Update a time record. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param record_id: The unique identifier of the record to update. :type record_id: int | str @@ -1484,7 +1484,7 @@ async def update(self, record_id: int | str, data: Mapping[str, typing.Any], **k async def delete(self, record_id: int | str, **kwargs) -> TimeRecord: """Delete a time record. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param record_id: The unique identifier of the record to delete. :type record_id: int | str @@ -1500,7 +1500,7 @@ async def delete(self, record_id: int | str, **kwargs) -> TimeRecord: async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[TimeRecord]: """Bulk delete time records. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1516,7 +1516,7 @@ async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_process(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[TimeRecord]: """Bulk process time records. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1532,7 +1532,7 @@ async def bulk_process(self, data: Mapping[str, typing.Any], **kwargs) -> Sequen async def update_project_worker(self, data: Mapping[str, typing.Any], **kwargs) -> TimeRecord: """Update project worker for a time record. - Official documentation: `project_management/time_records `_ + Official documentation: `project_management/time_records `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1577,7 +1577,7 @@ class PlannedRecordsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PlannedRecord]: """Get all planned records. - Official documentation: `project_management/planned_records `_ + Official documentation: `project_management/planned_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1591,7 +1591,7 @@ async def all(self, **kwargs) -> ListApiResponse[PlannedRecord]: async def get(self, **kwargs) -> MetaApiResponse[PlannedRecord]: """Get planned records with pagination metadata. - Official documentation: `project_management/planned_records `_ + Official documentation: `project_management/planned_records `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1607,7 +1607,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PlannedRecord]: async def get_by_id(self, planned_record_id: int | str, **kwargs) -> PlannedRecord: """Get a specific planned record by ID. - Official documentation: `project_management/planned_records `_ + Official documentation: `project_management/planned_records `_ :param planned_record_id: The unique identifier. :type planned_record_id: int | str @@ -1623,7 +1623,7 @@ async def get_by_id(self, planned_record_id: int | str, **kwargs) -> PlannedReco async def update(self, planned_record_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> PlannedRecord: """Update a planned record. - Official documentation: `project_management/planned_records `_ + Official documentation: `project_management/planned_records `_ :param planned_record_id: The unique identifier of the record to update. :type planned_record_id: int | str @@ -1641,7 +1641,7 @@ async def update(self, planned_record_id: int | str, data: Mapping[str, typing.A async def delete(self, planned_record_id: int | str, **kwargs) -> PlannedRecord: """Delete a planned record. - Official documentation: `project_management/planned_records `_ + Official documentation: `project_management/planned_records `_ :param planned_record_id: The unique identifier of the record to delete. :type planned_record_id: int | str @@ -1657,7 +1657,7 @@ async def delete(self, planned_record_id: int | str, **kwargs) -> PlannedRecord: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[PlannedRecord]: """Bulk create planned records. - Official documentation: `project_management/planned_records `_ + Official documentation: `project_management/planned_records `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1669,3 +1669,148 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc """ response = await self.api.post(self.endpoint, 'bulk_create', json=data, **kwargs) return pydantic.TypeAdapter(list[PlannedRecord]).validate_python(response) + + +class BudgetStrategyType(StrEnum): + """Enum for budget strategy types.""" + + PROJECT_FIXED_COST = 'project_fixed_cost' + TOTAL_BUDGET = 'total_budget' + WITHOUT_BUDGET = 'without_budget' + + +class BudgetStrategy(pydantic.BaseModel): + """Model for project_management_budget_strategy.""" + + model_config = pydantic.ConfigDict(frozen=True) + + #: Factorial id of the budget strategy + id: int = pydantic.Field(description='Factorial id of the budget strategy') + #: Type of budget strategy + budget_type: BudgetStrategyType = pydantic.Field(description='Type of budget strategy') + #: Planned amount in cents (for project_fixed_cost / total_budget) + planned_cents: int | None = pydantic.Field( + default=None, + description='Planned amount in cents (for project_fixed_cost / total_budget)', + ) + #: Planned time in minutes (for total_budget) + planned_minutes: int | None = pydantic.Field( + default=None, + description='Planned time in minutes (for total_budget)', + ) + #: Fee amount in cents (for project_fixed_cost / total_budget when is billable) + fee_amount_cents: int | None = pydantic.Field( + default=None, + description='Fee amount in cents (for project_fixed_cost / total_budget when is billable)', + ) + #: Id of the project this budget strategy belongs to + project_id: int = pydantic.Field(description='Id of the project this budget strategy belongs to') + #: Id of the subproject this budget strategy belongs to, if any + subproject_id: int | None = pydantic.Field( + default=None, + description='Id of the subproject this budget strategy belongs to, if any', + ) + #: Whether the budget strategy is delegated + delegated: bool | None = pydantic.Field(default=None, description='Whether the budget strategy is delegated') + + +class BudgetStrategiesEndpoint(Endpoint): + """Endpoint for project_management/budget_strategies operations.""" + + endpoint = 'project_management/budget_strategies' + + async def all(self, **kwargs) -> ListApiResponse[BudgetStrategy]: + """Get all budget strategies. + + Official documentation: `project_management/budget_strategies `_ + + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: Response containing the list of records. + :rtype: ListApiResponse[BudgetStrategy] + """ + data = await self.api.get_all(self.endpoint, **kwargs) + return ListApiResponse(model_type=BudgetStrategy, raw_data=data) + + async def get(self, **kwargs) -> MetaApiResponse[BudgetStrategy]: + """Get budget strategies with pagination metadata. + + Official documentation: `project_management/budget_strategies `_ + + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: Response containing records and pagination metadata. + :rtype: MetaApiResponse[BudgetStrategy] + """ + query_params = kwargs.pop('params', {}) + query_params.setdefault('page', 1) + response = await self.api.get(self.endpoint, params=query_params, **kwargs) + return MetaApiResponse(model_type=BudgetStrategy, raw_meta=response['meta'], raw_data=response['data']) + + async def get_by_id(self, budget_strategy_id: int | str, **kwargs) -> BudgetStrategy: + """Get a specific budget strategy by ID. + + Official documentation: `project_management/budget_strategies `_ + + :param budget_strategy_id: The unique identifier. + :type budget_strategy_id: int | str + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: The record. + :rtype: BudgetStrategy + """ + data = await self.api.get(self.endpoint, budget_strategy_id, **kwargs) + return pydantic.TypeAdapter(BudgetStrategy).validate_python(data['data']) + + async def create(self, data: Mapping[str, typing.Any], **kwargs) -> BudgetStrategy: + """Create a new budget strategy. + + Official documentation: `project_management/budget_strategies `_ + + :param data: Payload for the new record (key-value mapping). + :type data: Mapping[str, typing.Any] + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: The created record. + :rtype: BudgetStrategy + """ + response = await self.api.post(self.endpoint, json=data, **kwargs) + return pydantic.TypeAdapter(BudgetStrategy).validate_python(response['data']) + + async def update(self, budget_strategy_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> BudgetStrategy: + """Update a budget strategy. + + Official documentation: `project_management/budget_strategies `_ + + :param budget_strategy_id: The unique identifier of the record to update. + :type budget_strategy_id: int | str + :param data: Payload with fields to update (key-value mapping). + :type data: Mapping[str, typing.Any] + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: The updated record. + :rtype: BudgetStrategy + """ + response = await self.api.put(self.endpoint, budget_strategy_id, json=data, **kwargs) + return pydantic.TypeAdapter(BudgetStrategy).validate_python(response['data']) + + async def delete(self, budget_strategy_id: int | str, **kwargs) -> BudgetStrategy: + """Delete a budget strategy. + + Official documentation: `project_management/budget_strategies `_ + + :param budget_strategy_id: The unique identifier of the record to delete. + :type budget_strategy_id: int | str + :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. + :type kwargs: optional + :raises httpx.HTTPStatusError: When the API returns an error status code. + :return: The deleted record. + :rtype: BudgetStrategy + """ + response = await self.api.delete(self.endpoint, budget_strategy_id, **kwargs) + return pydantic.TypeAdapter(BudgetStrategy).validate_python(response) diff --git a/src/factorialhr/_shift_management.py b/src/factorialhr/_shift_management.py index b27218a..f7e26c0 100644 --- a/src/factorialhr/_shift_management.py +++ b/src/factorialhr/_shift_management.py @@ -64,7 +64,7 @@ class ShiftManagementEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[ShiftManagementShift]: """Get all shifts records. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -78,7 +78,7 @@ async def all(self, **kwargs) -> ListApiResponse[ShiftManagementShift]: async def get(self, **kwargs) -> MetaApiResponse[ShiftManagementShift]: """Get shifts with pagination metadata. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -94,7 +94,7 @@ async def get(self, **kwargs) -> MetaApiResponse[ShiftManagementShift]: async def get_by_id(self, shift_id: int | str, **kwargs) -> ShiftManagementShift: """Get a specific shift by ID. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param shift_id: The unique identifier. :type shift_id: int | str @@ -110,7 +110,7 @@ async def get_by_id(self, shift_id: int | str, **kwargs) -> ShiftManagementShift async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ShiftManagementShift: """Create a new shift. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -126,7 +126,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> ShiftManagem async def update(self, shift_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> ShiftManagementShift: """Update a shift. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param shift_id: The unique identifier of the record to update. :type shift_id: int | str @@ -144,7 +144,7 @@ async def update(self, shift_id: int | str, data: Mapping[str, typing.Any], **kw async def delete(self, shift_id: int | str, **kwargs) -> ShiftManagementShift: """Delete a shift. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param shift_id: The unique identifier of the record to delete. :type shift_id: int | str @@ -160,7 +160,7 @@ async def delete(self, shift_id: int | str, **kwargs) -> ShiftManagementShift: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ShiftManagementShift]: """Bulk create shifts. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -176,7 +176,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[ShiftManagementShift]: """Bulk delete shifts. - Official documentation: `shift_management/shifts `_ + Official documentation: `shift_management/shifts `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_tasks.py b/src/factorialhr/_tasks.py index 83ef20f..94719a5 100644 --- a/src/factorialhr/_tasks.py +++ b/src/factorialhr/_tasks.py @@ -77,7 +77,7 @@ class TasksEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Task]: """Get all tasks records. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -91,7 +91,7 @@ async def all(self, **kwargs) -> ListApiResponse[Task]: async def get(self, **kwargs) -> MetaApiResponse[Task]: """Get tasks with pagination metadata. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -107,7 +107,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Task]: async def get_by_id(self, task_id: int | str, **kwargs) -> Task: """Get a specific task by ID. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param task_id: The unique identifier. :type task_id: int | str @@ -123,7 +123,7 @@ async def get_by_id(self, task_id: int | str, **kwargs) -> Task: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Task: """Create a new task. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -139,7 +139,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Task: async def update(self, task_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Task: """Update a task. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param task_id: The unique identifier of the record to update. :type task_id: int | str @@ -157,7 +157,7 @@ async def update(self, task_id: int | str, data: Mapping[str, typing.Any], **kwa async def delete(self, task_id: int | str, **kwargs) -> Task: """Delete a task. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param task_id: The unique identifier of the record to delete. :type task_id: int | str @@ -173,7 +173,7 @@ async def delete(self, task_id: int | str, **kwargs) -> Task: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Task]: """Bulk create tasks. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -189,7 +189,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Task]: """Bulk delete tasks. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -205,7 +205,7 @@ async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_update(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Task]: """Bulk update tasks. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -221,7 +221,7 @@ async def bulk_update(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def copy(self, data: Mapping[str, typing.Any], **kwargs) -> Task: """Copy a task. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -237,7 +237,7 @@ async def copy(self, data: Mapping[str, typing.Any], **kwargs) -> Task: async def create_comment(self, data: Mapping[str, typing.Any], **kwargs) -> Task: """Create a comment on a task. - Official documentation: `tasks/tasks `_ + Official documentation: `tasks/tasks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -259,7 +259,7 @@ class TaskFilesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TaskFile]: """Get all task files records. - Official documentation: `tasks/task_files `_ + Official documentation: `tasks/task_files `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -273,7 +273,7 @@ async def all(self, **kwargs) -> ListApiResponse[TaskFile]: async def get(self, **kwargs) -> MetaApiResponse[TaskFile]: """Get task files with pagination metadata. - Official documentation: `tasks/task_files `_ + Official documentation: `tasks/task_files `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -289,7 +289,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TaskFile]: async def get_by_id(self, file_id: int | str, **kwargs) -> TaskFile: """Get a specific task file by ID. - Official documentation: `tasks/task_files `_ + Official documentation: `tasks/task_files `_ :param file_id: The unique identifier. :type file_id: int | str @@ -305,7 +305,7 @@ async def get_by_id(self, file_id: int | str, **kwargs) -> TaskFile: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TaskFile: """Create a new task file. - Official documentation: `tasks/task_files `_ + Official documentation: `tasks/task_files `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -321,7 +321,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TaskFile: async def delete(self, file_id: int | str, **kwargs) -> TaskFile: """Delete a task file. - Official documentation: `tasks/task_files `_ + Official documentation: `tasks/task_files `_ :param file_id: The unique identifier of the record to delete. :type file_id: int | str diff --git a/src/factorialhr/_teams.py b/src/factorialhr/_teams.py index 87abeec..7033899 100644 --- a/src/factorialhr/_teams.py +++ b/src/factorialhr/_teams.py @@ -52,7 +52,7 @@ class MembershipsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Membership]: """Get all memberships records. - Official documentation: `teams/memberships `_ + Official documentation: `teams/memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -66,7 +66,7 @@ async def all(self, **kwargs) -> ListApiResponse[Membership]: async def get(self, **kwargs) -> MetaApiResponse[Membership]: """Get memberships with pagination metadata. - Official documentation: `teams/memberships `_ + Official documentation: `teams/memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -82,7 +82,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Membership]: async def get_by_id(self, membership_id: int | str, **kwargs) -> Membership: """Get a specific team membership by ID. - Official documentation: `teams/memberships `_ + Official documentation: `teams/memberships `_ :param membership_id: The unique identifier. :type membership_id: int | str @@ -98,7 +98,7 @@ async def get_by_id(self, membership_id: int | str, **kwargs) -> Membership: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Membership: """Create a new membership. - Official documentation: `teams/memberships `_ + Official documentation: `teams/memberships `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -114,7 +114,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Membership: async def update(self, membership_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Membership: """Update a membership. - Official documentation: `teams/memberships `_ + Official documentation: `teams/memberships `_ :param membership_id: The unique identifier of the record to update. :type membership_id: int | str @@ -132,7 +132,7 @@ async def update(self, membership_id: int | str, data: Mapping[str, typing.Any], async def delete(self, membership_id: int | str, **kwargs) -> Membership: """Delete a membership. - Official documentation: `teams/memberships `_ + Official documentation: `teams/memberships `_ :param membership_id: The unique identifier of the record to delete. :type membership_id: int | str @@ -154,7 +154,7 @@ class TeamsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Team]: """Get all teams records. - Official documentation: `teams/teams `_ + Official documentation: `teams/teams `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -168,7 +168,7 @@ async def all(self, **kwargs) -> ListApiResponse[Team]: async def get(self, **kwargs) -> MetaApiResponse[Team]: """Get teams with pagination metadata. - Official documentation: `teams/teams `_ + Official documentation: `teams/teams `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -184,7 +184,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Team]: async def get_by_id(self, team_id: int | str, **kwargs) -> Team: """Get a specific team by ID. - Official documentation: `teams/teams `_ + Official documentation: `teams/teams `_ :param team_id: The unique identifier. :type team_id: int | str @@ -200,7 +200,7 @@ async def get_by_id(self, team_id: int | str, **kwargs) -> Team: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Team: """Create a new team. - Official documentation: `teams/teams `_ + Official documentation: `teams/teams `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -216,7 +216,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Team: async def update(self, team_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Team: """Update a team. - Official documentation: `teams/teams `_ + Official documentation: `teams/teams `_ :param team_id: The unique identifier of the record to update. :type team_id: int | str @@ -234,7 +234,7 @@ async def update(self, team_id: int | str, data: Mapping[str, typing.Any], **kwa async def delete(self, team_id: int | str, **kwargs) -> Team: """Delete a team. - Official documentation: `teams/teams `_ + Official documentation: `teams/teams `_ :param team_id: The unique identifier of the record to delete. :type team_id: int | str diff --git a/src/factorialhr/_time_planning.py b/src/factorialhr/_time_planning.py index 98713ae..4a06b3f 100644 --- a/src/factorialhr/_time_planning.py +++ b/src/factorialhr/_time_planning.py @@ -83,7 +83,7 @@ class PlannedBreakEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PlannedBreak]: """Get all planned breaks. - Official documentation: `time_planning/planned_breaks `_ + Official documentation: `time_planning/planned_breaks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -97,7 +97,7 @@ async def all(self, **kwargs) -> ListApiResponse[PlannedBreak]: async def get(self, **kwargs) -> MetaApiResponse[PlannedBreak]: """Get planned breaks with pagination metadata. - Official documentation: `time_planning/planned_breaks `_ + Official documentation: `time_planning/planned_breaks `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -113,7 +113,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PlannedBreak]: async def get_by_id(self, break_id: int | str, **kwargs) -> PlannedBreak: """Get a specific planned break by ID. - Official documentation: `time_planning/planned_breaks `_ + Official documentation: `time_planning/planned_breaks `_ :param break_id: The unique identifier. :type break_id: int | str @@ -129,7 +129,7 @@ async def get_by_id(self, break_id: int | str, **kwargs) -> PlannedBreak: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[PlannedBreak]: """Bulk create planned breaks. - Official documentation: `time_planning/planned_breaks `_ + Official documentation: `time_planning/planned_breaks `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -151,7 +151,7 @@ class PlanningVersionEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PlanningVersion]: """Get all planning versions. - Official documentation: `time_planning/planning_versions `_ + Official documentation: `time_planning/planning_versions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -165,7 +165,7 @@ async def all(self, **kwargs) -> ListApiResponse[PlanningVersion]: async def get(self, **kwargs) -> MetaApiResponse[PlanningVersion]: """Get planning versions with pagination metadata. - Official documentation: `time_planning/planning_versions `_ + Official documentation: `time_planning/planning_versions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -181,7 +181,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PlanningVersion]: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> PlanningVersion: """Create a new planning version. - Official documentation: `time_planning/planning_versions `_ + Official documentation: `time_planning/planning_versions `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -197,7 +197,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> PlanningVers async def update(self, version_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> PlanningVersion: """Update a planning version. - Official documentation: `time_planning/planning_versions `_ + Official documentation: `time_planning/planning_versions `_ :param version_id: The unique identifier of the record to update. :type version_id: int | str @@ -215,7 +215,7 @@ async def update(self, version_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, version_id: int | str, **kwargs) -> PlanningVersion: """Delete a planning version. - Official documentation: `time_planning/planning_versions `_ + Official documentation: `time_planning/planning_versions `_ :param version_id: The unique identifier of the record to delete. :type version_id: int | str @@ -231,7 +231,7 @@ async def delete(self, version_id: int | str, **kwargs) -> PlanningVersion: async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[PlanningVersion]: """Bulk create planning versions. - Official documentation: `time_planning/planning_versions `_ + Official documentation: `time_planning/planning_versions `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_time_settings.py b/src/factorialhr/_time_settings.py index 1c63d5e..dd378e5 100644 --- a/src/factorialhr/_time_settings.py +++ b/src/factorialhr/_time_settings.py @@ -29,7 +29,7 @@ class BreakConfigurationEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[BreakConfiguration]: """Get all break configurations. - Official documentation: `time_settings/break_configurations `_ + Official documentation: `time_settings/break_configurations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -43,7 +43,7 @@ async def all(self, **kwargs) -> ListApiResponse[BreakConfiguration]: async def get(self, **kwargs) -> MetaApiResponse[BreakConfiguration]: """Get break configurations with pagination metadata. - Official documentation: `time_settings/break_configurations `_ + Official documentation: `time_settings/break_configurations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -59,7 +59,7 @@ async def get(self, **kwargs) -> MetaApiResponse[BreakConfiguration]: async def get_by_id(self, config_id: int | str, **kwargs) -> BreakConfiguration: """Get a specific break configuration by ID. - Official documentation: `time_settings/break_configurations `_ + Official documentation: `time_settings/break_configurations `_ :param config_id: The unique identifier. :type config_id: int | str @@ -75,7 +75,7 @@ async def get_by_id(self, config_id: int | str, **kwargs) -> BreakConfiguration: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> BreakConfiguration: """Create a new break configuration. - Official documentation: `time_settings/break_configurations `_ + Official documentation: `time_settings/break_configurations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -91,7 +91,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> BreakConfigu async def update(self, config_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> BreakConfiguration: """Update a break configuration. - Official documentation: `time_settings/break_configurations `_ + Official documentation: `time_settings/break_configurations `_ :param config_id: The unique identifier of the record to update. :type config_id: int | str diff --git a/src/factorialhr/_timeoff.py b/src/factorialhr/_timeoff.py index 8e2b8e7..77fa4d1 100644 --- a/src/factorialhr/_timeoff.py +++ b/src/factorialhr/_timeoff.py @@ -273,6 +273,9 @@ class AllowanceStatsNew(pydantic.BaseModel): accumulated_carry_over: Mapping[str, typing.Any] available_days: Mapping[str, typing.Any] total_accrued_units: Mapping[str, typing.Any] + total: Mapping[str, typing.Any] + accrued_incidences: Mapping[str, typing.Any] + available_incidences: Mapping[str, typing.Any] incidences: Mapping[str, typing.Any] max_balance_cap: Mapping[str, typing.Any] | None = None policy_allowance: Mapping[str, typing.Any] @@ -409,7 +412,7 @@ class AllowancesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Allowance]: """Get all allowances records. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -423,7 +426,7 @@ async def all(self, **kwargs) -> ListApiResponse[Allowance]: async def get(self, **kwargs) -> MetaApiResponse[Allowance]: """Get allowances with pagination metadata. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -439,7 +442,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Allowance]: async def get_by_id(self, allowance_id: int | str, **kwargs) -> Allowance: """Get a specific allowance by ID. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param allowance_id: The unique identifier. :type allowance_id: int | str @@ -455,7 +458,7 @@ async def get_by_id(self, allowance_id: int | str, **kwargs) -> Allowance: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Allowance: """Create a new allowance. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -471,7 +474,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Allowance: async def update(self, allowance_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Allowance: """Update an allowance. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param allowance_id: The unique identifier of the record to update. :type allowance_id: int | str @@ -489,7 +492,7 @@ async def update(self, allowance_id: int | str, data: Mapping[str, typing.Any], async def delete(self, allowance_id: int | str, **kwargs) -> Allowance: """Delete an allowance. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param allowance_id: The unique identifier of the record to delete. :type allowance_id: int | str @@ -505,7 +508,7 @@ async def delete(self, allowance_id: int | str, **kwargs) -> Allowance: async def delete_with_alt_allowance(self, data: Mapping[str, typing.Any], **kwargs) -> Allowance: """Delete an allowance and migrate existing incidences to alternative allowance. - Official documentation: `timeoff/allowances `_ + Official documentation: `timeoff/allowances `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -527,7 +530,7 @@ class AllowanceIncidencesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[AllowanceIncidence]: """Get all allowance incidences records. - Official documentation: `timeoff/allowance_incidences `_ + Official documentation: `timeoff/allowance_incidences `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -541,7 +544,7 @@ async def all(self, **kwargs) -> ListApiResponse[AllowanceIncidence]: async def get(self, **kwargs) -> MetaApiResponse[AllowanceIncidence]: """Get allowance incidences with pagination metadata. - Official documentation: `timeoff/allowance_incidences `_ + Official documentation: `timeoff/allowance_incidences `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -557,7 +560,7 @@ async def get(self, **kwargs) -> MetaApiResponse[AllowanceIncidence]: async def get_by_id(self, incidence_id: int | str, **kwargs) -> AllowanceIncidence: """Get a specific allowance incidence by ID. - Official documentation: `timeoff/allowance_incidences `_ + Official documentation: `timeoff/allowance_incidences `_ :param incidence_id: The unique identifier. :type incidence_id: int | str @@ -573,7 +576,7 @@ async def get_by_id(self, incidence_id: int | str, **kwargs) -> AllowanceInciden async def create(self, data: Mapping[str, typing.Any], **kwargs) -> AllowanceIncidence: """Create a new allowance incidence. - Official documentation: `timeoff/allowance_incidences `_ + Official documentation: `timeoff/allowance_incidences `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -589,7 +592,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> AllowanceInc async def update(self, incidence_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> AllowanceIncidence: """Update an allowance incidence. - Official documentation: `timeoff/allowance_incidences `_ + Official documentation: `timeoff/allowance_incidences `_ :param incidence_id: The unique identifier of the record to update. :type incidence_id: int | str @@ -607,7 +610,7 @@ async def update(self, incidence_id: int | str, data: Mapping[str, typing.Any], async def delete(self, incidence_id: int | str, **kwargs) -> AllowanceIncidence: """Delete an allowance incidence. - Official documentation: `timeoff/allowance_incidences `_ + Official documentation: `timeoff/allowance_incidences `_ :param incidence_id: The unique identifier of the record to delete. :type incidence_id: int | str @@ -629,7 +632,7 @@ class AllowanceStatsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[AllowanceStatsNew]: """Get all allowance stats records. - Official documentation: `timeoff/allowance_stats `_ + Official documentation: `timeoff/allowance_stats `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -643,7 +646,7 @@ async def all(self, **kwargs) -> ListApiResponse[AllowanceStatsNew]: async def get(self, **kwargs) -> MetaApiResponse[AllowanceStatsNew]: """Get allowance stats with pagination metadata. - Official documentation: `timeoff/allowance_stats `_ + Official documentation: `timeoff/allowance_stats `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -659,7 +662,7 @@ async def get(self, **kwargs) -> MetaApiResponse[AllowanceStatsNew]: async def get_by_id(self, stat_id: int | str, **kwargs) -> AllowanceStatsNew: """Get a specific allowance stat by ID. - Official documentation: `timeoff/allowance_stats `_ + Official documentation: `timeoff/allowance_stats `_ :param stat_id: The unique identifier. :type stat_id: int | str @@ -681,7 +684,7 @@ class BlockedPeriodsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[BlockedPeriod]: """Get all blocked periods records. - Official documentation: `timeoff/blocked_periods `_ + Official documentation: `timeoff/blocked_periods `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -695,7 +698,7 @@ async def all(self, **kwargs) -> ListApiResponse[BlockedPeriod]: async def get(self, **kwargs) -> MetaApiResponse[BlockedPeriod]: """Get blocked periods with pagination metadata. - Official documentation: `timeoff/blocked_periods `_ + Official documentation: `timeoff/blocked_periods `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -711,7 +714,7 @@ async def get(self, **kwargs) -> MetaApiResponse[BlockedPeriod]: async def get_by_id(self, period_id: int | str, **kwargs) -> BlockedPeriod: """Get a specific blocked period by ID. - Official documentation: `timeoff/blocked_periods `_ + Official documentation: `timeoff/blocked_periods `_ :param period_id: The unique identifier. :type period_id: int | str @@ -727,7 +730,7 @@ async def get_by_id(self, period_id: int | str, **kwargs) -> BlockedPeriod: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> BlockedPeriod: """Create a new blocked period. - Official documentation: `timeoff/blocked_periods `_ + Official documentation: `timeoff/blocked_periods `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -743,7 +746,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> BlockedPerio async def update(self, period_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> BlockedPeriod: """Update a blocked period. - Official documentation: `timeoff/blocked_periods `_ + Official documentation: `timeoff/blocked_periods `_ :param period_id: The unique identifier of the record to update. :type period_id: int | str @@ -761,7 +764,7 @@ async def update(self, period_id: int | str, data: Mapping[str, typing.Any], **k async def delete(self, period_id: int | str, **kwargs) -> BlockedPeriod: """Delete a blocked period. - Official documentation: `timeoff/blocked_periods `_ + Official documentation: `timeoff/blocked_periods `_ :param period_id: The unique identifier of the record to delete. :type period_id: int | str @@ -783,7 +786,7 @@ class LeavesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Leave]: """Get all leaves records. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -797,7 +800,7 @@ async def all(self, **kwargs) -> ListApiResponse[Leave]: async def get(self, **kwargs) -> MetaApiResponse[Leave]: """Get leaves with pagination metadata. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -813,7 +816,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Leave]: async def get_by_id(self, leave_id: int | str, **kwargs) -> Leave: """Get a specific leave by ID. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param leave_id: The unique identifier. :type leave_id: int | str @@ -829,7 +832,7 @@ async def get_by_id(self, leave_id: int | str, **kwargs) -> Leave: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: """Create a new leave. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -845,7 +848,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: async def update(self, leave_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Leave: """Update a leave. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param leave_id: The unique identifier of the record to update. :type leave_id: int | str @@ -863,7 +866,7 @@ async def update(self, leave_id: int | str, data: Mapping[str, typing.Any], **kw async def delete(self, leave_id: int | str, **kwargs) -> Leave: """Delete a leave. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param leave_id: The unique identifier of the record to delete. :type leave_id: int | str @@ -879,7 +882,7 @@ async def delete(self, leave_id: int | str, **kwargs) -> Leave: async def approve(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: """Approve a leave. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -895,7 +898,7 @@ async def approve(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: async def approve_all(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: """Approve all steps of a leave. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -911,7 +914,7 @@ async def approve_all(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: async def reject(self, data: Mapping[str, typing.Any], **kwargs) -> Leave: """Reject a leave. - Official documentation: `timeoff/leaves `_ + Official documentation: `timeoff/leaves `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -933,7 +936,7 @@ class LeaveTypesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[LeaveType]: """Get all leave types records. - Official documentation: `timeoff/leave_types `_ + Official documentation: `timeoff/leave_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -947,7 +950,7 @@ async def all(self, **kwargs) -> ListApiResponse[LeaveType]: async def get(self, **kwargs) -> MetaApiResponse[LeaveType]: """Get leave types with pagination metadata. - Official documentation: `timeoff/leave_types `_ + Official documentation: `timeoff/leave_types `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -963,7 +966,7 @@ async def get(self, **kwargs) -> MetaApiResponse[LeaveType]: async def get_by_id(self, leave_type_id: int | str, **kwargs) -> LeaveType: """Get a specific leave type by ID. - Official documentation: `timeoff/leave_types `_ + Official documentation: `timeoff/leave_types `_ :param leave_type_id: The unique identifier. :type leave_type_id: int | str @@ -979,7 +982,7 @@ async def get_by_id(self, leave_type_id: int | str, **kwargs) -> LeaveType: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> LeaveType: """Create a new leave type. - Official documentation: `timeoff/leave_types `_ + Official documentation: `timeoff/leave_types `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -995,7 +998,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> LeaveType: async def update(self, leave_type_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> LeaveType: """Update a leave type. - Official documentation: `timeoff/leave_types `_ + Official documentation: `timeoff/leave_types `_ :param leave_type_id: The unique identifier of the record to update. :type leave_type_id: int | str @@ -1019,7 +1022,7 @@ class PoliciesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Policy]: """Get all policies records. - Official documentation: `timeoff/policies `_ + Official documentation: `timeoff/policies `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1033,7 +1036,7 @@ async def all(self, **kwargs) -> ListApiResponse[Policy]: async def get(self, **kwargs) -> MetaApiResponse[Policy]: """Get policies with pagination metadata. - Official documentation: `timeoff/policies `_ + Official documentation: `timeoff/policies `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1049,7 +1052,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Policy]: async def get_by_id(self, policy_id: int | str, **kwargs) -> Policy: """Get a specific policy by ID. - Official documentation: `timeoff/policies `_ + Official documentation: `timeoff/policies `_ :param policy_id: The unique identifier. :type policy_id: int | str @@ -1065,7 +1068,7 @@ async def get_by_id(self, policy_id: int | str, **kwargs) -> Policy: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Policy: """Create a new policy. - Official documentation: `timeoff/policies `_ + Official documentation: `timeoff/policies `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1081,7 +1084,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Policy: async def update(self, policy_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Policy: """Update a policy. - Official documentation: `timeoff/policies `_ + Official documentation: `timeoff/policies `_ :param policy_id: The unique identifier of the record to update. :type policy_id: int | str @@ -1099,7 +1102,7 @@ async def update(self, policy_id: int | str, data: Mapping[str, typing.Any], **k async def delete(self, policy_id: int | str, **kwargs) -> Policy: """Delete a policy. - Official documentation: `timeoff/policies `_ + Official documentation: `timeoff/policies `_ :param policy_id: The unique identifier of the record to delete. :type policy_id: int | str @@ -1121,7 +1124,7 @@ class PolicyAssignmentsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PolicyAssignment]: """Get all policy assignments records. - Official documentation: `timeoff/policy_assignments `_ + Official documentation: `timeoff/policy_assignments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1135,7 +1138,7 @@ async def all(self, **kwargs) -> ListApiResponse[PolicyAssignment]: async def get(self, **kwargs) -> MetaApiResponse[PolicyAssignment]: """Get policy assignments with pagination metadata. - Official documentation: `timeoff/policy_assignments `_ + Official documentation: `timeoff/policy_assignments `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1151,7 +1154,7 @@ async def get(self, **kwargs) -> MetaApiResponse[PolicyAssignment]: async def get_by_id(self, assignment_id: int | str, **kwargs) -> PolicyAssignment: """Get a specific policy assignment by ID. - Official documentation: `timeoff/policy_assignments `_ + Official documentation: `timeoff/policy_assignments `_ :param assignment_id: The unique identifier. :type assignment_id: int | str @@ -1167,7 +1170,7 @@ async def get_by_id(self, assignment_id: int | str, **kwargs) -> PolicyAssignmen async def create(self, data: Mapping[str, typing.Any], **kwargs) -> PolicyAssignment: """Create a new policy assignment. - Official documentation: `timeoff/policy_assignments `_ + Official documentation: `timeoff/policy_assignments `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -1183,7 +1186,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> PolicyAssign async def update(self, assignment_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> PolicyAssignment: """Update a policy assignment. - Official documentation: `timeoff/policy_assignments `_ + Official documentation: `timeoff/policy_assignments `_ :param assignment_id: The unique identifier of the record to update. :type assignment_id: int | str @@ -1201,7 +1204,7 @@ async def update(self, assignment_id: int | str, data: Mapping[str, typing.Any], async def delete(self, assignment_id: int | str, **kwargs) -> PolicyAssignment: """Delete a policy assignment. - Official documentation: `timeoff/policy_assignments `_ + Official documentation: `timeoff/policy_assignments `_ :param assignment_id: The unique identifier of the record to delete. :type assignment_id: int | str @@ -1223,7 +1226,7 @@ class PolicyTimelinesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[PolicyTimeline]: """Get all policy timelines records. - Official documentation: `timeoff/policy_timelines `_ + Official documentation: `timeoff/policy_timelines `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -1237,7 +1240,7 @@ async def all(self, **kwargs) -> ListApiResponse[PolicyTimeline]: async def get(self, **kwargs) -> MetaApiResponse[PolicyTimeline]: """Get policy timelines with pagination metadata. - Official documentation: `timeoff/policy_timelines `_ + Official documentation: `timeoff/policy_timelines `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional diff --git a/src/factorialhr/_trainings.py b/src/factorialhr/_trainings.py index cd4406d..badf138 100644 --- a/src/factorialhr/_trainings.py +++ b/src/factorialhr/_trainings.py @@ -8,6 +8,13 @@ from factorialhr._client import Endpoint, ListApiResponse, MetaApiResponse +class TrainingClassPaymentStatus(StrEnum): + """Enum for training class payment status.""" + + PAID = 'paid' + PENDING = 'pending' + + class SessionModality(StrEnum): """Enum for session modality types.""" @@ -162,6 +169,14 @@ class SessionAttendance(pydantic.BaseModel): access_id: int = pydantic.Field(description='Access ID') #: Employee ID employee_id: int | None = pydantic.Field(default=None, description='Employee ID') + #: Completed duration in hours (e.g. 1.5 means 1h 30m). null when status is not completed + completed_duration: float | None = pydantic.Field( + default=None, + description=( + 'Completed duration in hours (decimal format, e.g. 1.5 means 1h 30m). ' + 'null when session attendance status is not completed' + ), + ) class Training(pydantic.BaseModel): @@ -244,6 +259,28 @@ class TrainingClass(pydantic.BaseModel): total_attendances_count: int = pydantic.Field( description='Total number of session attendances expected in this group.', ) + #: Total cost before subsidies, calculated as the sum of cost, indirect_cost, and salary_cost + gross_cost: str | None = pydantic.Field( + default=None, + description='Total cost before subsidies, calculated as the sum of cost, indirect_cost, and salary_cost', + ) + #: Final cost after subsidies, calculated as gross_cost minus subsidized_cost + net_cost: str | None = pydantic.Field( + default=None, + description='Final cost after subsidies, calculated as gross_cost minus subsidized_cost', + ) + #: Payment status of the cost of training class + payment_status: TrainingClassPaymentStatus | None = pydantic.Field( + default=None, + description='Payment status of the cost of training class', + ) + #: Currency of the training class + currency: str | None = pydantic.Field(default=None, description='Currency of the training class') + #: Date and time when the training class was created + created_at: datetime.datetime | None = pydantic.Field( + default=None, + description='Date and time when the training class was created', + ) class TrainingMembership(pydantic.BaseModel): @@ -270,7 +307,7 @@ class TrainingCategoriesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TrainingCategory]: """Get all training categories. - Official documentation: `trainings/categories `_ + Official documentation: `trainings/categories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -284,7 +321,7 @@ async def all(self, **kwargs) -> ListApiResponse[TrainingCategory]: async def get(self, **kwargs) -> MetaApiResponse[TrainingCategory]: """Get training categories with pagination metadata. - Official documentation: `trainings/categories `_ + Official documentation: `trainings/categories `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -300,7 +337,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TrainingCategory]: async def get_by_id(self, category_id: int | str, **kwargs) -> TrainingCategory: """Get a specific training category by ID. - Official documentation: `trainings/categories `_ + Official documentation: `trainings/categories `_ :param category_id: The unique identifier. :type category_id: int | str @@ -316,7 +353,7 @@ async def get_by_id(self, category_id: int | str, **kwargs) -> TrainingCategory: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TrainingCategory: """Create a new training category. - Official documentation: `trainings/categories `_ + Official documentation: `trainings/categories `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -332,7 +369,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TrainingCate async def delete(self, category_id: int | str, **kwargs) -> TrainingCategory: """Delete a training category. - Official documentation: `trainings/categories `_ + Official documentation: `trainings/categories `_ :param category_id: The unique identifier of the record to delete. :type category_id: int | str @@ -354,7 +391,7 @@ class SessionsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Session]: """Get all training sessions. - Official documentation: `trainings/sessions `_ + Official documentation: `trainings/sessions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -368,7 +405,7 @@ async def all(self, **kwargs) -> ListApiResponse[Session]: async def get(self, **kwargs) -> MetaApiResponse[Session]: """Get training sessions with pagination metadata. - Official documentation: `trainings/sessions `_ + Official documentation: `trainings/sessions `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -384,7 +421,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Session]: async def get_by_id(self, session_id: int | str, **kwargs) -> Session: """Get a specific training session by ID. - Official documentation: `trainings/sessions `_ + Official documentation: `trainings/sessions `_ :param session_id: The unique identifier. :type session_id: int | str @@ -400,7 +437,7 @@ async def get_by_id(self, session_id: int | str, **kwargs) -> Session: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Session: """Create a new training session. - Official documentation: `trainings/sessions `_ + Official documentation: `trainings/sessions `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -416,7 +453,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Session: async def update(self, session_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Session: """Update a training session. - Official documentation: `trainings/sessions `_ + Official documentation: `trainings/sessions `_ :param session_id: The unique identifier of the record to update. :type session_id: int | str @@ -434,7 +471,7 @@ async def update(self, session_id: int | str, data: Mapping[str, typing.Any], ** async def delete(self, session_id: int | str, **kwargs) -> Session: """Delete a training session. - Official documentation: `trainings/sessions `_ + Official documentation: `trainings/sessions `_ :param session_id: The unique identifier of the record to delete. :type session_id: int | str @@ -456,7 +493,7 @@ class SessionAccessMembershipsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SessionAccessMembership]: """Get all session access memberships. - Official documentation: `trainings/session_access_memberships `_ + Official documentation: `trainings/session_access_memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -470,7 +507,7 @@ async def all(self, **kwargs) -> ListApiResponse[SessionAccessMembership]: async def get(self, **kwargs) -> MetaApiResponse[SessionAccessMembership]: """Get session access memberships with pagination metadata. - Official documentation: `trainings/session_access_memberships `_ + Official documentation: `trainings/session_access_memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -486,7 +523,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SessionAccessMembership]: async def get_by_id(self, membership_id: int | str, **kwargs) -> SessionAccessMembership: """Get a specific session access membership by ID. - Official documentation: `trainings/session_access_memberships `_ + Official documentation: `trainings/session_access_memberships `_ :param membership_id: The unique identifier. :type membership_id: int | str @@ -502,7 +539,7 @@ async def get_by_id(self, membership_id: int | str, **kwargs) -> SessionAccessMe async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[SessionAccessMembership]: """Bulk create session access memberships. - Official documentation: `trainings/session_access_memberships `_ + Official documentation: `trainings/session_access_memberships `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -518,7 +555,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_destroy(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[SessionAccessMembership]: """Bulk destroy session access memberships. - Official documentation: `trainings/session_access_memberships `_ + Official documentation: `trainings/session_access_memberships `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -540,7 +577,7 @@ class SessionAttendancesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[SessionAttendance]: """Get all session attendances. - Official documentation: `trainings/session_attendances `_ + Official documentation: `trainings/session_attendances `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -554,7 +591,7 @@ async def all(self, **kwargs) -> ListApiResponse[SessionAttendance]: async def get(self, **kwargs) -> MetaApiResponse[SessionAttendance]: """Get session attendances with pagination metadata. - Official documentation: `trainings/session_attendances `_ + Official documentation: `trainings/session_attendances `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -570,7 +607,7 @@ async def get(self, **kwargs) -> MetaApiResponse[SessionAttendance]: async def get_by_id(self, attendance_id: int | str, **kwargs) -> SessionAttendance: """Get a specific session attendance by ID. - Official documentation: `trainings/session_attendances `_ + Official documentation: `trainings/session_attendances `_ :param attendance_id: The unique identifier. :type attendance_id: int | str @@ -586,7 +623,7 @@ async def get_by_id(self, attendance_id: int | str, **kwargs) -> SessionAttendan async def bulk_update(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[SessionAttendance]: """Bulk update session attendances. - Official documentation: `trainings/session_attendances `_ + Official documentation: `trainings/session_attendances `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -608,7 +645,7 @@ class TrainingsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[Training]: """Get all trainings. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -622,7 +659,7 @@ async def all(self, **kwargs) -> ListApiResponse[Training]: async def get(self, **kwargs) -> MetaApiResponse[Training]: """Get trainings with pagination metadata. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -638,7 +675,7 @@ async def get(self, **kwargs) -> MetaApiResponse[Training]: async def get_by_id(self, training_id: int | str, **kwargs) -> Training: """Get a specific training by ID. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param training_id: The unique identifier. :type training_id: int | str @@ -654,7 +691,7 @@ async def get_by_id(self, training_id: int | str, **kwargs) -> Training: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Training: """Create a new training. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -670,7 +707,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> Training: async def update(self, training_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> Training: """Update a training. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param training_id: The unique identifier of the record to update. :type training_id: int | str @@ -688,7 +725,7 @@ async def update(self, training_id: int | str, data: Mapping[str, typing.Any], * async def delete(self, training_id: int | str, **kwargs) -> Training: """Delete a training. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param training_id: The unique identifier of the record to delete. :type training_id: int | str @@ -704,7 +741,7 @@ async def delete(self, training_id: int | str, **kwargs) -> Training: async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Training]: """Bulk delete trainings. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -720,7 +757,7 @@ async def bulk_delete(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_update_catalog(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[Training]: """Bulk update catalog visibility for trainings. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -736,7 +773,7 @@ async def bulk_update_catalog(self, data: Mapping[str, typing.Any], **kwargs) -> async def update_status(self, data: Mapping[str, typing.Any], **kwargs) -> Training: """Update training status. - Official documentation: `trainings/trainings `_ + Official documentation: `trainings/trainings `_ :param data: Payload with fields to update (key-value mapping). :type data: Mapping[str, typing.Any] @@ -758,7 +795,7 @@ class TrainingClassesEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TrainingClass]: """Get all training classes. - Official documentation: `trainings/training_classes `_ + Official documentation: `trainings/training_classes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -772,7 +809,7 @@ async def all(self, **kwargs) -> ListApiResponse[TrainingClass]: async def get(self, **kwargs) -> MetaApiResponse[TrainingClass]: """Get training classes with pagination metadata. - Official documentation: `trainings/training_classes `_ + Official documentation: `trainings/training_classes `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -788,7 +825,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TrainingClass]: async def get_by_id(self, class_id: int | str, **kwargs) -> TrainingClass: """Get a specific training class by ID. - Official documentation: `trainings/training_classes `_ + Official documentation: `trainings/training_classes `_ :param class_id: The unique identifier. :type class_id: int | str @@ -804,7 +841,7 @@ async def get_by_id(self, class_id: int | str, **kwargs) -> TrainingClass: async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TrainingClass: """Create a new training class. - Official documentation: `trainings/training_classes `_ + Official documentation: `trainings/training_classes `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -820,7 +857,7 @@ async def create(self, data: Mapping[str, typing.Any], **kwargs) -> TrainingClas async def update(self, class_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> TrainingClass: """Update a training class. - Official documentation: `trainings/training_classes `_ + Official documentation: `trainings/training_classes `_ :param class_id: The unique identifier of the record to update. :type class_id: int | str @@ -838,7 +875,7 @@ async def update(self, class_id: int | str, data: Mapping[str, typing.Any], **kw async def delete(self, class_id: int | str, **kwargs) -> TrainingClass: """Delete a training class. - Official documentation: `trainings/training_classes `_ + Official documentation: `trainings/training_classes `_ :param class_id: The unique identifier of the record to delete. :type class_id: int | str @@ -860,7 +897,7 @@ class TrainingMembershipsEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[TrainingMembership]: """Get all training memberships. - Official documentation: `trainings/training_memberships `_ + Official documentation: `trainings/training_memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -874,7 +911,7 @@ async def all(self, **kwargs) -> ListApiResponse[TrainingMembership]: async def get(self, **kwargs) -> MetaApiResponse[TrainingMembership]: """Get training memberships with pagination metadata. - Official documentation: `trainings/training_memberships `_ + Official documentation: `trainings/training_memberships `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -890,7 +927,7 @@ async def get(self, **kwargs) -> MetaApiResponse[TrainingMembership]: async def get_by_id(self, membership_id: int | str, **kwargs) -> TrainingMembership: """Get a specific training membership by ID. - Official documentation: `trainings/training_memberships `_ + Official documentation: `trainings/training_memberships `_ :param membership_id: The unique identifier. :type membership_id: int | str @@ -906,7 +943,7 @@ async def get_by_id(self, membership_id: int | str, **kwargs) -> TrainingMembers async def update(self, membership_id: int | str, data: Mapping[str, typing.Any], **kwargs) -> TrainingMembership: """Update a training membership. - Official documentation: `trainings/training_memberships `_ + Official documentation: `trainings/training_memberships `_ :param membership_id: The unique identifier of the record to update. :type membership_id: int | str @@ -924,7 +961,7 @@ async def update(self, membership_id: int | str, data: Mapping[str, typing.Any], async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[TrainingMembership]: """Bulk create training memberships. - Official documentation: `trainings/training_memberships `_ + Official documentation: `trainings/training_memberships `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -940,7 +977,7 @@ async def bulk_create(self, data: Mapping[str, typing.Any], **kwargs) -> Sequenc async def bulk_destroy(self, data: Mapping[str, typing.Any], **kwargs) -> Sequence[TrainingMembership]: """Bulk destroy training memberships. - Official documentation: `trainings/training_memberships `_ + Official documentation: `trainings/training_memberships `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] diff --git a/src/factorialhr/_work_schedule.py b/src/factorialhr/_work_schedule.py index 39e9135..09ffcbe 100644 --- a/src/factorialhr/_work_schedule.py +++ b/src/factorialhr/_work_schedule.py @@ -78,7 +78,7 @@ class DayConfigurationEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[WorkScheduleDayConfiguration]: """Get all day configuration records. - Official documentation: `work_schedule/day_configurations `_ + Official documentation: `work_schedule/day_configurations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -92,7 +92,7 @@ async def all(self, **kwargs) -> ListApiResponse[WorkScheduleDayConfiguration]: async def get(self, **kwargs) -> MetaApiResponse[WorkScheduleDayConfiguration]: """Get day configurations with pagination metadata. - Official documentation: `work_schedule/day_configurations `_ + Official documentation: `work_schedule/day_configurations `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -112,7 +112,7 @@ async def get(self, **kwargs) -> MetaApiResponse[WorkScheduleDayConfiguration]: async def get_by_id(self, day_config_id: int | str, **kwargs) -> WorkScheduleDayConfiguration: """Get a specific day configuration by ID. - Official documentation: `work_schedule/day_configurations `_ + Official documentation: `work_schedule/day_configurations `_ :param day_config_id: The unique identifier. :type day_config_id: int | str @@ -128,7 +128,7 @@ async def get_by_id(self, day_config_id: int | str, **kwargs) -> WorkScheduleDay async def bulk_cud(self, data: Mapping[str, typing.Any], **kwargs) -> WorkScheduleDayConfiguration: """Bulk create/update/delete day configurations. - Official documentation: `work_schedule/day_configurations `_ + Official documentation: `work_schedule/day_configurations `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -150,7 +150,7 @@ class OverlapPeriodEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[WorkScheduleOverlapPeriod]: """Get all overlap period records. - Official documentation: `work_schedule/overlap_periods `_ + Official documentation: `work_schedule/overlap_periods `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -164,7 +164,7 @@ async def all(self, **kwargs) -> ListApiResponse[WorkScheduleOverlapPeriod]: async def get(self, **kwargs) -> MetaApiResponse[WorkScheduleOverlapPeriod]: """Get overlap periods with pagination metadata. - Official documentation: `work_schedule/overlap_periods `_ + Official documentation: `work_schedule/overlap_periods `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -184,7 +184,7 @@ async def get(self, **kwargs) -> MetaApiResponse[WorkScheduleOverlapPeriod]: async def get_by_id(self, overlap_period_id: int | str, **kwargs) -> WorkScheduleOverlapPeriod: """Get a specific overlap period by ID. - Official documentation: `work_schedule/overlap_periods `_ + Official documentation: `work_schedule/overlap_periods `_ :param overlap_period_id: The unique identifier. :type overlap_period_id: int | str @@ -200,7 +200,7 @@ async def get_by_id(self, overlap_period_id: int | str, **kwargs) -> WorkSchedul async def create(self, data: Mapping[str, typing.Any], **kwargs) -> WorkScheduleOverlapPeriod: """Create a new overlap period. - Official documentation: `work_schedule/overlap_periods `_ + Official documentation: `work_schedule/overlap_periods `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -221,7 +221,7 @@ async def update( ) -> WorkScheduleOverlapPeriod: """Update an overlap period. - Official documentation: `work_schedule/overlap_periods `_ + Official documentation: `work_schedule/overlap_periods `_ :param overlap_period_id: The unique identifier of the record to update. :type overlap_period_id: int | str @@ -239,7 +239,7 @@ async def update( async def delete(self, overlap_period_id: int | str, **kwargs) -> WorkScheduleOverlapPeriod: """Delete an overlap period. - Official documentation: `work_schedule/overlap_periods `_ + Official documentation: `work_schedule/overlap_periods `_ :param overlap_period_id: The unique identifier of the record to delete. :type overlap_period_id: int | str @@ -261,7 +261,7 @@ class ScheduleEndpoint(Endpoint): async def all(self, **kwargs) -> ListApiResponse[WorkScheduleSchedule]: """Get all schedule records. - Official documentation: `work_schedule/schedules `_ + Official documentation: `work_schedule/schedules `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -275,7 +275,7 @@ async def all(self, **kwargs) -> ListApiResponse[WorkScheduleSchedule]: async def get(self, **kwargs) -> MetaApiResponse[WorkScheduleSchedule]: """Get schedules with pagination metadata. - Official documentation: `work_schedule/schedules `_ + Official documentation: `work_schedule/schedules `_ :param kwargs: Optional keyword arguments (e.g. ``params`` for query string) forwarded to the HTTP request. :type kwargs: optional @@ -291,7 +291,7 @@ async def get(self, **kwargs) -> MetaApiResponse[WorkScheduleSchedule]: async def get_by_id(self, schedule_id: int | str, **kwargs) -> WorkScheduleSchedule: """Get a specific schedule by ID. - Official documentation: `work_schedule/schedules `_ + Official documentation: `work_schedule/schedules `_ :param schedule_id: The unique identifier. :type schedule_id: int | str @@ -307,7 +307,7 @@ async def get_by_id(self, schedule_id: int | str, **kwargs) -> WorkScheduleSched async def create(self, data: Mapping[str, typing.Any], **kwargs) -> WorkScheduleSchedule: """Create a new schedule. - Official documentation: `work_schedule/schedules `_ + Official documentation: `work_schedule/schedules `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any] @@ -328,7 +328,7 @@ async def update( ) -> WorkScheduleSchedule: """Update a schedule. - Official documentation: `work_schedule/schedules `_ + Official documentation: `work_schedule/schedules `_ :param schedule_id: The unique identifier of the record to update. :type schedule_id: int | str @@ -346,7 +346,7 @@ async def update( async def toggle_archive(self, data: Mapping[str, typing.Any], **kwargs) -> WorkScheduleSchedule: """Toggle archive status of a schedule. - Official documentation: `work_schedule/schedules `_ + Official documentation: `work_schedule/schedules `_ :param data: Payload for the new record (key-value mapping). :type data: Mapping[str, typing.Any]