-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpost_accounts_export_gross_daily.go
151 lines (123 loc) · 4.93 KB
/
post_accounts_export_gross_daily.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
141
142
143
144
145
146
147
148
149
150
151
package apaleo
import (
"net/http"
"net/url"
"github.com/omniboost/go-apaleo/utils"
)
func (c *Client) NewPostAccountsExportGrossDailyRequest() PostAccountsExportGrossDailyRequest {
return PostAccountsExportGrossDailyRequest{
client: c,
queryParams: c.NewPostAccountsExportGrossDailyQueryParams(),
pathParams: c.NewPostAccountsExportGrossDailyPathParams(),
method: http.MethodPost,
headers: http.Header{},
requestBody: c.NewPostAccountsExportGrossDailyRequestBody(),
}
}
type PostAccountsExportGrossDailyRequest struct {
client *Client
queryParams *PostAccountsExportGrossDailyQueryParams
pathParams *PostAccountsExportGrossDailyPathParams
method string
headers http.Header
requestBody PostAccountsExportGrossDailyRequestBody
}
func (c *Client) NewPostAccountsExportGrossDailyQueryParams() *PostAccountsExportGrossDailyQueryParams {
return &PostAccountsExportGrossDailyQueryParams{}
}
type PostAccountsExportGrossDailyQueryParams struct {
// Specifies the property for which transactions will be exported
PropertyID string `schema:"propertyId"`
// The inclusive start time of the posting date. Either posting date or
// business date interval should be specified.
// Specify a date and time (without fractional second part) in UTC or with
// UTC offset as defined in the ISO8601:2004
From Date `schema:"from"`
// The exclusive end time of the posting date. Either posting date or
// business date interval should be specified.
// Specify a date and time (without fractional second part) in UTC or with
// UTC offset as defined in the ISO8601:2004
To Date `schema:"to"`
// Filter transactions by reference (reservation id/external folio id/property id for house folio).
Reference string `schema:"reference,omitempty"`
// Allows to override the default accounting schema. Only specify this, when
// you know what you are doing.
AccountingSchema AccountingSchema `schema:"accountingSchema,omitempty"`
// Unique key for safely retrying requests without accidentally performing
// the same operation twice. We'll always send back the same response for
// requests made with the same key, and keys can't be reused with different
// request parameters. Keys expire after 24 hours.
IdempotencyKey string `schema:"Idempotency-Key,omitempty"`
}
func (p PostAccountsExportGrossDailyQueryParams) ToURLValues() (url.Values, error) {
encoder := utils.NewSchemaEncoder()
encoder.RegisterEncoder(Date{}, utils.EncodeSchemaMarshaler)
encoder.RegisterEncoder(DateTime{}, utils.EncodeSchemaMarshaler)
params := url.Values{}
err := encoder.Encode(p, params)
if err != nil {
return params, err
}
return params, nil
}
func (r *PostAccountsExportGrossDailyRequest) QueryParams() *PostAccountsExportGrossDailyQueryParams {
return r.queryParams
}
func (c *Client) NewPostAccountsExportGrossDailyPathParams() *PostAccountsExportGrossDailyPathParams {
return &PostAccountsExportGrossDailyPathParams{}
}
type PostAccountsExportGrossDailyPathParams struct {
}
func (p *PostAccountsExportGrossDailyPathParams) Params() map[string]string {
return map[string]string{}
}
func (r *PostAccountsExportGrossDailyRequest) PathParams() *PostAccountsExportGrossDailyPathParams {
return r.pathParams
}
func (r *PostAccountsExportGrossDailyRequest) PathParamsInterface() PathParams {
return r.pathParams
}
func (r *PostAccountsExportGrossDailyRequest) SetMethod(method string) {
r.method = method
}
func (r *PostAccountsExportGrossDailyRequest) Method() string {
return r.method
}
func (s *Client) NewPostAccountsExportGrossDailyRequestBody() PostAccountsExportGrossDailyRequestBody {
return PostAccountsExportGrossDailyRequestBody{}
}
type PostAccountsExportGrossDailyRequestBody struct {
CreateCompanyModel
}
func (r *PostAccountsExportGrossDailyRequest) RequestBody() *PostAccountsExportGrossDailyRequestBody {
return &r.requestBody
}
func (r *PostAccountsExportGrossDailyRequest) RequestBodyInterface() interface{} {
return &r.requestBody
}
func (r *PostAccountsExportGrossDailyRequest) SetRequestBody(body PostAccountsExportGrossDailyRequestBody) {
r.requestBody = body
}
func (r *PostAccountsExportGrossDailyRequest) NewResponseBody() *PostAccountsExportGrossDailyResponseBody {
return &PostAccountsExportGrossDailyResponseBody{}
}
type PostAccountsExportGrossDailyResponseBody PostAccountsExportGrossDailyModel
func (r *PostAccountsExportGrossDailyRequest) URL() *url.URL {
u := r.client.GetEndpointURL("finance/v1/accounts/export-gross-daily", r.PathParams())
return &u
}
func (r *PostAccountsExportGrossDailyRequest) Do() (PostAccountsExportGrossDailyResponseBody, error) {
// Create http request
req, err := r.client.NewRequest(nil, r)
if err != nil {
return *r.NewResponseBody(), err
}
// Process query parameters
err = utils.AddQueryParamsToRequest(r.QueryParams(), req, true)
if err != nil {
return *r.NewResponseBody(), err
}
responseBody := r.NewResponseBody()
_, err = r.client.Do(req, responseBody)
return *responseBody, err
}