ory-am/hydra

View on GitHub
internal/httpclient/model_create_json_web_key_set.go

Summary

Maintainability
A
0 mins
Test Coverage
/*
Ory Hydra API

Documentation for all of Ory Hydra's APIs.

API version:
Contact: hi@ory.sh
*/

// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.

package openapi

import (
    "bytes"
    "encoding/json"
    "fmt"
)

// checks if the CreateJsonWebKeySet type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &CreateJsonWebKeySet{}

// CreateJsonWebKeySet Create JSON Web Key Set Request Body
type CreateJsonWebKeySet struct {
    // JSON Web Key Algorithm  The algorithm to be used for creating the key. Supports `RS256`, `ES256`, `ES512`, `HS512`, and `HS256`.
    Alg string `json:"alg"`
    // JSON Web Key ID  The Key ID of the key to be created.
    Kid string `json:"kid"`
    // JSON Web Key Use  The \"use\" (public key use) parameter identifies the intended use of the public key. The \"use\" parameter is employed to indicate whether a public key is used for encrypting data or verifying the signature on data. Valid values are \"enc\" and \"sig\".
    Use string `json:"use"`
}

type _CreateJsonWebKeySet CreateJsonWebKeySet

// NewCreateJsonWebKeySet instantiates a new CreateJsonWebKeySet object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewCreateJsonWebKeySet(alg string, kid string, use string) *CreateJsonWebKeySet {
    this := CreateJsonWebKeySet{}
    this.Alg = alg
    this.Kid = kid
    this.Use = use
    return &this
}

// NewCreateJsonWebKeySetWithDefaults instantiates a new CreateJsonWebKeySet object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewCreateJsonWebKeySetWithDefaults() *CreateJsonWebKeySet {
    this := CreateJsonWebKeySet{}
    return &this
}

// GetAlg returns the Alg field value
func (o *CreateJsonWebKeySet) GetAlg() string {
    if o == nil {
        var ret string
        return ret
    }

    return o.Alg
}

// GetAlgOk returns a tuple with the Alg field value
// and a boolean to check if the value has been set.
func (o *CreateJsonWebKeySet) GetAlgOk() (*string, bool) {
    if o == nil {
        return nil, false
    }
    return &o.Alg, true
}

// SetAlg sets field value
func (o *CreateJsonWebKeySet) SetAlg(v string) {
    o.Alg = v
}

// GetKid returns the Kid field value
func (o *CreateJsonWebKeySet) GetKid() string {
    if o == nil {
        var ret string
        return ret
    }

    return o.Kid
}

// GetKidOk returns a tuple with the Kid field value
// and a boolean to check if the value has been set.
func (o *CreateJsonWebKeySet) GetKidOk() (*string, bool) {
    if o == nil {
        return nil, false
    }
    return &o.Kid, true
}

// SetKid sets field value
func (o *CreateJsonWebKeySet) SetKid(v string) {
    o.Kid = v
}

// GetUse returns the Use field value
func (o *CreateJsonWebKeySet) GetUse() string {
    if o == nil {
        var ret string
        return ret
    }

    return o.Use
}

// GetUseOk returns a tuple with the Use field value
// and a boolean to check if the value has been set.
func (o *CreateJsonWebKeySet) GetUseOk() (*string, bool) {
    if o == nil {
        return nil, false
    }
    return &o.Use, true
}

// SetUse sets field value
func (o *CreateJsonWebKeySet) SetUse(v string) {
    o.Use = v
}

func (o CreateJsonWebKeySet) MarshalJSON() ([]byte, error) {
    toSerialize, err := o.ToMap()
    if err != nil {
        return []byte{}, err
    }
    return json.Marshal(toSerialize)
}

func (o CreateJsonWebKeySet) ToMap() (map[string]interface{}, error) {
    toSerialize := map[string]interface{}{}
    toSerialize["alg"] = o.Alg
    toSerialize["kid"] = o.Kid
    toSerialize["use"] = o.Use
    return toSerialize, nil
}

func (o *CreateJsonWebKeySet) UnmarshalJSON(data []byte) (err error) {
    // This validates that all required properties are included in the JSON object
    // by unmarshalling the object into a generic map with string keys and checking
    // that every required field exists as a key in the generic map.
    requiredProperties := []string{
        "alg",
        "kid",
        "use",
    }

    allProperties := make(map[string]interface{})

    err = json.Unmarshal(data, &allProperties)

    if err != nil {
        return err
    }

    for _, requiredProperty := range requiredProperties {
        if _, exists := allProperties[requiredProperty]; !exists {
            return fmt.Errorf("no value given for required property %v", requiredProperty)
        }
    }

    varCreateJsonWebKeySet := _CreateJsonWebKeySet{}

    decoder := json.NewDecoder(bytes.NewReader(data))
    decoder.DisallowUnknownFields()
    err = decoder.Decode(&varCreateJsonWebKeySet)

    if err != nil {
        return err
    }

    *o = CreateJsonWebKeySet(varCreateJsonWebKeySet)

    return err
}

type NullableCreateJsonWebKeySet struct {
    value *CreateJsonWebKeySet
    isSet bool
}

func (v NullableCreateJsonWebKeySet) Get() *CreateJsonWebKeySet {
    return v.value
}

func (v *NullableCreateJsonWebKeySet) Set(val *CreateJsonWebKeySet) {
    v.value = val
    v.isSet = true
}

func (v NullableCreateJsonWebKeySet) IsSet() bool {
    return v.isSet
}

func (v *NullableCreateJsonWebKeySet) Unset() {
    v.value = nil
    v.isSet = false
}

func NewNullableCreateJsonWebKeySet(val *CreateJsonWebKeySet) *NullableCreateJsonWebKeySet {
    return &NullableCreateJsonWebKeySet{value: val, isSet: true}
}

func (v NullableCreateJsonWebKeySet) MarshalJSON() ([]byte, error) {
    return json.Marshal(v.value)
}

func (v *NullableCreateJsonWebKeySet) UnmarshalJSON(src []byte) error {
    v.isSet = true
    return json.Unmarshal(src, &v.value)
}