brynq-sdk-bob 2.4.4__tar.gz → 2.5.0__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_bob-2.4.4 → brynq_sdk_bob-2.5.0}/PKG-INFO +1 -1
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/people.py +5 -1
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/people.py +37 -1
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob.egg-info/PKG-INFO +1 -1
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/setup.py +1 -1
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/__init__.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/bank.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/company.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/custom_tables.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/documents.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/employment.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/named_lists.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/payments.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/payroll_history.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/salaries.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/__init__.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/bank.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/custom_tables.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/employment.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/named_lists.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/payments.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/payroll_history.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/salary.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/timeoff.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/schemas/work.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/timeoff.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob/work.py +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob.egg-info/SOURCES.txt +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob.egg-info/dependency_links.txt +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob.egg-info/not-zip-safe +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob.egg-info/requires.txt +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/brynq_sdk_bob.egg-info/top_level.txt +0 -0
- {brynq_sdk_bob-2.4.4 → brynq_sdk_bob-2.5.0}/setup.cfg +0 -0
|
@@ -196,7 +196,8 @@ class People:
|
|
|
196
196
|
|
|
197
197
|
Args:
|
|
198
198
|
additional_fields (list[str]): Additional fields to get (not defined in the schema)
|
|
199
|
-
field_selection (list[str]): Fields to get (defined in the schema), if not provided, all fields are returned
|
|
199
|
+
field_selection (list[str]): Fields to get (defined in the schema), if not provided, all fields are returned.
|
|
200
|
+
Can be either pythonic field names (e.g., 'work_start_date') or Bob API field names (e.g., 'work.startDate').
|
|
200
201
|
add_payroll_information (list[str]): List of payroll information types to include (valid options: 'entitlement', 'variable')
|
|
201
202
|
|
|
202
203
|
Returns:
|
|
@@ -210,6 +211,9 @@ class People:
|
|
|
210
211
|
response_fields = list(set(self.field_name_in_response + additional_fields))
|
|
211
212
|
|
|
212
213
|
if field_selection:
|
|
214
|
+
# Convert pythonic field names to aliases (e.g., 'work_start_date' -> 'work.startDate')
|
|
215
|
+
field_selection = PeopleSchema.convert_pythonic_to_alias(field_selection)
|
|
216
|
+
|
|
213
217
|
body_fields = [field for field in body_fields if field in field_selection]
|
|
214
218
|
response_fields = [self.endpoint_to_response.get(field) for field in field_selection if field in self.endpoint_to_response]
|
|
215
219
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
|
-
from typing import Optional
|
|
2
|
+
from typing import Optional, List, Dict
|
|
3
3
|
|
|
4
4
|
import pandas as pd
|
|
5
5
|
import pandera as pa
|
|
@@ -98,3 +98,39 @@ class PeopleSchema(BrynQPanderaDataFrameModel):
|
|
|
98
98
|
|
|
99
99
|
class Config:
|
|
100
100
|
coerce = True
|
|
101
|
+
|
|
102
|
+
@classmethod
|
|
103
|
+
def convert_pythonic_to_alias(cls, pythonic_fields: List[str]) -> List[str]:
|
|
104
|
+
"""
|
|
105
|
+
Convert pythonic field names to their Bob API aliases.
|
|
106
|
+
|
|
107
|
+
Args:
|
|
108
|
+
pythonic_fields: List of pythonic field names (e.g., ['work_start_date', 'first_name'])
|
|
109
|
+
|
|
110
|
+
Returns:
|
|
111
|
+
List of Bob API field aliases (e.g., ['work.startDate', 'root.firstName'])
|
|
112
|
+
"""
|
|
113
|
+
# Get the alias mapping from the class (populated by BrynQPanderaDataFrameModel.__init_subclass__)
|
|
114
|
+
alias_map = getattr(cls, "_alias_map", {})
|
|
115
|
+
|
|
116
|
+
# Convert the provided pythonic fields to aliases
|
|
117
|
+
result = []
|
|
118
|
+
for field in pythonic_fields:
|
|
119
|
+
if field in alias_map:
|
|
120
|
+
result.append(alias_map[field])
|
|
121
|
+
else:
|
|
122
|
+
# If not found in schema, keep the field as-is (could be a custom field)
|
|
123
|
+
result.append(field)
|
|
124
|
+
|
|
125
|
+
return result
|
|
126
|
+
|
|
127
|
+
@classmethod
|
|
128
|
+
def get_pythonic_to_alias_mapping(cls) -> Dict[str, str]:
|
|
129
|
+
"""
|
|
130
|
+
Get the complete mapping from pythonic field names to Bob API aliases.
|
|
131
|
+
|
|
132
|
+
Returns:
|
|
133
|
+
Dictionary mapping pythonic field names to aliases
|
|
134
|
+
"""
|
|
135
|
+
# Get the alias mapping from the class (populated by BrynQPanderaDataFrameModel.__init_subclass__)
|
|
136
|
+
return getattr(cls, "_alias_map", {})
|
|
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
|
|
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
|