Skip to content

Commit

Permalink
SDK regeneration
Browse files Browse the repository at this point in the history
  • Loading branch information
fern-api[bot] committed Jan 12, 2024
1 parent f4af2c5 commit 797db97
Show file tree
Hide file tree
Showing 52 changed files with 4,287 additions and 1,745 deletions.
184 changes: 161 additions & 23 deletions access_codes.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,22 @@ import (
)

type AccessCodesCreateRequest struct {
DeviceId string `json:"device_id"`
Name *string `json:"name,omitempty"`
StartsAt *string `json:"starts_at,omitempty"`
EndsAt *string `json:"ends_at,omitempty"`
Code *string `json:"code,omitempty"`
Sync *bool `json:"sync,omitempty"`
AttemptForOfflineDevice *bool `json:"attempt_for_offline_device,omitempty"`
CommonCodeKey *string `json:"common_code_key,omitempty"`
PreferNativeScheduling *bool `json:"prefer_native_scheduling,omitempty"`
UseBackupAccessCodePool *bool `json:"use_backup_access_code_pool,omitempty"`
DeviceId string `json:"device_id"`
Name *string `json:"name,omitempty"`
StartsAt *string `json:"starts_at,omitempty"`
EndsAt *string `json:"ends_at,omitempty"`
Code *string `json:"code,omitempty"`
Sync *bool `json:"sync,omitempty"`
AttemptForOfflineDevice *bool `json:"attempt_for_offline_device,omitempty"`
CommonCodeKey *string `json:"common_code_key,omitempty"`
PreferNativeScheduling *bool `json:"prefer_native_scheduling,omitempty"`
UseBackupAccessCodePool *bool `json:"use_backup_access_code_pool,omitempty"`
AllowExternalModification *bool `json:"allow_external_modification,omitempty"`
IsExternalModificationAllowed *bool `json:"is_external_modification_allowed,omitempty"`
UseOfflineAccessCode *bool `json:"use_offline_access_code,omitempty"`
IsOfflineAccessCode *bool `json:"is_offline_access_code,omitempty"`
IsOneTimeUse *bool `json:"is_one_time_use,omitempty"`
MaxTimeRounding *AccessCodesCreateRequestMaxTimeRounding `json:"max_time_rounding,omitempty"`
}

type AccessCodesCreateMultipleRequest struct {
Expand All @@ -31,6 +37,12 @@ type AccessCodesCreateMultipleRequest struct {
AttemptForOfflineDevice *bool `json:"attempt_for_offline_device,omitempty"`
PreferNativeScheduling *bool `json:"prefer_native_scheduling,omitempty"`
UseBackupAccessCodePool *bool `json:"use_backup_access_code_pool,omitempty"`
AllowExternalModification *bool `json:"allow_external_modification,omitempty"`
IsExternalModificationAllowed *bool `json:"is_external_modification_allowed,omitempty"`
UseOfflineAccessCode *bool `json:"use_offline_access_code,omitempty"`
IsOfflineAccessCode *bool `json:"is_offline_access_code,omitempty"`
IsOneTimeUse *bool `json:"is_one_time_use,omitempty"`
MaxTimeRounding *AccessCodesCreateMultipleRequestMaxTimeRounding `json:"max_time_rounding,omitempty"`
}

type AccessCodesDeleteRequest struct {
Expand All @@ -39,15 +51,20 @@ type AccessCodesDeleteRequest struct {
Sync *bool `json:"sync,omitempty"`
}

type AccessCodesGenerateCodeRequest struct {
DeviceId string `json:"device_id"`
}

type AccessCodesGetRequest struct {
DeviceId *string `json:"device_id,omitempty"`
AccessCodeId *string `json:"access_code_id,omitempty"`
Code *string `json:"code,omitempty"`
}

type AccessCodesListRequest struct {
DeviceId string `json:"device_id"`
AccessCodeIds []string `json:"access_code_ids,omitempty"`
DeviceId string `json:"device_id"`
AccessCodeIds []string `json:"access_code_ids,omitempty"`
UserIdentifierKey *string `json:"user_identifier_key,omitempty"`
}

type AccessCodesPullBackupAccessCodeRequest struct {
Expand Down Expand Up @@ -76,6 +93,34 @@ func (a AccessCodesCreateMultipleRequestBehaviorWhenCodeCannotBeShared) Ptr() *A
return &a
}

type AccessCodesCreateMultipleRequestMaxTimeRounding string

const (
AccessCodesCreateMultipleRequestMaxTimeRoundingOneHour AccessCodesCreateMultipleRequestMaxTimeRounding = "1hour"
AccessCodesCreateMultipleRequestMaxTimeRoundingOneDay AccessCodesCreateMultipleRequestMaxTimeRounding = "1day"
AccessCodesCreateMultipleRequestMaxTimeRoundingOneH AccessCodesCreateMultipleRequestMaxTimeRounding = "1h"
AccessCodesCreateMultipleRequestMaxTimeRoundingOneD AccessCodesCreateMultipleRequestMaxTimeRounding = "1d"
)

func NewAccessCodesCreateMultipleRequestMaxTimeRoundingFromString(s string) (AccessCodesCreateMultipleRequestMaxTimeRounding, error) {
switch s {
case "1hour":
return AccessCodesCreateMultipleRequestMaxTimeRoundingOneHour, nil
case "1day":
return AccessCodesCreateMultipleRequestMaxTimeRoundingOneDay, nil
case "1h":
return AccessCodesCreateMultipleRequestMaxTimeRoundingOneH, nil
case "1d":
return AccessCodesCreateMultipleRequestMaxTimeRoundingOneD, nil
}
var t AccessCodesCreateMultipleRequestMaxTimeRounding
return "", fmt.Errorf("%s is not a valid %T", s, t)
}

func (a AccessCodesCreateMultipleRequestMaxTimeRounding) Ptr() *AccessCodesCreateMultipleRequestMaxTimeRounding {
return &a
}

type AccessCodesCreateMultipleResponse struct {
AccessCodes []*AccessCode `json:"access_codes,omitempty"`
Ok bool `json:"ok"`
Expand Down Expand Up @@ -106,6 +151,34 @@ func (a *AccessCodesCreateMultipleResponse) String() string {
return fmt.Sprintf("%#v", a)
}

type AccessCodesCreateRequestMaxTimeRounding string

const (
AccessCodesCreateRequestMaxTimeRoundingOneHour AccessCodesCreateRequestMaxTimeRounding = "1hour"
AccessCodesCreateRequestMaxTimeRoundingOneDay AccessCodesCreateRequestMaxTimeRounding = "1day"
AccessCodesCreateRequestMaxTimeRoundingOneH AccessCodesCreateRequestMaxTimeRounding = "1h"
AccessCodesCreateRequestMaxTimeRoundingOneD AccessCodesCreateRequestMaxTimeRounding = "1d"
)

func NewAccessCodesCreateRequestMaxTimeRoundingFromString(s string) (AccessCodesCreateRequestMaxTimeRounding, error) {
switch s {
case "1hour":
return AccessCodesCreateRequestMaxTimeRoundingOneHour, nil
case "1day":
return AccessCodesCreateRequestMaxTimeRoundingOneDay, nil
case "1h":
return AccessCodesCreateRequestMaxTimeRoundingOneH, nil
case "1d":
return AccessCodesCreateRequestMaxTimeRoundingOneD, nil
}
var t AccessCodesCreateRequestMaxTimeRounding
return "", fmt.Errorf("%s is not a valid %T", s, t)
}

func (a AccessCodesCreateRequestMaxTimeRounding) Ptr() *AccessCodesCreateRequestMaxTimeRounding {
return &a
}

type AccessCodesCreateResponse struct {
ActionAttempt *ActionAttempt `json:"action_attempt,omitempty"`
AccessCode *AccessCode `json:"access_code,omitempty"`
Expand Down Expand Up @@ -167,6 +240,36 @@ func (a *AccessCodesDeleteResponse) String() string {
return fmt.Sprintf("%#v", a)
}

type AccessCodesGenerateCodeResponse struct {
GeneratedCode *AccessCode `json:"generated_code,omitempty"`
Ok bool `json:"ok"`

_rawJSON json.RawMessage
}

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

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

type AccessCodesGetResponse struct {
AccessCode *AccessCode `json:"access_code,omitempty"`
Ok bool `json:"ok"`
Expand Down Expand Up @@ -257,6 +360,34 @@ func (a *AccessCodesPullBackupAccessCodeResponse) String() string {
return fmt.Sprintf("%#v", a)
}

type AccessCodesUpdateRequestMaxTimeRounding string

const (
AccessCodesUpdateRequestMaxTimeRoundingOneHour AccessCodesUpdateRequestMaxTimeRounding = "1hour"
AccessCodesUpdateRequestMaxTimeRoundingOneDay AccessCodesUpdateRequestMaxTimeRounding = "1day"
AccessCodesUpdateRequestMaxTimeRoundingOneH AccessCodesUpdateRequestMaxTimeRounding = "1h"
AccessCodesUpdateRequestMaxTimeRoundingOneD AccessCodesUpdateRequestMaxTimeRounding = "1d"
)

func NewAccessCodesUpdateRequestMaxTimeRoundingFromString(s string) (AccessCodesUpdateRequestMaxTimeRounding, error) {
switch s {
case "1hour":
return AccessCodesUpdateRequestMaxTimeRoundingOneHour, nil
case "1day":
return AccessCodesUpdateRequestMaxTimeRoundingOneDay, nil
case "1h":
return AccessCodesUpdateRequestMaxTimeRoundingOneH, nil
case "1d":
return AccessCodesUpdateRequestMaxTimeRoundingOneD, nil
}
var t AccessCodesUpdateRequestMaxTimeRounding
return "", fmt.Errorf("%s is not a valid %T", s, t)
}

func (a AccessCodesUpdateRequestMaxTimeRounding) Ptr() *AccessCodesUpdateRequestMaxTimeRounding {
return &a
}

type AccessCodesUpdateRequestType string

const (
Expand Down Expand Up @@ -310,15 +441,22 @@ func (a *AccessCodesUpdateResponse) String() string {
}

type AccessCodesUpdateRequest struct {
Name *string `json:"name,omitempty"`
StartsAt *string `json:"starts_at,omitempty"`
EndsAt *string `json:"ends_at,omitempty"`
Code *string `json:"code,omitempty"`
Sync *bool `json:"sync,omitempty"`
AttemptForOfflineDevice *bool `json:"attempt_for_offline_device,omitempty"`
PreferNativeScheduling *bool `json:"prefer_native_scheduling,omitempty"`
UseBackupAccessCodePool *bool `json:"use_backup_access_code_pool,omitempty"`
AccessCodeId string `json:"access_code_id"`
DeviceId *string `json:"device_id,omitempty"`
Type *AccessCodesUpdateRequestType `json:"type,omitempty"`
Name *string `json:"name,omitempty"`
StartsAt *string `json:"starts_at,omitempty"`
EndsAt *string `json:"ends_at,omitempty"`
Code *string `json:"code,omitempty"`
Sync *bool `json:"sync,omitempty"`
AttemptForOfflineDevice *bool `json:"attempt_for_offline_device,omitempty"`
PreferNativeScheduling *bool `json:"prefer_native_scheduling,omitempty"`
UseBackupAccessCodePool *bool `json:"use_backup_access_code_pool,omitempty"`
AllowExternalModification *bool `json:"allow_external_modification,omitempty"`
IsExternalModificationAllowed *bool `json:"is_external_modification_allowed,omitempty"`
UseOfflineAccessCode *bool `json:"use_offline_access_code,omitempty"`
IsOfflineAccessCode *bool `json:"is_offline_access_code,omitempty"`
IsOneTimeUse *bool `json:"is_one_time_use,omitempty"`
MaxTimeRounding *AccessCodesUpdateRequestMaxTimeRounding `json:"max_time_rounding,omitempty"`
AccessCodeId string `json:"access_code_id"`
DeviceId *string `json:"device_id,omitempty"`
Type *AccessCodesUpdateRequestType `json:"type,omitempty"`
IsManaged *bool `json:"is_managed,omitempty"`
}
52 changes: 51 additions & 1 deletion accesscodes/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ func (c *Client) Delete(ctx context.Context, request *seamapigo.AccessCodesDelet
ctx,
&core.CallParams{
URL: endpointURL,
Method: http.MethodDelete,
Method: http.MethodPost,
Headers: c.header,
Request: request,
Response: &response,
Expand All @@ -188,6 +188,56 @@ func (c *Client) Delete(ctx context.Context, request *seamapigo.AccessCodesDelet
return response.ActionAttempt, nil
}

func (c *Client) GenerateCode(ctx context.Context, request *seamapigo.AccessCodesGenerateCodeRequest) (*seamapigo.AccessCode, error) {
baseURL := "https://connect.getseam.com"
if c.baseURL != "" {
baseURL = c.baseURL
}
endpointURL := baseURL + "/" + "access_codes/generate_code"

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 *seamapigo.AccessCodesGenerateCodeResponse
if err := c.caller.Call(
ctx,
&core.CallParams{
URL: endpointURL,
Method: http.MethodPost,
Headers: c.header,
Request: request,
Response: &response,
ErrorDecoder: errorDecoder,
},
); err != nil {
return nil, err
}
return response.GeneratedCode, nil
}

func (c *Client) Get(ctx context.Context, request *seamapigo.AccessCodesGetRequest) (*seamapigo.AccessCode, error) {
baseURL := "https://connect.getseam.com"
if c.baseURL != "" {
Expand Down
37 changes: 37 additions & 0 deletions accesscodes/simulate.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,45 @@

package accesscodes

import (
json "encoding/json"
fmt "fmt"
seamapigo "github.com/seamapi/go"
core "github.com/seamapi/go/core"
)

type SimulateCreateUnmanagedAccessCodeRequest struct {
DeviceId string `json:"device_id"`
Name string `json:"name"`
Code string `json:"code"`
}

type SimulateCreateUnmanagedAccessCodeResponse struct {
AccessCode *seamapigo.UnmanagedAccessCode `json:"access_code,omitempty"`
Ok bool `json:"ok"`

_rawJSON json.RawMessage
}

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

func (s *SimulateCreateUnmanagedAccessCodeResponse) 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)
}
6 changes: 3 additions & 3 deletions accesscodes/simulate/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func NewClient(opts ...core.ClientOption) *Client {
}
}

func (c *Client) CreateUnmanagedAccessCode(ctx context.Context, request *accesscodes.SimulateCreateUnmanagedAccessCodeRequest) (*seamapigo.SimulateCreateUnmanagedAccessCodeResponse, error) {
func (c *Client) CreateUnmanagedAccessCode(ctx context.Context, request *accesscodes.SimulateCreateUnmanagedAccessCodeRequest) (*seamapigo.UnmanagedAccessCode, error) {
baseURL := "https://connect.getseam.com"
if c.baseURL != "" {
baseURL = c.baseURL
Expand Down Expand Up @@ -65,7 +65,7 @@ func (c *Client) CreateUnmanagedAccessCode(ctx context.Context, request *accessc
return apiError
}

var response *seamapigo.SimulateCreateUnmanagedAccessCodeResponse
var response *accesscodes.SimulateCreateUnmanagedAccessCodeResponse
if err := c.caller.Call(
ctx,
&core.CallParams{
Expand All @@ -79,5 +79,5 @@ func (c *Client) CreateUnmanagedAccessCode(ctx context.Context, request *accessc
); err != nil {
return nil, err
}
return response, nil
return response.AccessCode, nil
}
Loading

0 comments on commit 797db97

Please sign in to comment.