Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌿 Fern Regeneration -- July 4, 2024 #47

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 59 additions & 2 deletions acs/credentials.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ type CredentialsListRequest struct {
IsMultiPhoneSyncCredential *bool `json:"is_multi_phone_sync_credential,omitempty" url:"is_multi_phone_sync_credential,omitempty"`
}

type CredentialsListAccessibleEntrancesRequest struct {
AcsCredentialId string `json:"acs_credential_id" url:"acs_credential_id"`
}

type CredentialsAssignResponse struct {
AcsCredential *seamapigo.AcsCredential `json:"acs_credential,omitempty" url:"acs_credential,omitempty"`
Ok bool `json:"ok" url:"ok"`
Expand Down Expand Up @@ -247,6 +251,36 @@ func (c *CredentialsGetResponse) String() string {
return fmt.Sprintf("%#v", c)
}

type CredentialsListAccessibleEntrancesResponse struct {
AcsEntrances []*seamapigo.AcsEntrance `json:"acs_entrances,omitempty" url:"acs_entrances,omitempty"`
Ok bool `json:"ok" url:"ok"`

_rawJSON json.RawMessage
}

func (c *CredentialsListAccessibleEntrancesResponse) UnmarshalJSON(data []byte) error {
type unmarshaler CredentialsListAccessibleEntrancesResponse
var value unmarshaler
if err := json.Unmarshal(data, &value); err != nil {
return err
}
*c = CredentialsListAccessibleEntrancesResponse(value)
c._rawJSON = json.RawMessage(data)
return nil
}

func (c *CredentialsListAccessibleEntrancesResponse) String() string {
if len(c._rawJSON) > 0 {
if value, err := core.StringifyJSON(c._rawJSON); err == nil {
return value
}
}
if value, err := core.StringifyJSON(c); err == nil {
return value
}
return fmt.Sprintf("%#v", c)
}

type CredentialsListResponse struct {
AcsCredentials []*seamapigo.AcsCredential `json:"acs_credentials,omitempty" url:"acs_credentials,omitempty"`
Ok bool `json:"ok" url:"ok"`
Expand Down Expand Up @@ -343,6 +377,29 @@ type CredentialsUnassignRequest struct {
}

type CredentialsUpdateRequest struct {
AcsCredentialId string `json:"acs_credential_id" url:"acs_credential_id"`
Code string `json:"code" url:"code"`
AcsCredentialId string `json:"acs_credential_id" url:"acs_credential_id"`
Code *string `json:"code,omitempty" url:"code,omitempty"`
EndsAt *time.Time `json:"ends_at,omitempty" url:"ends_at,omitempty"`
}

func (c *CredentialsUpdateRequest) UnmarshalJSON(data []byte) error {
type unmarshaler CredentialsUpdateRequest
var body unmarshaler
if err := json.Unmarshal(data, &body); err != nil {
return err
}
*c = CredentialsUpdateRequest(body)
return nil
}

func (c *CredentialsUpdateRequest) MarshalJSON() ([]byte, error) {
type embed CredentialsUpdateRequest
var marshaler = struct {
embed
EndsAt *core.DateTime `json:"ends_at,omitempty"`
}{
embed: embed(*c),
EndsAt: core.NewOptionalDateTime(c.EndsAt),
}
return json.Marshal(marshaler)
}
63 changes: 63 additions & 0 deletions acs/credentials/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,69 @@ func (c *Client) List(
return response.AcsCredentials, nil
}

func (c *Client) ListAccessibleEntrances(
ctx context.Context,
request *acs.CredentialsListAccessibleEntrancesRequest,
opts ...option.RequestOption,
) ([]*seamapigo.AcsEntrance, error) {
options := core.NewRequestOptions(opts...)

baseURL := "https://connect.getseam.com"
if c.baseURL != "" {
baseURL = c.baseURL
}
if options.BaseURL != "" {
baseURL = options.BaseURL
}
endpointURL := baseURL + "/" + "acs/credentials/list_accessible_entrances"

headers := core.MergeHeaders(c.header.Clone(), options.ToHeader())

errorDecoder := func(statusCode int, body io.Reader) error {
raw, err := io.ReadAll(body)
if err != nil {
return err
}
apiError := core.NewAPIError(statusCode, errors.New(string(raw)))
decoder := json.NewDecoder(bytes.NewReader(raw))
switch statusCode {
case 400:
value := new(seamapigo.BadRequestError)
value.APIError = apiError
if err := decoder.Decode(value); err != nil {
return apiError
}
return value
case 401:
value := new(seamapigo.UnauthorizedError)
value.APIError = apiError
if err := decoder.Decode(value); err != nil {
return apiError
}
return value
}
return apiError
}

var response *acs.CredentialsListAccessibleEntrancesResponse
if err := c.caller.Call(
ctx,
&core.CallParams{
URL: endpointURL,
Method: http.MethodPost,
MaxAttempts: options.MaxAttempts,
Headers: headers,
Client: options.HTTPClient,
Request: request,
Response: &response,
ErrorDecoder: errorDecoder,
},
); err != nil {
return nil, err
}
return response.AcsEntrances, nil
}

func (c *Client) Unassign(
ctx context.Context,
request *acs.CredentialsUnassignRequest,
Expand Down
34 changes: 34 additions & 0 deletions acs/systems.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ type SystemsListRequest struct {
ConnectedAccountId *string `json:"connected_account_id,omitempty" url:"connected_account_id,omitempty"`
}

type SystemsListCompatibleCredentialManagerAcsSystemsRequest struct {
AcsSystemId string `json:"acs_system_id" url:"acs_system_id"`
}

type SystemsGetResponse struct {
AcsSystem *seamapigo.AcsSystem `json:"acs_system,omitempty" url:"acs_system,omitempty"`
Ok bool `json:"ok" url:"ok"`
Expand Down Expand Up @@ -47,6 +51,36 @@ func (s *SystemsGetResponse) String() string {
return fmt.Sprintf("%#v", s)
}

type SystemsListCompatibleCredentialManagerAcsSystemsResponse struct {
AcsSystems []*seamapigo.AcsSystem `json:"acs_systems,omitempty" url:"acs_systems,omitempty"`
Ok bool `json:"ok" url:"ok"`

_rawJSON json.RawMessage
}

func (s *SystemsListCompatibleCredentialManagerAcsSystemsResponse) UnmarshalJSON(data []byte) error {
type unmarshaler SystemsListCompatibleCredentialManagerAcsSystemsResponse
var value unmarshaler
if err := json.Unmarshal(data, &value); err != nil {
return err
}
*s = SystemsListCompatibleCredentialManagerAcsSystemsResponse(value)
s._rawJSON = json.RawMessage(data)
return nil
}

func (s *SystemsListCompatibleCredentialManagerAcsSystemsResponse) String() string {
if len(s._rawJSON) > 0 {
if value, err := core.StringifyJSON(s._rawJSON); err == nil {
return value
}
}
if value, err := core.StringifyJSON(s); err == nil {
return value
}
return fmt.Sprintf("%#v", s)
}

type SystemsListResponse struct {
AcsSystems []*seamapigo.AcsSystem `json:"acs_systems,omitempty" url:"acs_systems,omitempty"`
Ok bool `json:"ok" url:"ok"`
Expand Down
63 changes: 63 additions & 0 deletions acs/systems/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,66 @@ func (c *Client) List(
}
return response.AcsSystems, nil
}

func (c *Client) ListCompatibleCredentialManagerAcsSystems(
ctx context.Context,
request *acs.SystemsListCompatibleCredentialManagerAcsSystemsRequest,
opts ...option.RequestOption,
) ([]*seamapigo.AcsSystem, error) {
options := core.NewRequestOptions(opts...)

baseURL := "https://connect.getseam.com"
if c.baseURL != "" {
baseURL = c.baseURL
}
if options.BaseURL != "" {
baseURL = options.BaseURL
}
endpointURL := baseURL + "/" + "acs/systems/list_compatible_credential_manager_acs_systems"

headers := core.MergeHeaders(c.header.Clone(), options.ToHeader())

errorDecoder := func(statusCode int, body io.Reader) error {
raw, err := io.ReadAll(body)
if err != nil {
return err
}
apiError := core.NewAPIError(statusCode, errors.New(string(raw)))
decoder := json.NewDecoder(bytes.NewReader(raw))
switch statusCode {
case 400:
value := new(seamapigo.BadRequestError)
value.APIError = apiError
if err := decoder.Decode(value); err != nil {
return apiError
}
return value
case 401:
value := new(seamapigo.UnauthorizedError)
value.APIError = apiError
if err := decoder.Decode(value); err != nil {
return apiError
}
return value
}
return apiError
}

var response *acs.SystemsListCompatibleCredentialManagerAcsSystemsResponse
if err := c.caller.Call(
ctx,
&core.CallParams{
URL: endpointURL,
Method: http.MethodPost,
MaxAttempts: options.MaxAttempts,
Headers: headers,
Client: options.HTTPClient,
Request: request,
Response: &response,
ErrorDecoder: errorDecoder,
},
); err != nil {
return nil, err
}
return response.AcsSystems, nil
}
1 change: 1 addition & 0 deletions connect_webviews.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ type ConnectWebviewsListRequest struct {
UserIdentifierKey *string `json:"user_identifier_key,omitempty" url:"user_identifier_key,omitempty"`
// Returns devices where the webview's custom_metadata contains all of the provided key/value pairs.
CustomMetadataHas map[string]*ConnectWebviewsListRequestCustomMetadataHasValue `json:"custom_metadata_has,omitempty" url:"custom_metadata_has,omitempty"`
Limit *float64 `json:"limit,omitempty" url:"limit,omitempty"`
}

type AcceptedProvider string
Expand Down
2 changes: 1 addition & 1 deletion core/request_option.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func (r *RequestOptions) cloneHeader() http.Header {
headers := r.HTTPHeader.Clone()
headers.Set("X-Fern-Language", "Go")
headers.Set("X-Fern-SDK-Name", "github.com/seamapi/go")
headers.Set("X-Fern-SDK-Version", "v0.3.4")
headers.Set("X-Fern-SDK-Version", "v0.3.6")
return headers
}

Expand Down
12 changes: 12 additions & 0 deletions devices.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,8 @@ const (
DevicesListRequestExcludeIfItemCanProgramOfflineAccessCodes DevicesListRequestExcludeIfItem = "can_program_offline_access_codes"
DevicesListRequestExcludeIfItemCanProgramOnlineAccessCodes DevicesListRequestExcludeIfItem = "can_program_online_access_codes"
DevicesListRequestExcludeIfItemCanSimulateRemoval DevicesListRequestExcludeIfItem = "can_simulate_removal"
DevicesListRequestExcludeIfItemCanSimulateConnection DevicesListRequestExcludeIfItem = "can_simulate_connection"
DevicesListRequestExcludeIfItemCanSimulateDisconnection DevicesListRequestExcludeIfItem = "can_simulate_disconnection"
)

func NewDevicesListRequestExcludeIfItemFromString(s string) (DevicesListRequestExcludeIfItem, error) {
Expand All @@ -229,6 +231,10 @@ func NewDevicesListRequestExcludeIfItemFromString(s string) (DevicesListRequestE
return DevicesListRequestExcludeIfItemCanProgramOnlineAccessCodes, nil
case "can_simulate_removal":
return DevicesListRequestExcludeIfItemCanSimulateRemoval, nil
case "can_simulate_connection":
return DevicesListRequestExcludeIfItemCanSimulateConnection, nil
case "can_simulate_disconnection":
return DevicesListRequestExcludeIfItemCanSimulateDisconnection, nil
}
var t DevicesListRequestExcludeIfItem
return "", fmt.Errorf("%s is not a valid %T", s, t)
Expand All @@ -246,6 +252,8 @@ const (
DevicesListRequestIncludeIfItemCanProgramOfflineAccessCodes DevicesListRequestIncludeIfItem = "can_program_offline_access_codes"
DevicesListRequestIncludeIfItemCanProgramOnlineAccessCodes DevicesListRequestIncludeIfItem = "can_program_online_access_codes"
DevicesListRequestIncludeIfItemCanSimulateRemoval DevicesListRequestIncludeIfItem = "can_simulate_removal"
DevicesListRequestIncludeIfItemCanSimulateConnection DevicesListRequestIncludeIfItem = "can_simulate_connection"
DevicesListRequestIncludeIfItemCanSimulateDisconnection DevicesListRequestIncludeIfItem = "can_simulate_disconnection"
)

func NewDevicesListRequestIncludeIfItemFromString(s string) (DevicesListRequestIncludeIfItem, error) {
Expand All @@ -260,6 +268,10 @@ func NewDevicesListRequestIncludeIfItemFromString(s string) (DevicesListRequestI
return DevicesListRequestIncludeIfItemCanProgramOnlineAccessCodes, nil
case "can_simulate_removal":
return DevicesListRequestIncludeIfItemCanSimulateRemoval, nil
case "can_simulate_connection":
return DevicesListRequestIncludeIfItemCanSimulateConnection, nil
case "can_simulate_disconnection":
return DevicesListRequestIncludeIfItemCanSimulateDisconnection, nil
}
var t DevicesListRequestIncludeIfItem
return "", fmt.Errorf("%s is not a valid %T", s, t)
Expand Down
66 changes: 66 additions & 0 deletions devices/simulate.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,76 @@ import (
core "github.com/seamapi/go/core"
)

type SimulateConnectRequest struct {
DeviceId string `json:"device_id" url:"device_id"`
}

type SimulateDisconnectRequest struct {
DeviceId string `json:"device_id" url:"device_id"`
}

type SimulateRemoveRequest struct {
DeviceId string `json:"device_id" url:"device_id"`
}

type SimulateConnectResponse struct {
Ok bool `json:"ok" url:"ok"`

_rawJSON json.RawMessage
}

func (s *SimulateConnectResponse) UnmarshalJSON(data []byte) error {
type unmarshaler SimulateConnectResponse
var value unmarshaler
if err := json.Unmarshal(data, &value); err != nil {
return err
}
*s = SimulateConnectResponse(value)
s._rawJSON = json.RawMessage(data)
return nil
}

func (s *SimulateConnectResponse) String() string {
if len(s._rawJSON) > 0 {
if value, err := core.StringifyJSON(s._rawJSON); err == nil {
return value
}
}
if value, err := core.StringifyJSON(s); err == nil {
return value
}
return fmt.Sprintf("%#v", s)
}

type SimulateDisconnectResponse struct {
Ok bool `json:"ok" url:"ok"`

_rawJSON json.RawMessage
}

func (s *SimulateDisconnectResponse) UnmarshalJSON(data []byte) error {
type unmarshaler SimulateDisconnectResponse
var value unmarshaler
if err := json.Unmarshal(data, &value); err != nil {
return err
}
*s = SimulateDisconnectResponse(value)
s._rawJSON = json.RawMessage(data)
return nil
}

func (s *SimulateDisconnectResponse) String() string {
if len(s._rawJSON) > 0 {
if value, err := core.StringifyJSON(s._rawJSON); err == nil {
return value
}
}
if value, err := core.StringifyJSON(s); err == nil {
return value
}
return fmt.Sprintf("%#v", s)
}

type SimulateRemoveResponse struct {
Ok bool `json:"ok" url:"ok"`

Expand Down
Loading
Loading