brynq-sdk-zenegy 1.3.3__tar.gz → 1.3.5__tar.gz
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_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/PKG-INFO +1 -1
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/employees.py +35 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/absences.py +10 -10
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/companies.py +2 -2
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/company_cost_centers.py +2 -2
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/company_departments.py +7 -7
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employee_documents.py +2 -2
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employee_pay_checks.py +2 -2
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employee_pensions.py +4 -4
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employees.py +55 -49
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/global_value_sets.py +9 -9
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/global_values.py +10 -10
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/payrolls.py +4 -4
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/payslips.py +2 -2
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/supplements_and_deductions_rates.py +5 -5
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/zenegy.py +13 -9
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/PKG-INFO +1 -1
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/setup.py +1 -1
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/__init__.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/absence.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/companies.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/cost_center.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/departments.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/employee_documents.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/global_value_sets.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/global_values.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/paychecks.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/payroll.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/payslips.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/pensions.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/__init__.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/supplements_and_deductions_rates.py +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/SOURCES.txt +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/dependency_links.txt +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/not-zip-safe +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/requires.txt +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/top_level.txt +0 -0
- {brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/setup.cfg +0 -0
|
@@ -133,6 +133,41 @@ class Employees:
|
|
|
133
133
|
except Exception as e:
|
|
134
134
|
raise Exception(f"Failed to create employee: {str(e)}")
|
|
135
135
|
|
|
136
|
+
def create_and_patch(self, data: Dict[str, Any]) -> requests.Response:
|
|
137
|
+
"""
|
|
138
|
+
PostEmployeeAsync
|
|
139
|
+
|
|
140
|
+
This method handles employee creation in two steps due to Zenegy API limitations:
|
|
141
|
+
1. Create the employee via POST with a limited set of required fields.
|
|
142
|
+
2. Patch the newly created employee with the full dataset to update remaining fields
|
|
143
|
+
(some fields are read-only during creation but writable during updates).
|
|
144
|
+
|
|
145
|
+
Args:
|
|
146
|
+
data (Dict[str, Any]): The full employee data dictionary.
|
|
147
|
+
|
|
148
|
+
Returns:
|
|
149
|
+
requests.Response: The response from the initial POST creation request.
|
|
150
|
+
"""
|
|
151
|
+
try:
|
|
152
|
+
req_data = EmployeeCreate(**data)
|
|
153
|
+
req_body = req_data.model_dump(by_alias=True, mode='json', exclude_none=True)
|
|
154
|
+
response = self.zenegy.post(endpoint=self.endpoint.lstrip('/'), json=req_body)
|
|
155
|
+
self.zenegy.raise_for_status_with_details(response)
|
|
156
|
+
|
|
157
|
+
# Get the uid of the created employee
|
|
158
|
+
response_data = response.json()
|
|
159
|
+
if isinstance(response_data, str):
|
|
160
|
+
uid = response_data
|
|
161
|
+
elif isinstance(response_data, dict):
|
|
162
|
+
uid = response_data['data']['uid']
|
|
163
|
+
|
|
164
|
+
# Patch the employee with the fields (patch what was created is okay, overwrite with same value)
|
|
165
|
+
self.patch(uid, data)
|
|
166
|
+
|
|
167
|
+
return response
|
|
168
|
+
except Exception as e:
|
|
169
|
+
raise Exception(f"Failed to create employee: {str(e)}")
|
|
170
|
+
|
|
136
171
|
def upsert(self, data: Dict[str, Any]) -> requests.Response:
|
|
137
172
|
"""
|
|
138
173
|
UpsertEmployeeAsync
|
|
@@ -12,7 +12,7 @@ class Department(BaseModel):
|
|
|
12
12
|
number: Optional[str] = Field(default=None)
|
|
13
13
|
has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None)
|
|
14
14
|
id: Optional[int] = Field(default=None)
|
|
15
|
-
|
|
15
|
+
department_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None)
|
|
16
16
|
|
|
17
17
|
class Config:
|
|
18
18
|
populate_by_name = True
|
|
@@ -21,7 +21,7 @@ class Department(BaseModel):
|
|
|
21
21
|
class Center(BaseModel):
|
|
22
22
|
"""Schema for cost center or profit center information."""
|
|
23
23
|
id: Optional[int] = Field(default=None)
|
|
24
|
-
|
|
24
|
+
center_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None)
|
|
25
25
|
name: Optional[str] = Field(default=None)
|
|
26
26
|
number: Optional[str] = Field(default=None)
|
|
27
27
|
type: Optional[str] = Field(default=None)
|
|
@@ -53,7 +53,7 @@ class Employee(BaseModel):
|
|
|
53
53
|
employee_number: Optional[str] = Field(alias="employeeNumber", default=None)
|
|
54
54
|
extra_employee_number: Optional[str] = Field(alias="extraEmployeeNumber", default=None)
|
|
55
55
|
id: Optional[int] = Field(default=None)
|
|
56
|
-
|
|
56
|
+
employee_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None)
|
|
57
57
|
|
|
58
58
|
class Config:
|
|
59
59
|
populate_by_name = True
|
|
@@ -68,7 +68,7 @@ class CompanyAbsenceType(BaseModel):
|
|
|
68
68
|
is_custom_absence_type: Optional[bool] = Field(alias="isCustomAbsenceType", default=None)
|
|
69
69
|
search_name: Optional[str] = Field(alias="searchName", default=None)
|
|
70
70
|
id: Optional[int] = Field(default=None)
|
|
71
|
-
|
|
71
|
+
company_absence_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None)
|
|
72
72
|
|
|
73
73
|
class Config:
|
|
74
74
|
populate_by_name = True
|
|
@@ -89,7 +89,7 @@ class AbsenceData(BaseModel):
|
|
|
89
89
|
company_absence_type: Optional[CompanyAbsenceType] = Field(alias="companyAbsenceType", default=None)
|
|
90
90
|
employee_payroll_fk: Optional[int] = Field(alias="employeePayrollFk", default=None)
|
|
91
91
|
id: Optional[int] = Field(default=None)
|
|
92
|
-
|
|
92
|
+
abscence_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None)
|
|
93
93
|
|
|
94
94
|
class Config:
|
|
95
95
|
populate_by_name = True
|
|
@@ -111,7 +111,7 @@ class CreateAbsenceRequest(BaseModel):
|
|
|
111
111
|
"""
|
|
112
112
|
Schema for creating absence request.
|
|
113
113
|
"""
|
|
114
|
-
|
|
114
|
+
absence_uid: Optional[UUID] = Field(
|
|
115
115
|
default=None,
|
|
116
116
|
description="Absence UID (server-assigned on creation)",
|
|
117
117
|
example="00000000-0000-0000-0000-000000000000",
|
|
@@ -188,7 +188,7 @@ class GetAbsenceAsyncResponse(BaseModel):
|
|
|
188
188
|
company_absence_type: Optional[CompanyAbsenceType] = Field(alias="companyAbsenceType", default=None)
|
|
189
189
|
employee_payroll_fk: Optional[int] = Field(alias="employeePayrollFk", default=None)
|
|
190
190
|
id: Optional[int] = Field(default=None)
|
|
191
|
-
|
|
191
|
+
absence_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None)
|
|
192
192
|
class Config:
|
|
193
193
|
populate_by_name = True
|
|
194
194
|
|
|
@@ -196,7 +196,7 @@ class UpdateAbsenceRequest(BaseModel):
|
|
|
196
196
|
"""
|
|
197
197
|
Schema for updating absence request.
|
|
198
198
|
"""
|
|
199
|
-
|
|
199
|
+
absence_uid: Optional[UUID] = Field(
|
|
200
200
|
example="00000000-0000-0000-0000-000000000000", default=None,
|
|
201
201
|
description="Absence UID to update",
|
|
202
202
|
)
|
|
@@ -376,7 +376,7 @@ class AbsenceGet(BrynQPanderaDataFrameModel):
|
|
|
376
376
|
absence_type_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Absence type name", alias="absenceTypeName")
|
|
377
377
|
employee_payroll_fk: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee payroll foreign key", alias="employeePayrollFk")
|
|
378
378
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Absence ID", alias="id")
|
|
379
|
-
|
|
379
|
+
absence_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Absence UID", alias="uid")
|
|
380
380
|
|
|
381
381
|
# Company Absence Type fields
|
|
382
382
|
company_absence_type_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company absence type name", alias="companyAbsenceType__name")
|
|
@@ -389,5 +389,5 @@ class AbsenceGet(BrynQPanderaDataFrameModel):
|
|
|
389
389
|
company_absence_type_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company absence type UID", alias="companyAbsenceType__uid")
|
|
390
390
|
|
|
391
391
|
class _Annotation:
|
|
392
|
-
primary_key = "
|
|
392
|
+
primary_key = "absence_uid"
|
|
393
393
|
foreign_keys = {}
|
|
@@ -22,7 +22,7 @@ class CompaniesGet(BrynQPanderaDataFrameModel):
|
|
|
22
22
|
source: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Source", alias="source")
|
|
23
23
|
area: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Area", alias="area")
|
|
24
24
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Company ID", alias="id")
|
|
25
|
-
|
|
25
|
+
company_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company UID", alias="uid")
|
|
26
26
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company name", alias="name")
|
|
27
27
|
logo_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Logo URL", alias="logoUrl")
|
|
28
28
|
|
|
@@ -38,5 +38,5 @@ class CompaniesGet(BrynQPanderaDataFrameModel):
|
|
|
38
38
|
identity_providers: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Identity providers", alias="identityProviders")
|
|
39
39
|
|
|
40
40
|
class _Annotation:
|
|
41
|
-
primary_key = "
|
|
41
|
+
primary_key = "company_uid"
|
|
42
42
|
foreign_keys = {}
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/company_cost_centers.py
RENAMED
|
@@ -41,8 +41,8 @@ class CostCentersGet(BrynQPanderaDataFrameModel):
|
|
|
41
41
|
cost_center_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center code", alias="costCenterCode")
|
|
42
42
|
type: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center type", alias="type")
|
|
43
43
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Cost center ID", alias="id")
|
|
44
|
-
|
|
44
|
+
cost_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center UID", alias="uid")
|
|
45
45
|
|
|
46
46
|
class _Annotation:
|
|
47
|
-
primary_key = "
|
|
47
|
+
primary_key = "cost_center_uid"
|
|
48
48
|
foreign_keys = {}
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/company_departments.py
RENAMED
|
@@ -14,7 +14,7 @@ class ResponsiblePerson(BaseModel):
|
|
|
14
14
|
employee_number: Optional[str] = Field(alias="employeeNumber", default=None, description="Employee number", example="E-2001")
|
|
15
15
|
extra_employee_number: Optional[str] = Field(alias="extraEmployeeNumber", default=None, description="Secondary employee number", example="EXT-10")
|
|
16
16
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=12)
|
|
17
|
-
|
|
17
|
+
reponsible_person_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Responsible person UID")
|
|
18
18
|
|
|
19
19
|
class Config:
|
|
20
20
|
populate_by_name = True
|
|
@@ -26,7 +26,7 @@ class CompanyWorkSchema(BaseModel):
|
|
|
26
26
|
working_hours_per_day: Optional[float] = Field(alias="workingHoursPerDay", default=None, description="Working hours per day", example=7.4)
|
|
27
27
|
can_be_deleted: Optional[bool] = Field(alias="canBeDeleted", default=None, description="Whether this work schema can be deleted", example=True)
|
|
28
28
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=3)
|
|
29
|
-
|
|
29
|
+
work_schema_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Work schema UID")
|
|
30
30
|
|
|
31
31
|
class Config:
|
|
32
32
|
populate_by_name = True
|
|
@@ -41,7 +41,7 @@ class CompanyDepartmentData(BaseModel):
|
|
|
41
41
|
number: Optional[str] = Field(default=None, description="Department number/code", example="D-100")
|
|
42
42
|
has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None, description="Whether department has a work schema", example=True)
|
|
43
43
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=15)
|
|
44
|
-
|
|
44
|
+
department_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Department UID")
|
|
45
45
|
|
|
46
46
|
class Config:
|
|
47
47
|
populate_by_name = True
|
|
@@ -72,7 +72,7 @@ class GetCompanyDepartmentResponse(BaseModel):
|
|
|
72
72
|
number: Optional[str] = Field(default=None, description="Department number/code", example="D-100")
|
|
73
73
|
has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None, description="Whether department has a work schema", example=True)
|
|
74
74
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=15)
|
|
75
|
-
|
|
75
|
+
department_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Department UID")
|
|
76
76
|
class Config:
|
|
77
77
|
populate_by_name = True
|
|
78
78
|
|
|
@@ -86,7 +86,7 @@ class GetWholeCompanyDepartmentResponse(BaseModel):
|
|
|
86
86
|
number: Optional[str] = Field(default=None, description="Department number/code", example="D-100")
|
|
87
87
|
has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None, description="Whether department has a work schema", example=True)
|
|
88
88
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=15)
|
|
89
|
-
|
|
89
|
+
department_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Department UID")
|
|
90
90
|
class Config:
|
|
91
91
|
populate_by_name = True
|
|
92
92
|
|
|
@@ -124,7 +124,7 @@ class DepartmentsGet(BrynQPanderaDataFrameModel):
|
|
|
124
124
|
number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department number", alias="number")
|
|
125
125
|
has_work_schema: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has work schema", alias="hasWorkSchema")
|
|
126
126
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Department ID", alias="id")
|
|
127
|
-
|
|
127
|
+
department_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department UID", alias="uid")
|
|
128
128
|
|
|
129
129
|
# Responsible persons (as JSON string since it's a list of objects)
|
|
130
130
|
responsible_persons: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Responsible persons list", alias="responsiblePersons")
|
|
@@ -143,5 +143,5 @@ class DepartmentsGet(BrynQPanderaDataFrameModel):
|
|
|
143
143
|
work_schema_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Work schema UID", alias="workSchema__uid")
|
|
144
144
|
|
|
145
145
|
class _Annotation:
|
|
146
|
-
primary_key = "
|
|
146
|
+
primary_key = "department_uid"
|
|
147
147
|
foreign_keys = {}
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employee_documents.py
RENAMED
|
@@ -20,11 +20,11 @@ class EmployeeDocumentsGet(BrynQPanderaDataFrameModel):
|
|
|
20
20
|
extension: Optional[Series[pd.Int64Dtype]] = pa.Field(nullable=True, description="File extension enum", alias="extension", isin=[0, 1, 2, 3, 4, 5])
|
|
21
21
|
is_document_owner: Optional[Series[pd.BooleanDtype]] = pa.Field(nullable=True, description="Whether the employee owns the document", alias="isDocumentOwner")
|
|
22
22
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(nullable=True, description="Numeric document ID", alias="id")
|
|
23
|
-
|
|
23
|
+
document_uid: Optional[Series[pd.StringDtype]] = pa.Field(nullable=True,description="Document UID", alias="uid")
|
|
24
24
|
|
|
25
25
|
class Config:
|
|
26
26
|
coerce = True
|
|
27
27
|
|
|
28
28
|
class _Annotation:
|
|
29
|
-
primary_key = "
|
|
29
|
+
primary_key = "document_uid"
|
|
30
30
|
foreign_keys = {}
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employee_pay_checks.py
RENAMED
|
@@ -81,7 +81,7 @@ class PayChecksGet(BrynQPanderaDataFrameModel):
|
|
|
81
81
|
percentage: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Percentage", alias="percentage")
|
|
82
82
|
is_included_in_holiday_entitlement_salary_reduction: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is included in holiday entitlement salary reduction", alias="isIncludedInHolidayEntitlementSalaryReduction")
|
|
83
83
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Pay check ID", alias="id")
|
|
84
|
-
|
|
84
|
+
pay_check_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Pay check UID", alias="uid")
|
|
85
85
|
|
|
86
86
|
# Raw nested objects (if API returns unflattened objects as-is)
|
|
87
87
|
rate: Optional[Series[object]] = pa.Field(coerce=True, nullable=True, description="Raw rate object", alias="rate")
|
|
@@ -165,5 +165,5 @@ class PayChecksGet(BrynQPanderaDataFrameModel):
|
|
|
165
165
|
profit_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Profit center UID", alias="profitCenter__uid")
|
|
166
166
|
|
|
167
167
|
class _Annotation:
|
|
168
|
-
primary_key = "
|
|
168
|
+
primary_key = "pay_check_uid"
|
|
169
169
|
foreign_keys = {}
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/employee_pensions.py
RENAMED
|
@@ -16,7 +16,7 @@ class Pension(BaseModel):
|
|
|
16
16
|
pbs_number: Optional[str] = Field(alias="pbsNumber", default=None, description="PBS number", example="1234")
|
|
17
17
|
type: Optional[int] = Field(default=None, description="Pension type code", example=1)
|
|
18
18
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=10)
|
|
19
|
-
|
|
19
|
+
pension_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Pension UID")
|
|
20
20
|
|
|
21
21
|
class Config:
|
|
22
22
|
populate_by_name = True
|
|
@@ -87,7 +87,7 @@ class EmployeePensionCreate(BaseModel):
|
|
|
87
87
|
alias="calculateFromAmPension", default=None,
|
|
88
88
|
description="Calculate contributions from AM pension base", example=True
|
|
89
89
|
)
|
|
90
|
-
|
|
90
|
+
employee_pension_uid: Optional[UUID] = Field(
|
|
91
91
|
example="00000000-0000-0000-0000-000000000000", default=None,
|
|
92
92
|
description="Inserted employee pension UID"
|
|
93
93
|
)
|
|
@@ -121,7 +121,7 @@ class PensionGet(BrynQPanderaDataFrameModel):
|
|
|
121
121
|
group_life_agreement_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Group life agreement number", alias="groupLifeAgreementNumber")
|
|
122
122
|
calculate_from_am_pension: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Calculate from AM pension", alias="calculateFromAmPension")
|
|
123
123
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Pension ID", alias="id")
|
|
124
|
-
|
|
124
|
+
pension_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Pension UID", alias="uid")
|
|
125
125
|
|
|
126
126
|
# Pension fields (nested object)
|
|
127
127
|
pension_identifier: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Pension identifier", alias="pension__identifier")
|
|
@@ -136,5 +136,5 @@ class PensionGet(BrynQPanderaDataFrameModel):
|
|
|
136
136
|
pension_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Pension UID", alias="pension__uid")
|
|
137
137
|
|
|
138
138
|
class _Annotation:
|
|
139
|
-
primary_key = "
|
|
139
|
+
primary_key = "pension_uid"
|
|
140
140
|
foreign_keys = {}
|
|
@@ -21,7 +21,7 @@ class User(BaseModel):
|
|
|
21
21
|
is_active: Optional[bool] = Field(alias="isActive", default=None, description="Whether the user is active", example=True)
|
|
22
22
|
name: Optional[str] = Field(default=None, description="User display name", example="John Doe")
|
|
23
23
|
photo_url: Optional[str] = Field(alias="photoUrl", default=None, description="URL to user's profile photo", example="https://example.com/photo.jpg")
|
|
24
|
-
|
|
24
|
+
user_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="User UID")
|
|
25
25
|
|
|
26
26
|
class Config:
|
|
27
27
|
populate_by_name = True
|
|
@@ -35,7 +35,7 @@ class Center(BaseModel):
|
|
|
35
35
|
cost_center_code: Optional[str] = Field(alias="costCenterCode", default=None, description="Cost center code", example="SALES")
|
|
36
36
|
type: Optional[str] = Field(default=None, description="Center type (cost/profit)", example="cost")
|
|
37
37
|
id: Optional[int] = Field(default=None, description="Center ID (internal numeric)", example=7)
|
|
38
|
-
|
|
38
|
+
center_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Center UID")
|
|
39
39
|
|
|
40
40
|
class Config:
|
|
41
41
|
populate_by_name = True
|
|
@@ -47,7 +47,7 @@ class Department(BaseModel):
|
|
|
47
47
|
number: Optional[str] = Field(default=None, description="Department code/number", example="D-100")
|
|
48
48
|
has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None, description="Whether department has a work schema", example=True)
|
|
49
49
|
id: Optional[int] = Field(default=None, description="Department ID (internal numeric)", example=15)
|
|
50
|
-
|
|
50
|
+
department_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Department UID")
|
|
51
51
|
|
|
52
52
|
class Config:
|
|
53
53
|
populate_by_name = True
|
|
@@ -73,7 +73,7 @@ class Company(BaseModel):
|
|
|
73
73
|
is_extra_holiday_entitlement_in_hours_enabled_l: Optional[bool] = Field(alias="isExtraHolidayEntitlementInHoursEnabled", default=None, description="Extra holiday entitlement in hours enabled", example=False)
|
|
74
74
|
extra_holiday_entitlement_in_hours: Optional[bool] = Field(alias="extraHolidayEntitlementInHours", default=None, description="Extra holiday entitlement applies in hours", example=False)
|
|
75
75
|
id: Optional[int] = Field(default=None, description="Company ID (internal numeric)", example=5)
|
|
76
|
-
|
|
76
|
+
company_uid: Optional[UUID] = Field(example="00000000-0000-0000-0000-000000000000", default=None, description="Company UID")
|
|
77
77
|
name: Optional[str] = Field(default=None, description="Company name", example="Acme A/S")
|
|
78
78
|
logo_url: Optional[str] = Field(alias="logoUrl", default=None, description="Company logo URL", example="https://example.com/logo.png")
|
|
79
79
|
|
|
@@ -106,7 +106,7 @@ class EmployeeBase(BaseModel):
|
|
|
106
106
|
is_resigned: Optional[bool] = Field(None, alias="isResigned", description="Resigned status", example=False)
|
|
107
107
|
cpr: Optional[str] = None
|
|
108
108
|
salary_type: Optional[int] = Field(None, alias="salaryType", description="Salary type code", example=1)
|
|
109
|
-
|
|
109
|
+
mobile_phone: Optional[str] = Field(None, alias="contactPhone", description="Contact phone number", example="+45 12 34 56 78")
|
|
110
110
|
email: Optional[str] = Field(None, alias="contactEmail", description="Contact email address", example="john.doe@example.com")
|
|
111
111
|
department: Optional[Department] = None
|
|
112
112
|
cost_center: Optional[Center] = Field(None, alias="costCenter", description="Employee cost center object")
|
|
@@ -122,7 +122,7 @@ class EmployeeBase(BaseModel):
|
|
|
122
122
|
employee_number: Optional[str] = Field(None, alias="employeeNumber", description="Internal employee number", example="E-1001")
|
|
123
123
|
extra_employee_number: Optional[str] = Field(None, alias="extraEmployeeNumber", description="Secondary employee number", example="EXT-55")
|
|
124
124
|
id: Optional[int] = None
|
|
125
|
-
|
|
125
|
+
employee_uid: Optional[UUID] = Field(None, example="00000000-0000-0000-0000-000000000000", description="Employee UID")
|
|
126
126
|
|
|
127
127
|
class Config:
|
|
128
128
|
populate_by_name = True
|
|
@@ -516,6 +516,7 @@ class EmployeeCreate(BaseModel):
|
|
|
516
516
|
|
|
517
517
|
class Config:
|
|
518
518
|
populate_by_name = True
|
|
519
|
+
extra = 'ignore'
|
|
519
520
|
|
|
520
521
|
|
|
521
522
|
class EmployeeUpdate(BaseModel):
|
|
@@ -616,11 +617,11 @@ class EmployeeUpdate(BaseModel):
|
|
|
616
617
|
None, alias='extraEmployeeNumber',
|
|
617
618
|
description="Secondary employee number", example="EXT-55"
|
|
618
619
|
)
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
620
|
+
department_id: Optional[int] = Field(
|
|
621
|
+
None, alias='departmentId',
|
|
622
|
+
description="Department numeric identifier", example=10
|
|
623
|
+
)
|
|
624
|
+
department_uid: Optional[UUID] = Field(
|
|
624
625
|
None,
|
|
625
626
|
alias='companyDepartmentUid',
|
|
626
627
|
description="Target department UID", example="00000000-0000-0000-0000-000000000000"
|
|
@@ -747,7 +748,7 @@ class EmployeeEmploymentUpdate(BaseModel):
|
|
|
747
748
|
ancinity_date: Optional[datetime] = Field(None, alias='ancinityDate', description="Seniority date", example="2023-06-01T00:00:00Z")
|
|
748
749
|
is_active: Optional[bool] = Field(None, alias='isActive', description="Active status", example=True)
|
|
749
750
|
job_description: Optional[str] = Field(None, alias='jobDescription', description="Job description text", example="Backend developer")
|
|
750
|
-
|
|
751
|
+
department_uid: Optional[UUID] = Field(None, alias='companyDepartmentUid', description="Target department UID", example="00000000-0000-0000-0000-000000000000")
|
|
751
752
|
company_cost_center_uid: Optional[UUID] = Field(None, alias='companyCostCenterUid', description="Company cost center UID", example="00000000-0000-0000-0000-000000000000")
|
|
752
753
|
company_profit_center_uid: Optional[UUID] = Field(None, alias='companyProfitCenterUid', description="Company profit center UID", example="00000000-0000-0000-0000-000000000000")
|
|
753
754
|
booking_group_uid: Optional[UUID] = Field(None, alias='bookingGroupUid', description="Booking group UID", example="00000000-0000-0000-0000-000000000000")
|
|
@@ -821,7 +822,7 @@ class HolidayPayReceiver(BaseModel):
|
|
|
821
822
|
id: int = Field(description="Receiver ID (internal numeric)", example=1)
|
|
822
823
|
name: str = Field(description="Receiver name", example="Feriekonto")
|
|
823
824
|
type: int = Field(description="Receiver type code", example=0)
|
|
824
|
-
|
|
825
|
+
holiday_pay_receiver_uid: UUID = Field(description="Receiver UID", example="00000000-0000-0000-0000-000000000000")
|
|
825
826
|
|
|
826
827
|
|
|
827
828
|
class Company(BaseModel):
|
|
@@ -845,7 +846,7 @@ class Company(BaseModel):
|
|
|
845
846
|
logo_url: Optional[str] = Field(default=None, description="Company logo URL", example="https://example.com/logo.png")
|
|
846
847
|
name: str = Field(description="Company name", example="Acme A/S")
|
|
847
848
|
p_number: str = Field(description="Company P-number", example="P12345")
|
|
848
|
-
|
|
849
|
+
company_uid: UUID = Field(description="Company UID", example="00000000-0000-0000-0000-000000000000")
|
|
849
850
|
|
|
850
851
|
|
|
851
852
|
class CostCenter(BaseModel):
|
|
@@ -855,7 +856,7 @@ class CostCenter(BaseModel):
|
|
|
855
856
|
id: int = Field(description="Cost center ID (internal numeric)", example=10)
|
|
856
857
|
number_of_employees: int = Field(description="Number of employees in cost center", example=42)
|
|
857
858
|
type: Optional[str] = Field(default=None, description="Dimension type (cost/profit)", example="cost")
|
|
858
|
-
|
|
859
|
+
cost_center_uid: UUID = Field(description="Cost center UID", example="00000000-0000-0000-0000-000000000000")
|
|
859
860
|
|
|
860
861
|
|
|
861
862
|
class Department(BaseModel):
|
|
@@ -863,7 +864,7 @@ class Department(BaseModel):
|
|
|
863
864
|
id: int = Field(description="Department ID (internal numeric)", example=15)
|
|
864
865
|
name: str = Field(description="Department name", example="Sales")
|
|
865
866
|
number: str = Field(description="Department number/code", example="D-100")
|
|
866
|
-
|
|
867
|
+
department_uid: UUID = Field(description="Department UID", example="00000000-0000-0000-0000-000000000000")
|
|
867
868
|
|
|
868
869
|
|
|
869
870
|
class EmployeeDepartmentIncomeSplit(BaseModel):
|
|
@@ -873,7 +874,7 @@ class EmployeeDepartmentIncomeSplit(BaseModel):
|
|
|
873
874
|
id: int
|
|
874
875
|
percentage: float
|
|
875
876
|
type: str
|
|
876
|
-
|
|
877
|
+
employee_uid: UUID
|
|
877
878
|
|
|
878
879
|
|
|
879
880
|
class CompanyGlobalValueReferenceUidsPair(BaseModel):
|
|
@@ -966,7 +967,7 @@ class EmployeePatch(BaseModel):
|
|
|
966
967
|
employee_number: Optional[str] = Field(default=None, alias='EmployeeNumber')
|
|
967
968
|
extra_employee_number: Optional[str] = Field(default=None, alias='ExtraEmployeeNumber')
|
|
968
969
|
department_id: Optional[int] = Field(default=None, alias='DepartmentId')
|
|
969
|
-
|
|
970
|
+
department_uid: Optional[str] = Field(default=None, alias='CompanyDepartmentUid')
|
|
970
971
|
|
|
971
972
|
# Start saldo (subset; extend as needed)
|
|
972
973
|
start_g_days: Optional[float] = Field(default=None, alias='StartGDays')
|
|
@@ -1188,10 +1189,11 @@ class EmployeePatch(BaseModel):
|
|
|
1188
1189
|
labour_benefits_package_for_pension: Optional[float] = Field(default=None, alias='LabourBenefitsPackageForPension')
|
|
1189
1190
|
labour_agreement_code: Optional[str] = Field(default=None, alias='LabourAgreementCode')
|
|
1190
1191
|
extra_holiday_entitlement_per_payroll: Optional[float] = Field(default=None, alias='ExtraHolidayEntitlementPerPayroll')
|
|
1192
|
+
global_value_set_uid: Optional[str] = Field(default=None, alias='GlobalValueSetUid')
|
|
1191
1193
|
|
|
1192
1194
|
class Config:
|
|
1193
1195
|
populate_by_name = True
|
|
1194
|
-
extra = '
|
|
1196
|
+
extra = 'ignore'
|
|
1195
1197
|
|
|
1196
1198
|
class PensionBase(BaseModel):
|
|
1197
1199
|
name: Optional[str] = Field(default=None, description="Pension name", example="ATP Pension")
|
|
@@ -1199,7 +1201,7 @@ class PensionBase(BaseModel):
|
|
|
1199
1201
|
pbs_number: Optional[str] = Field(default=None, description="PBS number", example="1234")
|
|
1200
1202
|
type: Optional[int] = Field(default=None, description="Pension type code", example=1)
|
|
1201
1203
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=10)
|
|
1202
|
-
|
|
1204
|
+
pension_uid: Optional[UUID] = Field(default=None, description="Pension UID", example="00000000-0000-0000-0000-000000000000")
|
|
1203
1205
|
|
|
1204
1206
|
class Config:
|
|
1205
1207
|
populate_by_name = True
|
|
@@ -1213,7 +1215,7 @@ class BenefitBase(BaseModel):
|
|
|
1213
1215
|
included_in_am_pension_base: Optional[bool] = Field(default=None, description="Included in AM pension base", example=True)
|
|
1214
1216
|
included_in_holiday_entitlement_salary_base: Optional[bool] = Field(default=None, description="Included in holiday entitlement salary base", example=False)
|
|
1215
1217
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=20)
|
|
1216
|
-
|
|
1218
|
+
benefit_uid: Optional[UUID] = Field(default=None, description="Benefit UID", example="00000000-0000-0000-0000-000000000000")
|
|
1217
1219
|
|
|
1218
1220
|
class Config:
|
|
1219
1221
|
populate_by_name = True
|
|
@@ -1224,7 +1226,7 @@ class CompanyDepartmentBase(BaseModel):
|
|
|
1224
1226
|
number: Optional[str] = Field(default=None, description="Department number/code", example="D-100")
|
|
1225
1227
|
has_work_schema: Optional[bool] = Field(default=None, description="Whether department has a work schema", example=True)
|
|
1226
1228
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=15)
|
|
1227
|
-
|
|
1229
|
+
department_uid: Optional[UUID] = Field(default=None, description="Department UID", example="00000000-0000-0000-0000-000000000000")
|
|
1228
1230
|
|
|
1229
1231
|
class Config:
|
|
1230
1232
|
populate_by_name = True
|
|
@@ -1232,7 +1234,7 @@ class CompanyDepartmentBase(BaseModel):
|
|
|
1232
1234
|
|
|
1233
1235
|
class Dimension(BaseModel):
|
|
1234
1236
|
id: Optional[int] = Field(default=None, description="Dimension ID", example=1)
|
|
1235
|
-
|
|
1237
|
+
dimension_uid: Optional[UUID] = Field(default=None, description="Dimension UID", example="00000000-0000-0000-0000-000000000000")
|
|
1236
1238
|
name: Optional[str] = Field(default=None, description="Dimension name", example="Profit Center")
|
|
1237
1239
|
number: Optional[str] = Field(default=None, description="Dimension number/code", example="PC-01")
|
|
1238
1240
|
type: Optional[str] = Field(default=None, description="Dimension type", example="profit")
|
|
@@ -1248,7 +1250,7 @@ class CompanyCostCenter(BaseModel):
|
|
|
1248
1250
|
cost_center_code: Optional[str] = Field(default=None, description="Cost center code", example="FIN")
|
|
1249
1251
|
type: Optional[str] = Field(default=None, description="Type (cost/profit)", example="cost")
|
|
1250
1252
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=10)
|
|
1251
|
-
|
|
1253
|
+
cost_center_uid: Optional[UUID] = Field(default=None, description="Cost center UID", example="00000000-0000-0000-0000-000000000000")
|
|
1252
1254
|
|
|
1253
1255
|
class Config:
|
|
1254
1256
|
populate_by_name = True
|
|
@@ -1263,7 +1265,7 @@ class EmployeeResignation(BaseModel):
|
|
|
1263
1265
|
is_processed: Optional[bool] = Field(default=None, description="Resignation processed flag", example=False)
|
|
1264
1266
|
last_work_day: Optional[datetime] = Field(default=None, description="Last working day (ISO 8601)", example="2024-05-30T00:00:00Z")
|
|
1265
1267
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
|
|
1266
|
-
|
|
1268
|
+
resignation_uid: Optional[UUID] = Field(default=None, description="Resignation UID", example="00000000-0000-0000-0000-000000000000")
|
|
1267
1269
|
|
|
1268
1270
|
class Config:
|
|
1269
1271
|
populate_by_name = True
|
|
@@ -1286,7 +1288,7 @@ class EmployeeAmPension(BaseModel):
|
|
|
1286
1288
|
insurance_amount: Optional[float] = Field(default=None, description="Insurance amount", example=250.0)
|
|
1287
1289
|
insurance_union_code: Optional[str] = Field(default=None, description="Insurance union code", example="IU-1")
|
|
1288
1290
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
|
|
1289
|
-
|
|
1291
|
+
am_pension_uid: Optional[UUID] = Field(default=None, description="AM pension UID", example="00000000-0000-0000-0000-000000000000")
|
|
1290
1292
|
|
|
1291
1293
|
class Config:
|
|
1292
1294
|
populate_by_name = True
|
|
@@ -1303,7 +1305,7 @@ class EmployeeBenefitBase(BaseModel):
|
|
|
1303
1305
|
included_in_am_pension_base: Optional[bool] = None
|
|
1304
1306
|
included_in_holiday_entitlement_salary_base: Optional[bool] = None
|
|
1305
1307
|
id: Optional[int] = None
|
|
1306
|
-
|
|
1308
|
+
benefit_base_uid: Optional[UUID] = None
|
|
1307
1309
|
|
|
1308
1310
|
class Config:
|
|
1309
1311
|
populate_by_name = True
|
|
@@ -1325,7 +1327,7 @@ class EmployeeTaxCard(BaseModel):
|
|
|
1325
1327
|
date_of_received_skat_message_response: Optional[datetime] = Field(default=None, description="Date of received SKAT message response", example="2024-01-22T00:00:00Z")
|
|
1326
1328
|
skat_message: Optional[str] = Field(default=None, description="SKAT message", example="OK")
|
|
1327
1329
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
|
|
1328
|
-
|
|
1330
|
+
tax_card_uid: Optional[UUID] = Field(default=None, description="Tax card UID", example="00000000-0000-0000-0000-000000000000")
|
|
1329
1331
|
|
|
1330
1332
|
class Config:
|
|
1331
1333
|
populate_by_name = True
|
|
@@ -1351,7 +1353,7 @@ class EmployeePension(BaseModel):
|
|
|
1351
1353
|
additional_contribution_amount_type: Optional[int] = Field(default=None, description="Additional contribution amount type", example=0)
|
|
1352
1354
|
additional_contribution_amount: Optional[float] = Field(default=None, description="Additional contribution amount", example=100.0)
|
|
1353
1355
|
id: Optional[int] = Field(default=None, description="Internal numeric identifier", example=1)
|
|
1354
|
-
|
|
1356
|
+
pension_uid: Optional[UUID] = Field(default=None, description="Employee pension UID", example="00000000-0000-0000-0000-000000000000")
|
|
1355
1357
|
|
|
1356
1358
|
class Config:
|
|
1357
1359
|
populate_by_name = True
|
|
@@ -1364,7 +1366,7 @@ class RelativeBase(BaseModel):
|
|
|
1364
1366
|
email: Optional[str] = None
|
|
1365
1367
|
relation: Optional[str] = None
|
|
1366
1368
|
id: Optional[int] = None
|
|
1367
|
-
|
|
1369
|
+
relative_base_uid: Optional[UUID] = None
|
|
1368
1370
|
|
|
1369
1371
|
class Config:
|
|
1370
1372
|
populate_by_name = True
|
|
@@ -1375,7 +1377,7 @@ class HolidayPayReceiverBase(BaseModel):
|
|
|
1375
1377
|
type: Optional[int] = None
|
|
1376
1378
|
cvr: Optional[str] = None
|
|
1377
1379
|
id: Optional[int] = None
|
|
1378
|
-
|
|
1380
|
+
holiday_pay_receiver_uid: Optional[UUID] = None
|
|
1379
1381
|
|
|
1380
1382
|
class Config:
|
|
1381
1383
|
populate_by_name = True
|
|
@@ -1410,7 +1412,7 @@ class CompanyModel(BaseModel):
|
|
|
1410
1412
|
is_holiday_hindrance_enabled: Optional[bool] = None
|
|
1411
1413
|
extra_holiday_entitlement_in_hours: Optional[bool] = None
|
|
1412
1414
|
id: Optional[int] = None
|
|
1413
|
-
|
|
1415
|
+
company_model_uid: Optional[UUID] = None
|
|
1414
1416
|
name: Optional[str] = None
|
|
1415
1417
|
logo_url: Optional[str] = None
|
|
1416
1418
|
|
|
@@ -1424,7 +1426,7 @@ class User(BaseModel):
|
|
|
1424
1426
|
name: Optional[str] = None
|
|
1425
1427
|
photo_url: Optional[str] = None
|
|
1426
1428
|
id: Optional[int] = None
|
|
1427
|
-
|
|
1429
|
+
user_uid: Optional[UUID] = None
|
|
1428
1430
|
|
|
1429
1431
|
class Config:
|
|
1430
1432
|
populate_by_name = True
|
|
@@ -1778,7 +1780,7 @@ class GetEmployeeAsyncResponse(BaseModel):
|
|
|
1778
1780
|
is_resigned: Optional[bool] = None
|
|
1779
1781
|
cpr: Optional[str] = None
|
|
1780
1782
|
salary_type: Optional[int] = None
|
|
1781
|
-
|
|
1783
|
+
mobile_phone: Optional[str] = None
|
|
1782
1784
|
email: Optional[str] = None
|
|
1783
1785
|
department: Optional[CompanyDepartmentBase] = None
|
|
1784
1786
|
cost_center: Optional[Dimension] = None
|
|
@@ -1794,14 +1796,14 @@ class GetEmployeeAsyncResponse(BaseModel):
|
|
|
1794
1796
|
employee_number: Optional[str] = None
|
|
1795
1797
|
extra_employee_number: Optional[str] = None
|
|
1796
1798
|
id: Optional[int] = None
|
|
1797
|
-
|
|
1799
|
+
employee_uid: Optional[UUID] = None
|
|
1798
1800
|
|
|
1799
1801
|
|
|
1800
1802
|
class EmployeesGet(BrynQPanderaDataFrameModel):
|
|
1801
1803
|
"""Flattened schema for Zenegy Employees Output data"""
|
|
1802
1804
|
|
|
1803
1805
|
# Employee Identification
|
|
1804
|
-
|
|
1806
|
+
employee_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee unique identifier", alias="uid")
|
|
1805
1807
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee ID", alias="id")
|
|
1806
1808
|
employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee number", alias="employeeNumber")
|
|
1807
1809
|
extra_employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Extra employee number", alias="extraEmployeeNumber")
|
|
@@ -1813,11 +1815,11 @@ class EmployeesGet(BrynQPanderaDataFrameModel):
|
|
|
1813
1815
|
|
|
1814
1816
|
# Contact Information
|
|
1815
1817
|
email: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact email", alias="contactEmail")
|
|
1816
|
-
|
|
1818
|
+
mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact phone", alias="contactPhone")
|
|
1817
1819
|
address: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Address", alias="address")
|
|
1818
1820
|
city: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="City", alias="city")
|
|
1819
1821
|
postal_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Postal number", alias="postalNumber")
|
|
1820
|
-
mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Mobile phone", alias="mobilePhone")
|
|
1822
|
+
#mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Mobile phone", alias="mobilePhone")
|
|
1821
1823
|
|
|
1822
1824
|
# Employment Information
|
|
1823
1825
|
employment_date: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employment date", alias="employmentDate")
|
|
@@ -1938,36 +1940,36 @@ class EmployeesGet(BrynQPanderaDataFrameModel):
|
|
|
1938
1940
|
company_cost_center: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Raw company cost center object", alias="companyCostCenter")
|
|
1939
1941
|
|
|
1940
1942
|
class _Annotation:
|
|
1941
|
-
primary_key = "
|
|
1943
|
+
primary_key = "employee_uid"
|
|
1942
1944
|
foreign_keys = {
|
|
1943
1945
|
"company_uid": {
|
|
1944
1946
|
"parent_schema": "CompaniesGet",
|
|
1945
|
-
"parent_column": "
|
|
1947
|
+
"parent_column": "company_uid",
|
|
1946
1948
|
"cardinality": "N:1",
|
|
1947
1949
|
},
|
|
1948
1950
|
"department_uid": {
|
|
1949
1951
|
"parent_schema": "DepartmentsGet",
|
|
1950
|
-
"parent_column": "
|
|
1952
|
+
"parent_column": "department_uid",
|
|
1951
1953
|
"cardinality": "N:1",
|
|
1952
1954
|
},
|
|
1953
1955
|
"cost_center_uid": {
|
|
1954
1956
|
"parent_schema": "CostCentersGet",
|
|
1955
|
-
"parent_column": "
|
|
1957
|
+
"parent_column": "cost_center_uid",
|
|
1956
1958
|
"cardinality": "N:1",
|
|
1957
1959
|
},
|
|
1958
1960
|
"profit_center_uid": {
|
|
1959
1961
|
"parent_schema": "CostCentersGet",
|
|
1960
|
-
"parent_column": "
|
|
1962
|
+
"parent_column": "cost_center_uid",
|
|
1961
1963
|
"cardinality": "N:1",
|
|
1962
1964
|
},
|
|
1963
1965
|
"company_cost_center_uid": {
|
|
1964
1966
|
"parent_schema": "CostCentersGet",
|
|
1965
|
-
"parent_column": "
|
|
1967
|
+
"parent_column": "cost_center_uid",
|
|
1966
1968
|
"cardinality": "N:1",
|
|
1967
1969
|
},
|
|
1968
1970
|
"company_profit_center_uid": {
|
|
1969
1971
|
"parent_schema": "CostCentersGet",
|
|
1970
|
-
"parent_column": "
|
|
1972
|
+
"parent_column": "cost_center_uid",
|
|
1971
1973
|
"cardinality": "N:1",
|
|
1972
1974
|
},
|
|
1973
1975
|
}
|
|
@@ -1977,7 +1979,7 @@ class EmployeesGetById(BrynQPanderaDataFrameModel):
|
|
|
1977
1979
|
"""Detailed flattened schema for Zenegy Employee (get_by_id) output data"""
|
|
1978
1980
|
|
|
1979
1981
|
# Reuse base identification and common fields from EmployeesGet
|
|
1980
|
-
|
|
1982
|
+
employee_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee unique identifier", alias="uid")
|
|
1981
1983
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee ID", alias="id")
|
|
1982
1984
|
employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee number", alias="employeeNumber")
|
|
1983
1985
|
extra_employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Extra employee number", alias="extraEmployeeNumber")
|
|
@@ -1985,11 +1987,11 @@ class EmployeesGetById(BrynQPanderaDataFrameModel):
|
|
|
1985
1987
|
title: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee title", alias="title")
|
|
1986
1988
|
cpr: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="CPR number", alias="cpr")
|
|
1987
1989
|
email: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact email", alias="contactEmail")
|
|
1988
|
-
|
|
1990
|
+
mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Contact phone", alias="contactPhone")
|
|
1989
1991
|
address: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Address", alias="address")
|
|
1990
1992
|
city: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="City", alias="city")
|
|
1991
1993
|
postal_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Postal number", alias="postalNumber")
|
|
1992
|
-
mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Mobile phone", alias="mobilePhone")
|
|
1994
|
+
#mobile_phone: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Mobile phone", alias="mobilePhone")
|
|
1993
1995
|
employment_date: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employment date", alias="employmentDate")
|
|
1994
1996
|
date_of_resignation: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Date of resignation", alias="dateOfResignation")
|
|
1995
1997
|
last_work_day: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Last work day", alias="lastWorkDay")
|
|
@@ -2005,6 +2007,10 @@ class EmployeesGetById(BrynQPanderaDataFrameModel):
|
|
|
2005
2007
|
has_profile_image: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Has profile image", alias="hasProfileImage")
|
|
2006
2008
|
is_resigned_within_last_year: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned within last year", alias="isResignedWithinLastyear")
|
|
2007
2009
|
is_resigned_with_registrations: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is resigned with registrations", alias="isResignedWithRegistrations")
|
|
2010
|
+
konto_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Konto number", alias="kontoNumber")
|
|
2011
|
+
reg_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Registration number", alias="regNumber")
|
|
2012
|
+
country_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Country code", alias="country")
|
|
2013
|
+
|
|
2008
2014
|
|
|
2009
2015
|
# Nested: company
|
|
2010
2016
|
company_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company UID", alias="company__uid")
|
|
@@ -2368,5 +2374,5 @@ class EmployeesGetById(BrynQPanderaDataFrameModel):
|
|
|
2368
2374
|
# but the above covers additional detailed fields present in get_by_id responses.
|
|
2369
2375
|
|
|
2370
2376
|
class _Annotation:
|
|
2371
|
-
primary_key = "
|
|
2377
|
+
primary_key = "employee_uid"
|
|
2372
2378
|
foreign_keys = {}
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy/schemas/global_value_sets.py
RENAMED
|
@@ -25,7 +25,7 @@ class GlobalValueSetCreate(BaseModel):
|
|
|
25
25
|
|
|
26
26
|
class GlobalValueSetUpdate(BaseModel):
|
|
27
27
|
"""Schema for updating global value sets - Based on Zalary.Models.GlobalValueSets.GlobalValueSetUpdateRequest."""
|
|
28
|
-
|
|
28
|
+
global_value_set_uid: Optional[str] = Field(default=None, description="Global value set UID", example="00000000-0000-0000-0000-000000000000")
|
|
29
29
|
name: str = Field(description="Global value set name", example="Updated Overtime Set")
|
|
30
30
|
number: str = Field(description="Global value set number/code", example="GVS-001-UPD")
|
|
31
31
|
|
|
@@ -84,7 +84,7 @@ class CompanyDepartmentBaseDto(BaseModel):
|
|
|
84
84
|
number: Optional[str] = Field(default=None, description="Department number/code", example="DEPT-001")
|
|
85
85
|
has_work_schema: Optional[bool] = Field(alias="hasWorkSchema", default=None, description="Whether department has work schema", example=True)
|
|
86
86
|
id: Optional[int] = Field(default=None, description="Department ID", example=1)
|
|
87
|
-
|
|
87
|
+
department_uid: Optional[str] = Field(default=None, description="Department UID", example="00000000-0000-0000-0000-000000000000")
|
|
88
88
|
|
|
89
89
|
class Config:
|
|
90
90
|
allow_population_by_field_name = True
|
|
@@ -100,7 +100,7 @@ class EmployeesGlobalValueSetDto(BaseModel):
|
|
|
100
100
|
name: Optional[str] = Field(default=None, description="Employee name", example="John Doe")
|
|
101
101
|
employee_number: Optional[str] = Field(alias="employeeNumber", default=None, description="Employee number", example="EMP-001")
|
|
102
102
|
id: Optional[int] = Field(default=None, description="Employee ID", example=1)
|
|
103
|
-
|
|
103
|
+
employee_uid: Optional[str] = Field(default=None, description="Employee UID", example="00000000-0000-0000-0000-000000000000")
|
|
104
104
|
|
|
105
105
|
class Config:
|
|
106
106
|
allow_population_by_field_name = True
|
|
@@ -127,14 +127,14 @@ class AddCompanyGlobalValueRequest(BaseModel):
|
|
|
127
127
|
class GlobalValueSetsGet(BrynQPanderaDataFrameModel):
|
|
128
128
|
"""Flattened schema for Zenegy Global Value Sets Output data"""
|
|
129
129
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Global value set ID", alias="id")
|
|
130
|
-
|
|
130
|
+
global_value_set_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set UID", alias="uid")
|
|
131
131
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set name", alias="name")
|
|
132
132
|
number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set number", alias="number")
|
|
133
133
|
number_of_employees: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of employees", alias="numberOfEmployees")
|
|
134
134
|
number_of_global_values: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of global values", alias="numberOfGlobalValues")
|
|
135
135
|
|
|
136
136
|
class _Annotation:
|
|
137
|
-
primary_key = "
|
|
137
|
+
primary_key = "global_value_set_uid"
|
|
138
138
|
foreign_keys = {}
|
|
139
139
|
|
|
140
140
|
|
|
@@ -142,7 +142,7 @@ class AssignedEmployeesGet(BrynQPanderaDataFrameModel):
|
|
|
142
142
|
"""Flattened schema for assigned employees in global value set context"""
|
|
143
143
|
# Employee fields
|
|
144
144
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee ID", alias="id")
|
|
145
|
-
|
|
145
|
+
employee_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee UID", alias="uid")
|
|
146
146
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee name", alias="name")
|
|
147
147
|
employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee number", alias="employeeNumber")
|
|
148
148
|
salary_type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee salary type", alias="salaryType")
|
|
@@ -158,7 +158,7 @@ class AssignedEmployeesGet(BrynQPanderaDataFrameModel):
|
|
|
158
158
|
department_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Department UID", alias="department__uid")
|
|
159
159
|
|
|
160
160
|
class _Annotation:
|
|
161
|
-
primary_key = "
|
|
161
|
+
primary_key = "employee_uid"
|
|
162
162
|
foreign_keys = {}
|
|
163
163
|
|
|
164
164
|
|
|
@@ -166,7 +166,7 @@ class CompanyGlobalValuesGet(BrynQPanderaDataFrameModel):
|
|
|
166
166
|
"""Flattened schema for company global values in global value set context"""
|
|
167
167
|
# Basic global value fields
|
|
168
168
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Global value ID", alias="id")
|
|
169
|
-
|
|
169
|
+
global_value_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value UID", alias="uid")
|
|
170
170
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value name", alias="name")
|
|
171
171
|
number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value number", alias="number")
|
|
172
172
|
type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Global value type", alias="type")
|
|
@@ -181,5 +181,5 @@ class CompanyGlobalValuesGet(BrynQPanderaDataFrameModel):
|
|
|
181
181
|
effective_to: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Effective to", alias="effectiveTo")
|
|
182
182
|
|
|
183
183
|
class _Annotation:
|
|
184
|
-
primary_key = "
|
|
184
|
+
primary_key = "global_value_uid"
|
|
185
185
|
foreign_keys = {}
|
|
@@ -98,7 +98,7 @@ class CompanyGlobalValueCreate(BaseModel):
|
|
|
98
98
|
class CompanyGlobalValueResponse(BaseModel):
|
|
99
99
|
"""Schema for global values response with all fields."""
|
|
100
100
|
id: Optional[int] = Field(default=None, description="Global value ID", example=0)
|
|
101
|
-
|
|
101
|
+
global_value_uid: Optional[UUID] = Field(default=None, description="Global value UID", example="00000000-0000-0000-0000-000000000000")
|
|
102
102
|
name: Optional[str] = Field(default=None, description="Global value name", example="Overtime Rate")
|
|
103
103
|
number: Optional[str] = Field(default=None, description="Global value number/code", example="GV-001")
|
|
104
104
|
type: Optional[int] = Field(default=None, description="Global value type", example=1)
|
|
@@ -116,7 +116,7 @@ class CompanyGlobalValueResponse(BaseModel):
|
|
|
116
116
|
|
|
117
117
|
class CompanyGlobalValueUpdate(BaseModel):
|
|
118
118
|
"""Schema for updating global values - Based on Zalary.Models.GlobalValues.CompanyGlobalValueUpdateRequest."""
|
|
119
|
-
|
|
119
|
+
global_value_uid: Optional[str] = Field(default=None, description="Global value UID", example="00000000-0000-0000-0000-000000000000")
|
|
120
120
|
name: str = Field(description="Global value name", example="Overtime Rate")
|
|
121
121
|
number: str = Field(description="Global value number/code", example="GV-001")
|
|
122
122
|
global_value_type: int = Field(alias="type", description="Global value type", example=1)
|
|
@@ -306,7 +306,7 @@ class GlobalValuesGet(BrynQPanderaDataFrameModel):
|
|
|
306
306
|
"""Flattened schema for Zenegy Global Values Output data"""
|
|
307
307
|
# Basic global value fields
|
|
308
308
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Global value ID", alias="id")
|
|
309
|
-
|
|
309
|
+
global_value_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value UID", alias="uid")
|
|
310
310
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value name", alias="name")
|
|
311
311
|
number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value number", alias="number")
|
|
312
312
|
type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Global value type", alias="type")
|
|
@@ -335,7 +335,7 @@ class GlobalValuesGet(BrynQPanderaDataFrameModel):
|
|
|
335
335
|
effective_to_condition_amount: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Effective to condition amount", alias="effectiveTo__conditionAmount")
|
|
336
336
|
|
|
337
337
|
class _Annotation:
|
|
338
|
-
primary_key = "
|
|
338
|
+
primary_key = "global_value_uid"
|
|
339
339
|
foreign_keys = {}
|
|
340
340
|
|
|
341
341
|
class GlobalValueSetsGet(BrynQPanderaDataFrameModel):
|
|
@@ -343,7 +343,7 @@ class GlobalValueSetsGet(BrynQPanderaDataFrameModel):
|
|
|
343
343
|
# Global value set fields
|
|
344
344
|
number_of_employees: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of employees", alias="numberOfEmployees")
|
|
345
345
|
number_of_global_values: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Number of global values", alias="numberOfGlobalValues")
|
|
346
|
-
|
|
346
|
+
global_value_set_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set UID", alias="uid")
|
|
347
347
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set name", alias="name")
|
|
348
348
|
number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Global value set number", alias="number")
|
|
349
349
|
|
|
@@ -371,7 +371,7 @@ class GlobalValueSetsGet(BrynQPanderaDataFrameModel):
|
|
|
371
371
|
effective_to_condition_amount: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Effective to condition amount", alias="effectiveTo__conditionAmount")
|
|
372
372
|
|
|
373
373
|
class _Annotation:
|
|
374
|
-
primary_key = "
|
|
374
|
+
primary_key = "global_value_set_uid"
|
|
375
375
|
foreign_keys = {}
|
|
376
376
|
|
|
377
377
|
class AssignedGlobalValuesGet(BrynQPanderaDataFrameModel):
|
|
@@ -381,11 +381,11 @@ class AssignedGlobalValuesGet(BrynQPanderaDataFrameModel):
|
|
|
381
381
|
is_employee_assigned: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Is employee assigned", alias="isEmployeeAssigned")
|
|
382
382
|
|
|
383
383
|
# CompanyGlobalValueReferenceUidsPairs fields (normalized)
|
|
384
|
-
|
|
384
|
+
global_value_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company global value UID", alias="companyGlobalValueReferenceUidsPairs__companyGlobalValueUid")
|
|
385
385
|
reference_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Reference UID", alias="companyGlobalValueReferenceUidsPairs__referenceUid")
|
|
386
386
|
|
|
387
387
|
class _Annotation:
|
|
388
|
-
primary_key = "
|
|
388
|
+
primary_key = "global_value_uid"
|
|
389
389
|
foreign_keys = {}
|
|
390
390
|
|
|
391
391
|
|
|
@@ -393,7 +393,7 @@ class AssignedEmployeesToGlobalValueGet(BrynQPanderaDataFrameModel):
|
|
|
393
393
|
"""Flattened schema for employees assigned to a global value"""
|
|
394
394
|
# Basic employee fields
|
|
395
395
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Employee ID", alias="id")
|
|
396
|
-
|
|
396
|
+
employee_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee UID", alias="uid")
|
|
397
397
|
name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee name", alias="name")
|
|
398
398
|
employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Employee number", alias="employeeNumber")
|
|
399
399
|
extra_employee_number: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Extra employee number", alias="extraEmployeeNumber")
|
|
@@ -429,5 +429,5 @@ class AssignedEmployeesToGlobalValueGet(BrynQPanderaDataFrameModel):
|
|
|
429
429
|
user_photo_url: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="User photo URL", alias="user__photoUrl")
|
|
430
430
|
|
|
431
431
|
class _Annotation:
|
|
432
|
-
primary_key = "
|
|
432
|
+
primary_key = "employee_uid"
|
|
433
433
|
foreign_keys = {}
|
|
@@ -14,7 +14,7 @@ from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
|
14
14
|
class PayrollsGet(BrynQPanderaDataFrameModel):
|
|
15
15
|
"""Flattened schema for Zenegy Payrolls Output data"""
|
|
16
16
|
# Basic payroll fields
|
|
17
|
-
|
|
17
|
+
payroll_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Payroll UID", alias="uid")
|
|
18
18
|
type: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Payroll type", alias="type")
|
|
19
19
|
period_from: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Period from", alias="periodFrom")
|
|
20
20
|
period_to: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Period to", alias="periodTo")
|
|
@@ -119,16 +119,16 @@ class PayrollsGet(BrynQPanderaDataFrameModel):
|
|
|
119
119
|
payroll_registration_periods: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Payroll registration periods", alias="payrollRegistrationPeriods")
|
|
120
120
|
|
|
121
121
|
class _Annotation:
|
|
122
|
-
primary_key = "
|
|
122
|
+
primary_key = "payroll_uid"
|
|
123
123
|
foreign_keys = {
|
|
124
124
|
"company_uid": {
|
|
125
125
|
"parent_schema": "CompaniesGet",
|
|
126
|
-
"parent_column": "
|
|
126
|
+
"parent_column": "company_uid",
|
|
127
127
|
"cardinality": "N:1",
|
|
128
128
|
},
|
|
129
129
|
"employee_uid": {
|
|
130
130
|
"parent_schema": "EmployeesGet",
|
|
131
|
-
"parent_column": "
|
|
131
|
+
"parent_column": "employee_uid",
|
|
132
132
|
"cardinality": "N:1",
|
|
133
133
|
},
|
|
134
134
|
}
|
|
@@ -18,7 +18,7 @@ class PayslipsGet(BrynQPanderaDataFrameModel):
|
|
|
18
18
|
payslip_calculation_status: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Payslip calculation status", alias="payslipCalculationStatus")
|
|
19
19
|
extra_payroll_run: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Extra payroll run", alias="extraPayrollRun")
|
|
20
20
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Payslip ID", alias="id")
|
|
21
|
-
|
|
21
|
+
payslip_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Payslip UID", alias="uid")
|
|
22
22
|
|
|
23
23
|
# Payroll base fields (nested object)
|
|
24
24
|
payroll_base_period_from: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Payroll base period from", alias="payrollBase__periodFrom")
|
|
@@ -28,5 +28,5 @@ class PayslipsGet(BrynQPanderaDataFrameModel):
|
|
|
28
28
|
payroll_base_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Payroll base UID", alias="payrollBase__uid")
|
|
29
29
|
|
|
30
30
|
class _Annotation:
|
|
31
|
-
primary_key = "
|
|
31
|
+
primary_key = "payslip_uid"
|
|
32
32
|
foreign_keys = {}
|
|
@@ -13,7 +13,7 @@ class SupplementRatesGet(BrynQPanderaDataFrameModel):
|
|
|
13
13
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(
|
|
14
14
|
coerce=True, nullable=True, description="Supplement rate ID", alias="id"
|
|
15
15
|
)
|
|
16
|
-
|
|
16
|
+
supplement_rate_uid: Optional[Series[pd.StringDtype]] = pa.Field(
|
|
17
17
|
coerce=True, nullable=True, description="Supplement rate UID", alias="uid"
|
|
18
18
|
)
|
|
19
19
|
created_on: Optional[Series[pd.StringDtype]] = pa.Field(
|
|
@@ -105,7 +105,7 @@ class SupplementRatesGet(BrynQPanderaDataFrameModel):
|
|
|
105
105
|
)
|
|
106
106
|
|
|
107
107
|
class _Annotation:
|
|
108
|
-
primary_key = "
|
|
108
|
+
primary_key = "supplement_rate_uid"
|
|
109
109
|
foreign_keys = {}
|
|
110
110
|
|
|
111
111
|
|
|
@@ -114,7 +114,7 @@ class SupplementRegistrationsGet(BrynQPanderaDataFrameModel):
|
|
|
114
114
|
"""Flattened schema for Zenegy Supplement Registrations Output data"""
|
|
115
115
|
# Basic registration fields
|
|
116
116
|
id: Optional[Series[pd.Int64Dtype]] = pa.Field(coerce=True, nullable=True, description="Registration ID", alias="id")
|
|
117
|
-
|
|
117
|
+
registration_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Registration UID", alias="uid")
|
|
118
118
|
date: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Date", alias="date")
|
|
119
119
|
units: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Units", alias="units")
|
|
120
120
|
rate: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Rate", alias="rate")
|
|
@@ -134,7 +134,7 @@ class SupplementRegistrationsGet(BrynQPanderaDataFrameModel):
|
|
|
134
134
|
cost_center_name: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center name", alias="costCenterName")
|
|
135
135
|
cost_center_code: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Cost center code", alias="costCenterCode")
|
|
136
136
|
trigger_retro: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Trigger retro", alias="triggerRetro")
|
|
137
|
-
|
|
137
|
+
department_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company department UID", alias="companyDepartmentUid")
|
|
138
138
|
company_profit_center_uid: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Company profit center UID", alias="companyProfitCenterUid")
|
|
139
139
|
percentage: Optional[Series[pd.Float64Dtype]] = pa.Field(coerce=True, nullable=True, description="Percentage", alias="percentage")
|
|
140
140
|
reference_id: Optional[Series[pd.StringDtype]] = pa.Field(coerce=True, nullable=True, description="Reference ID", alias="referenceId")
|
|
@@ -185,5 +185,5 @@ class SupplementRegistrationsGet(BrynQPanderaDataFrameModel):
|
|
|
185
185
|
supplement_rate_is_included_in_holiday_entitlement_salary_reduction: Optional[Series[pd.BooleanDtype]] = pa.Field(coerce=True, nullable=True, description="Supplement rate is included in holiday entitlement salary reduction", alias="supplementRate__isIncludedInHolidayEntitlementSalaryReduction")
|
|
186
186
|
|
|
187
187
|
class _Annotation:
|
|
188
|
-
primary_key = "
|
|
188
|
+
primary_key = "registration_uid"
|
|
189
189
|
foreign_keys = {}
|
|
@@ -28,7 +28,7 @@ class Zenegy(BrynQ):
|
|
|
28
28
|
TIMEOUT = 30
|
|
29
29
|
|
|
30
30
|
def __init__(self, system_type: str,
|
|
31
|
-
debug: bool = False, test_environment: bool = False,
|
|
31
|
+
debug: bool = False, test_environment: bool = False, data_interface_id: str = None):
|
|
32
32
|
"""
|
|
33
33
|
Initialize the Zenegy API client.
|
|
34
34
|
|
|
@@ -39,17 +39,21 @@ class Zenegy(BrynQ):
|
|
|
39
39
|
"""
|
|
40
40
|
super().__init__()
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
# Determine base URL and system
|
|
43
|
+
if test_environment:
|
|
44
|
+
if not data_interface_id:
|
|
45
|
+
raise ValueError("Test environment ID is required, please set up interface for test enviromnent of Zenegy")
|
|
46
46
|
self.base_url = "https://api-gateway.beta.zalary.com"
|
|
47
47
|
system = "zenegy-development"
|
|
48
|
-
self.data_interface_id = test_environment_id
|
|
49
|
-
self.interfaces._brynq.data_interface_id = test_environment_id
|
|
50
|
-
self.interfaces.credentials._brynq.data_interface_id = test_environment_id
|
|
51
48
|
else:
|
|
52
|
-
|
|
49
|
+
self.base_url = "https://api.zenegy.com"
|
|
50
|
+
system = "zenegy"
|
|
51
|
+
|
|
52
|
+
# Set data_interface_id if provided
|
|
53
|
+
if data_interface_id:
|
|
54
|
+
self.data_interface_id = data_interface_id
|
|
55
|
+
self.interfaces._brynq.data_interface_id = data_interface_id
|
|
56
|
+
self.interfaces.credentials._brynq.data_interface_id = data_interface_id
|
|
53
57
|
|
|
54
58
|
# Get credentials
|
|
55
59
|
credentials = self.interfaces.credentials.get(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brynq_sdk_zenegy-1.3.3 → brynq_sdk_zenegy-1.3.5}/brynq_sdk_zenegy.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|