aio-sf 0.1.0b1__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.
- aio_salesforce/__init__.py +27 -0
- aio_salesforce/api/README.md +107 -0
- aio_salesforce/api/__init__.py +65 -0
- aio_salesforce/api/bulk_v2/__init__.py +21 -0
- aio_salesforce/api/bulk_v2/client.py +200 -0
- aio_salesforce/api/bulk_v2/types.py +71 -0
- aio_salesforce/api/describe/__init__.py +31 -0
- aio_salesforce/api/describe/client.py +94 -0
- aio_salesforce/api/describe/types.py +303 -0
- aio_salesforce/api/query/__init__.py +18 -0
- aio_salesforce/api/query/client.py +216 -0
- aio_salesforce/api/query/types.py +38 -0
- aio_salesforce/api/types.py +303 -0
- aio_salesforce/connection.py +511 -0
- aio_salesforce/exporter/__init__.py +38 -0
- aio_salesforce/exporter/bulk_export.py +397 -0
- aio_salesforce/exporter/parquet_writer.py +296 -0
- aio_salesforce/exporter/parquet_writer.py.backup +326 -0
- aio_sf-0.1.0b1.dist-info/METADATA +198 -0
- aio_sf-0.1.0b1.dist-info/RECORD +22 -0
- aio_sf-0.1.0b1.dist-info/WHEEL +4 -0
- aio_sf-0.1.0b1.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
"""
|
|
2
|
+
TypedDict definitions for Salesforce API responses.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from typing import Any, Dict, List, Optional, TypedDict, Union
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class SalesforceAttributes(TypedDict):
|
|
9
|
+
"""Standard Salesforce record attributes."""
|
|
10
|
+
|
|
11
|
+
type: str
|
|
12
|
+
url: str
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class OrganizationInfo(TypedDict):
|
|
16
|
+
"""Organization information from SOQL query."""
|
|
17
|
+
|
|
18
|
+
attributes: SalesforceAttributes
|
|
19
|
+
Id: str
|
|
20
|
+
Name: str
|
|
21
|
+
OrganizationType: str
|
|
22
|
+
InstanceName: str
|
|
23
|
+
IsSandbox: bool
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class LimitInfo(TypedDict):
|
|
27
|
+
"""Individual limit information."""
|
|
28
|
+
|
|
29
|
+
Max: int
|
|
30
|
+
Remaining: int
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class OrganizationLimits(TypedDict, total=False):
|
|
34
|
+
"""Organization limits - using total=False since keys vary by org."""
|
|
35
|
+
|
|
36
|
+
# API Limits
|
|
37
|
+
DailyApiRequests: LimitInfo
|
|
38
|
+
DailyBulkApiBatches: LimitInfo
|
|
39
|
+
DailyBulkV2QueryJobs: LimitInfo
|
|
40
|
+
DailyStreamingApiEvents: LimitInfo
|
|
41
|
+
|
|
42
|
+
# Storage Limits
|
|
43
|
+
DataStorageMB: LimitInfo
|
|
44
|
+
FileStorageMB: LimitInfo
|
|
45
|
+
|
|
46
|
+
# Email Limits
|
|
47
|
+
DailyWorkflowEmails: LimitInfo
|
|
48
|
+
MassEmail: LimitInfo
|
|
49
|
+
SingleEmail: LimitInfo
|
|
50
|
+
|
|
51
|
+
# Other common limits - there are many more, but these are the most common
|
|
52
|
+
# Using Any for the rest since there are 60+ different limit types
|
|
53
|
+
# and they vary by org type and features
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class SObjectUrls(TypedDict):
|
|
57
|
+
"""URLs for various SObject operations."""
|
|
58
|
+
|
|
59
|
+
sobject: str
|
|
60
|
+
describe: str
|
|
61
|
+
rowTemplate: str
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class SObjectInfo(TypedDict):
|
|
65
|
+
"""Basic SObject information from list_sobjects."""
|
|
66
|
+
|
|
67
|
+
activateable: bool
|
|
68
|
+
associateEntityType: Optional[str]
|
|
69
|
+
associateParentEntity: Optional[str]
|
|
70
|
+
createable: bool
|
|
71
|
+
custom: bool
|
|
72
|
+
customSetting: bool
|
|
73
|
+
deepCloneable: bool
|
|
74
|
+
deletable: bool
|
|
75
|
+
deprecatedAndHidden: bool
|
|
76
|
+
feedEnabled: bool
|
|
77
|
+
hasSubtypes: bool
|
|
78
|
+
isInterface: bool
|
|
79
|
+
isSubtype: bool
|
|
80
|
+
keyPrefix: Optional[str]
|
|
81
|
+
label: str
|
|
82
|
+
labelPlural: str
|
|
83
|
+
layoutable: bool
|
|
84
|
+
mergeable: bool
|
|
85
|
+
mruEnabled: bool
|
|
86
|
+
name: str
|
|
87
|
+
queryable: bool
|
|
88
|
+
replicateable: bool
|
|
89
|
+
retrieveable: bool
|
|
90
|
+
searchable: bool
|
|
91
|
+
triggerable: bool
|
|
92
|
+
undeletable: bool
|
|
93
|
+
updateable: bool
|
|
94
|
+
urls: SObjectUrls
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class ActionOverride(TypedDict):
|
|
98
|
+
"""Action override information."""
|
|
99
|
+
|
|
100
|
+
formFactor: str
|
|
101
|
+
isAvailableInTouch: bool
|
|
102
|
+
name: str
|
|
103
|
+
pageId: Optional[str]
|
|
104
|
+
url: Optional[str]
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class ChildRelationship(TypedDict):
|
|
108
|
+
"""Child relationship information."""
|
|
109
|
+
|
|
110
|
+
cascadeDelete: bool
|
|
111
|
+
childSObject: str
|
|
112
|
+
deprecatedAndHidden: bool
|
|
113
|
+
field: str
|
|
114
|
+
junctionIdListNames: List[str]
|
|
115
|
+
junctionReferenceTo: List[str]
|
|
116
|
+
relationshipName: Optional[str]
|
|
117
|
+
restrictedDelete: bool
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class PicklistValue(TypedDict):
|
|
121
|
+
"""Picklist value information."""
|
|
122
|
+
|
|
123
|
+
active: bool
|
|
124
|
+
defaultValue: bool
|
|
125
|
+
label: str
|
|
126
|
+
validFor: Optional[str]
|
|
127
|
+
value: str
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class FilteredLookupInfo(TypedDict):
|
|
131
|
+
"""Filtered lookup information."""
|
|
132
|
+
|
|
133
|
+
controllingFields: List[str]
|
|
134
|
+
dependent: bool
|
|
135
|
+
optionalFilter: bool
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class RecordTypeInfo(TypedDict):
|
|
139
|
+
"""Record type information."""
|
|
140
|
+
|
|
141
|
+
available: bool
|
|
142
|
+
defaultRecordTypeMapping: bool
|
|
143
|
+
developerName: str
|
|
144
|
+
master: bool
|
|
145
|
+
name: str
|
|
146
|
+
recordTypeId: str
|
|
147
|
+
urls: Dict[str, str]
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
class NamedLayoutInfo(TypedDict):
|
|
151
|
+
"""Named layout information."""
|
|
152
|
+
|
|
153
|
+
name: str
|
|
154
|
+
urls: Dict[str, str]
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class ScopeInfo(TypedDict):
|
|
158
|
+
"""Scope information."""
|
|
159
|
+
|
|
160
|
+
label: str
|
|
161
|
+
name: str
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class FieldInfo(TypedDict, total=False):
|
|
165
|
+
"""Field information from describe_sobject - using total=False due to many optional fields."""
|
|
166
|
+
|
|
167
|
+
# Core field properties (always present)
|
|
168
|
+
name: str
|
|
169
|
+
type: str
|
|
170
|
+
label: str
|
|
171
|
+
|
|
172
|
+
# Common properties (usually present)
|
|
173
|
+
length: int
|
|
174
|
+
nillable: bool
|
|
175
|
+
createable: bool
|
|
176
|
+
updateable: bool
|
|
177
|
+
custom: bool
|
|
178
|
+
|
|
179
|
+
# Boolean flags
|
|
180
|
+
aggregatable: bool
|
|
181
|
+
aiPredictionField: bool
|
|
182
|
+
autoNumber: bool
|
|
183
|
+
calculated: bool
|
|
184
|
+
caseSensitive: bool
|
|
185
|
+
dependentPicklist: bool
|
|
186
|
+
deprecatedAndHidden: bool
|
|
187
|
+
encrypted: bool
|
|
188
|
+
externalId: bool
|
|
189
|
+
filterable: bool
|
|
190
|
+
formulaTreatNullNumberAsZero: bool
|
|
191
|
+
groupable: bool
|
|
192
|
+
highScaleNumber: bool
|
|
193
|
+
htmlFormatted: bool
|
|
194
|
+
idLookup: bool
|
|
195
|
+
nameField: bool
|
|
196
|
+
namePointing: bool
|
|
197
|
+
permissionable: bool
|
|
198
|
+
polymorphicForeignKey: bool
|
|
199
|
+
queryByDistance: bool
|
|
200
|
+
restrictedPicklist: bool
|
|
201
|
+
searchPrefilterable: bool
|
|
202
|
+
sortable: bool
|
|
203
|
+
unique: bool
|
|
204
|
+
writeRequiresMasterRead: bool
|
|
205
|
+
|
|
206
|
+
# Numeric properties
|
|
207
|
+
byteLength: int
|
|
208
|
+
digits: int
|
|
209
|
+
precision: int
|
|
210
|
+
scale: int
|
|
211
|
+
|
|
212
|
+
# String properties
|
|
213
|
+
calculatedFormula: Optional[str]
|
|
214
|
+
compoundFieldName: Optional[str]
|
|
215
|
+
controllerName: Optional[str]
|
|
216
|
+
defaultValue: Optional[str]
|
|
217
|
+
defaultValueFormula: Optional[str]
|
|
218
|
+
extraTypeInfo: Optional[str]
|
|
219
|
+
inlineHelpText: Optional[str]
|
|
220
|
+
mask: Optional[str]
|
|
221
|
+
maskType: Optional[str]
|
|
222
|
+
referenceTargetField: Optional[str]
|
|
223
|
+
relationshipName: Optional[str]
|
|
224
|
+
soapType: str
|
|
225
|
+
|
|
226
|
+
# Boolean properties with defaults
|
|
227
|
+
cascadeDelete: bool
|
|
228
|
+
defaultedOnCreate: bool
|
|
229
|
+
displayLocationInDecimal: bool
|
|
230
|
+
restrictedDelete: bool
|
|
231
|
+
|
|
232
|
+
# Numeric properties
|
|
233
|
+
relationshipOrder: Optional[int]
|
|
234
|
+
|
|
235
|
+
# Array properties
|
|
236
|
+
picklistValues: List[PicklistValue]
|
|
237
|
+
referenceTo: List[str]
|
|
238
|
+
|
|
239
|
+
# Object properties
|
|
240
|
+
filteredLookupInfo: Optional[FilteredLookupInfo]
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
class SObjectDescribe(TypedDict):
|
|
244
|
+
"""Complete SObject describe information."""
|
|
245
|
+
|
|
246
|
+
# Basic properties
|
|
247
|
+
name: str
|
|
248
|
+
label: str
|
|
249
|
+
labelPlural: str
|
|
250
|
+
keyPrefix: Optional[str]
|
|
251
|
+
custom: bool
|
|
252
|
+
|
|
253
|
+
# Capabilities
|
|
254
|
+
activateable: bool
|
|
255
|
+
createable: bool
|
|
256
|
+
deletable: bool
|
|
257
|
+
mergeable: bool
|
|
258
|
+
queryable: bool
|
|
259
|
+
replicateable: bool
|
|
260
|
+
retrieveable: bool
|
|
261
|
+
searchable: bool
|
|
262
|
+
triggerable: bool
|
|
263
|
+
undeletable: bool
|
|
264
|
+
updateable: bool
|
|
265
|
+
|
|
266
|
+
# Layout and UI properties
|
|
267
|
+
compactLayoutable: bool
|
|
268
|
+
feedEnabled: bool
|
|
269
|
+
layoutable: bool
|
|
270
|
+
listviewable: bool
|
|
271
|
+
lookupLayoutable: bool
|
|
272
|
+
mruEnabled: bool
|
|
273
|
+
searchLayoutable: bool
|
|
274
|
+
|
|
275
|
+
# Advanced properties
|
|
276
|
+
customSetting: bool
|
|
277
|
+
deepCloneable: bool
|
|
278
|
+
deprecatedAndHidden: bool
|
|
279
|
+
hasSubtypes: bool
|
|
280
|
+
isInterface: bool
|
|
281
|
+
isSubtype: bool
|
|
282
|
+
|
|
283
|
+
# Optional properties
|
|
284
|
+
associateEntityType: Optional[str]
|
|
285
|
+
associateParentEntity: Optional[str]
|
|
286
|
+
defaultImplementation: Optional[str]
|
|
287
|
+
extendedBy: Optional[str]
|
|
288
|
+
extendsInterfaces: Optional[str]
|
|
289
|
+
implementedBy: Optional[str]
|
|
290
|
+
implementsInterfaces: Optional[str]
|
|
291
|
+
networkScopeFieldName: Optional[str]
|
|
292
|
+
sobjectDescribeOption: Optional[str]
|
|
293
|
+
|
|
294
|
+
# Array properties
|
|
295
|
+
actionOverrides: List[ActionOverride]
|
|
296
|
+
childRelationships: List[ChildRelationship]
|
|
297
|
+
fields: List[FieldInfo]
|
|
298
|
+
namedLayoutInfos: List[NamedLayoutInfo]
|
|
299
|
+
recordTypeInfos: List[RecordTypeInfo]
|
|
300
|
+
supportedScopes: List[ScopeInfo]
|
|
301
|
+
|
|
302
|
+
# URLs
|
|
303
|
+
urls: Dict[str, str]
|