-
Notifications
You must be signed in to change notification settings - Fork 0
/
authress.go
62 lines (55 loc) · 2 KB
/
authress.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
package authress
import (
"net/http"
. "github.com/authress/authress-sdk.go/apis"
)
// Authress manages communication with the Authress API vv1
// In most cases there should be only one, shared, Authress.
type AuthressClient struct {
authressSettings *AuthressSettings
// API Services
AccessRecords *AccessRecordsApi
Accounts *AccountsApi
Applications *ApplicationsApi
Connections *ConnectionsApi
Extensions *ExtensionsApi
Groups *GroupsApi
Invites *InvitesApi
ResourcePermissions *ResourcePermissionsApi
Roles *RolesApi
ServiceClients *ServiceClientsApi
Tenants *TenantsApi
UserPermissions *UserPermissionsApi
Users *UsersApi
}
// New creates a new Authress API client.
func NewAuthressClient(authressSettings AuthressSettings) *AuthressClient {
httpClient := HttpClient{
InternalClient: http.DefaultClient,
ClientConfiguration: &Configuration{
Version: GetBuildInfo().Version,
UserAgent: authressSettings.UserAgent,
Scheme: authressSettings.AuthressApiUrl.Scheme,
Host: authressSettings.AuthressApiUrl.Host,
},
}
authressClient := AuthressClient{
// API Services
AccessRecords: &AccessRecordsApi{
Client: &httpClient,
},
Accounts: &AccountsApi{Client: &httpClient},
Applications: &ApplicationsApi{Client: &httpClient},
Connections: &ConnectionsApi{Client: &httpClient},
Extensions: &ExtensionsApi{Client: &httpClient},
Groups: &GroupsApi{Client: &httpClient},
Invites: &InvitesApi{Client: &httpClient},
ResourcePermissions: &ResourcePermissionsApi{Client: &httpClient},
Roles: &RolesApi{Client: &httpClient},
ServiceClients: &ServiceClientsApi{Client: &httpClient},
Tenants: &TenantsApi{Client: &httpClient},
UserPermissions: &UserPermissionsApi{Client: &httpClient},
Users: &UsersApi{Client: &httpClient},
}
return &authressClient
}