// Package connection provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.
package connection

import (
	"time"

	"github.com/meshery/schemas/models/core"
	modelv1beta1 "github.com/meshery/schemas/models/v1beta1/model"
	environmentv1beta3 "github.com/meshery/schemas/models/v1beta3/environment"
	"github.com/gofrs/uuid"
)

// Defines values for ConnectionStatus.
const (
	ConnectionStatusConnected    ConnectionStatus = "connected"
	ConnectionStatusDeleted      ConnectionStatus = "deleted"
	ConnectionStatusDisconnected ConnectionStatus = "disconnected"
	ConnectionStatusDiscovered   ConnectionStatus = "discovered"
	ConnectionStatusIgnored      ConnectionStatus = "ignored"
	ConnectionStatusMaintenance  ConnectionStatus = "maintenance"
	ConnectionStatusNotFound     ConnectionStatus = "not found"
	ConnectionStatusRegistered   ConnectionStatus = "registered"
)

// Defines values for ConnectionActionRequestAction.
const (
	SetMeshsyncMode ConnectionActionRequestAction = "setMeshsyncMode"
)

// Defines values for ConnectionActionRequestMode.
const (
	Embedded ConnectionActionRequestMode = "embedded"
	Operator ConnectionActionRequestMode = "operator"
)

// Defines values for ConnectionRegistrationEventStatus.
const (
	ConnectionRegistrationEventStatusConnect    ConnectionRegistrationEventStatus = "connect"
	ConnectionRegistrationEventStatusDelete     ConnectionRegistrationEventStatus = "delete"
	ConnectionRegistrationEventStatusDisconnect ConnectionRegistrationEventStatus = "disconnect"
	ConnectionRegistrationEventStatusDiscovery  ConnectionRegistrationEventStatus = "discovery"
	ConnectionRegistrationEventStatusExit       ConnectionRegistrationEventStatus = "exit"
	ConnectionRegistrationEventStatusIgnore     ConnectionRegistrationEventStatus = "ignore"
	ConnectionRegistrationEventStatusInitialize ConnectionRegistrationEventStatus = "initialize"
	ConnectionRegistrationEventStatusNoop       ConnectionRegistrationEventStatus = "noop"
	ConnectionRegistrationEventStatusNotFound   ConnectionRegistrationEventStatus = "not found"
	ConnectionRegistrationEventStatusRegister   ConnectionRegistrationEventStatus = "register"
)

// Defines values for ConnectionStatusValue.
const (
	Connected    ConnectionStatusValue = "connected"
	Deleted      ConnectionStatusValue = "deleted"
	Disconnected ConnectionStatusValue = "disconnected"
	Discovered   ConnectionStatusValue = "discovered"
	Ignored      ConnectionStatusValue = "ignored"
	Maintenance  ConnectionStatusValue = "maintenance"
	NotFound     ConnectionStatusValue = "not found"
	Registered   ConnectionStatusValue = "registered"
)

// Defines values for CoreKind.
const (
	CoreKindGithub     CoreKind = "github"
	CoreKindGrafana    CoreKind = "grafana"
	CoreKindKubernetes CoreKind = "kubernetes"
	CoreKindMeshery    CoreKind = "meshery"
	CoreKindPrometheus CoreKind = "prometheus"
)

// Connection Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are tracked by Meshery. Learn more at https://docs.meshery.io/concepts/logical/connections
type Connection struct {
	// Id A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	ID core.Uuid `db:"id" json:"id" yaml:"id"`

	// Name Connection Name
	Name string `db:"name" json:"name" yaml:"name"`

	// Description Human-readable description of the connection and its purpose.
	Description *string `db:"description" json:"description" yaml:"description"`

	// Url URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL).
	Url *string `db:"url" json:"url" yaml:"url"`

	// CredentialId A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	CredentialID *core.Uuid `db:"credential_id" json:"credentialId" yaml:"credentialId,omitempty"`

	// ConnectionType Connection Type (platform, telemetry, collaboration)
	ConnectionType string `db:"type" json:"type" yaml:"type"`

	// SubType Connection Subtype (cloud, identity, metrics, chat, git, orchestration)
	SubType string `db:"sub_type" json:"subType" yaml:"subType"`

	// Kind Connection Kind (meshery, kubernetes, prometheus, grafana, gke, aws, azure, slack, github)
	Kind string `db:"kind" json:"kind" yaml:"kind"`

	// ModelReference Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models
	ModelReference *modelv1beta1.ModelReference `db:"model_reference" gorm:"model_reference" json:"modelReference" yaml:"modelReference"`

	// ConnectionSchema Schema for the connection
	ConnectionSchema core.Map `db:"connection_schema" json:"connectionSchema,omitempty" yaml:"connectionSchema,omitempty"`

	// CredentialSchema Schema for the credential Associated with the connection
	CredentialSchema core.Map `db:"credential_schema" json:"credentialSchema,omitempty" yaml:"credentialSchema,omitempty"`

	// Metadata Additional connection metadata
	Metadata core.Map `db:"metadata" json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Status Connection Status
	Status ConnectionStatus `db:"status" json:"status" yaml:"status"`

	// Owner A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	Owner     *core.Uuid `db:"owner" json:"owner" yaml:"owner,omitempty"`
	CreatedAt core.Time  `db:"created_at" json:"createdAt" yaml:"createdAt,omitempty"`
	UpdatedAt core.Time  `db:"updated_at" json:"updatedAt" yaml:"updatedAt,omitempty"`

	// DeletedAt SQL null Timestamp to handle null values of time.
	DeletedAt core.NullTime `db:"deleted_at" json:"deletedAt" yaml:"deletedAt"`

	// Environments Associated environments for this connection
	Environments []*environmentv1beta3.Environment `db:"-" gorm:"-" json:"environments,omitempty" yaml:"environments,omitempty"`

	// SchemaVersion API version of the object, optionally prefixed with an API group (e.g. "group.example.io/v1beta1" or bare "v1beta1").
	SchemaVersion core.VersionString `gorm:"-" db:"-" json:"schemaVersion" yaml:"schemaVersion"`

	// Styles Visualization styles for a component
	Styles *core.ComponentStyles `db:"-" gorm:"type:bytes;serializer:json" json:"styles" yaml:"styles"`

	// TransitionMap Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status, along with a description of each transition.
	TransitionMap map[string][]ConnectionStateTransition `db:"-" gorm:"type:bytes;serializer:json" json:"transitionMap,omitempty" yaml:"transitionMap,omitempty"`
}

// ConnectionStatus Connection Status
type ConnectionStatus string

// ConnectionActionRequest A side-effecting operation to perform on a connection via POST /api/integrations/connections/{connectionId}/actions. The `action` field selects the operation; operation-specific fields carry its parameters. Unlike PUT (which updates resource fields), the server owns any resulting metadata merge and cluster-side effects.
type ConnectionActionRequest struct {
	// Action The operation to perform on the connection.
	Action ConnectionActionRequestAction `json:"action" yaml:"action"`

	// Mode Target MeshSync deployment mode. Required when `action` is `setMeshsyncMode`; the server redeploys MeshSync (operator vs embedded) for the connection's cluster.
	Mode *ConnectionActionRequestMode `json:"mode,omitempty" yaml:"mode,omitempty"`
}

// ConnectionActionRequestAction The operation to perform on the connection.
type ConnectionActionRequestAction string

// ConnectionActionRequestMode Target MeshSync deployment mode. Required when `action` is `setMeshsyncMode`; the server redeploys MeshSync (operator vs embedded) for the connection's cluster.
type ConnectionActionRequestMode string

// ConnectionDefinition A connection definition is an uninitialized connection, authored per-model (in a model's `connections/` folder) and registered into the registry alongside components and relationships. It conforms to the connection schema; the dynamic, kind-specific shape is carried in `metadata`. The `model` association scopes the definition to its owning model.
// type ConnectionDefinition — defined in manual helper file
// ConnectionDefinitionPage Represents a page of connection definitions with meta information about the total count
type ConnectionDefinitionPage struct {
	// ConnectionDefinitions List of connection definitions on this page
	ConnectionDefinitions []*ConnectionDefinition `json:"connectionDefinitions" yaml:"connectionDefinitions"`

	// TotalCount Total number of connection definitions on all pages
	TotalCount int `json:"totalCount" yaml:"totalCount"`

	// Page Current page number
	Page int `json:"page" yaml:"page"`

	// PageSize Number of elements per page
	PageSize int `json:"pageSize" yaml:"pageSize"`
}

// ConnectionDefinitionPayload Payload for registering (creating) or updating a connection definition. Contains only client-settable fields; server-generated fields such as createdAt, updatedAt, and deletedAt are excluded.
type ConnectionDefinitionPayload struct {
	// ConnectionSchema Schema for connections of this kind.
	ConnectionSchema core.Map `json:"connectionSchema" yaml:"connectionSchema"`

	// CredentialSchema Schema for the credential associated with connections of this kind.
	CredentialSchema core.Map `json:"credentialSchema" yaml:"credentialSchema"`

	// Description Human-readable description of the connection definition and its purpose.
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// ID Existing connection definition ID for updates; omit on create.
	ID *uuid.UUID `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Connection kind (e.g., kubernetes, prometheus, grafana)
	Kind string `json:"kind" yaml:"kind"`

	// Metadata Kind-specific connection metadata
	Metadata core.Map `json:"metadata" yaml:"metadata"`

	// ModelReference Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models
	ModelReference *modelv1beta1.ModelReference `json:"modelReference,omitempty" yaml:"modelReference,omitempty"`

	// Name Connection definition name
	Name string `json:"name" yaml:"name"`

	// SchemaVersion API version of the object, optionally prefixed with an API group (e.g. "group.example.io/v1beta1" or bare "v1beta1").
	SchemaVersion *core.VersionString `json:"schemaVersion,omitempty" yaml:"schemaVersion,omitempty"`

	// ConnectionStatusValue Connection Status Value
	Status ConnectionStatusValue `json:"status" yaml:"status"`

	// Styles Visualization styles for a component
	Styles *core.ComponentStyles `json:"styles,omitempty" yaml:"styles,omitempty"`

	// SubType Connection sub-type (cloud, identity, metrics, chat, git, orchestration)
	SubType string `json:"subType" yaml:"subType"`

	// TransitionMap Map describing the connection state machine. Each key is a current connection status and its value is the list of states the connection may transition to from that status.
	TransitionMap map[string][]ConnectionStateTransition `json:"transitionMap,omitempty" yaml:"transitionMap,omitempty"`

	// Type Connection type (platform, telemetry, collaboration)
	Type string `json:"type" yaml:"type"`

	// Url URL of the remote resource connections of this kind point to.
	Url *string `json:"url,omitempty" yaml:"url,omitempty"`
}

// ConnectionPage Represents a page of connections with meta information about connections count
type ConnectionPage struct {
	// Connections List of connections on this page
	Connections []*Connection `json:"connections" yaml:"connections"`

	// TotalCount Total number of connections on all pages
	TotalCount int `json:"totalCount" yaml:"totalCount"`

	// Page Current page number
	Page int `json:"page" yaml:"page"`

	// PageSize Number of elements per page
	PageSize int `json:"pageSize" yaml:"pageSize"`

	// StatusSummary Aggregate count of connections grouped by status
	StatusSummary *map[ConnectionStatusValue]int `json:"statusSummary,omitempty" yaml:"statusSummary,omitempty"`
}

// ConnectionPayload Payload for creating or updating a connection
type ConnectionPayload struct {
	// CredentialID Associated credential ID
	CredentialID *uuid.UUID `json:"credentialId,omitempty" yaml:"credentialId,omitempty"`

	// CredentialSecret Credential secret data
	CredentialSecret core.Map `json:"credentialSecret" yaml:"credentialSecret"`

	// ConnectionID Connection ID
	ConnectionID *uuid.UUID `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Connection kind
	Kind string `json:"kind" yaml:"kind"`

	// Metadata Connection metadata
	Metadata core.Map `json:"metadata" yaml:"metadata"`

	// Name Connection name
	Name string `json:"name" yaml:"name"`

	// Status Connection status
	Status string `json:"status" yaml:"status"`

	// Styles Visualization styles for a component
	Styles *core.ComponentStyles `json:"styles,omitempty" yaml:"styles,omitempty"`

	// SubType Connection sub-type
	SubType string `json:"subType" yaml:"subType"`

	// Type Connection type
	Type string `json:"type" yaml:"type"`
}

// ConnectionReachability Whether the system behind a connection answered an ad hoc connectivity probe. A probe is a point-in-time check of the connected system's endpoint; its result is never persisted with the connection. For example, probing a Kubernetes connection checks the cluster's API server.
type ConnectionReachability = bool

// ConnectionRegistrationBootstrap Response to an `initialize` registration event: the registry component definitions describing the kind's connection and credential, plus the tracker id for the registration process. Component definitions carry their RJSF form schema as a JSON-encoded string under `schema`.
type ConnectionRegistrationBootstrap struct {
	// Connection Registry component definition (`{Kind}Connection`) describing the connection, including its JSON-encoded `schema`.
	Connection core.Map `json:"connection" yaml:"connection"`

	// Credential Registry component definition (`{Kind}Credential`) describing the credential, including its JSON-encoded `schema`. Absent when the kind defines no credential component.
	Credential core.Map `json:"credential,omitempty" yaml:"credential,omitempty"`

	// Id A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	ID core.Uuid `json:"id" yaml:"id"`
}

// ConnectionRegistrationEvent Lifecycle event for the connection registration state machine (POST /api/integrations/connections/register). Unlike `ConnectionPayload`, only `kind` and `status` are always present: an `initialize` event carries just the kind, while `register` / `connect` events carry the connection details assembled so far.
type ConnectionRegistrationEvent struct {
	// CredentialId A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	CredentialID *core.Uuid `json:"credentialId,omitempty" yaml:"credentialId,omitempty"`

	// CredentialSecret Credential secret material for the connection.
	CredentialSecret core.Map `json:"credentialSecret,omitempty" yaml:"credentialSecret,omitempty"`

	// Id A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	ID *core.Uuid `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Connection kind (e.g. `kubernetes`, `grafana`, `prometheus`).
	Kind string `json:"kind" yaml:"kind"`

	// Metadata Connection metadata gathered so far in the flow.
	Metadata core.Map `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Model Registry model the connection's definition belongs to.
	Model string `json:"model,omitempty" yaml:"model,omitempty"`

	// Name Connection name.
	Name string `json:"name,omitempty" yaml:"name,omitempty"`

	// SkipCredentialVerification When true the server registers the connection without verifying the supplied credential first.
	SkipCredentialVerification bool `json:"skipCredentialVerification" yaml:"skipCredentialVerification"`

	// Status State-machine event to dispatch. `initialize` returns the registration bootstrap; every other event advances the tracked registration. `not found` is the machine's literal event name.
	Status ConnectionRegistrationEventStatus `json:"status" yaml:"status"`

	// SubType Connection sub-type.
	SubType string `json:"subType,omitempty" yaml:"subType,omitempty"`

	// Type Connection type.
	Type string `json:"type,omitempty" yaml:"type,omitempty"`
}

// ConnectionRegistrationEventStatus State-machine event to dispatch. `initialize` returns the registration bootstrap; every other event advances the tracked registration. `not found` is the machine's literal event name.
type ConnectionRegistrationEventStatus string

// ConnectionStateTransition A single permissible state transition for a connection, describing the next reachable state and the meaning of that transition.
type ConnectionStateTransition struct {
	// ConnectionStatusValue Connection Status Value
	NextState ConnectionStatusValue `json:"nextState" yaml:"nextState"`

	// Description Human-readable explanation of when or why this transition occurs.
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`
}

// ConnectionStatusInfo Status count information for connections
type ConnectionStatusInfo struct {
	// Count Number of connections with this status
	Count int `db:"count" json:"count" yaml:"count"`

	// Status Status value
	Status string `db:"status" json:"status" yaml:"status"`
}

// ConnectionStatusValue Connection Status Value
type ConnectionStatusValue string

// ConnectionsStatusPage Paginated list of connection status counts
type ConnectionsStatusPage struct {
	// ConnectionsStatus List of status counts
	ConnectionsStatus []ConnectionStatusInfo `json:"connectionsStatus" yaml:"connectionsStatus"`

	// Page Current page number
	Page int `json:"page" yaml:"page"`

	// PageSize Number of items per page
	PageSize int `json:"pageSize" yaml:"pageSize"`

	// TotalCount Total number of status entries
	TotalCount int `json:"totalCount" yaml:"totalCount"`
}

// CoreKind A core connection kind that receives bespoke, kind-specific handling in Meshery. The `kind` field itself remains an open-ended string; this names only the kinds with special behavior.
type CoreKind string

// K8sContext Kubernetes-specific authentication context projected from a kubernetes connection and its credential. Connection metadata supplies the context identity (id, name, server, version, deployment type, instance and server IDs); the credential secret supplies the auth and cluster material. This is a response projection, not a stored table row.
type K8sContext struct {
	// Auth Authentication material for the context (token or kubeconfig reference), sourced from the connection's credential secret.
	Auth core.Map `json:"auth,omitempty" yaml:"auth,omitempty"`

	// Cluster Cluster definition for the context (certificate authority and server details), sourced from the connection's credential secret.
	Cluster core.Map `json:"cluster,omitempty" yaml:"cluster,omitempty"`

	// ConnectionId A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	ConnectionID *core.Uuid `json:"connectionId,omitempty" yaml:"connectionId,omitempty"`

	// CreatedAt Timestamp when the underlying connection was created.
	CreatedAt time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	CreatedBy *core.Uuid `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DeploymentType How Meshery is deployed relative to the cluster (e.g. in_cluster, out_of_cluster).
	DeploymentType string `json:"deploymentType" yaml:"deploymentType"`

	// ID Stable identifier of the Kubernetes context, assigned when the context is registered. Not a UUID; carried in connection metadata.
	ID string `json:"id,omitempty" yaml:"id,omitempty"`

	// KubernetesServerId A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	KubernetesServerID *core.Uuid `json:"kubernetesServerId,omitempty" yaml:"kubernetesServerId,omitempty"`

	// MesheryInstanceId A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	MesheryInstanceID *core.Uuid `json:"mesheryInstanceId,omitempty" yaml:"mesheryInstanceId,omitempty"`

	// Name Human-readable name of the Kubernetes context.
	Name string `json:"name,omitempty" yaml:"name,omitempty"`

	// Owner A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.
	Owner *core.Uuid `json:"owner,omitempty" yaml:"owner,omitempty"`

	// Reachable Whether the system behind a connection answered an ad hoc connectivity probe. A probe is a point-in-time check of the connected system's endpoint; its result is never persisted with the connection. For example, probing a Kubernetes connection checks the cluster's API server.
	Reachable bool `json:"reachable" yaml:"reachable,omitempty"`

	// Server API server URL of the Kubernetes cluster.
	Server string `json:"server,omitempty" yaml:"server,omitempty"`

	// UpdatedAt Timestamp when the underlying connection was last updated.
	UpdatedAt time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// Version Kubernetes server version of the cluster.
	Version string `json:"version" yaml:"version"`
}

// K8sContextPage Paginated list of Kubernetes contexts.
type K8sContextPage struct {
	// Contexts Kubernetes contexts in this page.
	Contexts []K8sContext `json:"contexts" yaml:"contexts"`

	// Page Zero-based page index returned in this response.
	Page int `json:"page" yaml:"page"`

	// PageSize Maximum number of items returned on each page.
	PageSize int `json:"pageSize" yaml:"pageSize"`

	// TotalCount Total number of items across all pages.
	TotalCount int `json:"totalCount" yaml:"totalCount"`
}

// MesheryCompatibility Meshery version compatibility check
type MesheryCompatibility struct {
	// CheckCompatibility Whether to check compatibility
	CheckCompatibility *bool `json:"checkCompatibility,omitempty" yaml:"checkCompatibility,omitempty"`

	// MesheryVersion Meshery version string
	MesheryVersion *string `json:"mesheryVersion,omitempty" yaml:"mesheryVersion,omitempty"`
}

// MesheryInstance Meshery server instance information
type MesheryInstance struct {
	// CreatedAt Creation timestamp
	CreatedAt *time.Time `db:"created_at" json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// DeletedAt Deletion timestamp
	DeletedAt *time.Time `db:"deleted_at" json:"deletedAt,omitempty" yaml:"deletedAt,omitempty"`

	// Id Instance ID
	ID *uuid.UUID `db:"id" json:"id,omitempty" yaml:"id,omitempty"`

	// Name Instance name
	Name *string `db:"name" json:"name,omitempty" yaml:"name,omitempty"`

	// ServerBuildSHA Server build SHA
	ServerBuildSHA *string `db:"server_build_sha" json:"serverBuildSha,omitempty" yaml:"serverBuildSha,omitempty"`

	// ServerID Server ID
	ServerID *uuid.UUID `db:"server_id" json:"serverId,omitempty" yaml:"serverId,omitempty"`

	// ServerLocation Server location URL
	ServerLocation *string `db:"server_location" json:"serverLocation,omitempty" yaml:"serverLocation,omitempty"`

	// ServerVersion Meshery server version
	ServerVersion *string `db:"server_version" json:"serverVersion,omitempty" yaml:"serverVersion,omitempty"`

	// UpdatedAt Last update timestamp
	UpdatedAt *time.Time `db:"updated_at" json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

// MesheryInstancePage Paginated list of Meshery instances
type MesheryInstancePage struct {
	// MesheryInstances List of Meshery instances
	MesheryInstances []MesheryInstance `json:"mesheryInstances" yaml:"mesheryInstances"`

	// Page Current page number
	Page int `json:"page" yaml:"page"`

	// PageSize Number of items per page
	PageSize int `json:"pageSize" yaml:"pageSize"`

	// TotalCount Total number of instances
	TotalCount int `json:"totalCount" yaml:"totalCount"`
}

// ConnectionDefinitionId defines model for connectionDefinitionId.
type ConnectionDefinitionId = uuid.UUID

// ConnectionId defines model for connectionId.
type ConnectionId = uuid.UUID

// ConnectionKind defines model for connectionKind.
type ConnectionKind = string

// EnvironmentId defines model for environmentId.
type EnvironmentId = uuid.UUID

// MesheryServerId defines model for mesheryServerId.
type MesheryServerId = uuid.UUID

// Order defines model for order.
type Order = string

// OrgIdQuery defines model for orgIdQuery.
type OrgIdQuery = uuid.UUID

// Page defines model for page.
type Page = int

// PageSize defines model for pageSize.
type PageSize = int

// Search defines model for search.
type Search = string
