package apikey

import "github.com/tidbcloud/account/internel/dao/entity"

type ApiKeyFilter struct {
	ID        []uint64 `json:"id" form:"id"`
	AKLike    string   `json:"access_key" form:"access_key"`
	Type      string   `json:"type" form:"type"`
	ScopeType string   `json:"scope_type" form:"scope_type"`
	Source    string   `json:"source" form:"source"`
	DescLike  string   `json:"description" form:"description"`
	CreatedBy string   `json:"created_by" form:"created_by"`
	UpdatedBy string   `json:"updated_by" form:"updated_by"`
}

type ListApiKeysParam struct {
	Filter ApiKeyFilter
	SortBy string `json:"sort_by" form:"sort_by"`
	Order  string `json:"order" form:"order"`
	Limit  int    `json:"limit" form:"limit"`
	Offset int    `json:"offset" form:"offset"`
}

type ListApiKeysResult struct {
	Total int64
	List  []entity.ApiKey
}

type OrgApiKeyFilter struct {
	OrgID     uint64
	OrgRoles  []string
	KeyLike   string
	Type      string
	Source    string
	CreatedBy string
	UpdatedBy string
}

type OrgApiKey struct {
	entity.ApiKey
	RoleID     uint64
	Role       string
	RoleStatus string
}
