-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathapi_authentication.go
156 lines (113 loc) · 5.14 KB
/
api_authentication.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
152
153
154
155
156
/*
* api.video
*
* api.video is an API that encodes on the go to facilitate immediate playback, enhancing viewer streaming experiences across multiple devices and platforms. You can stream live or on-demand online videos within minutes.
*
* API version: 1
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package apivideosdk
import (
"context"
"net/http"
"net/url"
)
// Linger please
var (
_ context.Context
)
type AuthenticationServiceI interface {
/*
* Authenticate Authenticate
* @return AuthenticationApiAuthenticateRequest
*/
Authenticate(authenticatePayload AuthenticatePayload) (*AccessToken, error)
/*
* Authenticate Authenticate
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @return AuthenticationApiAuthenticateRequest
*/
AuthenticateWithContext(ctx context.Context, authenticatePayload AuthenticatePayload) (*AccessToken, error)
/*
* Refresh Refresh token
* @return AuthenticationApiRefreshRequest
*/
Refresh(refreshTokenPayload RefreshTokenPayload) (*AccessToken, error)
/*
* Refresh Refresh token
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @return AuthenticationApiRefreshRequest
*/
RefreshWithContext(ctx context.Context, refreshTokenPayload RefreshTokenPayload) (*AccessToken, error)
}
// AuthenticationService communicating with the Authentication
// endpoints of the api.video API
type AuthenticationService struct {
client *Client
}
/*
* Authenticate Authenticate
* To get started, submit your API key in the body of your request. api.video returns an access token that is valid for one hour (3600 seconds). A refresh token is also returned. View a [tutorial](https://api.video/blog/tutorials/authentication-tutorial) on authentication.
All tutorials using the [authentication endpoint](https://api.video/blog/endpoints/authenticate)
* @return AuthenticationApiAuthenticateRequest
*/
func (s *AuthenticationService) Authenticate(authenticatePayload AuthenticatePayload) (*AccessToken, error) {
return s.AuthenticateWithContext(context.Background(), authenticatePayload)
}
/*
* Authenticate Authenticate
* To get started, submit your API key in the body of your request. api.video returns an access token that is valid for one hour (3600 seconds). A refresh token is also returned. View a [tutorial](https://api.video/blog/tutorials/authentication-tutorial) on authentication.
All tutorials using the [authentication endpoint](https://api.video/blog/endpoints/authenticate)
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @return AuthenticationApiAuthenticateRequest
*/
func (s *AuthenticationService) AuthenticateWithContext(ctx context.Context, authenticatePayload AuthenticatePayload) (*AccessToken, error) {
var localVarPostBody interface{}
localVarPath := "/auth/api-key"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
// body params
localVarPostBody = authenticatePayload
req, err := s.client.prepareRequest(ctx, http.MethodPost, localVarPath, localVarPostBody, localVarHeaderParams, localVarQueryParams)
if err != nil {
return nil, err
}
res := new(AccessToken)
_, err = s.client.do(req, res)
if err != nil {
return nil, err
}
return res, nil
}
/*
* Refresh Refresh token
* Use the refresh endpoint with the refresh token you received when you first authenticated using the api-key endpoint. Send the refresh token in the body of your request. The api.video API returns a new access token that is valid for one hour (3600 seconds) and a new refresh token.
* @return AuthenticationApiRefreshRequest
*/
func (s *AuthenticationService) Refresh(refreshTokenPayload RefreshTokenPayload) (*AccessToken, error) {
return s.RefreshWithContext(context.Background(), refreshTokenPayload)
}
/*
* Refresh Refresh token
* Use the refresh endpoint with the refresh token you received when you first authenticated using the api-key endpoint. Send the refresh token in the body of your request. The api.video API returns a new access token that is valid for one hour (3600 seconds) and a new refresh token.
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @return AuthenticationApiRefreshRequest
*/
func (s *AuthenticationService) RefreshWithContext(ctx context.Context, refreshTokenPayload RefreshTokenPayload) (*AccessToken, error) {
var localVarPostBody interface{}
localVarPath := "/auth/refresh"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
// body params
localVarPostBody = refreshTokenPayload
req, err := s.client.prepareRequest(ctx, http.MethodPost, localVarPath, localVarPostBody, localVarHeaderParams, localVarQueryParams)
if err != nil {
return nil, err
}
res := new(AccessToken)
_, err = s.client.do(req, res)
if err != nil {
return nil, err
}
return res, nil
}