mergepythonclient 2.2.0__py3-none-any.whl → 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.
Files changed (171) hide show
  1. merge/__init__.py +40 -4
  2. merge/client.py +118 -18
  3. merge/core/__init__.py +75 -21
  4. merge/core/client_wrapper.py +2 -2
  5. merge/resources/__init__.py +33 -1
  6. merge/resources/accounting/__init__.py +1240 -609
  7. merge/resources/accounting/client.py +835 -165
  8. merge/resources/accounting/resources/__init__.py +208 -92
  9. merge/resources/accounting/resources/accounts/__init__.py +36 -6
  10. merge/resources/accounting/resources/accounts/types/__init__.py +34 -4
  11. merge/resources/accounting/resources/async_passthrough/__init__.py +26 -1
  12. merge/resources/accounting/resources/async_passthrough/types/__init__.py +26 -1
  13. merge/resources/accounting/resources/company_info/__init__.py +29 -1
  14. merge/resources/accounting/resources/company_info/types/__init__.py +30 -2
  15. merge/resources/accounting/resources/contacts/__init__.py +29 -1
  16. merge/resources/accounting/resources/contacts/types/__init__.py +30 -2
  17. merge/resources/accounting/resources/credit_notes/__init__.py +40 -8
  18. merge/resources/accounting/resources/credit_notes/types/__init__.py +38 -6
  19. merge/resources/accounting/resources/expense_reports/__init__.py +34 -5
  20. merge/resources/accounting/resources/expense_reports/types/__init__.py +32 -3
  21. merge/resources/accounting/resources/expenses/__init__.py +29 -1
  22. merge/resources/accounting/resources/expenses/types/__init__.py +30 -2
  23. merge/resources/accounting/resources/general_ledger_transactions/__init__.py +29 -1
  24. merge/resources/accounting/resources/general_ledger_transactions/types/__init__.py +30 -2
  25. merge/resources/accounting/resources/invoices/__init__.py +36 -6
  26. merge/resources/accounting/resources/invoices/types/__init__.py +34 -4
  27. merge/resources/accounting/resources/issues/__init__.py +26 -1
  28. merge/resources/accounting/resources/issues/types/__init__.py +26 -1
  29. merge/resources/accounting/resources/items/__init__.py +26 -1
  30. merge/resources/accounting/resources/items/types/__init__.py +30 -2
  31. merge/resources/accounting/resources/journal_entries/__init__.py +29 -1
  32. merge/resources/accounting/resources/journal_entries/types/__init__.py +30 -2
  33. merge/resources/accounting/resources/link_token/__init__.py +26 -1
  34. merge/resources/accounting/resources/link_token/types/__init__.py +26 -1
  35. merge/resources/accounting/resources/linked_accounts/__init__.py +26 -1
  36. merge/resources/accounting/resources/linked_accounts/types/__init__.py +28 -1
  37. merge/resources/accounting/resources/payments/__init__.py +29 -1
  38. merge/resources/accounting/resources/payments/types/__init__.py +30 -2
  39. merge/resources/accounting/resources/projects/__init__.py +29 -1
  40. merge/resources/accounting/resources/projects/types/__init__.py +30 -2
  41. merge/resources/accounting/resources/purchase_orders/__init__.py +29 -1
  42. merge/resources/accounting/resources/purchase_orders/types/__init__.py +30 -2
  43. merge/resources/accounting/resources/transactions/__init__.py +29 -1
  44. merge/resources/accounting/resources/transactions/types/__init__.py +30 -2
  45. merge/resources/accounting/resources/vendor_credits/__init__.py +29 -1
  46. merge/resources/accounting/resources/vendor_credits/types/__init__.py +30 -2
  47. merge/resources/accounting/types/__init__.py +1068 -521
  48. merge/resources/ats/__init__.py +586 -282
  49. merge/resources/ats/client.py +590 -120
  50. merge/resources/ats/resources/__init__.py +150 -63
  51. merge/resources/ats/resources/activities/__init__.py +36 -6
  52. merge/resources/ats/resources/activities/types/__init__.py +34 -4
  53. merge/resources/ats/resources/applications/__init__.py +29 -1
  54. merge/resources/ats/resources/applications/types/__init__.py +30 -2
  55. merge/resources/ats/resources/async_passthrough/__init__.py +26 -1
  56. merge/resources/ats/resources/async_passthrough/types/__init__.py +26 -1
  57. merge/resources/ats/resources/candidates/__init__.py +30 -1
  58. merge/resources/ats/resources/candidates/types/__init__.py +32 -3
  59. merge/resources/ats/resources/eeocs/__init__.py +36 -6
  60. merge/resources/ats/resources/eeocs/types/__init__.py +34 -4
  61. merge/resources/ats/resources/interviews/__init__.py +29 -1
  62. merge/resources/ats/resources/interviews/types/__init__.py +30 -2
  63. merge/resources/ats/resources/issues/__init__.py +26 -1
  64. merge/resources/ats/resources/issues/types/__init__.py +26 -1
  65. merge/resources/ats/resources/job_postings/__init__.py +26 -1
  66. merge/resources/ats/resources/job_postings/types/__init__.py +26 -1
  67. merge/resources/ats/resources/jobs/__init__.py +36 -6
  68. merge/resources/ats/resources/jobs/types/__init__.py +34 -4
  69. merge/resources/ats/resources/link_token/__init__.py +26 -1
  70. merge/resources/ats/resources/link_token/types/__init__.py +26 -1
  71. merge/resources/ats/resources/linked_accounts/__init__.py +26 -1
  72. merge/resources/ats/resources/linked_accounts/types/__init__.py +28 -1
  73. merge/resources/ats/resources/offers/__init__.py +26 -1
  74. merge/resources/ats/resources/offers/types/__init__.py +30 -2
  75. merge/resources/ats/resources/scorecards/__init__.py +29 -1
  76. merge/resources/ats/resources/scorecards/types/__init__.py +30 -2
  77. merge/resources/ats/types/__init__.py +462 -219
  78. merge/resources/crm/__init__.py +566 -272
  79. merge/resources/crm/client.py +556 -114
  80. merge/resources/crm/resources/__init__.py +121 -47
  81. merge/resources/crm/resources/async_passthrough/__init__.py +26 -1
  82. merge/resources/crm/resources/async_passthrough/types/__init__.py +26 -1
  83. merge/resources/crm/resources/contacts/__init__.py +29 -1
  84. merge/resources/crm/resources/contacts/types/__init__.py +30 -2
  85. merge/resources/crm/resources/engagements/__init__.py +29 -1
  86. merge/resources/crm/resources/engagements/types/__init__.py +30 -2
  87. merge/resources/crm/resources/issues/__init__.py +26 -1
  88. merge/resources/crm/resources/issues/types/__init__.py +26 -1
  89. merge/resources/crm/resources/leads/__init__.py +26 -1
  90. merge/resources/crm/resources/leads/types/__init__.py +30 -2
  91. merge/resources/crm/resources/link_token/__init__.py +26 -1
  92. merge/resources/crm/resources/link_token/types/__init__.py +26 -1
  93. merge/resources/crm/resources/linked_accounts/__init__.py +26 -1
  94. merge/resources/crm/resources/linked_accounts/types/__init__.py +28 -1
  95. merge/resources/crm/resources/notes/__init__.py +26 -1
  96. merge/resources/crm/resources/notes/types/__init__.py +30 -2
  97. merge/resources/crm/resources/opportunities/__init__.py +34 -1
  98. merge/resources/crm/resources/opportunities/types/__init__.py +32 -3
  99. merge/resources/crm/resources/tasks/__init__.py +26 -1
  100. merge/resources/crm/resources/tasks/types/__init__.py +30 -2
  101. merge/resources/crm/types/__init__.py +470 -224
  102. merge/resources/filestorage/__init__.py +322 -150
  103. merge/resources/filestorage/client.py +405 -87
  104. merge/resources/filestorage/resources/__init__.py +91 -34
  105. merge/resources/filestorage/resources/async_passthrough/__init__.py +26 -1
  106. merge/resources/filestorage/resources/async_passthrough/types/__init__.py +26 -1
  107. merge/resources/filestorage/resources/files/__init__.py +36 -6
  108. merge/resources/filestorage/resources/files/types/__init__.py +34 -4
  109. merge/resources/filestorage/resources/folders/__init__.py +29 -1
  110. merge/resources/filestorage/resources/folders/types/__init__.py +30 -2
  111. merge/resources/filestorage/resources/issues/__init__.py +26 -1
  112. merge/resources/filestorage/resources/issues/types/__init__.py +26 -1
  113. merge/resources/filestorage/resources/linked_accounts/__init__.py +26 -1
  114. merge/resources/filestorage/resources/linked_accounts/types/__init__.py +28 -1
  115. merge/resources/filestorage/types/__init__.py +258 -117
  116. merge/resources/hris/__init__.py +576 -277
  117. merge/resources/hris/client.py +590 -120
  118. merge/resources/hris/resources/__init__.py +188 -86
  119. merge/resources/hris/resources/async_passthrough/__init__.py +26 -1
  120. merge/resources/hris/resources/async_passthrough/types/__init__.py +26 -1
  121. merge/resources/hris/resources/bank_info/__init__.py +29 -1
  122. merge/resources/hris/resources/bank_info/types/__init__.py +30 -2
  123. merge/resources/hris/resources/employee_payroll_runs/__init__.py +29 -1
  124. merge/resources/hris/resources/employee_payroll_runs/types/__init__.py +30 -2
  125. merge/resources/hris/resources/employees/__init__.py +44 -10
  126. merge/resources/hris/resources/employees/types/__init__.py +42 -8
  127. merge/resources/hris/resources/employments/__init__.py +42 -9
  128. merge/resources/hris/resources/employments/types/__init__.py +40 -7
  129. merge/resources/hris/resources/issues/__init__.py +26 -1
  130. merge/resources/hris/resources/issues/types/__init__.py +26 -1
  131. merge/resources/hris/resources/link_token/__init__.py +26 -1
  132. merge/resources/hris/resources/link_token/types/__init__.py +26 -1
  133. merge/resources/hris/resources/linked_accounts/__init__.py +26 -1
  134. merge/resources/hris/resources/linked_accounts/types/__init__.py +28 -1
  135. merge/resources/hris/resources/locations/__init__.py +38 -7
  136. merge/resources/hris/resources/locations/types/__init__.py +36 -5
  137. merge/resources/hris/resources/payroll_runs/__init__.py +38 -7
  138. merge/resources/hris/resources/payroll_runs/types/__init__.py +36 -5
  139. merge/resources/hris/resources/time_off/__init__.py +44 -10
  140. merge/resources/hris/resources/time_off/types/__init__.py +42 -8
  141. merge/resources/hris/resources/time_off_balances/__init__.py +26 -1
  142. merge/resources/hris/resources/time_off_balances/types/__init__.py +28 -1
  143. merge/resources/hris/resources/timesheet_entries/__init__.py +26 -1
  144. merge/resources/hris/resources/timesheet_entries/types/__init__.py +28 -1
  145. merge/resources/hris/types/__init__.py +422 -199
  146. merge/resources/ticketing/__init__.py +464 -221
  147. merge/resources/ticketing/client.py +507 -105
  148. merge/resources/ticketing/resources/__init__.py +120 -48
  149. merge/resources/ticketing/resources/async_passthrough/__init__.py +26 -1
  150. merge/resources/ticketing/resources/async_passthrough/types/__init__.py +26 -1
  151. merge/resources/ticketing/resources/collections/__init__.py +26 -1
  152. merge/resources/ticketing/resources/collections/types/__init__.py +28 -1
  153. merge/resources/ticketing/resources/comments/__init__.py +29 -1
  154. merge/resources/ticketing/resources/comments/types/__init__.py +30 -2
  155. merge/resources/ticketing/resources/issues/__init__.py +26 -1
  156. merge/resources/ticketing/resources/issues/types/__init__.py +26 -1
  157. merge/resources/ticketing/resources/link_token/__init__.py +26 -1
  158. merge/resources/ticketing/resources/link_token/types/__init__.py +26 -1
  159. merge/resources/ticketing/resources/linked_accounts/__init__.py +26 -1
  160. merge/resources/ticketing/resources/linked_accounts/types/__init__.py +28 -1
  161. merge/resources/ticketing/resources/projects/__init__.py +26 -1
  162. merge/resources/ticketing/resources/projects/types/__init__.py +26 -1
  163. merge/resources/ticketing/resources/tickets/__init__.py +44 -10
  164. merge/resources/ticketing/resources/tickets/types/__init__.py +42 -8
  165. merge/resources/ticketing/resources/users/__init__.py +26 -1
  166. merge/resources/ticketing/resources/users/types/__init__.py +30 -2
  167. merge/resources/ticketing/types/__init__.py +370 -173
  168. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/METADATA +2 -1
  169. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/RECORD +171 -171
  170. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/LICENSE.md +0 -0
  171. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/WHEEL +0 -0
@@ -1,201 +1,407 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
3
7
  from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
4
8
  from .raw_client import AsyncRawHrisClient, RawHrisClient
5
- from .resources.account_details.client import AccountDetailsClient, AsyncAccountDetailsClient
6
- from .resources.account_token.client import AccountTokenClient, AsyncAccountTokenClient
7
- from .resources.async_passthrough.client import AsyncAsyncPassthroughClient
8
- from .resources.async_passthrough.client import (
9
- AsyncPassthroughClient as resources_hris_resources_async_passthrough_client_AsyncPassthroughClient,
10
- )
11
- from .resources.audit_trail.client import AsyncAuditTrailClient, AuditTrailClient
12
- from .resources.available_actions.client import AsyncAvailableActionsClient, AvailableActionsClient
13
- from .resources.bank_info.client import AsyncBankInfoClient, BankInfoClient
14
- from .resources.benefits.client import AsyncBenefitsClient, BenefitsClient
15
- from .resources.companies.client import AsyncCompaniesClient, CompaniesClient
16
- from .resources.delete_account.client import AsyncDeleteAccountClient, DeleteAccountClient
17
- from .resources.dependents.client import AsyncDependentsClient, DependentsClient
18
- from .resources.employee_payroll_runs.client import AsyncEmployeePayrollRunsClient, EmployeePayrollRunsClient
19
- from .resources.employees.client import AsyncEmployeesClient, EmployeesClient
20
- from .resources.employer_benefits.client import AsyncEmployerBenefitsClient, EmployerBenefitsClient
21
- from .resources.employments.client import AsyncEmploymentsClient, EmploymentsClient
22
- from .resources.field_mapping.client import AsyncFieldMappingClient, FieldMappingClient
23
- from .resources.force_resync.client import AsyncForceResyncClient, ForceResyncClient
24
- from .resources.generate_key.client import AsyncGenerateKeyClient, GenerateKeyClient
25
- from .resources.groups.client import AsyncGroupsClient, GroupsClient
26
- from .resources.issues.client import AsyncIssuesClient, IssuesClient
27
- from .resources.link_token.client import AsyncLinkTokenClient, LinkTokenClient
28
- from .resources.linked_accounts.client import AsyncLinkedAccountsClient, LinkedAccountsClient
29
- from .resources.locations.client import AsyncLocationsClient, LocationsClient
30
- from .resources.passthrough.client import (
31
- AsyncPassthroughClient as resources_hris_resources_passthrough_client_AsyncPassthroughClient,
32
- )
33
- from .resources.passthrough.client import PassthroughClient
34
- from .resources.pay_groups.client import AsyncPayGroupsClient, PayGroupsClient
35
- from .resources.payroll_runs.client import AsyncPayrollRunsClient, PayrollRunsClient
36
- from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
37
- from .resources.scopes.client import AsyncScopesClient, ScopesClient
38
- from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
39
- from .resources.teams.client import AsyncTeamsClient, TeamsClient
40
- from .resources.time_off.client import AsyncTimeOffClient, TimeOffClient
41
- from .resources.time_off_balances.client import AsyncTimeOffBalancesClient, TimeOffBalancesClient
42
- from .resources.timesheet_entries.client import AsyncTimesheetEntriesClient, TimesheetEntriesClient
43
- from .resources.webhook_receivers.client import AsyncWebhookReceiversClient, WebhookReceiversClient
9
+
10
+ if typing.TYPE_CHECKING:
11
+ from .resources.account_details.client import AccountDetailsClient, AsyncAccountDetailsClient
12
+ from .resources.account_token.client import AccountTokenClient, AsyncAccountTokenClient
13
+ from .resources.async_passthrough.client import AsyncAsyncPassthroughClient
14
+ from .resources.async_passthrough.client import (
15
+ AsyncPassthroughClient as resources_hris_resources_async_passthrough_client_AsyncPassthroughClient,
16
+ )
17
+ from .resources.audit_trail.client import AsyncAuditTrailClient, AuditTrailClient
18
+ from .resources.available_actions.client import AsyncAvailableActionsClient, AvailableActionsClient
19
+ from .resources.bank_info.client import AsyncBankInfoClient, BankInfoClient
20
+ from .resources.benefits.client import AsyncBenefitsClient, BenefitsClient
21
+ from .resources.companies.client import AsyncCompaniesClient, CompaniesClient
22
+ from .resources.delete_account.client import AsyncDeleteAccountClient, DeleteAccountClient
23
+ from .resources.dependents.client import AsyncDependentsClient, DependentsClient
24
+ from .resources.employee_payroll_runs.client import AsyncEmployeePayrollRunsClient, EmployeePayrollRunsClient
25
+ from .resources.employees.client import AsyncEmployeesClient, EmployeesClient
26
+ from .resources.employer_benefits.client import AsyncEmployerBenefitsClient, EmployerBenefitsClient
27
+ from .resources.employments.client import AsyncEmploymentsClient, EmploymentsClient
28
+ from .resources.field_mapping.client import AsyncFieldMappingClient, FieldMappingClient
29
+ from .resources.force_resync.client import AsyncForceResyncClient, ForceResyncClient
30
+ from .resources.generate_key.client import AsyncGenerateKeyClient, GenerateKeyClient
31
+ from .resources.groups.client import AsyncGroupsClient, GroupsClient
32
+ from .resources.issues.client import AsyncIssuesClient, IssuesClient
33
+ from .resources.link_token.client import AsyncLinkTokenClient, LinkTokenClient
34
+ from .resources.linked_accounts.client import AsyncLinkedAccountsClient, LinkedAccountsClient
35
+ from .resources.locations.client import AsyncLocationsClient, LocationsClient
36
+ from .resources.passthrough.client import (
37
+ AsyncPassthroughClient as resources_hris_resources_passthrough_client_AsyncPassthroughClient,
38
+ )
39
+ from .resources.passthrough.client import PassthroughClient
40
+ from .resources.pay_groups.client import AsyncPayGroupsClient, PayGroupsClient
41
+ from .resources.payroll_runs.client import AsyncPayrollRunsClient, PayrollRunsClient
42
+ from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
43
+ from .resources.scopes.client import AsyncScopesClient, ScopesClient
44
+ from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
45
+ from .resources.teams.client import AsyncTeamsClient, TeamsClient
46
+ from .resources.time_off.client import AsyncTimeOffClient, TimeOffClient
47
+ from .resources.time_off_balances.client import AsyncTimeOffBalancesClient, TimeOffBalancesClient
48
+ from .resources.timesheet_entries.client import AsyncTimesheetEntriesClient, TimesheetEntriesClient
49
+ from .resources.webhook_receivers.client import AsyncWebhookReceiversClient, WebhookReceiversClient
44
50
 
45
51
 
46
52
  class HrisClient:
47
53
  def __init__(self, *, client_wrapper: SyncClientWrapper):
48
54
  self._raw_client = RawHrisClient(client_wrapper=client_wrapper)
49
- self.account_details = AccountDetailsClient(client_wrapper=client_wrapper)
55
+ self._client_wrapper = client_wrapper
56
+ self._account_details: typing.Optional[AccountDetailsClient] = None
57
+ self._account_token: typing.Optional[AccountTokenClient] = None
58
+ self._async_passthrough: typing.Optional[
59
+ resources_hris_resources_async_passthrough_client_AsyncPassthroughClient
60
+ ] = None
61
+ self._audit_trail: typing.Optional[AuditTrailClient] = None
62
+ self._available_actions: typing.Optional[AvailableActionsClient] = None
63
+ self._bank_info: typing.Optional[BankInfoClient] = None
64
+ self._benefits: typing.Optional[BenefitsClient] = None
65
+ self._companies: typing.Optional[CompaniesClient] = None
66
+ self._scopes: typing.Optional[ScopesClient] = None
67
+ self._delete_account: typing.Optional[DeleteAccountClient] = None
68
+ self._dependents: typing.Optional[DependentsClient] = None
69
+ self._employee_payroll_runs: typing.Optional[EmployeePayrollRunsClient] = None
70
+ self._employees: typing.Optional[EmployeesClient] = None
71
+ self._employer_benefits: typing.Optional[EmployerBenefitsClient] = None
72
+ self._employments: typing.Optional[EmploymentsClient] = None
73
+ self._field_mapping: typing.Optional[FieldMappingClient] = None
74
+ self._generate_key: typing.Optional[GenerateKeyClient] = None
75
+ self._groups: typing.Optional[GroupsClient] = None
76
+ self._issues: typing.Optional[IssuesClient] = None
77
+ self._link_token: typing.Optional[LinkTokenClient] = None
78
+ self._linked_accounts: typing.Optional[LinkedAccountsClient] = None
79
+ self._locations: typing.Optional[LocationsClient] = None
80
+ self._passthrough: typing.Optional[PassthroughClient] = None
81
+ self._pay_groups: typing.Optional[PayGroupsClient] = None
82
+ self._payroll_runs: typing.Optional[PayrollRunsClient] = None
83
+ self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
84
+ self._sync_status: typing.Optional[SyncStatusClient] = None
85
+ self._force_resync: typing.Optional[ForceResyncClient] = None
86
+ self._teams: typing.Optional[TeamsClient] = None
87
+ self._time_off: typing.Optional[TimeOffClient] = None
88
+ self._time_off_balances: typing.Optional[TimeOffBalancesClient] = None
89
+ self._timesheet_entries: typing.Optional[TimesheetEntriesClient] = None
90
+ self._webhook_receivers: typing.Optional[WebhookReceiversClient] = None
91
+
92
+ @property
93
+ def with_raw_response(self) -> RawHrisClient:
94
+ """
95
+ Retrieves a raw implementation of this client that returns raw responses.
50
96
 
51
- self.account_token = AccountTokenClient(client_wrapper=client_wrapper)
97
+ Returns
98
+ -------
99
+ RawHrisClient
100
+ """
101
+ return self._raw_client
52
102
 
53
- self.async_passthrough = resources_hris_resources_async_passthrough_client_AsyncPassthroughClient(
54
- client_wrapper=client_wrapper
55
- )
103
+ @property
104
+ def account_details(self):
105
+ if self._account_details is None:
106
+ from .resources.account_details.client import AccountDetailsClient # noqa: E402
56
107
 
57
- self.audit_trail = AuditTrailClient(client_wrapper=client_wrapper)
108
+ self._account_details = AccountDetailsClient(client_wrapper=self._client_wrapper)
109
+ return self._account_details
58
110
 
59
- self.available_actions = AvailableActionsClient(client_wrapper=client_wrapper)
111
+ @property
112
+ def account_token(self):
113
+ if self._account_token is None:
114
+ from .resources.account_token.client import AccountTokenClient # noqa: E402
60
115
 
61
- self.bank_info = BankInfoClient(client_wrapper=client_wrapper)
116
+ self._account_token = AccountTokenClient(client_wrapper=self._client_wrapper)
117
+ return self._account_token
62
118
 
63
- self.benefits = BenefitsClient(client_wrapper=client_wrapper)
119
+ @property
120
+ def async_passthrough(self):
121
+ if self._async_passthrough is None:
122
+ self._async_passthrough = resources_hris_resources_async_passthrough_client_AsyncPassthroughClient(
123
+ client_wrapper=self._client_wrapper
124
+ )
125
+ return self._async_passthrough
64
126
 
65
- self.companies = CompaniesClient(client_wrapper=client_wrapper)
127
+ @property
128
+ def audit_trail(self):
129
+ if self._audit_trail is None:
130
+ from .resources.audit_trail.client import AuditTrailClient # noqa: E402
66
131
 
67
- self.scopes = ScopesClient(client_wrapper=client_wrapper)
132
+ self._audit_trail = AuditTrailClient(client_wrapper=self._client_wrapper)
133
+ return self._audit_trail
68
134
 
69
- self.delete_account = DeleteAccountClient(client_wrapper=client_wrapper)
135
+ @property
136
+ def available_actions(self):
137
+ if self._available_actions is None:
138
+ from .resources.available_actions.client import AvailableActionsClient # noqa: E402
70
139
 
71
- self.dependents = DependentsClient(client_wrapper=client_wrapper)
140
+ self._available_actions = AvailableActionsClient(client_wrapper=self._client_wrapper)
141
+ return self._available_actions
72
142
 
73
- self.employee_payroll_runs = EmployeePayrollRunsClient(client_wrapper=client_wrapper)
143
+ @property
144
+ def bank_info(self):
145
+ if self._bank_info is None:
146
+ from .resources.bank_info.client import BankInfoClient # noqa: E402
74
147
 
75
- self.employees = EmployeesClient(client_wrapper=client_wrapper)
148
+ self._bank_info = BankInfoClient(client_wrapper=self._client_wrapper)
149
+ return self._bank_info
76
150
 
77
- self.employer_benefits = EmployerBenefitsClient(client_wrapper=client_wrapper)
151
+ @property
152
+ def benefits(self):
153
+ if self._benefits is None:
154
+ from .resources.benefits.client import BenefitsClient # noqa: E402
78
155
 
79
- self.employments = EmploymentsClient(client_wrapper=client_wrapper)
156
+ self._benefits = BenefitsClient(client_wrapper=self._client_wrapper)
157
+ return self._benefits
80
158
 
81
- self.field_mapping = FieldMappingClient(client_wrapper=client_wrapper)
159
+ @property
160
+ def companies(self):
161
+ if self._companies is None:
162
+ from .resources.companies.client import CompaniesClient # noqa: E402
82
163
 
83
- self.generate_key = GenerateKeyClient(client_wrapper=client_wrapper)
164
+ self._companies = CompaniesClient(client_wrapper=self._client_wrapper)
165
+ return self._companies
84
166
 
85
- self.groups = GroupsClient(client_wrapper=client_wrapper)
167
+ @property
168
+ def scopes(self):
169
+ if self._scopes is None:
170
+ from .resources.scopes.client import ScopesClient # noqa: E402
86
171
 
87
- self.issues = IssuesClient(client_wrapper=client_wrapper)
172
+ self._scopes = ScopesClient(client_wrapper=self._client_wrapper)
173
+ return self._scopes
88
174
 
89
- self.link_token = LinkTokenClient(client_wrapper=client_wrapper)
175
+ @property
176
+ def delete_account(self):
177
+ if self._delete_account is None:
178
+ from .resources.delete_account.client import DeleteAccountClient # noqa: E402
90
179
 
91
- self.linked_accounts = LinkedAccountsClient(client_wrapper=client_wrapper)
180
+ self._delete_account = DeleteAccountClient(client_wrapper=self._client_wrapper)
181
+ return self._delete_account
92
182
 
93
- self.locations = LocationsClient(client_wrapper=client_wrapper)
183
+ @property
184
+ def dependents(self):
185
+ if self._dependents is None:
186
+ from .resources.dependents.client import DependentsClient # noqa: E402
94
187
 
95
- self.passthrough = PassthroughClient(client_wrapper=client_wrapper)
188
+ self._dependents = DependentsClient(client_wrapper=self._client_wrapper)
189
+ return self._dependents
96
190
 
97
- self.pay_groups = PayGroupsClient(client_wrapper=client_wrapper)
191
+ @property
192
+ def employee_payroll_runs(self):
193
+ if self._employee_payroll_runs is None:
194
+ from .resources.employee_payroll_runs.client import EmployeePayrollRunsClient # noqa: E402
98
195
 
99
- self.payroll_runs = PayrollRunsClient(client_wrapper=client_wrapper)
196
+ self._employee_payroll_runs = EmployeePayrollRunsClient(client_wrapper=self._client_wrapper)
197
+ return self._employee_payroll_runs
100
198
 
101
- self.regenerate_key = RegenerateKeyClient(client_wrapper=client_wrapper)
199
+ @property
200
+ def employees(self):
201
+ if self._employees is None:
202
+ from .resources.employees.client import EmployeesClient # noqa: E402
102
203
 
103
- self.sync_status = SyncStatusClient(client_wrapper=client_wrapper)
204
+ self._employees = EmployeesClient(client_wrapper=self._client_wrapper)
205
+ return self._employees
104
206
 
105
- self.force_resync = ForceResyncClient(client_wrapper=client_wrapper)
207
+ @property
208
+ def employer_benefits(self):
209
+ if self._employer_benefits is None:
210
+ from .resources.employer_benefits.client import EmployerBenefitsClient # noqa: E402
106
211
 
107
- self.teams = TeamsClient(client_wrapper=client_wrapper)
212
+ self._employer_benefits = EmployerBenefitsClient(client_wrapper=self._client_wrapper)
213
+ return self._employer_benefits
108
214
 
109
- self.time_off = TimeOffClient(client_wrapper=client_wrapper)
215
+ @property
216
+ def employments(self):
217
+ if self._employments is None:
218
+ from .resources.employments.client import EmploymentsClient # noqa: E402
110
219
 
111
- self.time_off_balances = TimeOffBalancesClient(client_wrapper=client_wrapper)
220
+ self._employments = EmploymentsClient(client_wrapper=self._client_wrapper)
221
+ return self._employments
112
222
 
113
- self.timesheet_entries = TimesheetEntriesClient(client_wrapper=client_wrapper)
223
+ @property
224
+ def field_mapping(self):
225
+ if self._field_mapping is None:
226
+ from .resources.field_mapping.client import FieldMappingClient # noqa: E402
114
227
 
115
- self.webhook_receivers = WebhookReceiversClient(client_wrapper=client_wrapper)
228
+ self._field_mapping = FieldMappingClient(client_wrapper=self._client_wrapper)
229
+ return self._field_mapping
116
230
 
117
231
  @property
118
- def with_raw_response(self) -> RawHrisClient:
119
- """
120
- Retrieves a raw implementation of this client that returns raw responses.
232
+ def generate_key(self):
233
+ if self._generate_key is None:
234
+ from .resources.generate_key.client import GenerateKeyClient # noqa: E402
121
235
 
122
- Returns
123
- -------
124
- RawHrisClient
125
- """
126
- return self._raw_client
236
+ self._generate_key = GenerateKeyClient(client_wrapper=self._client_wrapper)
237
+ return self._generate_key
127
238
 
239
+ @property
240
+ def groups(self):
241
+ if self._groups is None:
242
+ from .resources.groups.client import GroupsClient # noqa: E402
128
243
 
129
- class AsyncHrisClient:
130
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
131
- self._raw_client = AsyncRawHrisClient(client_wrapper=client_wrapper)
132
- self.account_details = AsyncAccountDetailsClient(client_wrapper=client_wrapper)
244
+ self._groups = GroupsClient(client_wrapper=self._client_wrapper)
245
+ return self._groups
133
246
 
134
- self.account_token = AsyncAccountTokenClient(client_wrapper=client_wrapper)
247
+ @property
248
+ def issues(self):
249
+ if self._issues is None:
250
+ from .resources.issues.client import IssuesClient # noqa: E402
135
251
 
136
- self.async_passthrough = AsyncAsyncPassthroughClient(client_wrapper=client_wrapper)
252
+ self._issues = IssuesClient(client_wrapper=self._client_wrapper)
253
+ return self._issues
137
254
 
138
- self.audit_trail = AsyncAuditTrailClient(client_wrapper=client_wrapper)
255
+ @property
256
+ def link_token(self):
257
+ if self._link_token is None:
258
+ from .resources.link_token.client import LinkTokenClient # noqa: E402
139
259
 
140
- self.available_actions = AsyncAvailableActionsClient(client_wrapper=client_wrapper)
260
+ self._link_token = LinkTokenClient(client_wrapper=self._client_wrapper)
261
+ return self._link_token
141
262
 
142
- self.bank_info = AsyncBankInfoClient(client_wrapper=client_wrapper)
263
+ @property
264
+ def linked_accounts(self):
265
+ if self._linked_accounts is None:
266
+ from .resources.linked_accounts.client import LinkedAccountsClient # noqa: E402
143
267
 
144
- self.benefits = AsyncBenefitsClient(client_wrapper=client_wrapper)
268
+ self._linked_accounts = LinkedAccountsClient(client_wrapper=self._client_wrapper)
269
+ return self._linked_accounts
145
270
 
146
- self.companies = AsyncCompaniesClient(client_wrapper=client_wrapper)
271
+ @property
272
+ def locations(self):
273
+ if self._locations is None:
274
+ from .resources.locations.client import LocationsClient # noqa: E402
147
275
 
148
- self.scopes = AsyncScopesClient(client_wrapper=client_wrapper)
276
+ self._locations = LocationsClient(client_wrapper=self._client_wrapper)
277
+ return self._locations
149
278
 
150
- self.delete_account = AsyncDeleteAccountClient(client_wrapper=client_wrapper)
279
+ @property
280
+ def passthrough(self):
281
+ if self._passthrough is None:
282
+ from .resources.passthrough.client import PassthroughClient # noqa: E402
151
283
 
152
- self.dependents = AsyncDependentsClient(client_wrapper=client_wrapper)
284
+ self._passthrough = PassthroughClient(client_wrapper=self._client_wrapper)
285
+ return self._passthrough
153
286
 
154
- self.employee_payroll_runs = AsyncEmployeePayrollRunsClient(client_wrapper=client_wrapper)
287
+ @property
288
+ def pay_groups(self):
289
+ if self._pay_groups is None:
290
+ from .resources.pay_groups.client import PayGroupsClient # noqa: E402
155
291
 
156
- self.employees = AsyncEmployeesClient(client_wrapper=client_wrapper)
292
+ self._pay_groups = PayGroupsClient(client_wrapper=self._client_wrapper)
293
+ return self._pay_groups
157
294
 
158
- self.employer_benefits = AsyncEmployerBenefitsClient(client_wrapper=client_wrapper)
295
+ @property
296
+ def payroll_runs(self):
297
+ if self._payroll_runs is None:
298
+ from .resources.payroll_runs.client import PayrollRunsClient # noqa: E402
159
299
 
160
- self.employments = AsyncEmploymentsClient(client_wrapper=client_wrapper)
300
+ self._payroll_runs = PayrollRunsClient(client_wrapper=self._client_wrapper)
301
+ return self._payroll_runs
161
302
 
162
- self.field_mapping = AsyncFieldMappingClient(client_wrapper=client_wrapper)
303
+ @property
304
+ def regenerate_key(self):
305
+ if self._regenerate_key is None:
306
+ from .resources.regenerate_key.client import RegenerateKeyClient # noqa: E402
163
307
 
164
- self.generate_key = AsyncGenerateKeyClient(client_wrapper=client_wrapper)
308
+ self._regenerate_key = RegenerateKeyClient(client_wrapper=self._client_wrapper)
309
+ return self._regenerate_key
165
310
 
166
- self.groups = AsyncGroupsClient(client_wrapper=client_wrapper)
311
+ @property
312
+ def sync_status(self):
313
+ if self._sync_status is None:
314
+ from .resources.sync_status.client import SyncStatusClient # noqa: E402
167
315
 
168
- self.issues = AsyncIssuesClient(client_wrapper=client_wrapper)
316
+ self._sync_status = SyncStatusClient(client_wrapper=self._client_wrapper)
317
+ return self._sync_status
169
318
 
170
- self.link_token = AsyncLinkTokenClient(client_wrapper=client_wrapper)
319
+ @property
320
+ def force_resync(self):
321
+ if self._force_resync is None:
322
+ from .resources.force_resync.client import ForceResyncClient # noqa: E402
171
323
 
172
- self.linked_accounts = AsyncLinkedAccountsClient(client_wrapper=client_wrapper)
324
+ self._force_resync = ForceResyncClient(client_wrapper=self._client_wrapper)
325
+ return self._force_resync
173
326
 
174
- self.locations = AsyncLocationsClient(client_wrapper=client_wrapper)
327
+ @property
328
+ def teams(self):
329
+ if self._teams is None:
330
+ from .resources.teams.client import TeamsClient # noqa: E402
175
331
 
176
- self.passthrough = resources_hris_resources_passthrough_client_AsyncPassthroughClient(
177
- client_wrapper=client_wrapper
178
- )
332
+ self._teams = TeamsClient(client_wrapper=self._client_wrapper)
333
+ return self._teams
179
334
 
180
- self.pay_groups = AsyncPayGroupsClient(client_wrapper=client_wrapper)
335
+ @property
336
+ def time_off(self):
337
+ if self._time_off is None:
338
+ from .resources.time_off.client import TimeOffClient # noqa: E402
181
339
 
182
- self.payroll_runs = AsyncPayrollRunsClient(client_wrapper=client_wrapper)
340
+ self._time_off = TimeOffClient(client_wrapper=self._client_wrapper)
341
+ return self._time_off
183
342
 
184
- self.regenerate_key = AsyncRegenerateKeyClient(client_wrapper=client_wrapper)
343
+ @property
344
+ def time_off_balances(self):
345
+ if self._time_off_balances is None:
346
+ from .resources.time_off_balances.client import TimeOffBalancesClient # noqa: E402
185
347
 
186
- self.sync_status = AsyncSyncStatusClient(client_wrapper=client_wrapper)
348
+ self._time_off_balances = TimeOffBalancesClient(client_wrapper=self._client_wrapper)
349
+ return self._time_off_balances
187
350
 
188
- self.force_resync = AsyncForceResyncClient(client_wrapper=client_wrapper)
351
+ @property
352
+ def timesheet_entries(self):
353
+ if self._timesheet_entries is None:
354
+ from .resources.timesheet_entries.client import TimesheetEntriesClient # noqa: E402
189
355
 
190
- self.teams = AsyncTeamsClient(client_wrapper=client_wrapper)
356
+ self._timesheet_entries = TimesheetEntriesClient(client_wrapper=self._client_wrapper)
357
+ return self._timesheet_entries
191
358
 
192
- self.time_off = AsyncTimeOffClient(client_wrapper=client_wrapper)
359
+ @property
360
+ def webhook_receivers(self):
361
+ if self._webhook_receivers is None:
362
+ from .resources.webhook_receivers.client import WebhookReceiversClient # noqa: E402
193
363
 
194
- self.time_off_balances = AsyncTimeOffBalancesClient(client_wrapper=client_wrapper)
364
+ self._webhook_receivers = WebhookReceiversClient(client_wrapper=self._client_wrapper)
365
+ return self._webhook_receivers
195
366
 
196
- self.timesheet_entries = AsyncTimesheetEntriesClient(client_wrapper=client_wrapper)
197
367
 
198
- self.webhook_receivers = AsyncWebhookReceiversClient(client_wrapper=client_wrapper)
368
+ class AsyncHrisClient:
369
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
370
+ self._raw_client = AsyncRawHrisClient(client_wrapper=client_wrapper)
371
+ self._client_wrapper = client_wrapper
372
+ self._account_details: typing.Optional[AsyncAccountDetailsClient] = None
373
+ self._account_token: typing.Optional[AsyncAccountTokenClient] = None
374
+ self._async_passthrough: typing.Optional[AsyncAsyncPassthroughClient] = None
375
+ self._audit_trail: typing.Optional[AsyncAuditTrailClient] = None
376
+ self._available_actions: typing.Optional[AsyncAvailableActionsClient] = None
377
+ self._bank_info: typing.Optional[AsyncBankInfoClient] = None
378
+ self._benefits: typing.Optional[AsyncBenefitsClient] = None
379
+ self._companies: typing.Optional[AsyncCompaniesClient] = None
380
+ self._scopes: typing.Optional[AsyncScopesClient] = None
381
+ self._delete_account: typing.Optional[AsyncDeleteAccountClient] = None
382
+ self._dependents: typing.Optional[AsyncDependentsClient] = None
383
+ self._employee_payroll_runs: typing.Optional[AsyncEmployeePayrollRunsClient] = None
384
+ self._employees: typing.Optional[AsyncEmployeesClient] = None
385
+ self._employer_benefits: typing.Optional[AsyncEmployerBenefitsClient] = None
386
+ self._employments: typing.Optional[AsyncEmploymentsClient] = None
387
+ self._field_mapping: typing.Optional[AsyncFieldMappingClient] = None
388
+ self._generate_key: typing.Optional[AsyncGenerateKeyClient] = None
389
+ self._groups: typing.Optional[AsyncGroupsClient] = None
390
+ self._issues: typing.Optional[AsyncIssuesClient] = None
391
+ self._link_token: typing.Optional[AsyncLinkTokenClient] = None
392
+ self._linked_accounts: typing.Optional[AsyncLinkedAccountsClient] = None
393
+ self._locations: typing.Optional[AsyncLocationsClient] = None
394
+ self._passthrough: typing.Optional[resources_hris_resources_passthrough_client_AsyncPassthroughClient] = None
395
+ self._pay_groups: typing.Optional[AsyncPayGroupsClient] = None
396
+ self._payroll_runs: typing.Optional[AsyncPayrollRunsClient] = None
397
+ self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
398
+ self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
399
+ self._force_resync: typing.Optional[AsyncForceResyncClient] = None
400
+ self._teams: typing.Optional[AsyncTeamsClient] = None
401
+ self._time_off: typing.Optional[AsyncTimeOffClient] = None
402
+ self._time_off_balances: typing.Optional[AsyncTimeOffBalancesClient] = None
403
+ self._timesheet_entries: typing.Optional[AsyncTimesheetEntriesClient] = None
404
+ self._webhook_receivers: typing.Optional[AsyncWebhookReceiversClient] = None
199
405
 
200
406
  @property
201
407
  def with_raw_response(self) -> AsyncRawHrisClient:
@@ -207,3 +413,267 @@ class AsyncHrisClient:
207
413
  AsyncRawHrisClient
208
414
  """
209
415
  return self._raw_client
416
+
417
+ @property
418
+ def account_details(self):
419
+ if self._account_details is None:
420
+ from .resources.account_details.client import AsyncAccountDetailsClient # noqa: E402
421
+
422
+ self._account_details = AsyncAccountDetailsClient(client_wrapper=self._client_wrapper)
423
+ return self._account_details
424
+
425
+ @property
426
+ def account_token(self):
427
+ if self._account_token is None:
428
+ from .resources.account_token.client import AsyncAccountTokenClient # noqa: E402
429
+
430
+ self._account_token = AsyncAccountTokenClient(client_wrapper=self._client_wrapper)
431
+ return self._account_token
432
+
433
+ @property
434
+ def async_passthrough(self):
435
+ if self._async_passthrough is None:
436
+ from .resources.async_passthrough.client import AsyncAsyncPassthroughClient # noqa: E402
437
+
438
+ self._async_passthrough = AsyncAsyncPassthroughClient(client_wrapper=self._client_wrapper)
439
+ return self._async_passthrough
440
+
441
+ @property
442
+ def audit_trail(self):
443
+ if self._audit_trail is None:
444
+ from .resources.audit_trail.client import AsyncAuditTrailClient # noqa: E402
445
+
446
+ self._audit_trail = AsyncAuditTrailClient(client_wrapper=self._client_wrapper)
447
+ return self._audit_trail
448
+
449
+ @property
450
+ def available_actions(self):
451
+ if self._available_actions is None:
452
+ from .resources.available_actions.client import AsyncAvailableActionsClient # noqa: E402
453
+
454
+ self._available_actions = AsyncAvailableActionsClient(client_wrapper=self._client_wrapper)
455
+ return self._available_actions
456
+
457
+ @property
458
+ def bank_info(self):
459
+ if self._bank_info is None:
460
+ from .resources.bank_info.client import AsyncBankInfoClient # noqa: E402
461
+
462
+ self._bank_info = AsyncBankInfoClient(client_wrapper=self._client_wrapper)
463
+ return self._bank_info
464
+
465
+ @property
466
+ def benefits(self):
467
+ if self._benefits is None:
468
+ from .resources.benefits.client import AsyncBenefitsClient # noqa: E402
469
+
470
+ self._benefits = AsyncBenefitsClient(client_wrapper=self._client_wrapper)
471
+ return self._benefits
472
+
473
+ @property
474
+ def companies(self):
475
+ if self._companies is None:
476
+ from .resources.companies.client import AsyncCompaniesClient # noqa: E402
477
+
478
+ self._companies = AsyncCompaniesClient(client_wrapper=self._client_wrapper)
479
+ return self._companies
480
+
481
+ @property
482
+ def scopes(self):
483
+ if self._scopes is None:
484
+ from .resources.scopes.client import AsyncScopesClient # noqa: E402
485
+
486
+ self._scopes = AsyncScopesClient(client_wrapper=self._client_wrapper)
487
+ return self._scopes
488
+
489
+ @property
490
+ def delete_account(self):
491
+ if self._delete_account is None:
492
+ from .resources.delete_account.client import AsyncDeleteAccountClient # noqa: E402
493
+
494
+ self._delete_account = AsyncDeleteAccountClient(client_wrapper=self._client_wrapper)
495
+ return self._delete_account
496
+
497
+ @property
498
+ def dependents(self):
499
+ if self._dependents is None:
500
+ from .resources.dependents.client import AsyncDependentsClient # noqa: E402
501
+
502
+ self._dependents = AsyncDependentsClient(client_wrapper=self._client_wrapper)
503
+ return self._dependents
504
+
505
+ @property
506
+ def employee_payroll_runs(self):
507
+ if self._employee_payroll_runs is None:
508
+ from .resources.employee_payroll_runs.client import AsyncEmployeePayrollRunsClient # noqa: E402
509
+
510
+ self._employee_payroll_runs = AsyncEmployeePayrollRunsClient(client_wrapper=self._client_wrapper)
511
+ return self._employee_payroll_runs
512
+
513
+ @property
514
+ def employees(self):
515
+ if self._employees is None:
516
+ from .resources.employees.client import AsyncEmployeesClient # noqa: E402
517
+
518
+ self._employees = AsyncEmployeesClient(client_wrapper=self._client_wrapper)
519
+ return self._employees
520
+
521
+ @property
522
+ def employer_benefits(self):
523
+ if self._employer_benefits is None:
524
+ from .resources.employer_benefits.client import AsyncEmployerBenefitsClient # noqa: E402
525
+
526
+ self._employer_benefits = AsyncEmployerBenefitsClient(client_wrapper=self._client_wrapper)
527
+ return self._employer_benefits
528
+
529
+ @property
530
+ def employments(self):
531
+ if self._employments is None:
532
+ from .resources.employments.client import AsyncEmploymentsClient # noqa: E402
533
+
534
+ self._employments = AsyncEmploymentsClient(client_wrapper=self._client_wrapper)
535
+ return self._employments
536
+
537
+ @property
538
+ def field_mapping(self):
539
+ if self._field_mapping is None:
540
+ from .resources.field_mapping.client import AsyncFieldMappingClient # noqa: E402
541
+
542
+ self._field_mapping = AsyncFieldMappingClient(client_wrapper=self._client_wrapper)
543
+ return self._field_mapping
544
+
545
+ @property
546
+ def generate_key(self):
547
+ if self._generate_key is None:
548
+ from .resources.generate_key.client import AsyncGenerateKeyClient # noqa: E402
549
+
550
+ self._generate_key = AsyncGenerateKeyClient(client_wrapper=self._client_wrapper)
551
+ return self._generate_key
552
+
553
+ @property
554
+ def groups(self):
555
+ if self._groups is None:
556
+ from .resources.groups.client import AsyncGroupsClient # noqa: E402
557
+
558
+ self._groups = AsyncGroupsClient(client_wrapper=self._client_wrapper)
559
+ return self._groups
560
+
561
+ @property
562
+ def issues(self):
563
+ if self._issues is None:
564
+ from .resources.issues.client import AsyncIssuesClient # noqa: E402
565
+
566
+ self._issues = AsyncIssuesClient(client_wrapper=self._client_wrapper)
567
+ return self._issues
568
+
569
+ @property
570
+ def link_token(self):
571
+ if self._link_token is None:
572
+ from .resources.link_token.client import AsyncLinkTokenClient # noqa: E402
573
+
574
+ self._link_token = AsyncLinkTokenClient(client_wrapper=self._client_wrapper)
575
+ return self._link_token
576
+
577
+ @property
578
+ def linked_accounts(self):
579
+ if self._linked_accounts is None:
580
+ from .resources.linked_accounts.client import AsyncLinkedAccountsClient # noqa: E402
581
+
582
+ self._linked_accounts = AsyncLinkedAccountsClient(client_wrapper=self._client_wrapper)
583
+ return self._linked_accounts
584
+
585
+ @property
586
+ def locations(self):
587
+ if self._locations is None:
588
+ from .resources.locations.client import AsyncLocationsClient # noqa: E402
589
+
590
+ self._locations = AsyncLocationsClient(client_wrapper=self._client_wrapper)
591
+ return self._locations
592
+
593
+ @property
594
+ def passthrough(self):
595
+ if self._passthrough is None:
596
+ self._passthrough = resources_hris_resources_passthrough_client_AsyncPassthroughClient(
597
+ client_wrapper=self._client_wrapper
598
+ )
599
+ return self._passthrough
600
+
601
+ @property
602
+ def pay_groups(self):
603
+ if self._pay_groups is None:
604
+ from .resources.pay_groups.client import AsyncPayGroupsClient # noqa: E402
605
+
606
+ self._pay_groups = AsyncPayGroupsClient(client_wrapper=self._client_wrapper)
607
+ return self._pay_groups
608
+
609
+ @property
610
+ def payroll_runs(self):
611
+ if self._payroll_runs is None:
612
+ from .resources.payroll_runs.client import AsyncPayrollRunsClient # noqa: E402
613
+
614
+ self._payroll_runs = AsyncPayrollRunsClient(client_wrapper=self._client_wrapper)
615
+ return self._payroll_runs
616
+
617
+ @property
618
+ def regenerate_key(self):
619
+ if self._regenerate_key is None:
620
+ from .resources.regenerate_key.client import AsyncRegenerateKeyClient # noqa: E402
621
+
622
+ self._regenerate_key = AsyncRegenerateKeyClient(client_wrapper=self._client_wrapper)
623
+ return self._regenerate_key
624
+
625
+ @property
626
+ def sync_status(self):
627
+ if self._sync_status is None:
628
+ from .resources.sync_status.client import AsyncSyncStatusClient # noqa: E402
629
+
630
+ self._sync_status = AsyncSyncStatusClient(client_wrapper=self._client_wrapper)
631
+ return self._sync_status
632
+
633
+ @property
634
+ def force_resync(self):
635
+ if self._force_resync is None:
636
+ from .resources.force_resync.client import AsyncForceResyncClient # noqa: E402
637
+
638
+ self._force_resync = AsyncForceResyncClient(client_wrapper=self._client_wrapper)
639
+ return self._force_resync
640
+
641
+ @property
642
+ def teams(self):
643
+ if self._teams is None:
644
+ from .resources.teams.client import AsyncTeamsClient # noqa: E402
645
+
646
+ self._teams = AsyncTeamsClient(client_wrapper=self._client_wrapper)
647
+ return self._teams
648
+
649
+ @property
650
+ def time_off(self):
651
+ if self._time_off is None:
652
+ from .resources.time_off.client import AsyncTimeOffClient # noqa: E402
653
+
654
+ self._time_off = AsyncTimeOffClient(client_wrapper=self._client_wrapper)
655
+ return self._time_off
656
+
657
+ @property
658
+ def time_off_balances(self):
659
+ if self._time_off_balances is None:
660
+ from .resources.time_off_balances.client import AsyncTimeOffBalancesClient # noqa: E402
661
+
662
+ self._time_off_balances = AsyncTimeOffBalancesClient(client_wrapper=self._client_wrapper)
663
+ return self._time_off_balances
664
+
665
+ @property
666
+ def timesheet_entries(self):
667
+ if self._timesheet_entries is None:
668
+ from .resources.timesheet_entries.client import AsyncTimesheetEntriesClient # noqa: E402
669
+
670
+ self._timesheet_entries = AsyncTimesheetEntriesClient(client_wrapper=self._client_wrapper)
671
+ return self._timesheet_entries
672
+
673
+ @property
674
+ def webhook_receivers(self):
675
+ if self._webhook_receivers is None:
676
+ from .resources.webhook_receivers.client import AsyncWebhookReceiversClient # noqa: E402
677
+
678
+ self._webhook_receivers = AsyncWebhookReceiversClient(client_wrapper=self._client_wrapper)
679
+ return self._webhook_receivers