/
source_salesforce_resource_sdk.go
140 lines (135 loc) · 4.83 KB
/
source_salesforce_resource_sdk.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
package provider
import (
"github.com/airbytehq/terraform-provider-airbyte/internal/sdk/pkg/models/shared"
"github.com/hashicorp/terraform-plugin-framework/types"
"time"
)
func (r *SourceSalesforceResourceModel) ToSharedSourceSalesforceCreateRequest() *shared.SourceSalesforceCreateRequest {
clientID := r.Configuration.ClientID.ValueString()
clientSecret := r.Configuration.ClientSecret.ValueString()
forceUseBulkAPI := new(bool)
if !r.Configuration.ForceUseBulkAPI.IsUnknown() && !r.Configuration.ForceUseBulkAPI.IsNull() {
*forceUseBulkAPI = r.Configuration.ForceUseBulkAPI.ValueBool()
} else {
forceUseBulkAPI = nil
}
isSandbox := new(bool)
if !r.Configuration.IsSandbox.IsUnknown() && !r.Configuration.IsSandbox.IsNull() {
*isSandbox = r.Configuration.IsSandbox.ValueBool()
} else {
isSandbox = nil
}
refreshToken := r.Configuration.RefreshToken.ValueString()
startDate := new(time.Time)
if !r.Configuration.StartDate.IsUnknown() && !r.Configuration.StartDate.IsNull() {
*startDate, _ = time.Parse(time.RFC3339Nano, r.Configuration.StartDate.ValueString())
} else {
startDate = nil
}
var streamsCriteria []shared.SourceSalesforceStreamsCriteria = nil
for _, streamsCriteriaItem := range r.Configuration.StreamsCriteria {
criteria := new(shared.SourceSalesforceSearchCriteria)
if !streamsCriteriaItem.Criteria.IsUnknown() && !streamsCriteriaItem.Criteria.IsNull() {
*criteria = shared.SourceSalesforceSearchCriteria(streamsCriteriaItem.Criteria.ValueString())
} else {
criteria = nil
}
value := streamsCriteriaItem.Value.ValueString()
streamsCriteria = append(streamsCriteria, shared.SourceSalesforceStreamsCriteria{
Criteria: criteria,
Value: value,
})
}
configuration := shared.SourceSalesforce{
ClientID: clientID,
ClientSecret: clientSecret,
ForceUseBulkAPI: forceUseBulkAPI,
IsSandbox: isSandbox,
RefreshToken: refreshToken,
StartDate: startDate,
StreamsCriteria: streamsCriteria,
}
definitionID := new(string)
if !r.DefinitionID.IsUnknown() && !r.DefinitionID.IsNull() {
*definitionID = r.DefinitionID.ValueString()
} else {
definitionID = nil
}
name := r.Name.ValueString()
secretID := new(string)
if !r.SecretID.IsUnknown() && !r.SecretID.IsNull() {
*secretID = r.SecretID.ValueString()
} else {
secretID = nil
}
workspaceID := r.WorkspaceID.ValueString()
out := shared.SourceSalesforceCreateRequest{
Configuration: configuration,
DefinitionID: definitionID,
Name: name,
SecretID: secretID,
WorkspaceID: workspaceID,
}
return &out
}
func (r *SourceSalesforceResourceModel) RefreshFromSharedSourceResponse(resp *shared.SourceResponse) {
r.Name = types.StringValue(resp.Name)
r.SourceID = types.StringValue(resp.SourceID)
r.SourceType = types.StringValue(resp.SourceType)
r.WorkspaceID = types.StringValue(resp.WorkspaceID)
}
func (r *SourceSalesforceResourceModel) ToSharedSourceSalesforcePutRequest() *shared.SourceSalesforcePutRequest {
clientID := r.Configuration.ClientID.ValueString()
clientSecret := r.Configuration.ClientSecret.ValueString()
forceUseBulkAPI := new(bool)
if !r.Configuration.ForceUseBulkAPI.IsUnknown() && !r.Configuration.ForceUseBulkAPI.IsNull() {
*forceUseBulkAPI = r.Configuration.ForceUseBulkAPI.ValueBool()
} else {
forceUseBulkAPI = nil
}
isSandbox := new(bool)
if !r.Configuration.IsSandbox.IsUnknown() && !r.Configuration.IsSandbox.IsNull() {
*isSandbox = r.Configuration.IsSandbox.ValueBool()
} else {
isSandbox = nil
}
refreshToken := r.Configuration.RefreshToken.ValueString()
startDate := new(time.Time)
if !r.Configuration.StartDate.IsUnknown() && !r.Configuration.StartDate.IsNull() {
*startDate, _ = time.Parse(time.RFC3339Nano, r.Configuration.StartDate.ValueString())
} else {
startDate = nil
}
var streamsCriteria []shared.StreamsCriteria = nil
for _, streamsCriteriaItem := range r.Configuration.StreamsCriteria {
criteria := new(shared.SearchCriteria)
if !streamsCriteriaItem.Criteria.IsUnknown() && !streamsCriteriaItem.Criteria.IsNull() {
*criteria = shared.SearchCriteria(streamsCriteriaItem.Criteria.ValueString())
} else {
criteria = nil
}
value := streamsCriteriaItem.Value.ValueString()
streamsCriteria = append(streamsCriteria, shared.StreamsCriteria{
Criteria: criteria,
Value: value,
})
}
configuration := shared.SourceSalesforceUpdate{
ClientID: clientID,
ClientSecret: clientSecret,
ForceUseBulkAPI: forceUseBulkAPI,
IsSandbox: isSandbox,
RefreshToken: refreshToken,
StartDate: startDate,
StreamsCriteria: streamsCriteria,
}
name := r.Name.ValueString()
workspaceID := r.WorkspaceID.ValueString()
out := shared.SourceSalesforcePutRequest{
Configuration: configuration,
Name: name,
WorkspaceID: workspaceID,
}
return &out
}