package service

// PublishSkillOptions is the options for the PublishSkill operation
type PublishSkillOptions struct {
	Claims    map[string]any
	JWTClaims map[string]any
}

//nolint:unparam
func (o *PublishSkillOptions) setClaims(claims map[string]any) error {
	o.Claims = claims
	return nil
}

//nolint:unparam
func (o *PublishSkillOptions) setJWTClaims(claims map[string]any) error {
	o.JWTClaims = claims
	return nil
}

// ListSkillsOptions is the options for the ListSkills and ListSkillVersions
// operations.
type ListSkillsOptions struct {
	RegistryName string
	Namespace    string
	Name         *string
	Version      *string
	Search       *string
	Limit        int
	Cursor       *string
	Claims       map[string]any
}

//nolint:unparam
func (o *ListSkillsOptions) setRegistryName(registryName string) error {
	o.RegistryName = registryName
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setNamespace(namespace string) error {
	o.Namespace = namespace
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setName(name string) error {
	o.Name = &name
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setVersion(version string) error {
	o.Version = &version
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setSearch(search string) error {
	o.Search = &search
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setLimit(limit int) error {
	o.Limit = limit
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setCursor(cursor string) error {
	o.Cursor = &cursor
	return nil
}

//nolint:unparam
func (o *ListSkillsOptions) setClaims(claims map[string]any) error {
	o.Claims = claims
	return nil
}

// GetSkillVersionOptions is the options for the GetSkillVersion operation.
type GetSkillVersionOptions struct {
	RegistryName string
	SourceName   string
	Namespace    string
	Name         string
	Version      string
	Claims       map[string]any
}

//nolint:unparam
func (o *GetSkillVersionOptions) setRegistryName(registryName string) error {
	o.RegistryName = registryName
	return nil
}

//nolint:unparam
func (o *GetSkillVersionOptions) setNamespace(namespace string) error {
	o.Namespace = namespace
	return nil
}

//nolint:unparam
func (o *GetSkillVersionOptions) setName(name string) error {
	o.Name = name
	return nil
}

//nolint:unparam
func (o *GetSkillVersionOptions) setVersion(version string) error {
	o.Version = version
	return nil
}

//nolint:unparam
func (o *GetSkillVersionOptions) setClaims(claims map[string]any) error {
	o.Claims = claims
	return nil
}

// DeleteSkillVersionOptions is the options for the DeleteSkillVersion operation
type DeleteSkillVersionOptions struct {
	Namespace string
	Name      string
	Version   string
	JWTClaims map[string]any
}

//nolint:unparam
func (o *DeleteSkillVersionOptions) setNamespace(namespace string) error {
	o.Namespace = namespace
	return nil
}

//nolint:unparam
func (o *DeleteSkillVersionOptions) setName(name string) error {
	o.Name = name
	return nil
}

//nolint:unparam
func (o *DeleteSkillVersionOptions) setVersion(version string) error {
	o.Version = version
	return nil
}

//nolint:unparam
func (o *DeleteSkillVersionOptions) setJWTClaims(claims map[string]any) error {
	o.JWTClaims = claims
	return nil
}
