brynq-sdk-factorial 2.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- brynq_sdk_factorial/__init__.py +60 -0
- brynq_sdk_factorial/companies.py +76 -0
- brynq_sdk_factorial/compensations.py +80 -0
- brynq_sdk_factorial/contracts.py +50 -0
- brynq_sdk_factorial/costcenter.py +80 -0
- brynq_sdk_factorial/custom_fields.py +76 -0
- brynq_sdk_factorial/employees.py +57 -0
- brynq_sdk_factorial/family_situation.py +50 -0
- brynq_sdk_factorial/files.py +22 -0
- brynq_sdk_factorial/locations.py +49 -0
- brynq_sdk_factorial/payroll.py +54 -0
- brynq_sdk_factorial/schemas/attendance_schemas.py +264 -0
- brynq_sdk_factorial/schemas/banking_schemas.py +87 -0
- brynq_sdk_factorial/schemas/companies_schemas.py +29 -0
- brynq_sdk_factorial/schemas/contracts_schemas.py +395 -0
- brynq_sdk_factorial/schemas/documents_schemas.py +95 -0
- brynq_sdk_factorial/schemas/employee_updates_schemas.py +300 -0
- brynq_sdk_factorial/schemas/employees_schemas.py +187 -0
- brynq_sdk_factorial/schemas/expenses_schemas.py +144 -0
- brynq_sdk_factorial/schemas/family_situation.py +33 -0
- brynq_sdk_factorial/schemas/finance_schemas.py +433 -0
- brynq_sdk_factorial/schemas/holidays_schemas.py +21 -0
- brynq_sdk_factorial/schemas/job_catalog_schemas.py +35 -0
- brynq_sdk_factorial/schemas/locations_schemas.py +85 -0
- brynq_sdk_factorial/schemas/payroll_employees_schemas.py +33 -0
- brynq_sdk_factorial/schemas/payroll_integrations_base_schemas.py +27 -0
- brynq_sdk_factorial/schemas/payroll_schemas.py +92 -0
- brynq_sdk_factorial/schemas/project_management_schemas.py +192 -0
- brynq_sdk_factorial/schemas/shift_management_schemas.py +40 -0
- brynq_sdk_factorial/schemas/teams_schemas.py +57 -0
- brynq_sdk_factorial/schemas/time_planning_schemas.py +28 -0
- brynq_sdk_factorial/schemas/time_settings_schemas.py +29 -0
- brynq_sdk_factorial/schemas/timeoff_schemas.py +386 -0
- brynq_sdk_factorial/schemas/trainings_schemas.py +215 -0
- brynq_sdk_factorial/schemas/work_schedule_schemas.py +82 -0
- brynq_sdk_factorial/teams.py +76 -0
- brynq_sdk_factorial/workschedules.py +50 -0
- brynq_sdk_factorial-2.3.0.dist-info/METADATA +17 -0
- brynq_sdk_factorial-2.3.0.dist-info/RECORD +41 -0
- brynq_sdk_factorial-2.3.0.dist-info/WHEEL +5 -0
- brynq_sdk_factorial-2.3.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Auto-generated schemas for category: payroll_integrations_base
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class CodesCreate(BaseModel):
|
|
12
|
+
code: str = Field(..., description="Code Value", alias="code")
|
|
13
|
+
codeable_id: int = Field(..., description="Related object ID. Used together with codeable_type", alias="codeable_id")
|
|
14
|
+
codeable_type: str = Field(..., description="Related object type. Used together with codeable_id", alias="codeable_type")
|
|
15
|
+
integration: Annotated[str, StringConstraints(pattern=r'^a3innuva|a3nom|paierh|yeap_paierh|silae|silae_api|datev|datev_api|datev_lug_api|datev_lauds|zucchetti$', strip_whitespace=True)] = Field(..., description="Integration name", alias="integration")
|
|
16
|
+
|
|
17
|
+
class CodesUpdate(BaseModel):
|
|
18
|
+
id: int = Field(..., description="ID", alias="id")
|
|
19
|
+
company_id: int = Field(..., description="Company ID where the code belongs to", alias="company_id")
|
|
20
|
+
code: str = Field(..., description="Code value", alias="code")
|
|
21
|
+
codeable_id: int = Field(..., description="Related object ID. Used together with codeable_type", alias="codeable_id")
|
|
22
|
+
codeable_type: str = Field(..., description="Related object type. Used together with codeable_id", alias="codeable_type")
|
|
23
|
+
integration: Annotated[str, StringConstraints(pattern=r'^a3innuva|a3nom|paierh|yeap_paierh|silae|silae_api|datev|datev_api|datev_lug_api|datev_lauds|zucchetti$', strip_whitespace=True)] = Field(..., description="Integration name", alias="integration")
|
|
24
|
+
|
|
25
|
+
class CodesDelete(BaseModel):
|
|
26
|
+
id: int = Field(..., description="ID", alias="id")
|
|
27
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Auto-generated schemas for category: payroll
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class SupplementsGet(BrynQPanderaDataFrameModel):
|
|
12
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="The identifier of the supplement", alias="id")
|
|
13
|
+
employee_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="The identifier of the employee associated with the supplement", alias="employee_id")
|
|
14
|
+
company_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="The identifier of the company associated with the supplement", alias="company_id")
|
|
15
|
+
contracts_compensation_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The contract compensation identifier associated with the supplement", alias="contracts_compensation_id")
|
|
16
|
+
contracts_taxonomy_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The taxonomy identifier associated with the supplement", alias="contracts_taxonomy_id")
|
|
17
|
+
amount_in_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The amount of the supplement in cents", alias="amount_in_cents")
|
|
18
|
+
unit: Series[String] = pa.Field(coerce=True, nullable=False, description="The unit of the supplement", alias="unit")
|
|
19
|
+
effective_on: Series[String] = pa.Field(coerce=True, nullable=True, description="The date on which the supplement becomes effective", alias="effective_on")
|
|
20
|
+
created_at: Series[Bool] = pa.Field(coerce=True, nullable=True, description="The created at date when the supplement was created", alias="created_at")
|
|
21
|
+
updated_at: Series[Bool] = pa.Field(coerce=True, nullable=True, description="The last updated at date when the supplement was last updated", alias="updated_at")
|
|
22
|
+
description: Series[String] = pa.Field(coerce=True, nullable=True, description="The description of the supplement", alias="description")
|
|
23
|
+
payroll_policy_period_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The payroll policy period identifier associated with the supplement", alias="payroll_policy_period_id")
|
|
24
|
+
employee_observations: Series[String] = pa.Field(coerce=True, nullable=True, description="Observations on the employee made by the admin or manager", alias="employee_observations")
|
|
25
|
+
raw_minutes_in_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The raw value of minutes in cents associated with the supplement", alias="raw_minutes_in_cents")
|
|
26
|
+
minutes_in_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The value of minutes in cents after adjustments", alias="minutes_in_cents")
|
|
27
|
+
equivalent_minutes_in_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The equivalent value of minutes in cents for payroll processing", alias="equivalent_minutes_in_cents")
|
|
28
|
+
currency: Series[String] = pa.Field(coerce=True, nullable=True, description="The currency used for the supplement, typically in ISO 4217 format", alias="currency")
|
|
29
|
+
legal_entity_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The legal entity identifier associated with the supplement", alias="legal_entity_id")
|
|
30
|
+
|
|
31
|
+
class Family_situationsCreate(BaseModel):
|
|
32
|
+
employee_id: int = Field(..., description="Employee id.", alias="employee_id")
|
|
33
|
+
civil_status: Optional[Annotated[str, StringConstraints(pattern=r'^single|cohabitating|divorced|married|civil_partnership|separated|widow|not_applicable|unknown$', strip_whitespace=True)]] = Field(None, description="Civil status of the employee.", alias="civil_status")
|
|
34
|
+
number_of_dependants: Optional[int] = Field(None, description="Number of dependants of the employee.", alias="number_of_dependants")
|
|
35
|
+
|
|
36
|
+
class Family_situationsUpdate(BaseModel):
|
|
37
|
+
id: int = Field(..., description="ID", alias="id")
|
|
38
|
+
employee_id: int = Field(..., description="Employee id of the family situation.", alias="employee_id")
|
|
39
|
+
civil_status: Optional[Annotated[str, StringConstraints(pattern=r'^single|cohabitating|divorced|married|unknown|civil_partnership|separated|widow|not_applicable$', strip_whitespace=True)]] = Field(None, description="Civil status of the employee.", alias="civil_status")
|
|
40
|
+
number_of_dependants: Optional[int] = Field(None, description="Number of dependants of the employee.", alias="number_of_dependants")
|
|
41
|
+
|
|
42
|
+
class Family_situationsDelete(BaseModel):
|
|
43
|
+
id: int = Field(..., description="ID", alias="id")
|
|
44
|
+
|
|
45
|
+
class Policy_periodsCreate(BaseModel):
|
|
46
|
+
id: int = Field(..., description="Policy period id", alias="id")
|
|
47
|
+
name: Optional[str] = Field(None, description="Policy name with start and end date", alias="name")
|
|
48
|
+
starts_on: str = Field(..., description="The start date of the policy period", alias="starts_on")
|
|
49
|
+
policy_id: int = Field(..., description="The id of the policy associated with the policy period", alias="policy_id")
|
|
50
|
+
company_id: int = Field(..., description="The id of the company", alias="company_id")
|
|
51
|
+
ends_on: str = Field(..., description="The start date of the policy period", alias="ends_on")
|
|
52
|
+
period: str = Field(..., description="Period for the policy", alias="period")
|
|
53
|
+
status: Optional[str] = Field(None, description="Policy period status", alias="status")
|
|
54
|
+
policy_name: Optional[str] = Field(None, description="Policy name", alias="policy_name")
|
|
55
|
+
calculation_started_at: Optional[str] = Field(None, description="The date and time the calculation started", alias="calculation_started_at")
|
|
56
|
+
|
|
57
|
+
class Policy_periodsDelete(BaseModel):
|
|
58
|
+
id: int = Field(..., description="ID", alias="id")
|
|
59
|
+
|
|
60
|
+
class SupplementsCreate(BaseModel):
|
|
61
|
+
amount_in_cents: int = Field(..., description="Supplement amount in cents", alias="amount_in_cents")
|
|
62
|
+
employee_id: int = Field(..., description="The employee id of the suplement", alias="employee_id")
|
|
63
|
+
effective_on: str = Field(..., description="Supplement effective on date following the format YYYY-MM-DD", alias="effective_on")
|
|
64
|
+
contracts_compensation_id: Optional[int] = Field(None, description="The supplement contract compensation id", alias="contracts_compensation_id")
|
|
65
|
+
contracts_taxonomy_id: int = Field(..., description="Supplement contract taxonomy id", alias="contracts_taxonomy_id")
|
|
66
|
+
payroll_policy_period_id: int = Field(..., description="Supplement payroll policy period id", alias="payroll_policy_period_id")
|
|
67
|
+
unit: Optional[str] = Field(None, description="Supplement unit", alias="unit")
|
|
68
|
+
worked_days: Optional[int] = Field(None, description="Supplement worked days", alias="worked_days")
|
|
69
|
+
|
|
70
|
+
class SupplementsUpdate(BaseModel):
|
|
71
|
+
id: int = Field(..., description="ID", alias="id")
|
|
72
|
+
employee_id: int = Field(..., description="The identifier of the employee associated with the supplement", alias="employee_id")
|
|
73
|
+
company_id: int = Field(..., description="The identifier of the company associated with the supplement", alias="company_id")
|
|
74
|
+
contracts_compensation_id: Optional[int] = Field(None, description="The contract compensation identifier associated with the supplement", alias="contracts_compensation_id")
|
|
75
|
+
contracts_taxonomy_id: Optional[int] = Field(None, description="The taxonomy identifier associated with the supplement", alias="contracts_taxonomy_id")
|
|
76
|
+
amount_in_cents: Optional[int] = Field(None, description="The amount of the supplement in cents", alias="amount_in_cents")
|
|
77
|
+
unit: Annotated[str, StringConstraints(pattern=r'^money|units|time$', strip_whitespace=True)] = Field(..., description="The unit of the supplement", alias="unit")
|
|
78
|
+
effective_on: Optional[str] = Field(None, description="The date on which the supplement becomes effective", alias="effective_on")
|
|
79
|
+
created_at: Optional[bool] = Field(None, description="The created at date when the supplement was created", alias="created_at")
|
|
80
|
+
updated_at: Optional[bool] = Field(None, description="The last updated at date when the supplement was last updated", alias="updated_at")
|
|
81
|
+
description: Optional[str] = Field(None, description="The description of the supplement", alias="description")
|
|
82
|
+
payroll_policy_period_id: Optional[int] = Field(None, description="The payroll policy period identifier associated with the supplement", alias="payroll_policy_period_id")
|
|
83
|
+
employee_observations: Optional[str] = Field(None, description="Observations on the employee made by the admin or manager", alias="employee_observations")
|
|
84
|
+
raw_minutes_in_cents: Optional[int] = Field(None, description="The raw value of minutes in cents associated with the supplement", alias="raw_minutes_in_cents")
|
|
85
|
+
minutes_in_cents: Optional[int] = Field(None, description="The value of minutes in cents after adjustments", alias="minutes_in_cents")
|
|
86
|
+
equivalent_minutes_in_cents: Optional[int] = Field(None, description="The equivalent value of minutes in cents for payroll processing", alias="equivalent_minutes_in_cents")
|
|
87
|
+
currency: Optional[str] = Field(None, description="The currency used for the supplement, typically in ISO 4217 format", alias="currency")
|
|
88
|
+
legal_entity_id: Optional[int] = Field(None, description="The legal entity identifier associated with the supplement", alias="legal_entity_id")
|
|
89
|
+
|
|
90
|
+
class SupplementsDelete(BaseModel):
|
|
91
|
+
id: int = Field(..., description="ID", alias="id")
|
|
92
|
+
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Auto-generated schemas for category: project_management
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class Expense_recordsGet(BrynQPanderaDataFrameModel):
|
|
12
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="id")
|
|
13
|
+
project_worker_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="project_worker_id")
|
|
14
|
+
expense_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="expense_id")
|
|
15
|
+
subproject_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="subproject_id")
|
|
16
|
+
original_amount_currency: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="original_amount_currency")
|
|
17
|
+
original_amount_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="original_amount_cents")
|
|
18
|
+
legal_entity_amount_currency: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="legal_entity_amount_currency")
|
|
19
|
+
legal_entity_amount_cents: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="legal_entity_amount_cents")
|
|
20
|
+
effective_on: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="effective_on")
|
|
21
|
+
exchange_rate: Series[Float] = pa.Field(coerce=True, nullable=True, description="", alias="exchange_rate")
|
|
22
|
+
status: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="status")
|
|
23
|
+
|
|
24
|
+
class Flexible_time_record_commentsGet(BrynQPanderaDataFrameModel):
|
|
25
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="id")
|
|
26
|
+
content: Series[String] = pa.Field(coerce=True, nullable=False, description="", alias="content")
|
|
27
|
+
flexible_time_record_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="flexible_time_record_id")
|
|
28
|
+
|
|
29
|
+
class Flexible_time_recordsGet(BrynQPanderaDataFrameModel):
|
|
30
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="id")
|
|
31
|
+
date: Series[String] = pa.Field(coerce=True, nullable=False, description="", alias="date")
|
|
32
|
+
imputed_minutes: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="imputed_minutes")
|
|
33
|
+
project_worker_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="project_worker_id")
|
|
34
|
+
subproject_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="subproject_id")
|
|
35
|
+
|
|
36
|
+
class Project_tasksGet(BrynQPanderaDataFrameModel):
|
|
37
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="id")
|
|
38
|
+
project_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="project_id")
|
|
39
|
+
subproject_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="subproject_id")
|
|
40
|
+
task_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="task_id")
|
|
41
|
+
follow_up: Series[Bool] = pa.Field(coerce=True, nullable=False, description="", alias="follow_up")
|
|
42
|
+
|
|
43
|
+
class Project_workersGet(BrynQPanderaDataFrameModel):
|
|
44
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="id of the project worker.", alias="id")
|
|
45
|
+
project_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="id of the project.", alias="project_id")
|
|
46
|
+
employee_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="id of the employee.", alias="employee_id")
|
|
47
|
+
assigned: Series[Bool] = pa.Field(coerce=True, nullable=False, description="true if the employee is assigned to the project, false otherwise.", alias="assigned")
|
|
48
|
+
inputed_minutes: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="total inmputed minutes of the employee in the project.", alias="inputed_minutes")
|
|
49
|
+
labor_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="total project currency labor cost of the employee in the project.", alias="labor_cost_cents")
|
|
50
|
+
company_labor_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="total company currency labor cost of the employee in the project.", alias="company_labor_cost_cents")
|
|
51
|
+
spending_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="total spending cost of the employee in the project.", alias="spending_cost_cents")
|
|
52
|
+
|
|
53
|
+
class ProjectsGet(BrynQPanderaDataFrameModel):
|
|
54
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="The id of the project", alias="id")
|
|
55
|
+
name: Series[String] = pa.Field(coerce=True, nullable=False, description="The name of the project", alias="name")
|
|
56
|
+
code: Series[String] = pa.Field(coerce=True, nullable=True, description="The code of the project", alias="code")
|
|
57
|
+
start_date: Series[String] = pa.Field(coerce=True, nullable=True, description="The start date of the project", alias="start_date")
|
|
58
|
+
due_date: Series[String] = pa.Field(coerce=True, nullable=True, description="The end date of the project", alias="due_date")
|
|
59
|
+
status: Series[String] = pa.Field(coerce=True, nullable=False, description="The status of the project", alias="status")
|
|
60
|
+
employees_assignment: Series[String] = pa.Field(coerce=True, nullable=False, description="The employees assigment of the project", alias="employees_assignment")
|
|
61
|
+
inputed_minutes: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="inputed_minutes")
|
|
62
|
+
is_billable: Series[Bool] = pa.Field(coerce=True, nullable=False, description="Check if the projects is billable", alias="is_billable")
|
|
63
|
+
fixed_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Total fixed costs in cents", alias="fixed_cost_cents")
|
|
64
|
+
labor_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Total labor costs in cents", alias="labor_cost_cents")
|
|
65
|
+
legal_entity_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="The legal entity id of the project", alias="legal_entity_id")
|
|
66
|
+
spending_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Total spending costs in cents", alias="spending_cost_cents")
|
|
67
|
+
client_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="The client id of the project", alias="client_id")
|
|
68
|
+
total_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Total Cost in cents", alias="total_cost_cents")
|
|
69
|
+
|
|
70
|
+
class SubprojectsGet(BrynQPanderaDataFrameModel):
|
|
71
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="id")
|
|
72
|
+
name: Series[String] = pa.Field(coerce=True, nullable=False, description="", alias="name")
|
|
73
|
+
project_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="project_id")
|
|
74
|
+
inputed_minutes: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="inputed_minutes")
|
|
75
|
+
labor_cost_cents: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="", alias="labor_cost_cents")
|
|
76
|
+
|
|
77
|
+
class Time_recordsGet(BrynQPanderaDataFrameModel):
|
|
78
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Id of the time record", alias="id")
|
|
79
|
+
project_worker_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Id of the project worker", alias="project_worker_id")
|
|
80
|
+
attendance_shift_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Id of the attendance shift", alias="attendance_shift_id")
|
|
81
|
+
subproject_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Id of the subproject", alias="subproject_id")
|
|
82
|
+
date: Series[String] = pa.Field(coerce=True, nullable=True, description="Reference date of the shift", alias="date")
|
|
83
|
+
imputed_minutes: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Minutes difference between the clock in and clock out", alias="imputed_minutes")
|
|
84
|
+
clock_in: Series[String] = pa.Field(coerce=True, nullable=True, description="Clock in time", alias="clock_in")
|
|
85
|
+
clock_out: Series[String] = pa.Field(coerce=True, nullable=True, description="Clock out time", alias="clock_out")
|
|
86
|
+
|
|
87
|
+
class Expense_recordsDelete(BaseModel):
|
|
88
|
+
id: int = Field(..., description="ID", alias="id")
|
|
89
|
+
|
|
90
|
+
class Flexible_time_record_commentsCreate(BaseModel):
|
|
91
|
+
content: str = Field(..., description="", alias="content")
|
|
92
|
+
flexible_time_record_id: int = Field(..., description="", alias="flexible_time_record_id")
|
|
93
|
+
|
|
94
|
+
class Flexible_time_record_commentsDelete(BaseModel):
|
|
95
|
+
id: int = Field(..., description="ID", alias="id")
|
|
96
|
+
|
|
97
|
+
class Flexible_time_recordsCreate(BaseModel):
|
|
98
|
+
project_worker_id: int = Field(..., description="", alias="project_worker_id")
|
|
99
|
+
date: str = Field(..., description="", alias="date")
|
|
100
|
+
imputed_minutes: int = Field(..., description="", alias="imputed_minutes")
|
|
101
|
+
subproject_id: Optional[int] = Field(None, description="", alias="subproject_id")
|
|
102
|
+
|
|
103
|
+
class Flexible_time_recordsUpdate(BaseModel):
|
|
104
|
+
id: int = Field(..., description="ID", alias="id")
|
|
105
|
+
date: str = Field(..., description="", alias="date")
|
|
106
|
+
imputed_minutes: int = Field(..., description="", alias="imputed_minutes")
|
|
107
|
+
project_worker_id: int = Field(..., description="", alias="project_worker_id")
|
|
108
|
+
subproject_id: Optional[int] = Field(None, description="", alias="subproject_id")
|
|
109
|
+
|
|
110
|
+
class Flexible_time_recordsDelete(BaseModel):
|
|
111
|
+
id: int = Field(..., description="ID", alias="id")
|
|
112
|
+
|
|
113
|
+
class Project_tasksCreate(BaseModel):
|
|
114
|
+
name: str = Field(..., description="", alias="name")
|
|
115
|
+
content: Optional[str] = Field(None, description="", alias="content")
|
|
116
|
+
starts_on: Optional[str] = Field(None, description="", alias="starts_on")
|
|
117
|
+
follow_up: Optional[bool] = Field(None, description="", alias="follow_up")
|
|
118
|
+
due_on: Optional[str] = Field(None, description="", alias="due_on")
|
|
119
|
+
assignee_ids: Optional[str] = Field(None, description="", alias="assignee_ids")
|
|
120
|
+
project_id: int = Field(..., description="", alias="project_id")
|
|
121
|
+
subproject_id: Optional[int] = Field(None, description="", alias="subproject_id")
|
|
122
|
+
files: Optional[str] = Field(None, description="", alias="files")
|
|
123
|
+
status: Annotated[str, StringConstraints(pattern=r'^todo|in_progress|done|discarded$', strip_whitespace=True)] = Field(..., description="", alias="status")
|
|
124
|
+
|
|
125
|
+
class Project_tasksUpdate(BaseModel):
|
|
126
|
+
id: int = Field(..., description="ID", alias="id")
|
|
127
|
+
project_id: int = Field(..., description="", alias="project_id")
|
|
128
|
+
subproject_id: Optional[int] = Field(None, description="", alias="subproject_id")
|
|
129
|
+
task_id: int = Field(..., description="", alias="task_id")
|
|
130
|
+
follow_up: bool = Field(..., description="", alias="follow_up")
|
|
131
|
+
|
|
132
|
+
class Project_tasksDelete(BaseModel):
|
|
133
|
+
id: int = Field(..., description="ID", alias="id")
|
|
134
|
+
|
|
135
|
+
class Project_workersCreate(BaseModel):
|
|
136
|
+
project_id: int = Field(..., description="The id of the project to assign the employee project worker.", alias="project_id")
|
|
137
|
+
employee_id: int = Field(..., description="The id of the employee to be assigned to the project.", alias="employee_id")
|
|
138
|
+
|
|
139
|
+
class Project_workersDelete(BaseModel):
|
|
140
|
+
id: int = Field(..., description="ID", alias="id")
|
|
141
|
+
|
|
142
|
+
class ProjectsCreate(BaseModel):
|
|
143
|
+
name: str = Field(..., description="Mandatory to pass a name of the project.", alias="name")
|
|
144
|
+
code: Optional[str] = Field(None, description="Optional unique code for the project to be identifiable and searchable.", alias="code")
|
|
145
|
+
start_date: Optional[str] = Field(None, description="Optional start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).", alias="start_date")
|
|
146
|
+
due_date: Optional[str] = Field(None, description="Optional due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).", alias="due_date")
|
|
147
|
+
status: Optional[str] = Field(None, description="Project status. Can be `active` or `closed`", alias="status")
|
|
148
|
+
employees_assignment: Optional[str] = Field(None, description="Optional param to define the kind of assignation the project has. Can be `manual` or `company`", alias="employees_assignment")
|
|
149
|
+
project_admins: Optional[str] = Field(None, description="", alias="project_admins")
|
|
150
|
+
project_managers: Optional[str] = Field(None, description="", alias="project_managers")
|
|
151
|
+
is_billable: Optional[bool] = Field(None, description="", alias="is_billable")
|
|
152
|
+
fixed_cost_cents: Optional[int] = Field(None, description="", alias="fixed_cost_cents")
|
|
153
|
+
budget_allocation: Optional[int] = Field(None, description="", alias="budget_allocation")
|
|
154
|
+
legal_entity_id: Optional[int] = Field(None, description="", alias="legal_entity_id")
|
|
155
|
+
budget_allocation_cents: Optional[int] = Field(None, description="", alias="budget_allocation_cents")
|
|
156
|
+
fee_amount_cents: Optional[int] = Field(None, description="", alias="fee_amount_cents")
|
|
157
|
+
|
|
158
|
+
class ProjectsUpdate(BaseModel):
|
|
159
|
+
id: int = Field(..., description="ID", alias="id")
|
|
160
|
+
name: str = Field(..., description="The name of the project", alias="name")
|
|
161
|
+
code: Optional[str] = Field(None, description="The code of the project", alias="code")
|
|
162
|
+
start_date: Optional[str] = Field(None, description="The start date of the project", alias="start_date")
|
|
163
|
+
due_date: Optional[str] = Field(None, description="The end date of the project", alias="due_date")
|
|
164
|
+
status: Annotated[str, StringConstraints(pattern=r'^active|closed|draft|processing$', strip_whitespace=True)] = Field(..., description="The status of the project", alias="status")
|
|
165
|
+
employees_assignment: Annotated[str, StringConstraints(pattern=r'^manual|company$', strip_whitespace=True)] = Field(..., description="The employees assigment of the project", alias="employees_assignment")
|
|
166
|
+
inputed_minutes: Optional[int] = Field(None, description="", alias="inputed_minutes")
|
|
167
|
+
is_billable: bool = Field(..., description="Check if the projects is billable", alias="is_billable")
|
|
168
|
+
fixed_cost_cents: Optional[int] = Field(None, description="Total fixed costs in cents", alias="fixed_cost_cents")
|
|
169
|
+
labor_cost_cents: Optional[int] = Field(None, description="Total labor costs in cents", alias="labor_cost_cents")
|
|
170
|
+
legal_entity_id: int = Field(..., description="The legal entity id of the project", alias="legal_entity_id")
|
|
171
|
+
spending_cost_cents: Optional[int] = Field(None, description="Total spending costs in cents", alias="spending_cost_cents")
|
|
172
|
+
client_id: Optional[int] = Field(None, description="The client id of the project", alias="client_id")
|
|
173
|
+
total_cost_cents: Optional[int] = Field(None, description="Total Cost in cents", alias="total_cost_cents")
|
|
174
|
+
|
|
175
|
+
class ProjectsDelete(BaseModel):
|
|
176
|
+
id: int = Field(..., description="ID", alias="id")
|
|
177
|
+
|
|
178
|
+
class SubprojectsCreate(BaseModel):
|
|
179
|
+
name: str = Field(..., description="", alias="name")
|
|
180
|
+
project_id: int = Field(..., description="", alias="project_id")
|
|
181
|
+
|
|
182
|
+
class SubprojectsDelete(BaseModel):
|
|
183
|
+
id: int = Field(..., description="ID", alias="id")
|
|
184
|
+
|
|
185
|
+
class Time_recordsCreate(BaseModel):
|
|
186
|
+
project_worker_id: int = Field(..., description="", alias="project_worker_id")
|
|
187
|
+
attendance_shift_id: int = Field(..., description="", alias="attendance_shift_id")
|
|
188
|
+
subproject_id: Optional[int] = Field(None, description="", alias="subproject_id")
|
|
189
|
+
|
|
190
|
+
class Time_recordsDelete(BaseModel):
|
|
191
|
+
id: int = Field(..., description="ID", alias="id")
|
|
192
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Auto-generated schemas for category: shift_management
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class ShiftsGet(BrynQPanderaDataFrameModel):
|
|
12
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Shift identifier", alias="id")
|
|
13
|
+
company_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Company identifier", alias="company_id")
|
|
14
|
+
name: Series[String] = pa.Field(coerce=True, nullable=True, description="Name of the shift", alias="name")
|
|
15
|
+
state: Series[String] = pa.Field(coerce=True, nullable=False, description="The state of the shift.", alias="state")
|
|
16
|
+
location_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Shift location identifier", alias="location_id")
|
|
17
|
+
locations_work_area_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Shift work area identifier", alias="locations_work_area_id")
|
|
18
|
+
employee_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Employee identifier", alias="employee_id")
|
|
19
|
+
start_at: Series[String] = pa.Field(coerce=True, nullable=False, description="Start date of the shift", alias="start_at")
|
|
20
|
+
end_at: Series[String] = pa.Field(coerce=True, nullable=False, description="End date of the shift", alias="end_at")
|
|
21
|
+
notes: Series[String] = pa.Field(coerce=True, nullable=True, description="Shift notes", alias="notes")
|
|
22
|
+
extra_hours: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Flag to indicate if the shift has extra hours", alias="extra_hours")
|
|
23
|
+
default_shift_title: Series[String] = pa.Field(coerce=True, nullable=True, description="Default shift title", alias="default_shift_title")
|
|
24
|
+
timezone: Series[String] = pa.Field(coerce=True, nullable=False, description="Shift timezone", alias="timezone")
|
|
25
|
+
local_start_at: Series[String] = pa.Field(coerce=True, nullable=False, description="Local start date of the shift", alias="local_start_at")
|
|
26
|
+
local_end_at: Series[String] = pa.Field(coerce=True, nullable=False, description="Local end date of the shift", alias="local_end_at")
|
|
27
|
+
|
|
28
|
+
class ShiftsCreate(BaseModel):
|
|
29
|
+
name: Optional[str] = Field(None, description="Name of the shift", alias="name")
|
|
30
|
+
start_at: str = Field(..., description="Start date of the shift", alias="start_at")
|
|
31
|
+
end_at: str = Field(..., description="End date of the shift", alias="end_at")
|
|
32
|
+
notes: Optional[str] = Field(None, description="Shift notes", alias="notes")
|
|
33
|
+
employee_id: int = Field(..., description="Employee identifier", alias="employee_id")
|
|
34
|
+
location_id: Optional[int] = Field(None, description="Location identifier", alias="location_id")
|
|
35
|
+
work_area_id: Optional[int] = Field(None, description="Location work area identifier", alias="work_area_id")
|
|
36
|
+
company_id: int = Field(..., description="Company identifier", alias="company_id")
|
|
37
|
+
|
|
38
|
+
class ShiftsDelete(BaseModel):
|
|
39
|
+
id: int = Field(..., description="ID", alias="id")
|
|
40
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Auto-generated schemas for category: teams
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class MembershipsGet(BrynQPanderaDataFrameModel):
|
|
12
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Membership ID", alias="id")
|
|
13
|
+
company_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Company ID of the membership", alias="company_id")
|
|
14
|
+
employee_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Employee ID of the membership", alias="employee_id")
|
|
15
|
+
team_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="Team ID of the membership", alias="team_id")
|
|
16
|
+
lead: Series[Bool] = pa.Field(coerce=True, nullable=False, description="Whether the employee is a lead of the team or not", alias="lead")
|
|
17
|
+
|
|
18
|
+
class TeamsGet(BrynQPanderaDataFrameModel):
|
|
19
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="id")
|
|
20
|
+
name: Series[String] = pa.Field(coerce=True, nullable=False, description="", alias="name")
|
|
21
|
+
description: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="description")
|
|
22
|
+
avatar: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="avatar")
|
|
23
|
+
employee_ids: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="employee_ids")
|
|
24
|
+
lead_ids: Series[String] = pa.Field(coerce=True, nullable=True, description="", alias="lead_ids")
|
|
25
|
+
company_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="company_id")
|
|
26
|
+
|
|
27
|
+
class MembershipsCreate(BaseModel):
|
|
28
|
+
team_id: int = Field(..., description="Team id.", alias="team_id")
|
|
29
|
+
employee_id: int = Field(..., description="Employee id.", alias="employee_id")
|
|
30
|
+
lead: Optional[bool] = Field(None, description="Makes the employee a lead of the team.", alias="lead")
|
|
31
|
+
|
|
32
|
+
class MembershipsUpdate(BaseModel):
|
|
33
|
+
id: int = Field(..., description="ID", alias="id")
|
|
34
|
+
company_id: Optional[int] = Field(None, description="Company ID of the membership", alias="company_id")
|
|
35
|
+
employee_id: int = Field(..., description="Employee ID of the membership", alias="employee_id")
|
|
36
|
+
team_id: int = Field(..., description="Team ID of the membership", alias="team_id")
|
|
37
|
+
lead: bool = Field(..., description="Whether the employee is a lead of the team or not", alias="lead")
|
|
38
|
+
|
|
39
|
+
class MembershipsDelete(BaseModel):
|
|
40
|
+
id: int = Field(..., description="ID", alias="id")
|
|
41
|
+
|
|
42
|
+
class TeamsCreate(BaseModel):
|
|
43
|
+
name: str = Field(..., description="Name of the team.", alias="name")
|
|
44
|
+
description: Optional[str] = Field(None, description="Description of the team", alias="description")
|
|
45
|
+
|
|
46
|
+
class TeamsUpdate(BaseModel):
|
|
47
|
+
id: int = Field(..., description="ID", alias="id")
|
|
48
|
+
name: str = Field(..., description="", alias="name")
|
|
49
|
+
description: Optional[str] = Field(None, description="", alias="description")
|
|
50
|
+
avatar: Optional[str] = Field(None, description="", alias="avatar")
|
|
51
|
+
employee_ids: Optional[str] = Field(None, description="", alias="employee_ids")
|
|
52
|
+
lead_ids: Optional[str] = Field(None, description="", alias="lead_ids")
|
|
53
|
+
company_id: int = Field(..., description="", alias="company_id")
|
|
54
|
+
|
|
55
|
+
class TeamsDelete(BaseModel):
|
|
56
|
+
id: int = Field(..., description="ID", alias="id")
|
|
57
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Auto-generated schemas for category: time_planning
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class Planning_versionsCreate(BaseModel):
|
|
12
|
+
effective_at: str = Field(..., description="Start date of the planning version", alias="effective_at")
|
|
13
|
+
planning_tool: str = Field(..., description="Type of planning tool (shift_management, work_schedules, contract_hours)", alias="planning_tool")
|
|
14
|
+
number_of_rest_days_in_cents: Optional[int] = Field(None, description="Amount of rest days per week if applicable (in cents)", alias="number_of_rest_days_in_cents")
|
|
15
|
+
employee_id: int = Field(..., description="Employee identifier", alias="employee_id")
|
|
16
|
+
schedule_id: Optional[int] = Field(None, description="Work schedule identifier to include if applicable", alias="schedule_id")
|
|
17
|
+
|
|
18
|
+
class Planning_versionsUpdate(BaseModel):
|
|
19
|
+
id: int = Field(..., description="ID", alias="id")
|
|
20
|
+
effective_at: str = Field(..., description="Start date of the planning version", alias="effective_at")
|
|
21
|
+
planning_tool: str = Field(..., description="Type of planning tool (shift_management, work_schedules, contract_hours)", alias="planning_tool")
|
|
22
|
+
number_of_rest_days_in_cents: Optional[int] = Field(None, description="Amount of rest days per week if applicable (in cents)", alias="number_of_rest_days_in_cents")
|
|
23
|
+
employee_id: int = Field(..., description="Employee identifier", alias="employee_id")
|
|
24
|
+
work_schedule_schedule_id: Optional[int] = Field(None, description="Work schedule identifier to include if applicable", alias="work_schedule_schedule_id")
|
|
25
|
+
|
|
26
|
+
class Planning_versionsDelete(BaseModel):
|
|
27
|
+
id: int = Field(..., description="ID", alias="id")
|
|
28
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Auto-generated schemas for category: time_settings
|
|
2
|
+
|
|
3
|
+
import pandas as pd
|
|
4
|
+
import pandera as pa
|
|
5
|
+
from pandera.typing import Series, String, Int, Float, Bool, DateTime
|
|
6
|
+
import pandera.extensions as extensions
|
|
7
|
+
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
8
|
+
from typing import Optional, Annotated
|
|
9
|
+
from pydantic import BaseModel, Field, StringConstraints
|
|
10
|
+
|
|
11
|
+
class Break_configurationsGet(BrynQPanderaDataFrameModel):
|
|
12
|
+
id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=False, description="", alias="id")
|
|
13
|
+
name: Series[String] = pa.Field(coerce=True, nullable=False, description="", alias="name")
|
|
14
|
+
paid: Series[Bool] = pa.Field(coerce=True, nullable=False, description="", alias="paid")
|
|
15
|
+
archived: Series[Bool] = pa.Field(coerce=True, nullable=False, description="", alias="archived")
|
|
16
|
+
|
|
17
|
+
class Break_configurationsCreate(BaseModel):
|
|
18
|
+
name: str = Field(..., description="", alias="name")
|
|
19
|
+
paid: bool = Field(..., description="", alias="paid")
|
|
20
|
+
|
|
21
|
+
class Break_configurationsUpdate(BaseModel):
|
|
22
|
+
id: int = Field(..., description="ID", alias="id")
|
|
23
|
+
name: str = Field(..., description="", alias="name")
|
|
24
|
+
paid: bool = Field(..., description="", alias="paid")
|
|
25
|
+
archived: bool = Field(..., description="", alias="archived")
|
|
26
|
+
|
|
27
|
+
class Break_configurationsDelete(BaseModel):
|
|
28
|
+
id: int = Field(..., description="ID", alias="id")
|
|
29
|
+
|