brynq-sdk-meta4 1.0.1__py3-none-any.whl → 1.0.1.dev4__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_meta4/meta4.py CHANGED
@@ -25,11 +25,11 @@ class Meta4(BrynQ):
25
25
 
26
26
  self.output_path = output_path
27
27
  # SFTP client as a composition attribute
28
- self.sftp = SFTP()
29
- credentials = self.interfaces.credentials.get(system="meta-4", system_type=system_type)
30
- credentials = credentials.get('data', credentials)
28
+ # self.sftp = SFTP()
29
+ # credentials = self.interfaces.credentials.get(system="meta-4", system_type=system_type)
30
+ # credentials = credentials.get('data', credentials)
31
31
 
32
- self.sftp._set_credentials(credentials)
32
+ # self.sftp._set_credentials(credentials)
33
33
 
34
34
  # Initialize entity classes
35
35
  self.employees = Employees(self)
@@ -1,30 +1,32 @@
1
- from pydantic import BaseModel, Field, field_validator, model_validator
2
- from typing import Optional, Literal
3
1
  from datetime import datetime
2
+ from typing import Literal, Optional
3
+
4
+ from pydantic import BaseModel, Field, field_validator, model_validator
5
+
4
6
  from .reference_enums import (
5
- MovementType,
7
+ AdjustmentType,
8
+ ContractType,
9
+ DisabilityHRType,
6
10
  DocumentType,
7
11
  GenderType,
8
- MaritalStatusType,
9
- StreetType,
10
12
  HoursType,
11
- PartTimeType,
12
- SSNumberType,
13
- YesNoType,
14
- SalaryType,
15
- AdjustmentType,
16
- PaymentType,
17
- IRPFType,
18
13
  IRPFStatusType,
19
- DisabilityHRType,
14
+ IRPFType,
15
+ LaborRelationshipType,
20
16
  ManagementType,
17
+ MaritalStatusType,
18
+ MovementType,
19
+ PartTimeType,
20
+ PaymentType,
21
21
  PerceptionKeyType,
22
22
  ReductionReasonType,
23
+ SalaryType,
24
+ SSNumberType,
25
+ StreetType,
26
+ SubstitutionCauseType,
23
27
  TerminationReasonType,
24
28
  UnemploymentCauseType,
25
- ContractType,
26
- LaborRelationshipType,
27
- SubstitutionCauseType
29
+ YesNoType,
28
30
  )
29
31
 
30
32
 
@@ -65,7 +67,7 @@ class EmployeeSchema(BaseModel):
65
67
  street_type: Optional[StreetType] = Field(None, description="Tipo vía", example=StreetType.CALLE, alias="TIPO VÍA")
66
68
  send_mail: Optional[Literal["0"]] = Field(None, description="Enviar correo", example="0", alias="ENVIAR CORREO")
67
69
  employee_address: Optional[str] = Field(None, description="Dirección del empleado", example="Calle Mayor", alias="DIRECCIÓN DEL EMPLEADO")
68
- street_number: Optional[int] = Field(None, description="Número", example=123, alias="NÚMERO")
70
+ street_number: Optional[str] = Field(None, description="Número", example="123", alias="NÚMERO")
69
71
  building: Optional[str] = Field(None, description="Bloque", example="A", alias="BLOQUE")
70
72
  staircase: Optional[str] = Field(None, description="Escalera", example="1", alias="ESCALERA")
71
73
  floor: Optional[str] = Field(None, description="Piso", example="2", alias="PISO")
@@ -100,7 +102,7 @@ class EmployeeSchema(BaseModel):
100
102
  ss_agreement: Optional[str] = Field(None, description="Convenio S.S.", example="", alias="CONVENIO S.S.")
101
103
  multi_employee_number: Optional[str] = Field(None, description="Número pluriempleado", example="", alias="NÚMERO PLURIEMPLEADO")
102
104
  legal_contract: Optional[str] = Field(None, description="Contrato legal", example="", alias="CONTRATO LEGAL")
103
- internal_contract: Optional[ContractType] = Field(None, description="Contrato interno", example=ContractType.REGULAR_INDEFINITE_FULL_TIME, alias="CONTRATO INTERNO")
105
+ internal_contract: Optional[str] = Field(None, description="Contrato interno", example=ContractType.REGULAR_INDEFINITE_FULL_TIME, alias="CONTRATO INTERNO")
104
106
  contract_end_date: Optional[datetime] = Field(None, description="Fecha fin contrato", example="2024-12-31", alias="FECHA FIN CONTRATO")
105
107
  labor_relationship: Optional[LaborRelationshipType] = Field(None, description="Relación laboral", example=LaborRelationshipType.HIGH_MANAGEMENT_PERSONNEL, alias="RELACIÓN LABORAL")
106
108
  part_time_percentage: Optional[float] = Field(None, ge=0, le=100, description="% Jornada parcial", example=50.0, alias="% JORNADA PARCIAL")
@@ -198,17 +200,18 @@ class EmployeeSchema(BaseModel):
198
200
 
199
201
  elif self.movement_type == MovementType.ALTA:
200
202
  # For ALTA (1), all basic employee information is mandatory
203
+ # removed: ['document_type', 'birth_country', 'document_number', 'ss_province', 'ss_number', 'ss_check_digit',
204
+ # 'second_surname', 'employee_type', 'category', 'salary_type', 'company_bank', 'adjustment_type', 'agreement', 'irpf_type',
205
+ # 'job', 'reduction_percentage', 'reduction_reason']
201
206
  mandatory_fields_alta = [
202
- 'effective_date', 'person_id', 'first_surname', 'second_surname',
203
- 'employee_name', 'document_type', 'document_number', 'birth_date',
204
- 'nationality', 'birth_country', 'gender', 'location_type', 'street_type',
205
- 'employee_address', 'street_number', 'postal_code', 'company', 'job',
207
+ 'effective_date', 'person_id', 'first_surname',
208
+ 'employee_name', 'birth_date',
209
+ 'nationality', 'gender', 'location_type', 'street_type',
210
+ 'employee_address', 'street_number', 'postal_code', 'company',
206
211
  'organizational_unit', 'work_location', 'cost_center', 'start_reason',
207
- 'employee_type', 'has_ss_number', 'ss_province', 'ss_number',
208
- 'ss_check_digit', 'internal_contract', 'reduction_percentage',
209
- 'reduction_reason', 'additional_clause', 'adjustment_type', 'agreement',
210
- 'category', 'salary_type', 'irpf_type', 'irpf_status', 'payment_type',
211
- 'company_bank', 'bank_branch', 'account_number', 'check_digit',
212
+ 'has_ss_number', 'internal_contract', 'additional_clause',
213
+ 'irpf_status', 'payment_type',
214
+ 'bank_branch', 'account_number', 'check_digit',
212
215
  'management_type', 'perception_key'
213
216
  ]
214
217
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brynq_sdk_meta4
3
- Version: 1.0.1
3
+ Version: 1.0.1.dev4
4
4
  Summary: Meta4 wrapper from BrynQ
5
5
  Author: BrynQ
6
6
  Author-email: support@brynq.com
@@ -2,13 +2,13 @@ brynq_sdk_meta4/__init__.py,sha256=TMcqIRDd60e7ElcgkKKH_YUxvb68Suoc_5gh2Krhd6I,2
2
2
  brynq_sdk_meta4/cost_centers.py,sha256=tEyNkfwXTwP_9L2sPuRkEKN2BOuCIY0ceGyYURpHYU8,2755
3
3
  brynq_sdk_meta4/employees.py,sha256=m910-Vgs65-lWgOLrFZL446bDsyKIRiyqY2EnotVIdE,4080
4
4
  brynq_sdk_meta4/jobs.py,sha256=a_0HZiRdN5byylCJCOnkMMHu6SenEiAWuGs23jStHY4,3866
5
- brynq_sdk_meta4/meta4.py,sha256=-sipXoZcMIYY9iog9yqedTFICL0qP4fVeslrXCfZ1D8,5873
5
+ brynq_sdk_meta4/meta4.py,sha256=TLR6JPRaIOQTgu7Sptzhcy8yrkYbMidrel7CNJgatYU,5881
6
6
  brynq_sdk_meta4/schemas/__init__.py,sha256=amkuQaBghg8JOYm6inq0tRY-XlbdlOovY8VmKzHnpNk,183
7
7
  brynq_sdk_meta4/schemas/cost_center.py,sha256=UY6d2GizKe3Mw1zCeOjLeweHUBmRV_Me382NgsWos0A,1900
8
- brynq_sdk_meta4/schemas/employee.py,sha256=JFM3sP9-bP7KAQEVyCHyZfSwLt0DXmbc2iA8bWXfUBs,17948
8
+ brynq_sdk_meta4/schemas/employee.py,sha256=XZwhcV6m4bNk7XUzpxOzNuo0FDjQprDOWe4fHP62yL0,17964
9
9
  brynq_sdk_meta4/schemas/job.py,sha256=-twiW5UPdgT9z1Jb7OvMmRCj4hwHSsDjVc6j_mD7Df0,2844
10
10
  brynq_sdk_meta4/schemas/reference_enums.py,sha256=LiyBvRyEYAK_h4l22tnrugP5amFQpMHG3YT2853Xbo0,27534
11
- brynq_sdk_meta4-1.0.1.dist-info/METADATA,sha256=1uKtpuDMfcIprT74n5RnTSlkmr4XdD7bhEjxBcZ5NhY,430
12
- brynq_sdk_meta4-1.0.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
13
- brynq_sdk_meta4-1.0.1.dist-info/top_level.txt,sha256=OvKQecCdbKTJ0I2OpmvHk8uKuDnLuj3Opt2iOA3IV8M,16
14
- brynq_sdk_meta4-1.0.1.dist-info/RECORD,,
11
+ brynq_sdk_meta4-1.0.1.dev4.dist-info/METADATA,sha256=Xq9TMczffVwQ32PpGuAj7XBkb8aQTymaeHNHRKqvcYU,435
12
+ brynq_sdk_meta4-1.0.1.dev4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
+ brynq_sdk_meta4-1.0.1.dev4.dist-info/top_level.txt,sha256=OvKQecCdbKTJ0I2OpmvHk8uKuDnLuj3Opt2iOA3IV8M,16
14
+ brynq_sdk_meta4-1.0.1.dev4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.2)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5