Skip to content

http ​

go
import "github.com/prescriptoo/prescriptoo-api/services/admin/internal/presentation/http"

Package http owns this service's audit HTTP endpoints. Audit itself has no router.

Package http provides the admin service's HTTP delivery layer.

Index ​

func RegisterAdminChiefComplaintCreate ​

go
func RegisterAdminChiefComplaintCreate(api huma.API, uc usecase.ClinicalCreateChiefComplaintUseCase)

RegisterAdminChiefComplaintCreate registers its secured management operation and DTO schemas.

func RegisterAdminChiefComplaintDelete ​

go
func RegisterAdminChiefComplaintDelete(api huma.API, uc usecase.ClinicalDeleteChiefComplaintUseCase)

RegisterAdminChiefComplaintDelete registers its secured management operation and DTO schemas.

func RegisterAdminChiefComplaintGet ​

go
func RegisterAdminChiefComplaintGet(api huma.API, uc usecase.ClinicalGetChiefComplaintUseCase)

RegisterAdminChiefComplaintGet registers its secured management operation and DTO schemas.

func RegisterAdminChiefComplaintList ​

go
func RegisterAdminChiefComplaintList(api huma.API, uc usecase.ClinicalListChiefComplaintUseCase)

RegisterAdminChiefComplaintList registers its secured management operation and DTO schemas.

func RegisterAdminChiefComplaintPatch ​

go
func RegisterAdminChiefComplaintPatch(api huma.API, uc usecase.ClinicalPatchChiefComplaintUseCase)

RegisterAdminChiefComplaintPatch registers its secured management operation and DTO schemas.

func RegisterAdminHistorySuggestionCreate ​

go
func RegisterAdminHistorySuggestionCreate(api huma.API, uc usecase.ClinicalCreateHistorySuggestionUseCase)

RegisterAdminHistorySuggestionCreate registers its secured management operation and DTO schemas.

func RegisterAdminHistorySuggestionDelete ​

go
func RegisterAdminHistorySuggestionDelete(api huma.API, uc usecase.ClinicalDeleteHistorySuggestionUseCase)

RegisterAdminHistorySuggestionDelete registers its secured management operation and DTO schemas.

func RegisterAdminHistorySuggestionGet ​

go
func RegisterAdminHistorySuggestionGet(api huma.API, uc usecase.ClinicalGetHistorySuggestionUseCase)

RegisterAdminHistorySuggestionGet registers its secured management operation and DTO schemas.

func RegisterAdminHistorySuggestionList ​

go
func RegisterAdminHistorySuggestionList(api huma.API, uc usecase.ClinicalListHistorySuggestionUseCase)

RegisterAdminHistorySuggestionList registers its secured management operation and DTO schemas.

func RegisterAdminHistorySuggestionPatch ​

go
func RegisterAdminHistorySuggestionPatch(api huma.API, uc usecase.ClinicalPatchHistorySuggestionUseCase)

RegisterAdminHistorySuggestionPatch registers its secured management operation and DTO schemas.

type AccountHTTPInput ​

AccountHTTPInput identifies an identity account, not a platform-admin grant.

go
type AccountHTTPInput struct {
    HumaAuthenticatedInput
    UserID string `path:"userId" minLength:"1" pattern:"\\S"`
}

type AdminAuditEventGetReqDto ​

AdminAuditEventGetReqDto identifies an event within the requested service-owned history.

go
type AdminAuditEventGetReqDto struct {
    AuditScopeInput
    EventID string `path:"eventId" format:"uuid"`
}

type AdminAuditEventGetResDto ​

AdminAuditEventGetResDto wraps the HTTP response body.

go
type AdminAuditEventGetResDto struct {
    Body types.SuccessResponse[audit.Event]
}

type AdminAuditEventListReqDto ​

AdminAuditEventListReqDto contains validated history filter and pagination parameters.

go
type AdminAuditEventListReqDto struct {
    AuditScopeInput
    ActorUserID            string    `query:"actor_user_id" format:"uuid"`
    Name                   string    `query:"event_name" maxLength:"150"`
    ResourceType           string    `query:"resource_type" maxLength:"100"`
    ResourceID             string    `query:"resource_id" maxLength:"250"`
    OperationID            string    `query:"operation_id" format:"uuid"`
    AffectedOrganizationID string    `query:"organization_id" format:"uuid"`
    From                   time.Time `query:"from" doc:"Inclusive event time, RFC 3339."`
    To                     time.Time `query:"to" doc:"Exclusive event time, RFC 3339."`
    Limit                  int       `query:"limit" default:"20" minimum:"1" maximum:"100"`
    Cursor                 string    `query:"cursor" maxLength:"2048"`
}

type AdminAuditEventListResDto ​

AdminAuditEventListResDto wraps the HTTP response body.

go
type AdminAuditEventListResDto struct {
    Body types.CursorResponse[audit.EventSummary]
}

type AdminAuthVerifyReqDto ​

AdminAuthVerifyReqDto carries the credentials to verify administrator access.

go
type AdminAuthVerifyReqDto struct {
    HumaAuthenticatedInput
}

type AdminAuthVerifyResDto ​

AdminAuthVerifyResDto contains the verified administrator principal.

go
type AdminAuthVerifyResDto struct {
    Body types.SuccessResponse[AdminPrincipalDto]
}

type AdminAuthorizationMeGetReqDto ​

AdminAuthorizationMeGetReqDto requests the caller's own authorization.

go
type AdminAuthorizationMeGetReqDto struct{ AuthorizationScopeInput }

type AdminAuthorizationMeGetResDto ​

AdminAuthorizationMeGetResDto wraps the HTTP response body.

go
type AdminAuthorizationMeGetResDto struct {
    Body types.SuccessResponse[p.MemberAuthorization]
}

type AdminAuthorizationMemberGetReqDto ​

AdminAuthorizationMemberGetReqDto identifies the member whose grants are requested.

go
type AdminAuthorizationMemberGetReqDto struct{ AuthorizationMemberInput }

type AdminAuthorizationMemberGetResDto ​

AdminAuthorizationMemberGetResDto wraps the HTTP response body.

go
type AdminAuthorizationMemberGetResDto struct {
    Body types.SuccessResponse[p.MemberAuthorization]
}

type AdminAuthorizationPermissionListReqDto ​

AdminAuthorizationPermissionListReqDto requests the supported permissions.

go
type AdminAuthorizationPermissionListReqDto struct{ AuthorizationScopeInput }

type AdminAuthorizationPermissionListResDto ​

AdminAuthorizationPermissionListResDto wraps the HTTP response body.

go
type AdminAuthorizationPermissionListResDto struct {
    Body types.SuccessResponse[[]p.Permission]
}

type AdminAuthorizationPermissionOverrideRemoveReqDto ​

AdminAuthorizationPermissionOverrideRemoveReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationPermissionOverrideRemoveReqDto struct {
    AuthorizationOverrideInput
    ExpectedVersion int64 `query:"expected_version" minimum:"0" required:"true"`
}

type AdminAuthorizationPermissionOverrideRemoveResDto ​

AdminAuthorizationPermissionOverrideRemoveResDto wraps the HTTP response body.

go
type AdminAuthorizationPermissionOverrideRemoveResDto struct {
    Body types.SuccessResponse[p.MemberAuthorization]
}

type AdminAuthorizationPermissionOverrideSetReqDto ​

AdminAuthorizationPermissionOverrideSetReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationPermissionOverrideSetReqDto struct {
    AuthorizationOverrideInput
    Body struct {
        Effect          p.Effect `json:"effect" enum:"allow,deny"`
        ExpectedVersion int64    `json:"expected_version" minimum:"0"`
    }
}

type AdminAuthorizationPermissionOverrideSetResDto ​

AdminAuthorizationPermissionOverrideSetResDto wraps the HTTP response body.

go
type AdminAuthorizationPermissionOverrideSetResDto struct {
    Body types.SuccessResponse[p.MemberAuthorization]
}

type AdminAuthorizationRoleAssignReqDto ​

AdminAuthorizationRoleAssignReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationRoleAssignReqDto struct {
    AuthorizationAssignmentInput
    Body struct {
        ExpectedVersion int64 `json:"expected_version" minimum:"0"`
    }
}

type AdminAuthorizationRoleAssignResDto ​

AdminAuthorizationRoleAssignResDto wraps the HTTP response body.

go
type AdminAuthorizationRoleAssignResDto struct {
    Body types.SuccessResponse[p.MemberAuthorization]
}

type AdminAuthorizationRoleCreateReqDto ​

AdminAuthorizationRoleCreateReqDto supplies a new scoped role definition.

go
type AdminAuthorizationRoleCreateReqDto struct {
    AuthorizationScopeInput
    Body struct {
        Name        string              `json:"name" minLength:"1" maxLength:"100"`
        Slug        string              `json:"slug" pattern:"^[a-z][a-z0-9_]{0,99}$"`
        Description string              `json:"description,omitempty" maxLength:"2000"`
        Permissions []p.PermissionGrant `json:"permissions" maxItems:"500" nullable:"false"`
    }
}

type AdminAuthorizationRoleCreateResDto ​

AdminAuthorizationRoleCreateResDto wraps the HTTP response body.

go
type AdminAuthorizationRoleCreateResDto struct {
    Body types.SuccessResponse[p.Role]
}

type AdminAuthorizationRoleDeleteReqDto ​

AdminAuthorizationRoleDeleteReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationRoleDeleteReqDto struct {
    AuthorizationRoleInput
    ExpectedVersion int64 `query:"expected_version" minimum:"1" required:"true"`
}

type AdminAuthorizationRoleDeleteResDto ​

AdminAuthorizationRoleDeleteResDto represents a successful response without a body.

go
type AdminAuthorizationRoleDeleteResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminAuthorizationRoleGetReqDto ​

AdminAuthorizationRoleGetReqDto identifies the scoped role to retrieve.

go
type AdminAuthorizationRoleGetReqDto struct{ AuthorizationRoleInput }

type AdminAuthorizationRoleGetResDto ​

AdminAuthorizationRoleGetResDto wraps the HTTP response body.

go
type AdminAuthorizationRoleGetResDto struct {
    Body types.SuccessResponse[p.Role]
}

type AdminAuthorizationRoleListReqDto ​

AdminAuthorizationRoleListReqDto requests the available scoped roles.

go
type AdminAuthorizationRoleListReqDto struct{ AuthorizationScopeInput }

type AdminAuthorizationRoleListResDto ​

AdminAuthorizationRoleListResDto wraps the HTTP response body.

go
type AdminAuthorizationRoleListResDto struct {
    Body types.SuccessResponse[[]p.Role]
}

type AdminAuthorizationRolePermissionsSetReqDto ​

AdminAuthorizationRolePermissionsSetReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationRolePermissionsSetReqDto struct {
    AuthorizationRoleInput
    Body struct {
        Permissions     []p.PermissionGrant `json:"permissions" maxItems:"500" nullable:"false"`
        ExpectedVersion int64               `json:"expected_version" minimum:"1"`
    }
}

type AdminAuthorizationRolePermissionsSetResDto ​

AdminAuthorizationRolePermissionsSetResDto wraps the HTTP response body.

go
type AdminAuthorizationRolePermissionsSetResDto struct {
    Body types.SuccessResponse[p.Role]
}

type AdminAuthorizationRoleRevokeReqDto ​

AdminAuthorizationRoleRevokeReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationRoleRevokeReqDto struct {
    AuthorizationAssignmentInput
    ExpectedVersion int64 `query:"expected_version" minimum:"0" required:"true"`
}

type AdminAuthorizationRoleRevokeResDto ​

AdminAuthorizationRoleRevokeResDto wraps the HTTP response body.

go
type AdminAuthorizationRoleRevokeResDto struct {
    Body types.SuccessResponse[p.MemberAuthorization]
}

type AdminAuthorizationRoleUpdateReqDto ​

AdminAuthorizationRoleUpdateReqDto contains validated HTTP parameters for the scoped authorization operation.

go
type AdminAuthorizationRoleUpdateReqDto struct {
    AuthorizationRoleInput
    Body struct {
        Name            string `json:"name" minLength:"1" maxLength:"100"`
        Description     string `json:"description" maxLength:"2000"`
        ExpectedVersion int64  `json:"expected_version" minimum:"1"`
    }
}

type AdminAuthorizationRoleUpdateResDto ​

AdminAuthorizationRoleUpdateResDto wraps the HTTP response body.

go
type AdminAuthorizationRoleUpdateResDto struct {
    Body types.SuccessResponse[p.Role]
}

type AdminBillingInvoiceCreateReqDto ​

AdminBillingInvoiceCreateReqDto defines the billing operation request.

go
type AdminBillingInvoiceCreateReqDto struct {
    IdempotencyKey string `header:"Idempotency-Key" minLength:"1" maxLength:"255" required:"true"`
    BillingSubscriptionPathInput
    Body subscriptionpublic.CreateInvoiceParams
}

func (*AdminBillingInvoiceCreateReqDto) Resolve ​

go
func (input *AdminBillingInvoiceCreateReqDto) Resolve(ctx huma.Context) []error

Resolve preserves the subscription service's request validation.

type AdminBillingInvoiceCreateResDto ​

AdminBillingInvoiceCreateResDto wraps the HTTP response body.

go
type AdminBillingInvoiceCreateResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Invoice]
}

type AdminBillingInvoiceEditReqDto ​

AdminBillingInvoiceEditReqDto defines the billing operation request.

go
type AdminBillingInvoiceEditReqDto struct {
    BillingInvoicePathInput
    Body subscriptionpublic.EditInvoiceParams
}

func (*AdminBillingInvoiceEditReqDto) Resolve ​

go
func (input *AdminBillingInvoiceEditReqDto) Resolve(ctx huma.Context) []error

Resolve preserves the subscription service's request validation.

type AdminBillingInvoiceEditResDto ​

AdminBillingInvoiceEditResDto wraps the HTTP response body.

go
type AdminBillingInvoiceEditResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Invoice]
}

type AdminBillingInvoiceGetReqDto ​

AdminBillingInvoiceGetReqDto defines the billing operation request.

go
type AdminBillingInvoiceGetReqDto struct {
    BillingInvoicePathInput
}

type AdminBillingInvoiceGetResDto ​

AdminBillingInvoiceGetResDto wraps the HTTP response body.

go
type AdminBillingInvoiceGetResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Invoice]
}

type AdminBillingInvoiceIssueReqDto ​

AdminBillingInvoiceIssueReqDto defines the billing operation request.

go
type AdminBillingInvoiceIssueReqDto struct {
    BillingInvoicePathInput
}

type AdminBillingInvoiceIssueResDto ​

AdminBillingInvoiceIssueResDto wraps the HTTP response body.

go
type AdminBillingInvoiceIssueResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Invoice]
}

type AdminBillingInvoiceListReqDto ​

AdminBillingInvoiceListReqDto defines the billing operation request.

go
type AdminBillingInvoiceListReqDto struct {
    HumaAuthenticatedInput
    BillingPaginationInput
    OrganizationID string `query:"organization_id"`
    SubscriptionID string `query:"subscription_id"`
    Status         string `query:"status" enum:"draft,open,paid,void,uncollectible"`
}

type AdminBillingInvoiceListResDto ​

AdminBillingInvoiceListResDto wraps the HTTP response body.

go
type AdminBillingInvoiceListResDto struct {
    Body types.CursorResponse[subscriptionpublic.Invoice]
}

type AdminBillingInvoicePaymentListReqDto ​

AdminBillingInvoicePaymentListReqDto defines the billing operation request.

go
type AdminBillingInvoicePaymentListReqDto struct {
    BillingInvoicePathInput
    BillingPaginationInput
    Status string `query:"status" enum:"recorded,voided"`
}

type AdminBillingInvoicePaymentListResDto ​

AdminBillingInvoicePaymentListResDto wraps the HTTP response body.

go
type AdminBillingInvoicePaymentListResDto struct {
    Body types.CursorResponse[subscriptionpublic.Payment]
}

type AdminBillingInvoiceVoidReqDto ​

AdminBillingInvoiceVoidReqDto defines the billing operation request.

go
type AdminBillingInvoiceVoidReqDto struct {
    BillingInvoicePathInput
    Body subscriptionpublic.VoidParams
}

type AdminBillingInvoiceVoidResDto ​

AdminBillingInvoiceVoidResDto wraps the HTTP response body.

go
type AdminBillingInvoiceVoidResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Invoice]
}

type AdminBillingPaymentGetReqDto ​

AdminBillingPaymentGetReqDto defines the billing operation request.

go
type AdminBillingPaymentGetReqDto struct {
    BillingPaymentPathInput
}

type AdminBillingPaymentGetResDto ​

AdminBillingPaymentGetResDto wraps the HTTP response body.

go
type AdminBillingPaymentGetResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Payment]
}

type AdminBillingPaymentListReqDto ​

AdminBillingPaymentListReqDto defines the billing operation request.

go
type AdminBillingPaymentListReqDto struct {
    HumaAuthenticatedInput
    BillingPaginationInput
    OrganizationID string `query:"organization_id"`
    SubscriptionID string `query:"subscription_id"`
    InvoiceID      string `query:"invoice_id"`
    Status         string `query:"status" enum:"recorded,voided"`
}

type AdminBillingPaymentListResDto ​

AdminBillingPaymentListResDto wraps the HTTP response body.

go
type AdminBillingPaymentListResDto struct {
    Body types.CursorResponse[subscriptionpublic.Payment]
}

type AdminBillingPaymentRecordReqDto ​

AdminBillingPaymentRecordReqDto defines the billing operation request.

go
type AdminBillingPaymentRecordReqDto struct {
    IdempotencyKey string `header:"Idempotency-Key" minLength:"1" maxLength:"255" required:"true"`
    BillingInvoicePathInput
    Body subscriptionpublic.RecordPaymentParams
}

type AdminBillingPaymentRecordResDto ​

AdminBillingPaymentRecordResDto wraps the HTTP response body.

go
type AdminBillingPaymentRecordResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Payment]
}

type AdminBillingPaymentVoidReqDto ​

AdminBillingPaymentVoidReqDto defines the billing operation request.

go
type AdminBillingPaymentVoidReqDto struct {
    BillingPaymentPathInput
    Body subscriptionpublic.VoidParams
}

type AdminBillingPaymentVoidResDto ​

AdminBillingPaymentVoidResDto wraps the HTTP response body.

go
type AdminBillingPaymentVoidResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Payment]
}

type AdminBillingPlanArchiveReqDto ​

AdminBillingPlanArchiveReqDto defines the billing operation request.

go
type AdminBillingPlanArchiveReqDto struct {
    BillingPlanPathInput
}

type AdminBillingPlanArchiveResDto ​

AdminBillingPlanArchiveResDto represents a successful response without a body.

go
type AdminBillingPlanArchiveResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminBillingPlanCreateReqDto ​

AdminBillingPlanCreateReqDto defines the billing operation request.

go
type AdminBillingPlanCreateReqDto struct {
    HumaAuthenticatedInput
    Body subscriptionpublic.CreatePlanParams
}

type AdminBillingPlanCreateResDto ​

AdminBillingPlanCreateResDto wraps the HTTP response body.

go
type AdminBillingPlanCreateResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Plan]
}

type AdminBillingPlanEditReqDto ​

AdminBillingPlanEditReqDto defines the billing operation request.

go
type AdminBillingPlanEditReqDto struct {
    BillingPlanPathInput
    Body subscriptionpublic.EditPlanParams
}

type AdminBillingPlanEditResDto ​

AdminBillingPlanEditResDto wraps the HTTP response body.

go
type AdminBillingPlanEditResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Plan]
}

type AdminBillingPlanGetReqDto ​

AdminBillingPlanGetReqDto defines the billing operation request.

go
type AdminBillingPlanGetReqDto struct {
    BillingPlanPathInput
}

type AdminBillingPlanGetResDto ​

AdminBillingPlanGetResDto wraps the HTTP response body.

go
type AdminBillingPlanGetResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Plan]
}

type AdminBillingPlanListReqDto ​

AdminBillingPlanListReqDto defines the billing operation request.

go
type AdminBillingPlanListReqDto struct {
    HumaAuthenticatedInput
    BillingPaginationInput
    IsPublic string `query:"is_public" enum:"true,false"`
    IsActive string `query:"is_active" enum:"true,false"`
}

type AdminBillingPlanListResDto ​

AdminBillingPlanListResDto wraps the HTTP response body.

go
type AdminBillingPlanListResDto struct {
    Body types.CursorResponse[subscriptionpublic.Plan]
}

type AdminBillingSubscriptionCreateReqDto ​

AdminBillingSubscriptionCreateReqDto defines the billing operation request.

go
type AdminBillingSubscriptionCreateReqDto struct {
    IdempotencyKey string `header:"Idempotency-Key" minLength:"1" maxLength:"255" required:"true"`
    HumaAuthenticatedInput
    Body subscriptionpublic.CreateSubscriptionParams
}

func (*AdminBillingSubscriptionCreateReqDto) Resolve ​

go
func (input *AdminBillingSubscriptionCreateReqDto) Resolve(ctx huma.Context) []error

Resolve preserves the subscription service's request validation.

type AdminBillingSubscriptionCreateResDto ​

AdminBillingSubscriptionCreateResDto wraps the HTTP response body.

go
type AdminBillingSubscriptionCreateResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Subscription]
}

type AdminBillingSubscriptionDeleteReqDto ​

AdminBillingSubscriptionDeleteReqDto defines the billing operation request.

go
type AdminBillingSubscriptionDeleteReqDto struct {
    BillingSubscriptionPathInput
}

type AdminBillingSubscriptionDeleteResDto ​

AdminBillingSubscriptionDeleteResDto represents a successful response without a body.

go
type AdminBillingSubscriptionDeleteResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminBillingSubscriptionEditReqDto ​

AdminBillingSubscriptionEditReqDto defines the billing operation request.

go
type AdminBillingSubscriptionEditReqDto struct {
    BillingSubscriptionPathInput
    Body subscriptionpublic.EditSubscriptionParams
}

func (*AdminBillingSubscriptionEditReqDto) Resolve ​

go
func (input *AdminBillingSubscriptionEditReqDto) Resolve(ctx huma.Context) []error

Resolve preserves the subscription service's request validation.

type AdminBillingSubscriptionEditResDto ​

AdminBillingSubscriptionEditResDto wraps the HTTP response body.

go
type AdminBillingSubscriptionEditResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Subscription]
}

type AdminBillingSubscriptionExtendReqDto ​

AdminBillingSubscriptionExtendReqDto defines the billing operation request.

go
type AdminBillingSubscriptionExtendReqDto struct {
    BillingSubscriptionPathInput
    Body subscriptionpublic.ExtendSubscriptionParams
}

func (*AdminBillingSubscriptionExtendReqDto) Resolve ​

go
func (input *AdminBillingSubscriptionExtendReqDto) Resolve(ctx huma.Context) []error

Resolve preserves the subscription service's request validation.

type AdminBillingSubscriptionExtendResDto ​

AdminBillingSubscriptionExtendResDto wraps the HTTP response body.

go
type AdminBillingSubscriptionExtendResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Subscription]
}

type AdminBillingSubscriptionGetReqDto ​

AdminBillingSubscriptionGetReqDto defines the billing operation request.

go
type AdminBillingSubscriptionGetReqDto struct {
    BillingSubscriptionPathInput
}

type AdminBillingSubscriptionGetResDto ​

AdminBillingSubscriptionGetResDto wraps the HTTP response body.

go
type AdminBillingSubscriptionGetResDto struct {
    Body types.SuccessResponse[subscriptionpublic.Subscription]
}

type AdminBillingSubscriptionInvoiceListReqDto ​

AdminBillingSubscriptionInvoiceListReqDto defines the billing operation request.

go
type AdminBillingSubscriptionInvoiceListReqDto struct {
    BillingSubscriptionPathInput
    BillingPaginationInput
    Status string `query:"status" enum:"draft,open,paid,void,uncollectible"`
}

type AdminBillingSubscriptionInvoiceListResDto ​

AdminBillingSubscriptionInvoiceListResDto wraps the HTTP response body.

go
type AdminBillingSubscriptionInvoiceListResDto struct {
    Body types.CursorResponse[subscriptionpublic.Invoice]
}

type AdminBillingSubscriptionListReqDto ​

AdminBillingSubscriptionListReqDto defines the billing operation request.

go
type AdminBillingSubscriptionListReqDto struct {
    HumaAuthenticatedInput
    BillingPaginationInput
    OrganizationID string `query:"organization_id"`
    Status         string `query:"status" enum:"trialing,active,past_due,canceled,expired"`
}

type AdminBillingSubscriptionListResDto ​

AdminBillingSubscriptionListResDto wraps the HTTP response body.

go
type AdminBillingSubscriptionListResDto struct {
    Body types.CursorResponse[subscriptionpublic.Subscription]
}

type AdminChiefComplaintCreateBodyDto ​

AdminChiefComplaintCreateBodyDto documents editable fields and applies create defaults.

go
type AdminChiefComplaintCreateBodyDto struct {
    // Title is the nonblank English display term.
    Title string `json:"title" nullable:"false" minLength:"1" maxLength:"500" pattern:"\\S" doc:"Title is the nonblank English display term."`
    // Aliases replaces aliases as one array; an empty array clears them.
    Aliases []string `json:"aliases,omitempty" nullable:"false" maxItems:"50" doc:"Aliases replaces aliases as one array; an empty array clears them."`
    // Status controls Doctor visibility.
    Status string `json:"status,omitempty" nullable:"false" enum:"active,inactive" default:"active" doc:"Status controls Doctor visibility."`
    // SortOrder sets Doctor display priority; zero is a valid edit.
    SortOrder int `json:"sort_order,omitempty" nullable:"false" minimum:"0" maximum:"1000000" doc:"SortOrder sets Doctor display priority; zero is a valid edit."`
    // Associated replaces optional related complaint choices.
    Associated []string `json:"associated,omitempty" nullable:"false" maxItems:"30" doc:"Associated replaces optional related complaint choices."`
}

type AdminChiefComplaintCreateDataDto ​

AdminChiefComplaintCreateDataDto contains catalog content and administration metadata.

go
type AdminChiefComplaintCreateDataDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Associated contains related choices in display order and is never null.
    Associated []string `json:"associated" nullable:"false" doc:"Associated contains related choices in display order and is never null."`
}

type AdminChiefComplaintCreateReqDto ​

AdminChiefComplaintCreateReqDto documents the authenticated create request.

go
type AdminChiefComplaintCreateReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // Body contains only editable catalog fields.
    Body AdminChiefComplaintCreateBodyDto
    // RawBody retains field presence and explicit null for validation.
    RawBody []byte
}

func (*AdminChiefComplaintCreateReqDto) Resolve ​

go
func (input *AdminChiefComplaintCreateReqDto) Resolve(_ huma.Context) []error

Resolve rejects null values and empty patches before domain mapping.

type AdminChiefComplaintCreateResDto ​

AdminChiefComplaintCreateResDto wraps the documented HTTP success response.

go
type AdminChiefComplaintCreateResDto struct {
    Body AdminChiefComplaintCreateResponseBodyDto
}

type AdminChiefComplaintCreateResponseBodyDto ​

AdminChiefComplaintCreateResponseBodyDto carries the common envelope and resource result.

go
type AdminChiefComplaintCreateResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data AdminChiefComplaintCreateDataDto `json:"data" doc:"Data contains the requested catalog records."`
}

type AdminChiefComplaintDeleteReqDto ​

AdminChiefComplaintDeleteReqDto documents the authenticated delete request.

go
type AdminChiefComplaintDeleteReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // ID identifies a canonical catalog UUID.
    ID  string `path:"id" format:"uuid" doc:"ID identifies a canonical catalog UUID."`
}

type AdminChiefComplaintDeleteResDto ​

AdminChiefComplaintDeleteResDto wraps the documented HTTP success response.

go
type AdminChiefComplaintDeleteResDto struct {
    Body AdminChiefComplaintDeleteResponseBodyDto
}

type AdminChiefComplaintDeleteResponseBodyDto ​

AdminChiefComplaintDeleteResponseBodyDto carries the common envelope and resource result.

go
type AdminChiefComplaintDeleteResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains an empty object after deletion.
    Data types.Empty `json:"data" doc:"Data contains an empty object after deletion."`
}

type AdminChiefComplaintGetDataDto ​

AdminChiefComplaintGetDataDto contains catalog content and administration metadata.

go
type AdminChiefComplaintGetDataDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Associated contains related choices in display order and is never null.
    Associated []string `json:"associated" nullable:"false" doc:"Associated contains related choices in display order and is never null."`
}

type AdminChiefComplaintGetReqDto ​

AdminChiefComplaintGetReqDto documents the authenticated get request.

go
type AdminChiefComplaintGetReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // ID identifies a canonical catalog UUID.
    ID  string `path:"id" format:"uuid" doc:"ID identifies a canonical catalog UUID."`
}

type AdminChiefComplaintGetResDto ​

AdminChiefComplaintGetResDto wraps the documented HTTP success response.

go
type AdminChiefComplaintGetResDto struct {
    Body AdminChiefComplaintGetResponseBodyDto
}

type AdminChiefComplaintGetResponseBodyDto ​

AdminChiefComplaintGetResponseBodyDto carries the common envelope and resource result.

go
type AdminChiefComplaintGetResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data AdminChiefComplaintGetDataDto `json:"data" doc:"Data contains the requested catalog records."`
}

type AdminChiefComplaintListItemDto ​

AdminChiefComplaintListItemDto contains catalog content and administration metadata.

go
type AdminChiefComplaintListItemDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Associated contains related choices in display order and is never null.
    Associated []string `json:"associated" nullable:"false" doc:"Associated contains related choices in display order and is never null."`
}

type AdminChiefComplaintListReqDto ​

AdminChiefComplaintListReqDto documents the authenticated list request.

go
type AdminChiefComplaintListReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // Search matches normalized titles and aliases.
    Search string `query:"search" maxLength:"255" doc:"Search matches normalized titles and aliases."`
    // Limit bounds each management page.
    Limit int `query:"limit" minimum:"1" maximum:"100" default:"20" doc:"Limit bounds each management page."`
    // Cursor continues a page with identical normalized filters.
    Cursor string `query:"cursor" maxLength:"8192" doc:"Cursor continues a page with identical normalized filters."`
    // Status optionally selects active or inactive terms.
    Status string `query:"status" enum:"active,inactive" doc:"Status optionally selects active or inactive terms."`
    // Deletion controls soft-deletion visibility.
    Deletion string `query:"deletion" enum:"live,deleted,all" default:"live" doc:"Deletion controls soft-deletion visibility."`
}

type AdminChiefComplaintListResDto ​

AdminChiefComplaintListResDto wraps the documented HTTP success response.

go
type AdminChiefComplaintListResDto struct {
    Body AdminChiefComplaintListResponseBodyDto
}

type AdminChiefComplaintListResponseBodyDto ​

AdminChiefComplaintListResponseBodyDto carries the common envelope and filter-bound continuation.

go
type AdminChiefComplaintListResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data []AdminChiefComplaintListItemDto `json:"data" nullable:"false" doc:"Data contains the requested catalog records."`
    // Pagination contains only the opaque continuation cursor.
    Pagination AdminClinicalPaginationDto `json:"pagination" doc:"Pagination contains only the opaque continuation cursor."`
}

type AdminChiefComplaintPatchBodyDto ​

AdminChiefComplaintPatchBodyDto documents editable fields and preserves omission for partial updates.

go
type AdminChiefComplaintPatchBodyDto struct {
    // Title is the nonblank English display term.
    Title *string `json:"title,omitempty" nullable:"false" minLength:"1" maxLength:"500" pattern:"\\S" doc:"Title is the nonblank English display term."`
    // Aliases replaces aliases as one array; an empty array clears them.
    Aliases *[]string `json:"aliases,omitempty" nullable:"false" maxItems:"50" doc:"Aliases replaces aliases as one array; an empty array clears them."`
    // Status controls Doctor visibility.
    Status *string `json:"status,omitempty" nullable:"false" enum:"active,inactive" doc:"Status controls Doctor visibility."`
    // SortOrder sets Doctor display priority; zero is a valid edit.
    SortOrder *int `json:"sort_order,omitempty" nullable:"false" minimum:"0" maximum:"1000000" doc:"SortOrder sets Doctor display priority; zero is a valid edit."`
    // Associated replaces optional related complaint choices.
    Associated *[]string `json:"associated,omitempty" nullable:"false" maxItems:"30" doc:"Associated replaces optional related complaint choices."`
}

type AdminChiefComplaintPatchDataDto ​

AdminChiefComplaintPatchDataDto contains catalog content and administration metadata.

go
type AdminChiefComplaintPatchDataDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Associated contains related choices in display order and is never null.
    Associated []string `json:"associated" nullable:"false" doc:"Associated contains related choices in display order and is never null."`
}

type AdminChiefComplaintPatchReqDto ​

AdminChiefComplaintPatchReqDto documents the authenticated patch request.

go
type AdminChiefComplaintPatchReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // ID identifies a canonical catalog UUID.
    ID  string `path:"id" format:"uuid" doc:"ID identifies a canonical catalog UUID."`
    // Body contains only editable catalog fields.
    Body AdminChiefComplaintPatchBodyDto
    // RawBody retains field presence and explicit null for validation.
    RawBody []byte
}

func (*AdminChiefComplaintPatchReqDto) Resolve ​

go
func (input *AdminChiefComplaintPatchReqDto) Resolve(_ huma.Context) []error

Resolve rejects null values and empty patches before domain mapping.

type AdminChiefComplaintPatchResDto ​

AdminChiefComplaintPatchResDto wraps the documented HTTP success response.

go
type AdminChiefComplaintPatchResDto struct {
    Body AdminChiefComplaintPatchResponseBodyDto
}

type AdminChiefComplaintPatchResponseBodyDto ​

AdminChiefComplaintPatchResponseBodyDto carries the common envelope and resource result.

go
type AdminChiefComplaintPatchResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data AdminChiefComplaintPatchDataDto `json:"data" doc:"Data contains the requested catalog records."`
}

type AdminClinicalMetadataDto ​

AdminClinicalMetadataDto contains server identity/lifecycle and editable display priority.

go
type AdminClinicalMetadataDto struct {
    // ID is the stable server-generated catalog UUID.
    ID  string `json:"id" format:"uuid" doc:"ID is the stable server-generated catalog UUID."`
    // Status controls visibility to doctors independently of soft deletion.
    Status string `json:"status" enum:"active,inactive" doc:"Status controls visibility to doctors independently of soft deletion."`
    // SortOrder ranks Doctor default suggestions, lower values first.
    SortOrder int `json:"sort_order" doc:"SortOrder ranks Doctor default suggestions, lower values first."`
    // CreatedAt records initial creation in UTC.
    CreatedAt time.Time `json:"created_at" doc:"CreatedAt records initial creation in UTC."`
    // UpdatedAt records the most recent actual catalog edit in UTC.
    UpdatedAt time.Time `json:"updated_at" doc:"UpdatedAt records the most recent actual catalog edit in UTC."`
    // DeletedAt is null for live records and retained after a soft deletion.
    DeletedAt *time.Time `json:"deleted_at" nullable:"true" doc:"DeletedAt is null for live records and retained after a soft deletion."`
}

type AdminClinicalPaginationDto ​

AdminClinicalPaginationDto describes management continuation; an empty cursor ends the list.

go
type AdminClinicalPaginationDto struct {
    NextCursor string `json:"next_cursor"`
}

type AdminHistoryAttributesDto ​

AdminHistoryAttributesDto contains optional catalog-level allergy classification.

go
type AdminHistoryAttributesDto struct {
    // AllergyKind is available only in the allergy category; omission produces an empty object.
    AllergyKind string `json:"allergyKind,omitempty" nullable:"false" enum:"Drug,Food,Other,Unspecified" doc:"AllergyKind is available only in the allergy category; omission produces an empty object."`
}

type AdminHistorySuggestionCreateBodyDto ​

AdminHistorySuggestionCreateBodyDto documents editable fields and applies create defaults.

go
type AdminHistorySuggestionCreateBodyDto struct {
    // Title is the nonblank English display term.
    Title string `json:"title" nullable:"false" minLength:"1" maxLength:"500" pattern:"\\S" doc:"Title is the nonblank English display term."`
    // Aliases replaces aliases as one array; an empty array clears them.
    Aliases []string `json:"aliases,omitempty" nullable:"false" maxItems:"50" doc:"Aliases replaces aliases as one array; an empty array clears them."`
    // Status controls Doctor visibility.
    Status string `json:"status,omitempty" nullable:"false" enum:"active,inactive" default:"active" doc:"Status controls Doctor visibility."`
    // SortOrder sets Doctor display priority; zero is a valid edit.
    SortOrder int `json:"sort_order,omitempty" nullable:"false" minimum:"0" maximum:"1000000" doc:"SortOrder sets Doctor display priority; zero is a valid edit."`
    // Category selects the history editor section.
    Category string `json:"category" nullable:"false" enum:"medical,surgical,medication,allergy,family,social,present-illness,obstetric,pediatric,immunization,adverse-reaction,other" doc:"Category selects the history editor section."`
    // Attributes replaces classification attributes; an empty object clears them.
    Attributes AdminHistoryAttributesDto `json:"attributes,omitempty" nullable:"false" doc:"Attributes replaces classification attributes; an empty object clears them."`
}

type AdminHistorySuggestionCreateDataDto ​

AdminHistorySuggestionCreateDataDto contains catalog content and administration metadata.

go
type AdminHistorySuggestionCreateDataDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Category selects the history section.
    Category string `json:"category" doc:"Category selects the history section."`
    // Attributes contains catalog classifications and is never null.
    Attributes AdminHistoryAttributesDto `json:"attributes" doc:"Attributes contains catalog classifications and is never null."`
}

type AdminHistorySuggestionCreateReqDto ​

AdminHistorySuggestionCreateReqDto documents the authenticated create request.

go
type AdminHistorySuggestionCreateReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // Body contains only editable catalog fields.
    Body AdminHistorySuggestionCreateBodyDto
    // RawBody retains field presence and explicit null for validation.
    RawBody []byte
}

func (*AdminHistorySuggestionCreateReqDto) Resolve ​

go
func (input *AdminHistorySuggestionCreateReqDto) Resolve(_ huma.Context) []error

Resolve rejects null values and empty patches before domain mapping.

type AdminHistorySuggestionCreateResDto ​

AdminHistorySuggestionCreateResDto wraps the documented HTTP success response.

go
type AdminHistorySuggestionCreateResDto struct {
    Body AdminHistorySuggestionCreateResponseBodyDto
}

type AdminHistorySuggestionCreateResponseBodyDto ​

AdminHistorySuggestionCreateResponseBodyDto carries the common envelope and resource result.

go
type AdminHistorySuggestionCreateResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data AdminHistorySuggestionCreateDataDto `json:"data" doc:"Data contains the requested catalog records."`
}

type AdminHistorySuggestionDeleteReqDto ​

AdminHistorySuggestionDeleteReqDto documents the authenticated delete request.

go
type AdminHistorySuggestionDeleteReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // ID identifies a canonical catalog UUID.
    ID  string `path:"id" format:"uuid" doc:"ID identifies a canonical catalog UUID."`
}

type AdminHistorySuggestionDeleteResDto ​

AdminHistorySuggestionDeleteResDto wraps the documented HTTP success response.

go
type AdminHistorySuggestionDeleteResDto struct {
    Body AdminHistorySuggestionDeleteResponseBodyDto
}

type AdminHistorySuggestionDeleteResponseBodyDto ​

AdminHistorySuggestionDeleteResponseBodyDto carries the common envelope and resource result.

go
type AdminHistorySuggestionDeleteResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains an empty object after deletion.
    Data types.Empty `json:"data" doc:"Data contains an empty object after deletion."`
}

type AdminHistorySuggestionGetDataDto ​

AdminHistorySuggestionGetDataDto contains catalog content and administration metadata.

go
type AdminHistorySuggestionGetDataDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Category selects the history section.
    Category string `json:"category" doc:"Category selects the history section."`
    // Attributes contains catalog classifications and is never null.
    Attributes AdminHistoryAttributesDto `json:"attributes" doc:"Attributes contains catalog classifications and is never null."`
}

type AdminHistorySuggestionGetReqDto ​

AdminHistorySuggestionGetReqDto documents the authenticated get request.

go
type AdminHistorySuggestionGetReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // ID identifies a canonical catalog UUID.
    ID  string `path:"id" format:"uuid" doc:"ID identifies a canonical catalog UUID."`
}

type AdminHistorySuggestionGetResDto ​

AdminHistorySuggestionGetResDto wraps the documented HTTP success response.

go
type AdminHistorySuggestionGetResDto struct {
    Body AdminHistorySuggestionGetResponseBodyDto
}

type AdminHistorySuggestionGetResponseBodyDto ​

AdminHistorySuggestionGetResponseBodyDto carries the common envelope and resource result.

go
type AdminHistorySuggestionGetResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data AdminHistorySuggestionGetDataDto `json:"data" doc:"Data contains the requested catalog records."`
}

type AdminHistorySuggestionListItemDto ​

AdminHistorySuggestionListItemDto contains catalog content and administration metadata.

go
type AdminHistorySuggestionListItemDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Category selects the history section.
    Category string `json:"category" doc:"Category selects the history section."`
    // Attributes contains catalog classifications and is never null.
    Attributes AdminHistoryAttributesDto `json:"attributes" doc:"Attributes contains catalog classifications and is never null."`
}

type AdminHistorySuggestionListReqDto ​

AdminHistorySuggestionListReqDto documents the authenticated list request.

go
type AdminHistorySuggestionListReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // Search matches normalized titles and aliases.
    Search string `query:"search" maxLength:"255" doc:"Search matches normalized titles and aliases."`
    // Limit bounds each management page.
    Limit int `query:"limit" minimum:"1" maximum:"100" default:"20" doc:"Limit bounds each management page."`
    // Cursor continues a page with identical normalized filters.
    Cursor string `query:"cursor" maxLength:"8192" doc:"Cursor continues a page with identical normalized filters."`
    // Status optionally selects active or inactive terms.
    Status string `query:"status" enum:"active,inactive" doc:"Status optionally selects active or inactive terms."`
    // Deletion controls soft-deletion visibility.
    Deletion string `query:"deletion" enum:"live,deleted,all" default:"live" doc:"Deletion controls soft-deletion visibility."`
    // Category optionally selects one history section.
    Category string `query:"category" enum:"medical,surgical,medication,allergy,family,social,present-illness,obstetric,pediatric,immunization,adverse-reaction,other" doc:"Category optionally selects one history section."`
}

type AdminHistorySuggestionListResDto ​

AdminHistorySuggestionListResDto wraps the documented HTTP success response.

go
type AdminHistorySuggestionListResDto struct {
    Body AdminHistorySuggestionListResponseBodyDto
}

type AdminHistorySuggestionListResponseBodyDto ​

AdminHistorySuggestionListResponseBodyDto carries the common envelope and filter-bound continuation.

go
type AdminHistorySuggestionListResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data []AdminHistorySuggestionListItemDto `json:"data" nullable:"false" doc:"Data contains the requested catalog records."`
    // Pagination contains only the opaque continuation cursor.
    Pagination AdminClinicalPaginationDto `json:"pagination" doc:"Pagination contains only the opaque continuation cursor."`
}

type AdminHistorySuggestionPatchBodyDto ​

AdminHistorySuggestionPatchBodyDto documents editable fields and preserves omission for partial updates.

go
type AdminHistorySuggestionPatchBodyDto struct {
    // Title is the nonblank English display term.
    Title *string `json:"title,omitempty" nullable:"false" minLength:"1" maxLength:"500" pattern:"\\S" doc:"Title is the nonblank English display term."`
    // Aliases replaces aliases as one array; an empty array clears them.
    Aliases *[]string `json:"aliases,omitempty" nullable:"false" maxItems:"50" doc:"Aliases replaces aliases as one array; an empty array clears them."`
    // Status controls Doctor visibility.
    Status *string `json:"status,omitempty" nullable:"false" enum:"active,inactive" doc:"Status controls Doctor visibility."`
    // SortOrder sets Doctor display priority; zero is a valid edit.
    SortOrder *int `json:"sort_order,omitempty" nullable:"false" minimum:"0" maximum:"1000000" doc:"SortOrder sets Doctor display priority; zero is a valid edit."`
    // Category selects the history editor section.
    Category *string `json:"category,omitempty" nullable:"false" enum:"medical,surgical,medication,allergy,family,social,present-illness,obstetric,pediatric,immunization,adverse-reaction,other" doc:"Category selects the history editor section."`
    // Attributes replaces classification attributes; an empty object clears them.
    Attributes *AdminHistoryAttributesDto `json:"attributes,omitempty" nullable:"false" doc:"Attributes replaces classification attributes; an empty object clears them."`
}

type AdminHistorySuggestionPatchDataDto ​

AdminHistorySuggestionPatchDataDto contains catalog content and administration metadata.

go
type AdminHistorySuggestionPatchDataDto struct {
    AdminClinicalMetadataDto
    // Title is the English display label.
    Title string `json:"title" doc:"Title is the English display label."`
    // Aliases contains all searchable synonyms and is never null.
    Aliases []string `json:"aliases" nullable:"false" doc:"Aliases contains all searchable synonyms and is never null."`
    // Category selects the history section.
    Category string `json:"category" doc:"Category selects the history section."`
    // Attributes contains catalog classifications and is never null.
    Attributes AdminHistoryAttributesDto `json:"attributes" doc:"Attributes contains catalog classifications and is never null."`
}

type AdminHistorySuggestionPatchReqDto ​

AdminHistorySuggestionPatchReqDto documents the authenticated patch request.

go
type AdminHistorySuggestionPatchReqDto struct {
    // Authorization is the active platform-admin bearer session.
    Authorization string `header:"Authorization" hidden:"true" doc:"Authorization is the active platform-admin bearer session."`
    // ID identifies a canonical catalog UUID.
    ID  string `path:"id" format:"uuid" doc:"ID identifies a canonical catalog UUID."`
    // Body contains only editable catalog fields.
    Body AdminHistorySuggestionPatchBodyDto
    // RawBody retains field presence and explicit null for validation.
    RawBody []byte
}

func (*AdminHistorySuggestionPatchReqDto) Resolve ​

go
func (input *AdminHistorySuggestionPatchReqDto) Resolve(_ huma.Context) []error

Resolve rejects null values and empty patches before domain mapping.

type AdminHistorySuggestionPatchResDto ​

AdminHistorySuggestionPatchResDto wraps the documented HTTP success response.

go
type AdminHistorySuggestionPatchResDto struct {
    Body AdminHistorySuggestionPatchResponseBodyDto
}

type AdminHistorySuggestionPatchResponseBodyDto ​

AdminHistorySuggestionPatchResponseBodyDto carries the common envelope and resource result.

go
type AdminHistorySuggestionPatchResponseBodyDto struct {
    // Message describes the completed operation.
    Message string `json:"message" doc:"Message describes the completed operation."`
    // StatusCode equals the HTTP status.
    StatusCode int `json:"status_code" doc:"StatusCode equals the HTTP status."`
    // Data contains the requested catalog records.
    Data AdminHistorySuggestionPatchDataDto `json:"data" doc:"Data contains the requested catalog records."`
}

type AdminIdentityAccountGetReqDto ​

AdminIdentityAccountGetReqDto identifies the identity account to retrieve.

go
type AdminIdentityAccountGetReqDto struct{ AccountHTTPInput }

type AdminIdentityAccountGetResDto ​

AdminIdentityAccountGetResDto wraps the HTTP response body.

go
type AdminIdentityAccountGetResDto struct {
    Body identitypublic.Account
}

type AdminIdentityAccountListReqDto ​

AdminIdentityAccountListReqDto searches the Identity-owned account directory.

go
type AdminIdentityAccountListReqDto struct {
    ManagementListHTTPInput
    Search string `query:"search" maxLength:"255" doc:"Search account name, email or ID."`
    Status string `query:"status" enum:"active,inactive,suspended"`
}

type AdminIdentityAccountListResDto ​

AdminIdentityAccountListResDto wraps the HTTP response body.

go
type AdminIdentityAccountListResDto struct {
    Body ManagementPage[identitypublic.Account]
}

type AdminIdentityAccountStatusPatchReqDto ​

AdminIdentityAccountStatusPatchReqDto edits account status without accepting credentials or roles.

go
type AdminIdentityAccountStatusPatchReqDto struct {
    AccountHTTPInput
    Body PatchIdentityAccountStatusParams
}

type AdminIdentityAccountStatusPatchResDto ​

AdminIdentityAccountStatusPatchResDto wraps the HTTP response body.

go
type AdminIdentityAccountStatusPatchResDto struct {
    Body identitypublic.Account
}

type AdminLoginReqDto ​

AdminLoginReqDto contains the email and password used to authenticate an administrator.

go
type AdminLoginReqDto struct {
    Body struct {
        Email    string `json:"email" format:"email" maxLength:"255" example:"admin@example.com" doc:"Registered email address."`
        Password string `json:"password" minLength:"1" maxLength:"128" writeOnly:"true" example:"ExamplePassword123!" doc:"Current account password."`
    }
}

type AdminLoginResDto ​

AdminLoginResDto contains the credentials issued for an administrator session.

go
type AdminLoginResDto struct {
    Body types.SuccessResponse[identitypublic.TokenPair]
}

type AdminMedicineBrandCreateBodyDto ​

AdminMedicineBrandCreateBodyDto defines the response envelope.

go
type AdminMedicineBrandCreateBodyDto struct {
    Message    string                          `json:"message"`
    StatusCode int                             `json:"status_code"`
    Data       AdminMedicineBrandCreateDataDto `json:"data"`
}

type AdminMedicineBrandCreateDataDto ​

AdminMedicineBrandCreateDataDto contains catalog response fields.

go
type AdminMedicineBrandCreateDataDto struct {
    ID             string     `json:"id"`
    Status         string     `json:"status" enum:"active,inactive"`
    Description    *string    `json:"description,omitempty"`
    CreatedAt      time.Time  `json:"created_at"`
    UpdatedAt      time.Time  `json:"updated_at"`
    DeletedAt      *time.Time `json:"deleted_at,omitempty"`
    Name           string     `json:"name"`
    ManufacturerID string     `json:"manufacturer_id"`
    GenericID      string     `json:"generic_id"`
}

type AdminMedicineBrandCreateInputBody ​

AdminMedicineBrandCreateInputBody defines editable catalog fields.

go
type AdminMedicineBrandCreateInputBody struct {
    Name           string  `json:"name" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    ManufacturerID string  `json:"manufacturer_id" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    GenericID      string  `json:"generic_id" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description    *string `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status         string  `json:"status,omitempty" nullable:"false" enum:"active,inactive" default:"active"`
}

type AdminMedicineBrandCreateReqDto ​

AdminMedicineBrandCreateReqDto defines the HTTP request.

go
type AdminMedicineBrandCreateReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    Body          AdminMedicineBrandCreateInputBody
    RawBody       []byte
}

func (*AdminMedicineBrandCreateReqDto) Resolve ​

go
func (input *AdminMedicineBrandCreateReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineBrandCreateResDto ​

AdminMedicineBrandCreateResDto wraps the HTTP response body.

go
type AdminMedicineBrandCreateResDto struct {
    Body AdminMedicineBrandCreateBodyDto
}

type AdminMedicineBrandDeleteReqDto ​

AdminMedicineBrandDeleteReqDto defines the HTTP request.

go
type AdminMedicineBrandDeleteReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineBrandDeleteResDto ​

AdminMedicineBrandDeleteResDto defines the HTTP response.

go
type AdminMedicineBrandDeleteResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminMedicineBrandGetBodyDto ​

AdminMedicineBrandGetBodyDto defines the HTTP response.

go
type AdminMedicineBrandGetBodyDto struct {
    Message    string                       `json:"message"`
    StatusCode int                          `json:"status_code"`
    Data       AdminMedicineBrandGetDataDto `json:"data"`
}

type AdminMedicineBrandGetDataDto ​

AdminMedicineBrandGetDataDto contains catalog response fields.

go
type AdminMedicineBrandGetDataDto struct {
    ID             string     `json:"id"`
    Status         string     `json:"status" enum:"active,inactive"`
    Description    *string    `json:"description,omitempty"`
    CreatedAt      time.Time  `json:"created_at"`
    UpdatedAt      time.Time  `json:"updated_at"`
    DeletedAt      *time.Time `json:"deleted_at,omitempty"`
    Name           string     `json:"name"`
    ManufacturerID string     `json:"manufacturer_id"`
    GenericID      string     `json:"generic_id"`
}

type AdminMedicineBrandGetReqDto ​

AdminMedicineBrandGetReqDto defines the HTTP request.

go
type AdminMedicineBrandGetReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineBrandGetResDto ​

AdminMedicineBrandGetResDto defines the HTTP response.

go
type AdminMedicineBrandGetResDto struct{ Body AdminMedicineBrandGetBodyDto }

type AdminMedicineBrandListBodyDto ​

AdminMedicineBrandListBodyDto defines the HTTP response.

go
type AdminMedicineBrandListBodyDto struct {
    Message    string                              `json:"message"`
    StatusCode int                                 `json:"status_code"`
    Data       []AdminMedicineBrandListItemDto     `json:"data" nullable:"false"`
    Pagination AdminMedicineBrandListPaginationDto `json:"pagination"`
}

type AdminMedicineBrandListItemDto ​

AdminMedicineBrandListItemDto contains catalog response fields.

go
type AdminMedicineBrandListItemDto struct {
    ID             string     `json:"id"`
    Status         string     `json:"status" enum:"active,inactive"`
    Description    *string    `json:"description,omitempty"`
    CreatedAt      time.Time  `json:"created_at"`
    UpdatedAt      time.Time  `json:"updated_at"`
    DeletedAt      *time.Time `json:"deleted_at,omitempty"`
    Name           string     `json:"name"`
    ManufacturerID string     `json:"manufacturer_id"`
    GenericID      string     `json:"generic_id"`
}

type AdminMedicineBrandListPaginationDto ​

AdminMedicineBrandListPaginationDto describes cursor pagination.

go
type AdminMedicineBrandListPaginationDto struct {
    NextCursor  string `json:"next_cursor"`
    CurrentPage int    `json:"current_page"`
    PerPage     int    `json:"per_page"`
    TotalPages  int    `json:"total_pages"`
    TotalItems  int    `json:"total_items"`
}

type AdminMedicineBrandListReqDto ​

AdminMedicineBrandListReqDto defines the HTTP request.

go
type AdminMedicineBrandListReqDto struct {
    Authorization  string `header:"Authorization" hidden:"true"`
    Q              string `query:"q" maxLength:"255"`
    Limit          int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor         string `query:"cursor"`
    ManufacturerID string `query:"manufacturer_id" minLength:"1" maxLength:"255" pattern:"\\S"`
    GenericID      string `query:"generic_id" minLength:"1" maxLength:"255" pattern:"\\S"`
    Status         string `query:"status" enum:"active,inactive"`
    Deletion       string `query:"deletion" enum:"live,deleted,all" default:"live"`
}

type AdminMedicineBrandListResDto ​

AdminMedicineBrandListResDto defines the HTTP response.

go
type AdminMedicineBrandListResDto struct{ Body AdminMedicineBrandListBodyDto }

type AdminMedicineBrandPatchBodyDto ​

AdminMedicineBrandPatchBodyDto defines the response envelope.

go
type AdminMedicineBrandPatchBodyDto struct {
    Message    string                         `json:"message"`
    StatusCode int                            `json:"status_code"`
    Data       AdminMedicineBrandPatchDataDto `json:"data"`
}

type AdminMedicineBrandPatchDataDto ​

AdminMedicineBrandPatchDataDto contains catalog response fields.

go
type AdminMedicineBrandPatchDataDto struct {
    ID             string     `json:"id"`
    Status         string     `json:"status" enum:"active,inactive"`
    Description    *string    `json:"description,omitempty"`
    CreatedAt      time.Time  `json:"created_at"`
    UpdatedAt      time.Time  `json:"updated_at"`
    DeletedAt      *time.Time `json:"deleted_at,omitempty"`
    Name           string     `json:"name"`
    ManufacturerID string     `json:"manufacturer_id"`
    GenericID      string     `json:"generic_id"`
}

type AdminMedicineBrandPatchInputBody ​

AdminMedicineBrandPatchInputBody defines editable catalog fields.

go
type AdminMedicineBrandPatchInputBody struct {
    Name           *string         `json:"name,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    ManufacturerID *string         `json:"manufacturer_id,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    GenericID      *string         `json:"generic_id,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description    *string         `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status         *string         `json:"status,omitempty" nullable:"false" enum:"active,inactive"`
    Supplied       map[string]bool `json:"-"`
}

func (*AdminMedicineBrandPatchInputBody) UnmarshalJSON ​

go
func (body *AdminMedicineBrandPatchInputBody) UnmarshalJSON(data []byte) error

UnmarshalJSON retains field presence for partial updates.

type AdminMedicineBrandPatchReqDto ​

AdminMedicineBrandPatchReqDto defines the HTTP request.

go
type AdminMedicineBrandPatchReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
    Body          AdminMedicineBrandPatchInputBody
    RawBody       []byte
}

func (*AdminMedicineBrandPatchReqDto) Resolve ​

go
func (input *AdminMedicineBrandPatchReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineBrandPatchResDto ​

AdminMedicineBrandPatchResDto wraps the HTTP response body.

go
type AdminMedicineBrandPatchResDto struct {
    Body AdminMedicineBrandPatchBodyDto
}

type AdminMedicineBrandRestoreBodyDto ​

AdminMedicineBrandRestoreBodyDto defines the response envelope.

go
type AdminMedicineBrandRestoreBodyDto struct {
    Message    string                           `json:"message"`
    StatusCode int                              `json:"status_code"`
    Data       AdminMedicineBrandRestoreDataDto `json:"data"`
}

type AdminMedicineBrandRestoreDataDto ​

AdminMedicineBrandRestoreDataDto contains catalog response fields.

go
type AdminMedicineBrandRestoreDataDto struct {
    ID             string     `json:"id"`
    Status         string     `json:"status" enum:"active,inactive"`
    Description    *string    `json:"description,omitempty"`
    CreatedAt      time.Time  `json:"created_at"`
    UpdatedAt      time.Time  `json:"updated_at"`
    DeletedAt      *time.Time `json:"deleted_at,omitempty"`
    Name           string     `json:"name"`
    ManufacturerID string     `json:"manufacturer_id"`
    GenericID      string     `json:"generic_id"`
}

type AdminMedicineBrandRestoreReqDto ​

AdminMedicineBrandRestoreReqDto defines the HTTP request.

go
type AdminMedicineBrandRestoreReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineBrandRestoreResDto ​

AdminMedicineBrandRestoreResDto wraps the HTTP response body.

go
type AdminMedicineBrandRestoreResDto struct {
    Body AdminMedicineBrandRestoreBodyDto
}

type AdminMedicineDrugCreateBodyDto ​

AdminMedicineDrugCreateBodyDto defines the response envelope.

go
type AdminMedicineDrugCreateBodyDto struct {
    Message    string                         `json:"message"`
    StatusCode int                            `json:"status_code"`
    Data       AdminMedicineDrugCreateDataDto `json:"data"`
}

type AdminMedicineDrugCreateDataDto ​

AdminMedicineDrugCreateDataDto contains catalog response fields.

go
type AdminMedicineDrugCreateDataDto struct {
    ID                 string                            `json:"id"`
    Status             string                            `json:"status" enum:"active,inactive"`
    Description        *string                           `json:"description,omitempty"`
    CreatedAt          time.Time                         `json:"created_at"`
    UpdatedAt          time.Time                         `json:"updated_at"`
    DeletedAt          *time.Time                        `json:"deleted_at,omitempty"`
    BrandID            string                            `json:"brand_id"`
    Form               string                            `json:"form"`
    Strength           string                            `json:"strength"`
    Route              string                            `json:"route"`
    TherapeuticClassID string                            `json:"therapeutic_class_id"`
    CatalogueVersion   string                            `json:"catalogue_version"`
    Aliases            []string                          `json:"aliases" nullable:"false"`
    IngredientIDs      []string                          `json:"ingredient_ids" nullable:"false"`
    QuickSigs          []AdminMedicineQuickSigDto        `json:"quick_sigs" nullable:"false"`
    Brand              AdminMedicineDrugCreateSummaryDto `json:"brand"`
    Generic            AdminMedicineDrugCreateSummaryDto `json:"generic"`
    Manufacturer       AdminMedicineDrugCreateSummaryDto `json:"manufacturer"`
}

type AdminMedicineDrugCreateInputBody ​

AdminMedicineDrugCreateInputBody defines editable catalog fields.

go
type AdminMedicineDrugCreateInputBody struct {
    Route              string   `json:"route,omitempty" nullable:"false" maxLength:"255"`
    TherapeuticClassID string   `json:"therapeutic_class_id,omitempty" nullable:"false" maxLength:"255"`
    Aliases            []string `json:"aliases,omitempty" nullable:"false" maxItems:"50"`
    IngredientIDs      []string `json:"ingredient_ids,omitempty" nullable:"false" maxItems:"20"`
    BrandID            string   `json:"brand_id" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Form               string   `json:"form" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Strength           string   `json:"strength" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description        *string  `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status             string   `json:"status,omitempty" nullable:"false" enum:"active,inactive" default:"active"`
}

type AdminMedicineDrugCreateReqDto ​

AdminMedicineDrugCreateReqDto defines the HTTP request.

go
type AdminMedicineDrugCreateReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    Body          AdminMedicineDrugCreateInputBody
    RawBody       []byte
}

func (*AdminMedicineDrugCreateReqDto) Resolve ​

go
func (input *AdminMedicineDrugCreateReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineDrugCreateResDto ​

AdminMedicineDrugCreateResDto wraps the HTTP response body.

go
type AdminMedicineDrugCreateResDto struct {
    Body AdminMedicineDrugCreateBodyDto
}

type AdminMedicineDrugCreateSummaryDto ​

AdminMedicineDrugCreateSummaryDto contains related catalog display data.

go
type AdminMedicineDrugCreateSummaryDto struct {
    ID   string `json:"id"`
    Name string `json:"name"`
}

type AdminMedicineDrugDeleteReqDto ​

AdminMedicineDrugDeleteReqDto defines the HTTP request.

go
type AdminMedicineDrugDeleteReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineDrugDeleteResDto ​

AdminMedicineDrugDeleteResDto defines the HTTP response.

go
type AdminMedicineDrugDeleteResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminMedicineDrugGetBodyDto ​

AdminMedicineDrugGetBodyDto defines the HTTP response.

go
type AdminMedicineDrugGetBodyDto struct {
    Message    string                      `json:"message"`
    StatusCode int                         `json:"status_code"`
    Data       AdminMedicineDrugGetDataDto `json:"data"`
}

type AdminMedicineDrugGetDataDto ​

AdminMedicineDrugGetDataDto contains catalog response fields.

go
type AdminMedicineDrugGetDataDto struct {
    ID                 string                         `json:"id"`
    Status             string                         `json:"status" enum:"active,inactive"`
    Description        *string                        `json:"description,omitempty"`
    CreatedAt          time.Time                      `json:"created_at"`
    UpdatedAt          time.Time                      `json:"updated_at"`
    DeletedAt          *time.Time                     `json:"deleted_at,omitempty"`
    BrandID            string                         `json:"brand_id"`
    Form               string                         `json:"form"`
    Strength           string                         `json:"strength"`
    Route              string                         `json:"route"`
    TherapeuticClassID string                         `json:"therapeutic_class_id"`
    CatalogueVersion   string                         `json:"catalogue_version"`
    Aliases            []string                       `json:"aliases" nullable:"false"`
    IngredientIDs      []string                       `json:"ingredient_ids" nullable:"false"`
    QuickSigs          []AdminMedicineQuickSigDto     `json:"quick_sigs" nullable:"false"`
    Brand              AdminMedicineDrugGetSummaryDto `json:"brand"`
    Generic            AdminMedicineDrugGetSummaryDto `json:"generic"`
    Manufacturer       AdminMedicineDrugGetSummaryDto `json:"manufacturer"`
}

type AdminMedicineDrugGetReqDto ​

AdminMedicineDrugGetReqDto defines the HTTP request.

go
type AdminMedicineDrugGetReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineDrugGetResDto ​

AdminMedicineDrugGetResDto defines the HTTP response.

go
type AdminMedicineDrugGetResDto struct{ Body AdminMedicineDrugGetBodyDto }

type AdminMedicineDrugGetSummaryDto ​

AdminMedicineDrugGetSummaryDto contains related catalog display data.

go
type AdminMedicineDrugGetSummaryDto struct {
    ID   string `json:"id"`
    Name string `json:"name"`
}

type AdminMedicineDrugListBodyDto ​

AdminMedicineDrugListBodyDto defines the HTTP response.

go
type AdminMedicineDrugListBodyDto struct {
    Message    string                             `json:"message"`
    StatusCode int                                `json:"status_code"`
    Data       []AdminMedicineDrugListItemDto     `json:"data" nullable:"false"`
    Pagination AdminMedicineDrugListPaginationDto `json:"pagination"`
}

type AdminMedicineDrugListItemDto ​

AdminMedicineDrugListItemDto contains catalog response fields.

go
type AdminMedicineDrugListItemDto struct {
    ID                 string                          `json:"id"`
    Status             string                          `json:"status" enum:"active,inactive"`
    Description        *string                         `json:"description,omitempty"`
    CreatedAt          time.Time                       `json:"created_at"`
    UpdatedAt          time.Time                       `json:"updated_at"`
    DeletedAt          *time.Time                      `json:"deleted_at,omitempty"`
    BrandID            string                          `json:"brand_id"`
    Form               string                          `json:"form"`
    Strength           string                          `json:"strength"`
    Route              string                          `json:"route"`
    TherapeuticClassID string                          `json:"therapeutic_class_id"`
    CatalogueVersion   string                          `json:"catalogue_version"`
    Aliases            []string                        `json:"aliases" nullable:"false"`
    IngredientIDs      []string                        `json:"ingredient_ids" nullable:"false"`
    QuickSigs          []AdminMedicineQuickSigDto      `json:"quick_sigs" nullable:"false"`
    Brand              AdminMedicineDrugListSummaryDto `json:"brand"`
    Generic            AdminMedicineDrugListSummaryDto `json:"generic"`
    Manufacturer       AdminMedicineDrugListSummaryDto `json:"manufacturer"`
}

type AdminMedicineDrugListPaginationDto ​

AdminMedicineDrugListPaginationDto describes cursor pagination.

go
type AdminMedicineDrugListPaginationDto struct {
    NextCursor  string `json:"next_cursor"`
    CurrentPage int    `json:"current_page"`
    PerPage     int    `json:"per_page"`
    TotalPages  int    `json:"total_pages"`
    TotalItems  int    `json:"total_items"`
}

type AdminMedicineDrugListReqDto ​

AdminMedicineDrugListReqDto defines the HTTP request.

go
type AdminMedicineDrugListReqDto struct {
    Authorization  string `header:"Authorization" hidden:"true"`
    Q              string `query:"q" maxLength:"255"`
    Limit          int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor         string `query:"cursor"`
    ManufacturerID string `query:"manufacturer_id" minLength:"1" maxLength:"255" pattern:"\\S"`
    GenericID      string `query:"generic_id" minLength:"1" maxLength:"255" pattern:"\\S"`
    BrandID        string `query:"brand_id" minLength:"1" maxLength:"255" pattern:"\\S"`
    Form           string `query:"form" minLength:"1" maxLength:"255" pattern:"\\S"`
    Status         string `query:"status" enum:"active,inactive"`
    Deletion       string `query:"deletion" enum:"live,deleted,all" default:"live"`
}

type AdminMedicineDrugListResDto ​

AdminMedicineDrugListResDto defines the HTTP response.

go
type AdminMedicineDrugListResDto struct{ Body AdminMedicineDrugListBodyDto }

type AdminMedicineDrugListSummaryDto ​

AdminMedicineDrugListSummaryDto contains related catalog display data.

go
type AdminMedicineDrugListSummaryDto struct {
    ID   string `json:"id"`
    Name string `json:"name"`
}

type AdminMedicineDrugPatchBodyDto ​

AdminMedicineDrugPatchBodyDto defines the HTTP response.

go
type AdminMedicineDrugPatchBodyDto struct {
    Message    string                        `json:"message"`
    StatusCode int                           `json:"status_code"`
    Data       AdminMedicineDrugPatchDataDto `json:"data"`
}

type AdminMedicineDrugPatchDataDto ​

AdminMedicineDrugPatchDataDto contains catalog response fields.

go
type AdminMedicineDrugPatchDataDto struct {
    ID                 string                           `json:"id"`
    Status             string                           `json:"status" enum:"active,inactive"`
    Description        *string                          `json:"description,omitempty"`
    CreatedAt          time.Time                        `json:"created_at"`
    UpdatedAt          time.Time                        `json:"updated_at"`
    DeletedAt          *time.Time                       `json:"deleted_at,omitempty"`
    BrandID            string                           `json:"brand_id"`
    Form               string                           `json:"form"`
    Strength           string                           `json:"strength"`
    Route              string                           `json:"route"`
    TherapeuticClassID string                           `json:"therapeutic_class_id"`
    CatalogueVersion   string                           `json:"catalogue_version"`
    Aliases            []string                         `json:"aliases" nullable:"false"`
    IngredientIDs      []string                         `json:"ingredient_ids" nullable:"false"`
    QuickSigs          []AdminMedicineQuickSigDto       `json:"quick_sigs" nullable:"false"`
    Brand              AdminMedicineDrugPatchSummaryDto `json:"brand"`
    Generic            AdminMedicineDrugPatchSummaryDto `json:"generic"`
    Manufacturer       AdminMedicineDrugPatchSummaryDto `json:"manufacturer"`
}

type AdminMedicineDrugPatchInputBody ​

AdminMedicineDrugPatchInputBody defines editable catalog fields.

go
type AdminMedicineDrugPatchInputBody struct {
    Route              *string         `json:"route,omitempty" nullable:"false" maxLength:"255"`
    TherapeuticClassID *string         `json:"therapeutic_class_id,omitempty" nullable:"false" maxLength:"255"`
    Aliases            *[]string       `json:"aliases,omitempty" nullable:"false" maxItems:"50"`
    IngredientIDs      *[]string       `json:"ingredient_ids,omitempty" nullable:"false" maxItems:"20"`
    BrandID            *string         `json:"brand_id,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Form               *string         `json:"form,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Strength           *string         `json:"strength,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description        *string         `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status             *string         `json:"status,omitempty" nullable:"false" enum:"active,inactive"`
    Supplied           map[string]bool `json:"-"`
}

func (*AdminMedicineDrugPatchInputBody) UnmarshalJSON ​

go
func (body *AdminMedicineDrugPatchInputBody) UnmarshalJSON(data []byte) error

UnmarshalJSON retains field presence for partial updates.

type AdminMedicineDrugPatchReqDto ​

AdminMedicineDrugPatchReqDto defines the HTTP request.

go
type AdminMedicineDrugPatchReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
    Body          AdminMedicineDrugPatchInputBody
    RawBody       []byte
}

func (*AdminMedicineDrugPatchReqDto) Resolve ​

go
func (input *AdminMedicineDrugPatchReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineDrugPatchResDto ​

AdminMedicineDrugPatchResDto defines the HTTP response.

go
type AdminMedicineDrugPatchResDto struct{ Body AdminMedicineDrugPatchBodyDto }

type AdminMedicineDrugPatchSummaryDto ​

AdminMedicineDrugPatchSummaryDto contains related catalog display data.

go
type AdminMedicineDrugPatchSummaryDto struct {
    ID   string `json:"id"`
    Name string `json:"name"`
}

type AdminMedicineDrugRestoreBodyDto ​

AdminMedicineDrugRestoreBodyDto defines the response envelope.

go
type AdminMedicineDrugRestoreBodyDto struct {
    Message    string                          `json:"message"`
    StatusCode int                             `json:"status_code"`
    Data       AdminMedicineDrugRestoreDataDto `json:"data"`
}

type AdminMedicineDrugRestoreDataDto ​

AdminMedicineDrugRestoreDataDto contains catalog response fields.

go
type AdminMedicineDrugRestoreDataDto struct {
    ID                 string                             `json:"id"`
    Status             string                             `json:"status" enum:"active,inactive"`
    Description        *string                            `json:"description,omitempty"`
    CreatedAt          time.Time                          `json:"created_at"`
    UpdatedAt          time.Time                          `json:"updated_at"`
    DeletedAt          *time.Time                         `json:"deleted_at,omitempty"`
    BrandID            string                             `json:"brand_id"`
    Form               string                             `json:"form"`
    Strength           string                             `json:"strength"`
    Route              string                             `json:"route"`
    TherapeuticClassID string                             `json:"therapeutic_class_id"`
    CatalogueVersion   string                             `json:"catalogue_version"`
    Aliases            []string                           `json:"aliases" nullable:"false"`
    IngredientIDs      []string                           `json:"ingredient_ids" nullable:"false"`
    QuickSigs          []AdminMedicineQuickSigDto         `json:"quick_sigs" nullable:"false"`
    Brand              AdminMedicineDrugRestoreSummaryDto `json:"brand"`
    Generic            AdminMedicineDrugRestoreSummaryDto `json:"generic"`
    Manufacturer       AdminMedicineDrugRestoreSummaryDto `json:"manufacturer"`
}

type AdminMedicineDrugRestoreReqDto ​

AdminMedicineDrugRestoreReqDto defines the HTTP request.

go
type AdminMedicineDrugRestoreReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineDrugRestoreResDto ​

AdminMedicineDrugRestoreResDto wraps the HTTP response body.

go
type AdminMedicineDrugRestoreResDto struct {
    Body AdminMedicineDrugRestoreBodyDto
}

type AdminMedicineDrugRestoreSummaryDto ​

AdminMedicineDrugRestoreSummaryDto contains related catalog display data.

go
type AdminMedicineDrugRestoreSummaryDto struct {
    ID   string `json:"id"`
    Name string `json:"name"`
}

type AdminMedicineGenericCreateBodyDto ​

AdminMedicineGenericCreateBodyDto defines the response envelope.

go
type AdminMedicineGenericCreateBodyDto struct {
    Message    string                            `json:"message"`
    StatusCode int                               `json:"status_code"`
    Data       AdminMedicineGenericCreateDataDto `json:"data"`
}

type AdminMedicineGenericCreateDataDto ​

AdminMedicineGenericCreateDataDto contains catalog response fields.

go
type AdminMedicineGenericCreateDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineGenericCreateInputBody ​

AdminMedicineGenericCreateInputBody defines editable catalog fields.

go
type AdminMedicineGenericCreateInputBody struct {
    Name        string  `json:"name" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description *string `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status      string  `json:"status,omitempty" nullable:"false" enum:"active,inactive" default:"active"`
}

type AdminMedicineGenericCreateReqDto ​

AdminMedicineGenericCreateReqDto defines the HTTP request.

go
type AdminMedicineGenericCreateReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    Body          AdminMedicineGenericCreateInputBody
    RawBody       []byte
}

func (*AdminMedicineGenericCreateReqDto) Resolve ​

go
func (input *AdminMedicineGenericCreateReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineGenericCreateResDto ​

AdminMedicineGenericCreateResDto wraps the HTTP response body.

go
type AdminMedicineGenericCreateResDto struct {
    Body AdminMedicineGenericCreateBodyDto
}

type AdminMedicineGenericDeleteReqDto ​

AdminMedicineGenericDeleteReqDto defines the HTTP request.

go
type AdminMedicineGenericDeleteReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineGenericDeleteResDto ​

AdminMedicineGenericDeleteResDto defines the HTTP response.

go
type AdminMedicineGenericDeleteResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminMedicineGenericGetBodyDto ​

AdminMedicineGenericGetBodyDto defines the response envelope.

go
type AdminMedicineGenericGetBodyDto struct {
    Message    string                         `json:"message"`
    StatusCode int                            `json:"status_code"`
    Data       AdminMedicineGenericGetDataDto `json:"data"`
}

type AdminMedicineGenericGetDataDto ​

AdminMedicineGenericGetDataDto contains catalog response fields.

go
type AdminMedicineGenericGetDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineGenericGetReqDto ​

AdminMedicineGenericGetReqDto defines the HTTP request.

go
type AdminMedicineGenericGetReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineGenericGetResDto ​

AdminMedicineGenericGetResDto wraps the HTTP response body.

go
type AdminMedicineGenericGetResDto struct {
    Body AdminMedicineGenericGetBodyDto
}

type AdminMedicineGenericListBodyDto ​

AdminMedicineGenericListBodyDto defines the response envelope.

go
type AdminMedicineGenericListBodyDto struct {
    Message    string                                `json:"message"`
    StatusCode int                                   `json:"status_code"`
    Data       []AdminMedicineGenericListItemDto     `json:"data" nullable:"false"`
    Pagination AdminMedicineGenericListPaginationDto `json:"pagination"`
}

type AdminMedicineGenericListItemDto ​

AdminMedicineGenericListItemDto contains catalog response fields.

go
type AdminMedicineGenericListItemDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineGenericListPaginationDto ​

AdminMedicineGenericListPaginationDto describes cursor pagination.

go
type AdminMedicineGenericListPaginationDto struct {
    NextCursor  string `json:"next_cursor"`
    CurrentPage int    `json:"current_page"`
    PerPage     int    `json:"per_page"`
    TotalPages  int    `json:"total_pages"`
    TotalItems  int    `json:"total_items"`
}

type AdminMedicineGenericListReqDto ​

AdminMedicineGenericListReqDto defines the HTTP request.

go
type AdminMedicineGenericListReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    Q             string `query:"q" maxLength:"255"`
    Limit         int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor        string `query:"cursor"`
    Status        string `query:"status" enum:"active,inactive"`
    Deletion      string `query:"deletion" enum:"live,deleted,all" default:"live"`
}

type AdminMedicineGenericListResDto ​

AdminMedicineGenericListResDto wraps the HTTP response body.

go
type AdminMedicineGenericListResDto struct {
    Body AdminMedicineGenericListBodyDto
}

type AdminMedicineGenericPatchBodyDto ​

AdminMedicineGenericPatchBodyDto defines the response envelope.

go
type AdminMedicineGenericPatchBodyDto struct {
    Message    string                           `json:"message"`
    StatusCode int                              `json:"status_code"`
    Data       AdminMedicineGenericPatchDataDto `json:"data"`
}

type AdminMedicineGenericPatchDataDto ​

AdminMedicineGenericPatchDataDto contains catalog response fields.

go
type AdminMedicineGenericPatchDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineGenericPatchInputBody ​

AdminMedicineGenericPatchInputBody defines editable catalog fields.

go
type AdminMedicineGenericPatchInputBody struct {
    Name        *string         `json:"name,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description *string         `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status      *string         `json:"status,omitempty" nullable:"false" enum:"active,inactive"`
    Supplied    map[string]bool `json:"-"`
}

func (*AdminMedicineGenericPatchInputBody) UnmarshalJSON ​

go
func (body *AdminMedicineGenericPatchInputBody) UnmarshalJSON(data []byte) error

UnmarshalJSON retains field presence for partial updates.

type AdminMedicineGenericPatchReqDto ​

AdminMedicineGenericPatchReqDto defines the HTTP request.

go
type AdminMedicineGenericPatchReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
    Body          AdminMedicineGenericPatchInputBody
    RawBody       []byte
}

func (*AdminMedicineGenericPatchReqDto) Resolve ​

go
func (input *AdminMedicineGenericPatchReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineGenericPatchResDto ​

AdminMedicineGenericPatchResDto wraps the HTTP response body.

go
type AdminMedicineGenericPatchResDto struct {
    Body AdminMedicineGenericPatchBodyDto
}

type AdminMedicineGenericRestoreBodyDto ​

AdminMedicineGenericRestoreBodyDto defines the response envelope.

go
type AdminMedicineGenericRestoreBodyDto struct {
    Message    string                             `json:"message"`
    StatusCode int                                `json:"status_code"`
    Data       AdminMedicineGenericRestoreDataDto `json:"data"`
}

type AdminMedicineGenericRestoreDataDto ​

AdminMedicineGenericRestoreDataDto contains catalog response fields.

go
type AdminMedicineGenericRestoreDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineGenericRestoreReqDto ​

AdminMedicineGenericRestoreReqDto defines the HTTP request.

go
type AdminMedicineGenericRestoreReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineGenericRestoreResDto ​

AdminMedicineGenericRestoreResDto wraps the HTTP response body.

go
type AdminMedicineGenericRestoreResDto struct {
    Body AdminMedicineGenericRestoreBodyDto
}

type AdminMedicineManufacturerCreateBodyDto ​

AdminMedicineManufacturerCreateBodyDto defines the response envelope.

go
type AdminMedicineManufacturerCreateBodyDto struct {
    Message    string                                 `json:"message"`
    StatusCode int                                    `json:"status_code"`
    Data       AdminMedicineManufacturerCreateDataDto `json:"data"`
}

type AdminMedicineManufacturerCreateDataDto ​

AdminMedicineManufacturerCreateDataDto contains catalog response fields.

go
type AdminMedicineManufacturerCreateDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineManufacturerCreateInputBody ​

AdminMedicineManufacturerCreateInputBody defines editable catalog fields.

go
type AdminMedicineManufacturerCreateInputBody struct {
    Name        string  `json:"name" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description *string `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status      string  `json:"status,omitempty" nullable:"false" enum:"active,inactive" default:"active"`
}

type AdminMedicineManufacturerCreateReqDto ​

AdminMedicineManufacturerCreateReqDto defines the HTTP request.

go
type AdminMedicineManufacturerCreateReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    Body          AdminMedicineManufacturerCreateInputBody
    RawBody       []byte
}

func (*AdminMedicineManufacturerCreateReqDto) Resolve ​

go
func (input *AdminMedicineManufacturerCreateReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineManufacturerCreateResDto ​

AdminMedicineManufacturerCreateResDto wraps the HTTP response body.

go
type AdminMedicineManufacturerCreateResDto struct {
    Body AdminMedicineManufacturerCreateBodyDto
}

type AdminMedicineManufacturerDeleteReqDto ​

AdminMedicineManufacturerDeleteReqDto defines the HTTP request.

go
type AdminMedicineManufacturerDeleteReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineManufacturerDeleteResDto ​

AdminMedicineManufacturerDeleteResDto defines the HTTP response.

go
type AdminMedicineManufacturerDeleteResDto struct {
    Body types.SuccessResponse[types.Empty]
}

type AdminMedicineManufacturerGetBodyDto ​

AdminMedicineManufacturerGetBodyDto defines the response envelope.

go
type AdminMedicineManufacturerGetBodyDto struct {
    Message    string                              `json:"message"`
    StatusCode int                                 `json:"status_code"`
    Data       AdminMedicineManufacturerGetDataDto `json:"data"`
}

type AdminMedicineManufacturerGetDataDto ​

AdminMedicineManufacturerGetDataDto contains catalog response fields.

go
type AdminMedicineManufacturerGetDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineManufacturerGetReqDto ​

AdminMedicineManufacturerGetReqDto defines the HTTP request.

go
type AdminMedicineManufacturerGetReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineManufacturerGetResDto ​

AdminMedicineManufacturerGetResDto wraps the HTTP response body.

go
type AdminMedicineManufacturerGetResDto struct {
    Body AdminMedicineManufacturerGetBodyDto
}

type AdminMedicineManufacturerListBodyDto ​

AdminMedicineManufacturerListBodyDto defines the response envelope.

go
type AdminMedicineManufacturerListBodyDto struct {
    Message    string                                     `json:"message"`
    StatusCode int                                        `json:"status_code"`
    Data       []AdminMedicineManufacturerListItemDto     `json:"data" nullable:"false"`
    Pagination AdminMedicineManufacturerListPaginationDto `json:"pagination"`
}

type AdminMedicineManufacturerListItemDto ​

AdminMedicineManufacturerListItemDto contains catalog response fields.

go
type AdminMedicineManufacturerListItemDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineManufacturerListPaginationDto ​

AdminMedicineManufacturerListPaginationDto describes cursor pagination.

go
type AdminMedicineManufacturerListPaginationDto struct {
    NextCursor  string `json:"next_cursor"`
    CurrentPage int    `json:"current_page"`
    PerPage     int    `json:"per_page"`
    TotalPages  int    `json:"total_pages"`
    TotalItems  int    `json:"total_items"`
}

type AdminMedicineManufacturerListReqDto ​

AdminMedicineManufacturerListReqDto defines the HTTP request.

go
type AdminMedicineManufacturerListReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    Q             string `query:"q" maxLength:"255"`
    Limit         int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor        string `query:"cursor"`
    Status        string `query:"status" enum:"active,inactive"`
    Deletion      string `query:"deletion" enum:"live,deleted,all" default:"live"`
}

type AdminMedicineManufacturerListResDto ​

AdminMedicineManufacturerListResDto wraps the HTTP response body.

go
type AdminMedicineManufacturerListResDto struct {
    Body AdminMedicineManufacturerListBodyDto
}

type AdminMedicineManufacturerPatchBodyDto ​

AdminMedicineManufacturerPatchBodyDto defines the response envelope.

go
type AdminMedicineManufacturerPatchBodyDto struct {
    Message    string                                `json:"message"`
    StatusCode int                                   `json:"status_code"`
    Data       AdminMedicineManufacturerPatchDataDto `json:"data"`
}

type AdminMedicineManufacturerPatchDataDto ​

AdminMedicineManufacturerPatchDataDto contains catalog response fields.

go
type AdminMedicineManufacturerPatchDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineManufacturerPatchInputBody ​

AdminMedicineManufacturerPatchInputBody defines editable catalog fields.

go
type AdminMedicineManufacturerPatchInputBody struct {
    Name        *string         `json:"name,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
    Description *string         `json:"description,omitempty" nullable:"true" maxLength:"2000"`
    Status      *string         `json:"status,omitempty" nullable:"false" enum:"active,inactive"`
    Supplied    map[string]bool `json:"-"`
}

func (*AdminMedicineManufacturerPatchInputBody) UnmarshalJSON ​

go
func (body *AdminMedicineManufacturerPatchInputBody) UnmarshalJSON(data []byte) error

UnmarshalJSON retains field presence for partial updates.

type AdminMedicineManufacturerPatchReqDto ​

AdminMedicineManufacturerPatchReqDto defines the HTTP request.

go
type AdminMedicineManufacturerPatchReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
    Body          AdminMedicineManufacturerPatchInputBody
    RawBody       []byte
}

func (*AdminMedicineManufacturerPatchReqDto) Resolve ​

go
func (input *AdminMedicineManufacturerPatchReqDto) Resolve(_ huma.Context) []error

Resolve checks empty patches and explicit null fields.

type AdminMedicineManufacturerPatchResDto ​

AdminMedicineManufacturerPatchResDto wraps the HTTP response body.

go
type AdminMedicineManufacturerPatchResDto struct {
    Body AdminMedicineManufacturerPatchBodyDto
}

type AdminMedicineManufacturerRestoreBodyDto ​

AdminMedicineManufacturerRestoreBodyDto defines the response envelope.

go
type AdminMedicineManufacturerRestoreBodyDto struct {
    Message    string                                  `json:"message"`
    StatusCode int                                     `json:"status_code"`
    Data       AdminMedicineManufacturerRestoreDataDto `json:"data"`
}

type AdminMedicineManufacturerRestoreDataDto ​

AdminMedicineManufacturerRestoreDataDto contains catalog response fields.

go
type AdminMedicineManufacturerRestoreDataDto struct {
    ID          string     `json:"id"`
    Status      string     `json:"status" enum:"active,inactive"`
    Description *string    `json:"description,omitempty"`
    CreatedAt   time.Time  `json:"created_at"`
    UpdatedAt   time.Time  `json:"updated_at"`
    DeletedAt   *time.Time `json:"deleted_at,omitempty"`
    Name        string     `json:"name"`
}

type AdminMedicineManufacturerRestoreReqDto ​

AdminMedicineManufacturerRestoreReqDto defines the HTTP request.

go
type AdminMedicineManufacturerRestoreReqDto struct {
    Authorization string `header:"Authorization" hidden:"true"`
    ID            string `path:"id" minLength:"1" pattern:"\\S"`
}

type AdminMedicineManufacturerRestoreResDto ​

AdminMedicineManufacturerRestoreResDto wraps the HTTP response body.

go
type AdminMedicineManufacturerRestoreResDto struct {
    Body AdminMedicineManufacturerRestoreBodyDto
}

type AdminMedicineQuickSigDto ​

AdminMedicineQuickSigDto describes a curated editable direction preset.

go
type AdminMedicineQuickSigDto struct {
    ID           string `json:"id"`
    Label        string `json:"label"`
    Dose         string `json:"dose"`
    Frequency    string `json:"frequency"`
    Timing       string `json:"timing"`
    MealRelation string `json:"meal_relation"`
    Duration     string `json:"duration"`
}

type AdminPrincipalDto ​

AdminPrincipalDto defines the HTTP representation.

go
type AdminPrincipalDto struct {
    AdminUserID string `json:"admin_user_id"`
    UserID      string `json:"user_id"`
}

type AdminProfileBodyDto ​

AdminProfileBodyDto wraps the admin profile in the standard success response.

go
type AdminProfileBodyDto struct {
    Message    string          `json:"message"`
    StatusCode int             `json:"status_code"`
    Data       AdminProfileDto `json:"data"`
}

type AdminProfileDetailsDto ​

AdminProfileDetailsDto contains the administrator's membership details.

go
type AdminProfileDetailsDto struct {
    ID        string    `json:"id"`
    UserID    string    `json:"user_id"`
    Status    string    `json:"status" enum:"active,inactive"`
    CreatedAt time.Time `json:"created_at"`
    UpdatedAt time.Time `json:"updated_at"`
}

type AdminProfileDto ​

AdminProfileDto extends identity details with admin membership and authorization.

go
type AdminProfileDto struct {
    identitypublic.Account
    Profile     AdminProfileDetailsDto                    `json:"profile"`
    Roles       []AdminProfileRoleDto                     `json:"roles" nullable:"false"`
    Permissions []authorizationpublic.EffectivePermission `json:"permissions" nullable:"false" doc:"Effective own/any decisions after role grants and direct overrides."`
}

type AdminProfileGetReqDto ​

AdminProfileGetReqDto carries credentials for the current administrator.

go
type AdminProfileGetReqDto struct{ HumaAuthenticatedInput }

type AdminProfileGetResDto ​

AdminProfileGetResDto contains the current administrator's profile and effective grants.

go
type AdminProfileGetResDto struct {
    CacheControl string `header:"Cache-Control"`
    Body         AdminProfileBodyDto
}

type AdminProfileRoleDto ​

AdminProfileRoleDto contains assigned role metadata without permission grants.

go
type AdminProfileRoleDto struct {
    ID          string `json:"id"`
    Name        string `json:"name"`
    Slug        string `json:"slug"`
    Description string `json:"description"`
    Protected   bool   `json:"protected"`
    Version     int64  `json:"version"`
}

type AdminUserCreateReqDto ​

AdminUserCreateReqDto carries an authenticated administrator creation request.

go
type AdminUserCreateReqDto struct {
    HumaAuthenticatedInput
    Body struct {
        IdentitySourceBody
    }
}

type AdminUserCreateResDto ​

AdminUserCreateResDto contains the created administrator and identity account.

go
type AdminUserCreateResDto struct {
    Body types.SuccessResponse[AdminUserDto]
}

type AdminUserDto ​

AdminUserDto defines the HTTP representation.

go
type AdminUserDto struct {
    ID             string    `json:"id"`
    UserID         string    `json:"user_id"`
    Status         string    `json:"status" enum:"active,inactive"`
    Name           string    `json:"name"`
    Email          string    `json:"email"`
    IdentityStatus string    `json:"identity_status"`
    EmailVerified  bool      `json:"email_verified"`
    CreatedAt      time.Time `json:"created_at"`
    UpdatedAt      time.Time `json:"updated_at"`
}

type AdminUserGetReqDto ​

AdminUserGetReqDto identifies the administrator account to retrieve.

go
type AdminUserGetReqDto struct {
    AdminUserPathInput
}

type AdminUserGetResDto ​

AdminUserGetResDto contains the administrator and its identity account.

go
type AdminUserGetResDto struct {
    Body types.SuccessResponse[AdminUserDto]
}

type AdminUserListReqDto ​

AdminUserListReqDto carries administrator filters, ordering, and pagination.

go
type AdminUserListReqDto struct {
    HumaAuthenticatedInput
    Limit          int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor         string `query:"cursor"`
    Search         string `query:"search" maxLength:"255"`
    IdentityStatus string `query:"identity_status" enum:"active,inactive,suspended"`
    Sort           string `query:"sort" enum:"created_at,name,email" default:"created_at"`
    Order          string `query:"order" enum:"asc,desc" default:"desc"`
}

type AdminUserListResDto ​

AdminUserListResDto contains a page of administrator accounts.

go
type AdminUserListResDto struct {
    Body types.CursorResponse[AdminUserDto]
}

type AdminUserPageDto ​

AdminUserPageDto contains administrator results and a next-page cursor.

go
type AdminUserPageDto struct {
    Items      []AdminUserDto `json:"items"`
    NextCursor string         `json:"next_cursor,omitempty"`
}

type AdminUserPathInput ​

AdminUserPathInput identifies an administrator record in an authenticated request.

go
type AdminUserPathInput struct {
    HumaAuthenticatedInput
    AdminUserID string `path:"adminUserId" minLength:"1" doc:"Admin-user record identifier."`
}

type AdminUserRevokeReqDto ​

AdminUserRevokeReqDto identifies the administrator membership to revoke.

go
type AdminUserRevokeReqDto struct{ AdminUserPathInput }

type AdminUserRevokeResDto ​

AdminUserRevokeResDto represents a successful response without a body.

go
type AdminUserRevokeResDto struct{}

type ApproveDoctorVerificationParams ​

ApproveDoctorVerificationParams defines the HTTP representation.

go
type ApproveDoctorVerificationParams struct {
    Notes string `json:"notes,omitempty" maxLength:"2000"`
}

type AuditHandler ​

AuditHandler serves this service's authenticated audit list and detail endpoints.

go
type AuditHandler struct {
    // contains filtered or unexported fields
}

func NewAuditHandler ​

go
func NewAuditHandler(identity types.IIdentityService, lister audit.EventLister, reader audit.EventReader) *AuditHandler

NewAuditHandler constructs the service-owned history HTTP adapter.

func (*AuditHandler) RegisterHuma ​

go
func (h *AuditHandler) RegisterHuma(api huma.API)

RegisterHuma registers the history endpoints on the owning service's HTTP API.

type AuditScopeInput ​

AuditScopeInput carries authenticated HTTP parameters for the service-owned history.

go
type AuditScopeInput struct {
    Authorization string `header:"Authorization" hidden:"true"`
}

type AuthorizationAssignmentInput ​

AuthorizationAssignmentInput contains validated HTTP parameters for the scoped authorization operation.

go
type AuthorizationAssignmentInput struct {
    AuthorizationMemberInput
    RoleID string `path:"roleId" format:"uuid"`
}

type AuthorizationCapabilities ​

AuthorizationCapabilities groups individually injectable authorization operation interfaces.

go
type AuthorizationCapabilities struct {
    ListPermissions        p.PermissionLister
    ListRoles              p.RoleLister
    GetRole                p.RoleReader
    CreateRole             p.RoleCreator
    UpdateRole             p.RoleEditor
    DeleteRole             p.RoleDeleter
    SetRolePermissions     p.RolePermissionSetter
    GetMemberAuthorization p.MemberAuthorizationReader
    AssignRole             p.RoleAssigner
    RevokeRole             p.RoleRevoker
    SetMemberPermission    p.MemberPermissionSetter
    RemoveMemberPermission p.MemberPermissionRemover
}

type AuthorizationHandler ​

AuthorizationHandler adapts scoped authorization capabilities to the owning service's HTTP routes.

go
type AuthorizationHandler struct {
    // contains filtered or unexported fields
}

func NewAuthorizationHandler ​

go
func NewAuthorizationHandler(identity types.IIdentityService, caps AuthorizationCapabilities) *AuthorizationHandler

NewAuthorizationHandler constructs authenticated authorization HTTP handlers.

func (*AuthorizationHandler) RegisterHuma ​

go
func (h *AuthorizationHandler) RegisterHuma(api huma.API)

RegisterHuma registers authenticated Admin authorization management endpoints.

func (*AuthorizationHandler) SetAuditAccounts ​

go
func (h *AuthorizationHandler) SetAuditAccounts(accounts identitypublic.AccountReader)

SetAuditAccounts supplies trusted actor-name lookup before requests are served.

type AuthorizationMemberInput ​

AuthorizationMemberInput contains validated HTTP parameters for the scoped authorization operation.

go
type AuthorizationMemberInput struct {
    AuthorizationScopeInput
    UserID string `path:"userId" format:"uuid" doc:"Identity user ID of the member, not the membership ID."`
}

type AuthorizationOverrideInput ​

AuthorizationOverrideInput contains validated HTTP parameters for the scoped authorization operation.

go
type AuthorizationOverrideInput struct {
    AuthorizationMemberInput
    Permission authorizationpublic.PermissionKey  `path:"permission" minLength:"1" maxLength:"150"`
    Access     authorizationpublic.ResourceAccess `path:"access" enum:"own,any"`
}

type AuthorizationRoleInput ​

AuthorizationRoleInput contains validated HTTP parameters for the scoped authorization operation.

go
type AuthorizationRoleInput struct {
    AuthorizationScopeInput
    RoleID string `path:"roleId" minLength:"1"`
}

type AuthorizationScopeInput ​

AuthorizationScopeInput contains validated HTTP parameters for the scoped authorization operation.

go
type AuthorizationScopeInput struct {
    Authorization string `header:"Authorization" hidden:"true"`
}

type BillingHandler ​

BillingHandler serves persistent billing operations.

go
type BillingHandler struct {
    ListBillingPlans          *usecase.ListBillingPlansUseCase
    CreateBillingPlan         *usecase.CreateBillingPlanUseCase
    GetBillingPlan            *usecase.GetBillingPlanUseCase
    EditBillingPlan           *usecase.EditBillingPlanUseCase
    ArchiveBillingPlan        *usecase.ArchiveBillingPlanUseCase
    ListBillingSubscriptions  *usecase.ListBillingSubscriptionsUseCase
    CreateBillingSubscription *usecase.CreateBillingSubscriptionUseCase
    GetBillingSubscription    *usecase.GetBillingSubscriptionUseCase
    EditBillingSubscription   *usecase.EditBillingSubscriptionUseCase
    DeleteBillingSubscription *usecase.DeleteBillingSubscriptionUseCase
    ExtendBillingSubscription *usecase.ExtendBillingSubscriptionUseCase
    ListBillingInvoices       *usecase.ListBillingInvoicesUseCase
    CreateBillingInvoice      *usecase.CreateBillingInvoiceUseCase
    ListSubscriptionInvoices  *usecase.ListSubscriptionInvoicesUseCase
    GetBillingInvoice         *usecase.GetBillingInvoiceUseCase
    EditBillingInvoice        *usecase.EditBillingInvoiceUseCase
    IssueBillingInvoice       *usecase.IssueBillingInvoiceUseCase
    VoidBillingInvoice        *usecase.VoidBillingInvoiceUseCase
    ListBillingPayments       *usecase.ListBillingPaymentsUseCase
    RecordBillingPayment      *usecase.RecordBillingPaymentUseCase
    ListInvoicePayments       *usecase.ListInvoicePaymentsUseCase
    GetBillingPayment         *usecase.GetBillingPaymentUseCase
    VoidBillingPayment        *usecase.VoidBillingPaymentUseCase
}

func NewBillingHandler ​

go
func NewBillingHandler(providers BillingProviders, access ...*usecase.DoctorManagementAccess) *BillingHandler

NewBillingHandler wires platform-admin orchestration to narrow providers.

func (*BillingHandler) RegisterHuma ​

go
func (h *BillingHandler) RegisterHuma(api huma.API)

RegisterHuma publishes validated billing contracts and implemented lifecycle responses.

type BillingInvoicePathInput ​

BillingInvoicePathInput contains shared billing request parameters.

go
type BillingInvoicePathInput struct {
    HumaAuthenticatedInput
    InvoiceID string `path:"invoiceId" minLength:"1"`
}

type BillingPaginationInput ​

BillingPaginationInput contains shared billing request parameters.

go
type BillingPaginationInput struct {
    Limit  int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor string `query:"cursor"`
}

type BillingPaymentPathInput ​

BillingPaymentPathInput contains shared billing request parameters.

go
type BillingPaymentPathInput struct {
    HumaAuthenticatedInput
    PaymentID string `path:"paymentId" minLength:"1"`
}

type BillingPlanPathInput ​

BillingPlanPathInput contains shared billing request parameters.

go
type BillingPlanPathInput struct {
    HumaAuthenticatedInput
    PlanID string `path:"planId" minLength:"1"`
}

type BillingProviders ​

BillingProviders contains only the per-operation subscription capabilities used by admin.

go
type BillingProviders struct {
    ListBillingPlans          subscriptionpublic.ListBillingPlansCapability
    CreateBillingPlan         subscriptionpublic.CreateBillingPlanCapability
    GetBillingPlan            subscriptionpublic.GetBillingPlanCapability
    EditBillingPlan           subscriptionpublic.EditBillingPlanCapability
    ArchiveBillingPlan        subscriptionpublic.ArchiveBillingPlanCapability
    ListBillingSubscriptions  subscriptionpublic.ListBillingSubscriptionsCapability
    CreateBillingSubscription subscriptionpublic.CreateBillingSubscriptionCapability
    GetBillingSubscription    subscriptionpublic.GetBillingSubscriptionCapability
    EditBillingSubscription   subscriptionpublic.EditBillingSubscriptionCapability
    DeleteBillingSubscription subscriptionpublic.DeleteBillingSubscriptionCapability
    ExtendBillingSubscription subscriptionpublic.ExtendBillingSubscriptionCapability
    ListBillingInvoices       subscriptionpublic.ListBillingInvoicesCapability
    CreateBillingInvoice      subscriptionpublic.CreateBillingInvoiceCapability
    ListSubscriptionInvoices  subscriptionpublic.ListSubscriptionInvoicesCapability
    GetBillingInvoice         subscriptionpublic.GetBillingInvoiceCapability
    EditBillingInvoice        subscriptionpublic.EditBillingInvoiceCapability
    IssueBillingInvoice       subscriptionpublic.IssueBillingInvoiceCapability
    VoidBillingInvoice        subscriptionpublic.VoidBillingInvoiceCapability
    ListBillingPayments       subscriptionpublic.ListBillingPaymentsCapability
    RecordBillingPayment      subscriptionpublic.RecordBillingPaymentCapability
    ListInvoicePayments       subscriptionpublic.ListInvoicePaymentsCapability
    GetBillingPayment         subscriptionpublic.GetBillingPaymentCapability
    VoidBillingPayment        subscriptionpublic.VoidBillingPaymentCapability
}

type BillingSubscriptionPathInput ​

BillingSubscriptionPathInput contains shared billing request parameters.

go
type BillingSubscriptionPathInput struct {
    HumaAuthenticatedInput
    SubscriptionID string `path:"subscriptionId" minLength:"1"`
}

type CompactPlan ​

CompactPlan is the plan display surface used in organization projections.

go
type CompactPlan struct {
    ID   string `json:"id"`
    Name string `json:"name"`
    Slug string `json:"slug"`
}

type CreateOrganizationInputBody ​

CreateOrganizationInputBody contains the details of a new organization.

go
type CreateOrganizationInputBody struct {
    Type        string `json:"type" enum:"Hospital,Pharmaceuticals,Partner"`
    Name        string `json:"name" minLength:"1" maxLength:"255" doc:"Organization name."`
    Slug        string `json:"slug" minLength:"1" maxLength:"255" doc:"Unique, immutable organization slug."`
    Description string `json:"description,omitempty" maxLength:"2000"`
    Phone       string `json:"phone,omitempty" maxLength:"30"`
    Email       string `json:"email,omitempty" format:"email" maxLength:"255"`
    Address     string `json:"address,omitempty" maxLength:"1000"`
}

type CreateOrganizationMemberInputBody ​

CreateOrganizationMemberInputBody selects an identity source and member role.

go
type CreateOrganizationMemberInputBody struct {
    IdentitySourceBody
    Role string `json:"role" enum:"admin"`
}

type DoctorActivateBodyDto ​

DoctorActivateBodyDto contains the result and response status.

go
type DoctorActivateBodyDto struct {
    Message    string                `json:"message"`
    Data       DoctorActivateDataDto `json:"data"`
    StatusCode int                   `json:"status_code"`
}

type DoctorActivateDataDto ​

DoctorActivateDataDto contains the professional profile and management details.

go
type DoctorActivateDataDto DoctorDataDto

type DoctorActivateReqDto ​

DoctorActivateReqDto identifies an authenticated professional account request.

go
type DoctorActivateReqDto struct {
    HumaAuthenticatedInput
    DoctorID string `path:"doctorId" format:"uuid"`
}

type DoctorActivateResDto ​

DoctorActivateResDto wraps the operation response.

go
type DoctorActivateResDto struct{ Body DoctorActivateBodyDto }

type DoctorAffiliationDataDto ​

DoctorAffiliationDataDto represents an organization-owned professional affiliation.

go
type DoctorAffiliationDataDto struct {
    OrganizationType   *string   `json:"organization_type"`
    OrganizationStatus string    `json:"organization_status"`
    AssignedAt         time.Time `json:"assigned_at"`
    AssignedByUserID   *string   `json:"assigned_by_user_id"`
    AssignmentSource   string    `json:"assignment_source"`
    ID                 string    `json:"id"`
    OrganizationID     string    `json:"organization_id"`
    OrganizationName   string    `json:"organization_name"`
    OrganizationSlug   string    `json:"organization_slug"`
    DoctorID           string    `json:"doctor_id"`
    Status             string    `json:"status" enum:"active,inactive"`
    JoinedAt           time.Time `json:"joined_at"`
    CreatedAt          time.Time `json:"created_at"`
    UpdatedAt          time.Time `json:"updated_at"`
}

type DoctorCatalogBody ​

DoctorCatalogBody wraps reference data in the administration response envelope.

go
type DoctorCatalogBody[T any] = types.SuccessResponse[T]

type DoctorCatalogCreateInput ​

DoctorCatalogCreateInput struct contains a new term.

go
type DoctorCatalogCreateInput struct {
    DoctorCatalogInput
    Body doctor.CatalogValues
}

type DoctorCatalogInput ​

DoctorCatalogInput struct carries administrator credentials.

go
type DoctorCatalogInput struct {
    Authorization string `header:"Authorization" hidden:"true"`
}

type DoctorCatalogOutput ​

DoctorCatalogOutput contains the success response body.

go
type DoctorCatalogOutput[T any] struct{ Body DoctorCatalogBody[T] }

type DoctorCatalogRecordInput ​

DoctorCatalogRecordInput struct identifies a reference term.

go
type DoctorCatalogRecordInput struct {
    DoctorCatalogInput
    ID  string `path:"id" format:"uuid"`
}

type DoctorCatalogUpdateInput ​

DoctorCatalogUpdateInput struct replaces a term's editable fields.

go
type DoctorCatalogUpdateInput struct {
    DoctorCatalogRecordInput
    Body doctor.CatalogValues
}

type DoctorChamberDto ​

DoctorChamberDto contains a practice location and visiting hours.

go
type DoctorChamberDto struct {
    Name    string `json:"name"`
    Address string `json:"address"`
    Hours   string `json:"hours"`
}

type DoctorDataDto ​

DoctorDataDto exposes professional details with safe account and management state.

go
type DoctorDataDto struct {
    Qualifications []doctor.CatalogEntry `json:"qualifications" nullable:"false"`
    // Nil picker flags mean no target context was requested; pointers preserve a
    // real false value when context exists. The outer IneligibleReason pointer controls
    // omission, while its inner nil encodes JSON null for an eligible target candidate.
    IsAssigned         *bool                      `json:"is_assigned,omitempty"`
    IsEligible         *bool                      `json:"is_eligible,omitempty"`
    IneligibleReason   **string                   `json:"ineligible_reason,omitempty" nullable:"true"`
    ID                 string                     `json:"id"`
    UserID             string                     `json:"user_id"`
    Name               string                     `json:"name"`
    Email              string                     `json:"email"`
    AccountStatus      string                     `json:"account_status" enum:"active,inactive,suspended"`
    EmailVerified      bool                       `json:"email_verified"`
    LicenseNumber      string                     `json:"license_number"`
    Speciality         doctor.CatalogEntry        `json:"speciality"`
    Specialization     []doctor.CatalogEntry      `json:"specialization" nullable:"false" maxItems:"30"`
    Qualification      string                     `json:"qualification"`
    Chambers           []DoctorChamberDto         `json:"chambers" nullable:"false"`
    VerificationStatus string                     `json:"verification_status" enum:"not_submitted,pending,verified,rejected"`
    Verification       *DoctorVerificationDataDto `json:"verification,omitempty"`
    Organizations      []DoctorAffiliationDataDto `json:"organizations" nullable:"false"`
    CreatedAt          time.Time                  `json:"created_at"`
    UpdatedAt          time.Time                  `json:"updated_at"`
}

type DoctorGetBodyDto ​

DoctorGetBodyDto contains the result and response status.

go
type DoctorGetBodyDto struct {
    Message    string           `json:"message"`
    Data       DoctorGetDataDto `json:"data"`
    StatusCode int              `json:"status_code"`
}

type DoctorGetDataDto ​

DoctorGetDataDto contains the professional profile and management details.

go
type DoctorGetDataDto DoctorDataDto

type DoctorGetReqDto ​

DoctorGetReqDto identifies an authenticated professional account request.

go
type DoctorGetReqDto struct {
    HumaAuthenticatedInput
    DoctorID string `path:"doctorId" format:"uuid"`
}

type DoctorGetResDto ​

DoctorGetResDto wraps the operation response.

go
type DoctorGetResDto struct{ Body DoctorGetBodyDto }

type DoctorListBodyDto ​

DoctorListBodyDto contains doctors, pagination and response status.

go
type DoctorListBodyDto struct {
    Message    string                  `json:"message"`
    Data       []DoctorListItemDto     `json:"data" nullable:"false"`
    StatusCode int                     `json:"status_code"`
    Pagination DoctorListPaginationDto `json:"pagination"`
}

type DoctorListItemDto ​

DoctorListItemDto contains one professional account's management details.

go
type DoctorListItemDto DoctorDataDto

type DoctorListPaginationDto ​

DoctorListPaginationDto describes the filtered result page.

go
type DoctorListPaginationDto struct {
    NextCursor  string `json:"next_cursor"`
    CurrentPage int    `json:"current_page"`
    PerPage     int    `json:"per_page"`
    TotalPages  int    `json:"total_pages"`
    TotalItems  int    `json:"total_items"`
}

type DoctorListReqDto ​

DoctorListReqDto carries authenticated directory filters and cursor pagination.

go
type DoctorListReqDto struct {
    AssignmentOrganizationID string `query:"assignment_organization_id" format:"uuid"`
    ManagementListHTTPInput
    Search             string `query:"search" maxLength:"255"`
    AccountStatus      string `query:"account_status" enum:"active,inactive,suspended"`
    VerificationStatus string `query:"verification_status" enum:"not_submitted,pending,verified,rejected"`
    OrganizationID     string `query:"organization_id" format:"uuid"`
}

type DoctorListResDto ​

DoctorListResDto wraps the directory response.

go
type DoctorListResDto struct{ Body DoctorListBodyDto }

type DoctorOrganizationDataDto ​

DoctorOrganizationDataDto exposes an affiliation with explicitly marked billing.

go
type DoctorOrganizationDataDto struct {
    DoctorAffiliationDataDto
    Plan               *CompactPlan `json:"plan"`
    SubscriptionStatus *string      `json:"subscription_status"`
    BillingIsMock      bool         `json:"billing_is_mock"`
}

type DoctorOrganizationsBodyDto ​

DoctorOrganizationsBodyDto wraps affiliations and pagination in the success envelope.

go
type DoctorOrganizationsBodyDto struct {
    Message    string                      `json:"message"`
    StatusCode int                         `json:"status_code"`
    Data       []DoctorOrganizationDataDto `json:"data" nullable:"false"`
    Pagination types.Pagination            `json:"pagination"`
}

type DoctorOrganizationsReqDto ​

DoctorOrganizationsReqDto carries scoped filters and pagination for a doctor.

go
type DoctorOrganizationsReqDto struct {
    ManagementListHTTPInput
    DoctorID string `path:"doctorId" format:"uuid"`
    Status   string `query:"status" enum:"active,inactive"`
}

type DoctorOrganizationsResDto ​

DoctorOrganizationsResDto is the doctor organizations HTTP response.

go
type DoctorOrganizationsResDto struct{ Body DoctorOrganizationsBodyDto }

type DoctorSpecializationCreateInput ​

DoctorSpecializationCreateInput requires the child's parent identifier.

go
type DoctorSpecializationCreateInput struct {
    DoctorCatalogInput
    Body doctor.SpecializationValues
}

type DoctorSpecializationListInput ​

DoctorSpecializationListInput filters children by parent speciality.

go
type DoctorSpecializationListInput struct {
    DoctorCatalogInput
    SpecialityID string `query:"specialityId" format:"uuid"`
}

type DoctorSpecializationUpdateInput ​

DoctorSpecializationUpdateInput replaces all child fields, including its parent.

go
type DoctorSpecializationUpdateInput struct {
    DoctorCatalogRecordInput
    Body doctor.SpecializationValues
}

type DoctorSuspendBodyDto ​

DoctorSuspendBodyDto contains the result and response status.

go
type DoctorSuspendBodyDto struct {
    Message    string               `json:"message"`
    Data       DoctorSuspendDataDto `json:"data"`
    StatusCode int                  `json:"status_code"`
}

type DoctorSuspendDataDto ​

DoctorSuspendDataDto contains the professional profile and management details.

go
type DoctorSuspendDataDto DoctorDataDto

type DoctorSuspendReqDto ​

DoctorSuspendReqDto identifies an authenticated professional account request.

go
type DoctorSuspendReqDto struct {
    HumaAuthenticatedInput
    DoctorID string `path:"doctorId" format:"uuid"`
}

type DoctorSuspendResDto ​

DoctorSuspendResDto wraps the operation response.

go
type DoctorSuspendResDto struct{ Body DoctorSuspendBodyDto }

type DoctorVerificationApproveBodyDto ​

DoctorVerificationApproveBodyDto contains the verification result and response status.

go
type DoctorVerificationApproveBodyDto struct {
    Message    string                    `json:"message"`
    Data       DoctorVerificationDataDto `json:"data"`
    StatusCode int                       `json:"status_code"`
}

type DoctorVerificationApproveReqDto ​

DoctorVerificationApproveReqDto carries validated professional verification parameters.

go
type DoctorVerificationApproveReqDto struct {
    VerificationHTTPInput
    Body ApproveDoctorVerificationParams
}

type DoctorVerificationApproveResDto ​

DoctorVerificationApproveResDto wraps the operation response.

go
type DoctorVerificationApproveResDto struct {
    Body DoctorVerificationApproveBodyDto
}

type DoctorVerificationDataDto ​

DoctorVerificationDataDto contains submitted evidence and authoritative review metadata.

go
type DoctorVerificationDataDto struct {
    ID              string     `json:"id"`
    DoctorID        string     `json:"doctor_id"`
    UserID          string     `json:"user_id"`
    DoctorName      string     `json:"doctor_name"`
    LicenseNumber   string     `json:"license_number"`
    Specialization  string     `json:"specialization"`
    Documents       []string   `json:"documents" nullable:"false"`
    Status          string     `json:"status" enum:"pending,verified,rejected"`
    ReviewedBy      *string    `json:"reviewed_by,omitempty"`
    ReviewedAt      *time.Time `json:"reviewed_at,omitempty"`
    RejectionReason *string    `json:"rejection_reason,omitempty"`
    Notes           string     `json:"notes"`
    CreatedAt       time.Time  `json:"created_at"`
    UpdatedAt       time.Time  `json:"updated_at"`
}

type DoctorVerificationGetBodyDto ​

DoctorVerificationGetBodyDto contains the verification result and response status.

go
type DoctorVerificationGetBodyDto struct {
    Message    string                    `json:"message"`
    Data       DoctorVerificationDataDto `json:"data"`
    StatusCode int                       `json:"status_code"`
}

type DoctorVerificationGetReqDto ​

DoctorVerificationGetReqDto carries validated professional verification parameters.

go
type DoctorVerificationGetReqDto struct {
    VerificationHTTPInput
}

type DoctorVerificationGetResDto ​

DoctorVerificationGetResDto wraps the operation response.

go
type DoctorVerificationGetResDto struct{ Body DoctorVerificationGetBodyDto }

type DoctorVerificationPendingListBodyDto ​

DoctorVerificationPendingListBodyDto contains the queue and next-page metadata.

go
type DoctorVerificationPendingListBodyDto struct {
    Message    string                                     `json:"message"`
    Data       []DoctorVerificationDataDto                `json:"data" nullable:"false"`
    StatusCode int                                        `json:"status_code"`
    Pagination DoctorVerificationPendingListPaginationDto `json:"pagination"`
}

type DoctorVerificationPendingListPaginationDto ​

DoctorVerificationPendingListPaginationDto carries the opaque continuation cursor.

go
type DoctorVerificationPendingListPaginationDto struct {
    NextCursor string `json:"next_cursor"`
}

type DoctorVerificationPendingListReqDto ​

DoctorVerificationPendingListReqDto pages pending professional credential submissions.

go
type DoctorVerificationPendingListReqDto struct{ ManagementListHTTPInput }

type DoctorVerificationPendingListResDto ​

DoctorVerificationPendingListResDto wraps the pending queue response.

go
type DoctorVerificationPendingListResDto struct {
    Body DoctorVerificationPendingListBodyDto
}

type DoctorVerificationRejectBodyDto ​

DoctorVerificationRejectBodyDto contains the verification result and response status.

go
type DoctorVerificationRejectBodyDto struct {
    Message    string                    `json:"message"`
    Data       DoctorVerificationDataDto `json:"data"`
    StatusCode int                       `json:"status_code"`
}

type DoctorVerificationRejectReqDto ​

DoctorVerificationRejectReqDto carries validated professional verification parameters.

go
type DoctorVerificationRejectReqDto struct {
    VerificationHTTPInput
    Body RejectDoctorVerificationParams
}

type DoctorVerificationRejectResDto ​

DoctorVerificationRejectResDto wraps the operation response.

go
type DoctorVerificationRejectResDto struct {
    Body DoctorVerificationRejectBodyDto
}

type DoctorVerificationSubmitBodyDto ​

DoctorVerificationSubmitBodyDto contains the verification result and response status.

go
type DoctorVerificationSubmitBodyDto struct {
    Message    string                    `json:"message"`
    Data       DoctorVerificationDataDto `json:"data"`
    StatusCode int                       `json:"status_code"`
}

type DoctorVerificationSubmitReqDto ​

DoctorVerificationSubmitReqDto carries validated professional verification parameters.

go
type DoctorVerificationSubmitReqDto struct {
    HumaAuthenticatedInput
    Body SubmitDoctorVerificationParams
}

func (*DoctorVerificationSubmitReqDto) Resolve ​

go
func (input *DoctorVerificationSubmitReqDto) Resolve(_ huma.Context) []error

Resolve validates evidence URLs before authentication without fetching the documents.

type DoctorVerificationSubmitResDto ​

DoctorVerificationSubmitResDto wraps the operation response.

go
type DoctorVerificationSubmitResDto struct {
    Body DoctorVerificationSubmitBodyDto
}

type Handler ​

Handler delivers platform-admin provisioning and organization operations.

go
type Handler struct {
    // contains filtered or unexported fields
}

func NewHandler ​

go
func NewHandler(uc UseCases) *Handler

NewHandler constructs a handler for the supplied admin use cases.

func (*Handler) ConfigureAuditWrites ​

go
func (h *Handler) ConfigureAuditWrites(work ports.MutationRunner)

ConfigureAuditWrites supplies the persistent admin mutation transaction boundary.

func (*Handler) RegisterHuma ​

go
func (h *Handler) RegisterHuma(api huma.API)

RegisterHuma registers the admin REST surface and its OpenAPI contracts.

func (*Handler) SetAuditAccounts ​

go
func (h *Handler) SetAuditAccounts(accounts identitypublic.AccountReader)

SetAuditAccounts supplies trusted actor-name lookup before requests are served.

func (*Handler) SetPermissionChecker ​

go
func (h *Handler) SetPermissionChecker(checker authorizationpublic.AdminPermissionChecker)

SetPermissionChecker configures permission enforcement before requests are served.

func (*Handler) SetProfileAuthorizationReader ​

go
func (h *Handler) SetProfileAuthorizationReader(reader authorizationpublic.MemberAuthorizationReader)

SetProfileAuthorizationReader configures self-service authorization inspection.

type HumaAuthenticatedInput ​

HumaAuthenticatedInput carries the Authorization header for protected admin routes.

go
type HumaAuthenticatedInput struct {
    Authorization string `header:"Authorization" hidden:"true"`
}

type IdentitySourceBody ​

IdentitySourceBody selects an existing account or supplies details for a new one.

go
type IdentitySourceBody struct {
    ExistingUserID string           `json:"existing_user_id,omitempty" doc:"Existing identity user ID. Mutually exclusive with new_user."`
    NewUser        *NewIdentityBody `json:"new_user,omitempty" doc:"New identity account. Mutually exclusive with existing_user_id."`
}

type ManagementHandler ​

ManagementHandler wires documentation-first operations to individual stub use cases.

go
type ManagementHandler struct {
    RevokeAdminUser            managementExecutor[domain.RevokeAdminUserInput, types.Empty]
    ListIdentityAccounts       managementExecutor[domain.ListIdentityAccountsInput, types.Page[types.IdentityAccount]]
    GetIdentityAccount         managementExecutor[domain.GetIdentityAccountInput, types.IdentityAccount]
    PatchIdentityAccountStatus managementExecutor[domain.PatchIdentityAccountStatusInput, types.IdentityAccount]
}

func NewManagementHandler ​

go
func NewManagementHandler() *ManagementHandler

NewManagementHandler creates stubs without runtime providers or persistence dependencies.

func (*ManagementHandler) RegisterHuma ​

go
func (h *ManagementHandler) RegisterHuma(api huma.API)

RegisterHuma publishes intended success schemas, validation and explicit 501 responses.

type ManagementListHTTPInput ​

ManagementListHTTPInput contains bounded cursor pagination for new administration routes.

go
type ManagementListHTTPInput struct {
    HumaAuthenticatedInput
    Limit  int    `query:"limit" minimum:"1" maximum:"100" default:"20"`
    Cursor string `query:"cursor" doc:"Opaque cursor bound to search and status filters."`
}

type ManagementPage ​

ManagementPage defines the HTTP representation.

go
type ManagementPage[T any] struct {
    Items      []T    `json:"items" nullable:"false"`
    NextCursor string `json:"next_cursor,omitempty"`
}

type MedicineHandler ​

MedicineHandler wires individual catalog operations.

go
type MedicineHandler struct {
    ListAdminManufacturers *usecase.ListAdminManufacturersUseCase
    GetAdminManufacturer   *usecase.GetAdminManufacturerUseCase
    CreateManufacturer     *usecase.CreateManufacturerUseCase
    PatchManufacturer      *usecase.PatchManufacturerUseCase
    DeleteManufacturer     *usecase.DeleteManufacturerUseCase
    RestoreManufacturer    *usecase.RestoreManufacturerUseCase
    ListAdminGenerics      *usecase.ListAdminGenericsUseCase
    GetAdminGeneric        *usecase.GetAdminGenericUseCase
    CreateGeneric          *usecase.CreateGenericUseCase
    PatchGeneric           *usecase.PatchGenericUseCase
    DeleteGeneric          *usecase.DeleteGenericUseCase
    RestoreGeneric         *usecase.RestoreGenericUseCase
    ListAdminBrands        *usecase.ListAdminBrandsUseCase
    GetAdminBrand          *usecase.GetAdminBrandUseCase
    CreateBrand            *usecase.CreateBrandUseCase
    PatchBrand             *usecase.PatchBrandUseCase
    DeleteBrand            *usecase.DeleteBrandUseCase
    RestoreBrand           *usecase.RestoreBrandUseCase
    ListAdminDrugs         *usecase.ListAdminDrugsUseCase
    GetAdminDrug           *usecase.GetAdminDrugUseCase
    CreateDrug             *usecase.CreateDrugUseCase
    PatchDrug              *usecase.PatchDrugUseCase
    DeleteDrug             *usecase.DeleteDrugUseCase
    RestoreDrug            *usecase.RestoreDrugUseCase
}

func NewMedicineHandler ​

go
func NewMedicineHandler(providers MedicineProviders) *MedicineHandler

NewMedicineHandler creates catalog routes.

func (*MedicineHandler) RegisterHuma ​

go
func (h *MedicineHandler) RegisterHuma(api huma.API)

RegisterHuma registers medicine administration commands and queries.

type MedicineProviders ​

MedicineProviders supplies only individual administration capabilities.

go
type MedicineProviders struct {
    ListAdminManufacturers medicinepublic.ListAdminManufacturersCapability
    GetAdminManufacturer   medicinepublic.GetAdminManufacturerCapability
    CreateManufacturer     medicinepublic.CreateManufacturerCapability
    PatchManufacturer      medicinepublic.PatchManufacturerCapability
    DeleteManufacturer     medicinepublic.DeleteManufacturerCapability
    RestoreManufacturer    medicinepublic.RestoreManufacturerCapability
    ListAdminGenerics      medicinepublic.ListAdminGenericsCapability
    GetAdminGeneric        medicinepublic.GetAdminGenericCapability
    CreateGeneric          medicinepublic.CreateGenericCapability
    PatchGeneric           medicinepublic.PatchGenericCapability
    DeleteGeneric          medicinepublic.DeleteGenericCapability
    RestoreGeneric         medicinepublic.RestoreGenericCapability
    ListAdminBrands        medicinepublic.ListAdminBrandsCapability
    GetAdminBrand          medicinepublic.GetAdminBrandCapability
    CreateBrand            medicinepublic.CreateBrandCapability
    PatchBrand             medicinepublic.PatchBrandCapability
    DeleteBrand            medicinepublic.DeleteBrandCapability
    RestoreBrand           medicinepublic.RestoreBrandCapability
    ListAdminDrugs         medicinepublic.ListAdminDrugsCapability
    GetAdminDrug           medicinepublic.GetAdminDrugCapability
    CreateDrug             medicinepublic.CreateDrugCapability
    PatchDrug              medicinepublic.PatchDrugCapability
    DeleteDrug             medicinepublic.DeleteDrugCapability
    RestoreDrug            medicinepublic.RestoreDrugCapability
}

type NewIdentityBody ​

NewIdentityBody contains the account details needed to provision an identity.

go
type NewIdentityBody struct {
    Name              string `json:"name" minLength:"1" maxLength:"255"`
    Email             string `json:"email" format:"email" maxLength:"255"`
    TemporaryPassword string `json:"temporary_password" minLength:"8" maxLength:"128" writeOnly:"true"`
}

type OrgActivateBodyDto ​

OrgActivateBodyDto contains the organization activation result and response status.

go
type OrgActivateBodyDto struct {
    Message    string             `json:"message"`
    Data       OrgActivateDataDto `json:"data"`
    StatusCode int                `json:"status_code"`
}

type OrgActivateDataDto ​

OrgActivateDataDto contains the activated organization's details.

go
type OrgActivateDataDto struct {
    ID          string    `json:"id"`
    Name        string    `json:"name"`
    Slug        string    `json:"slug"`
    Description string    `json:"description"`
    Phone       string    `json:"phone"`
    Email       string    `json:"email"`
    Address     string    `json:"address"`
    Status      string    `json:"status"`
    CreatedAt   time.Time `json:"created_at"`
    UpdatedAt   time.Time `json:"updated_at"`
}

type OrgActivateReqDto ​

OrgActivateReqDto carries an authenticated organization activation request.

go
type OrgActivateReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
}

type OrgActivateResDto ​

OrgActivateResDto wraps the organization activation response.

go
type OrgActivateResDto struct {
    Body OrgActivateBodyDto
}

type OrgAssignDoctorsBodyDto ​

OrgAssignDoctorsBodyDto contains committed affiliations and response status.

go
type OrgAssignDoctorsBodyDto struct {
    Message    string                     `json:"message"`
    Data       []DoctorAffiliationDataDto `json:"data" nullable:"false"`
    StatusCode int                        `json:"status_code"`
}

type OrgAssignDoctorsInputBody ​

OrgAssignDoctorsInputBody contains a bounded unique batch of professional profile IDs.

go
type OrgAssignDoctorsInputBody struct {
    DoctorIDs []string `json:"doctor_ids" minItems:"1" maxItems:"100" uniqueItems:"true"`
}

type OrgAssignDoctorsReqDto ​

OrgAssignDoctorsReqDto assigns one or more professional profiles to an organization.

go
type OrgAssignDoctorsReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" format:"uuid"`
    Body           OrgAssignDoctorsInputBody
}

type OrgAssignDoctorsResDto ​

OrgAssignDoctorsResDto wraps the assignment response.

go
type OrgAssignDoctorsResDto struct{ Body OrgAssignDoctorsBodyDto }

type OrgCreateBodyDto ​

OrgCreateBodyDto contains the organization creation result and response status.

go
type OrgCreateBodyDto struct {
    Message    string           `json:"message"`
    Data       OrgCreateDataDto `json:"data"`
    StatusCode int              `json:"status_code"`
}

type OrgCreateDataDto ​

OrgCreateDataDto contains the created organization's details.

go
type OrgCreateDataDto OrganizationDataDto

type OrgCreateMemberBodyDto ​

OrgCreateMemberBodyDto contains the member creation result and response status.

go
type OrgCreateMemberBodyDto struct {
    Message    string                 `json:"message"`
    Data       OrgCreateMemberDataDto `json:"data"`
    StatusCode int                    `json:"status_code"`
}

type OrgCreateMemberDataDto ​

OrgCreateMemberDataDto combines the created membership with its identity account.

go
type OrgCreateMemberDataDto struct {
    Member   *OrgCreateMemberMemberDto   `json:"member"`
    Identity *OrgCreateMemberIdentityDto `json:"identity"`
}

type OrgCreateMemberIdentityDto ​

OrgCreateMemberIdentityDto contains the identity account associated with the member.

go
type OrgCreateMemberIdentityDto struct {
    ID            string    `json:"id"`
    Email         string    `json:"email"`
    Name          string    `json:"name"`
    Status        string    `json:"status"`
    EmailVerified bool      `json:"email_verified"`
    CreatedAt     time.Time `json:"created_at"`
    UpdatedAt     time.Time `json:"updated_at"`
}

type OrgCreateMemberMemberDto ​

OrgCreateMemberMemberDto contains the newly created organization membership.

go
type OrgCreateMemberMemberDto struct {
    ID             string    `json:"id"`
    UserID         string    `json:"user_id"`
    OrganizationID string    `json:"organization_id"`
    Role           string    `json:"role"`
    Status         string    `json:"status"`
    JoinedAt       time.Time `json:"joined_at"`
    CreatedAt      time.Time `json:"created_at"`
    UpdatedAt      time.Time `json:"updated_at"`
}

type OrgCreateMemberReqDto ​

OrgCreateMemberReqDto carries an authenticated organization member creation request.

go
type OrgCreateMemberReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
    Body           CreateOrganizationMemberInputBody
}

type OrgCreateMemberResDto ​

OrgCreateMemberResDto wraps the organization member creation response.

go
type OrgCreateMemberResDto struct {
    Body OrgCreateMemberBodyDto
}

type OrgCreateReqDto ​

OrgCreateReqDto carries an authenticated organization creation request.

go
type OrgCreateReqDto struct {
    HumaAuthenticatedInput
    Body CreateOrganizationInputBody
}

type OrgCreateResDto ​

OrgCreateResDto wraps the organization creation response.

go
type OrgCreateResDto struct {
    Body OrgCreateBodyDto
}

type OrgDeleteBodyDto ​

OrgDeleteBodyDto contains the organization deletion result and response status.

go
type OrgDeleteBodyDto struct {
    Message    string           `json:"message"`
    Data       OrgDeleteDataDto `json:"data"`
    StatusCode int              `json:"status_code"`
}

type OrgDeleteDataDto ​

OrgDeleteDataDto contains the deleted organization's details.

go
type OrgDeleteDataDto struct {
    ID          string    `json:"id"`
    Name        string    `json:"name"`
    Slug        string    `json:"slug"`
    Description string    `json:"description"`
    Phone       string    `json:"phone"`
    Email       string    `json:"email"`
    Address     string    `json:"address"`
    Status      string    `json:"status"`
    CreatedAt   time.Time `json:"created_at"`
    UpdatedAt   time.Time `json:"updated_at"`
}

type OrgDeleteReqDto ​

OrgDeleteReqDto carries an authenticated organization deletion request.

go
type OrgDeleteReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
}

type OrgDeleteResDto ​

OrgDeleteResDto wraps the organization deletion response.

go
type OrgDeleteResDto struct {
    Body OrgDeleteBodyDto
}

type OrgDoctorBodyDto ​

OrgDoctorBodyDto wraps one scoped relationship and its display data.

go
type OrgDoctorBodyDto struct {
    Message    string           `json:"message"`
    StatusCode int              `json:"status_code"`
    Data       OrgDoctorDataDto `json:"data"`
}

type OrgDoctorDataDto ​

OrgDoctorDataDto combines the scoped relationship and professional display data.

go
type OrgDoctorDataDto struct {
    DoctorAffiliationDataDto
    Doctor OrgDoctorDisplayDto `json:"doctor"`
}

type OrgDoctorDisplayDto ​

OrgDoctorDisplayDto contains the safe profile/account/review display fields.

go
type OrgDoctorDisplayDto struct {
    ID                 string                `json:"id"`
    Name               string                `json:"name"`
    LicenseNumber      string                `json:"license_number"`
    Speciality         doctor.CatalogEntry   `json:"speciality"`
    Specialization     []doctor.CatalogEntry `json:"specialization" nullable:"false"`
    VerificationStatus string                `json:"verification_status" enum:"not_submitted,pending,verified,rejected"`
    AccountStatus      string                `json:"account_status" enum:"active,inactive,suspended"`
}

type OrgDoctorReqDto ​

OrgDoctorReqDto identifies a doctor professional profile within an organization.

go
type OrgDoctorReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" format:"uuid"`
    DoctorID       string `path:"doctorId" format:"uuid"`
}

type OrgDoctorResDto ​

OrgDoctorResDto is the Admin organization doctor detail response.

go
type OrgDoctorResDto struct{ Body OrgDoctorBodyDto }

type OrgDoctorStatusBodyDto ​

OrgDoctorStatusBodyDto wraps the committed affiliation without extra provider reads.

go
type OrgDoctorStatusBodyDto struct {
    Message    string                   `json:"message"`
    StatusCode int                      `json:"status_code"`
    Data       DoctorAffiliationDataDto `json:"data"`
}

type OrgDoctorStatusInputBody ​

OrgDoctorStatusInputBody accepts only the relationship's desired state.

go
type OrgDoctorStatusInputBody struct {
    Status string `json:"status" enum:"active,inactive"`
}

type OrgDoctorStatusReqDto ​

OrgDoctorStatusReqDto changes the existing organization/doctor affiliation.

go
type OrgDoctorStatusReqDto struct {
    OrgDoctorReqDto
    Body OrgDoctorStatusInputBody
}

type OrgDoctorStatusResDto ​

OrgDoctorStatusResDto is the affiliation update HTTP response.

go
type OrgDoctorStatusResDto struct{ Body OrgDoctorStatusBodyDto }

type OrgDoctorsBodyDto ​

OrgDoctorsBodyDto wraps the organization roster and filtered totals.

go
type OrgDoctorsBodyDto struct {
    Message    string             `json:"message"`
    StatusCode int                `json:"status_code"`
    Data       []OrgDoctorDataDto `json:"data" nullable:"false"`
    Pagination types.Pagination   `json:"pagination"`
}

type OrgDoctorsReqDto ​

OrgDoctorsReqDto selects the organization roster and its cursor page.

go
type OrgDoctorsReqDto struct {
    ManagementListHTTPInput
    OrganizationID string `path:"organizationId" format:"uuid"`
    Search         string `query:"search" maxLength:"255"`
    Status         string `query:"status" enum:"active,inactive"`
}

type OrgDoctorsResDto ​

OrgDoctorsResDto is the Admin organization doctor list response.

go
type OrgDoctorsResDto struct{ Body OrgDoctorsBodyDto }

type OrgGetBodyDto ​

OrgGetBodyDto contains the organization lookup result and response status.

go
type OrgGetBodyDto struct {
    Message    string        `json:"message"`
    Data       OrgGetDataDto `json:"data"`
    StatusCode int           `json:"status_code"`
}

type OrgGetDataDto ​

OrgGetDataDto contains the requested organization's details.

go
type OrgGetDataDto OrganizationDataDto

type OrgGetReqDto ​

OrgGetReqDto carries an authenticated organization lookup request.

go
type OrgGetReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
}

type OrgGetResDto ​

OrgGetResDto wraps the organization lookup response.

go
type OrgGetResDto struct {
    Body OrgGetBodyDto
}

type OrgListBodyDto ​

OrgListBodyDto contains organization results, pagination, and response status.

go
type OrgListBodyDto struct {
    Message    string               `json:"message"`
    Data       []OrgListItemDto     `json:"data" nullable:"false"`
    StatusCode int                  `json:"status_code"`
    Pagination OrgListPaginationDto `json:"pagination"`
}

type OrgListItemDto ​

OrgListItemDto contains the details of one organization in a result page.

go
type OrgListItemDto OrganizationDataDto

type OrgListPaginationDto ​

OrgListPaginationDto describes the current result page and the next cursor.

go
type OrgListPaginationDto struct {
    NextCursor  string `json:"next_cursor" doc:"Cursor for the next page; empty when there are no more results."`
    CurrentPage int    `json:"current_page" doc:"One-based current page number."`
    PerPage     int    `json:"per_page" doc:"Maximum number of items per page."`
    TotalPages  int    `json:"total_pages" doc:"Total pages matching the filters; zero when there are no matches."`
    TotalItems  int    `json:"total_items" doc:"Total items matching the filters before pagination."`
}

type OrgListReqDto ​

OrgListReqDto carries authenticated organization filters, ordering, and pagination.

go
type OrgListReqDto struct {
    HumaAuthenticatedInput
    Limit  int    `query:"limit" minimum:"1" maximum:"100" default:"20" doc:"Maximum results to return."`
    Cursor string `query:"cursor" doc:"Opaque pagination cursor from the previous response."`
    Search string `query:"search" maxLength:"255" doc:"Search organization name, slug, or email."`
    Status string `query:"status" enum:"active,suspended,deleted"`
    Sort   string `query:"sort" enum:"created_at,name,slug" default:"created_at"`
    Order  string `query:"order" enum:"asc,desc" default:"desc"`
}

type OrgListResDto ​

OrgListResDto wraps the organization listing response.

go
type OrgListResDto struct {
    Body OrgListBodyDto
}

type OrgRestoreBodyDto ​

OrgRestoreBodyDto contains the organization restoration result and response status.

go
type OrgRestoreBodyDto struct {
    Message    string            `json:"message"`
    Data       OrgRestoreDataDto `json:"data"`
    StatusCode int               `json:"status_code"`
}

type OrgRestoreDataDto ​

OrgRestoreDataDto contains the restored organization's details.

go
type OrgRestoreDataDto struct {
    ID          string    `json:"id"`
    Name        string    `json:"name"`
    Slug        string    `json:"slug"`
    Description string    `json:"description"`
    Phone       string    `json:"phone"`
    Email       string    `json:"email"`
    Address     string    `json:"address"`
    Status      string    `json:"status"`
    CreatedAt   time.Time `json:"created_at"`
    UpdatedAt   time.Time `json:"updated_at"`
}

type OrgRestoreReqDto ​

OrgRestoreReqDto carries an authenticated organization restoration request.

go
type OrgRestoreReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
}

type OrgRestoreResDto ​

OrgRestoreResDto wraps the organization restoration response.

go
type OrgRestoreResDto struct {
    Body OrgRestoreBodyDto
}

type OrgSummaryBodyDto ​

OrgSummaryBodyDto wraps the organization summary in the success envelope.

go
type OrgSummaryBodyDto struct {
    Message    string                     `json:"message"`
    StatusCode int                        `json:"status_code"`
    Data       OrganizationSummaryDataDto `json:"data"`
}

type OrgSummaryReqDto ​

OrgSummaryReqDto identifies the organization to summarize.

go
type OrgSummaryReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" format:"uuid"`
}

type OrgSummaryResDto ​

OrgSummaryResDto is the organization summary HTTP response.

go
type OrgSummaryResDto struct{ Body OrgSummaryBodyDto }

type OrgSuspendBodyDto ​

OrgSuspendBodyDto contains the organization suspension result and response status.

go
type OrgSuspendBodyDto struct {
    Message    string            `json:"message"`
    Data       OrgSuspendDataDto `json:"data"`
    StatusCode int               `json:"status_code"`
}

type OrgSuspendDataDto ​

OrgSuspendDataDto contains the suspended organization's details.

go
type OrgSuspendDataDto struct {
    ID          string    `json:"id"`
    Name        string    `json:"name"`
    Slug        string    `json:"slug"`
    Description string    `json:"description"`
    Phone       string    `json:"phone"`
    Email       string    `json:"email"`
    Address     string    `json:"address"`
    Status      string    `json:"status"`
    CreatedAt   time.Time `json:"created_at"`
    UpdatedAt   time.Time `json:"updated_at"`
}

type OrgSuspendReqDto ​

OrgSuspendReqDto carries an authenticated organization suspension request.

go
type OrgSuspendReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
}

type OrgSuspendResDto ​

OrgSuspendResDto wraps the organization suspension response.

go
type OrgSuspendResDto struct {
    Body OrgSuspendBodyDto
}

type OrgUpdateBodyDto ​

OrgUpdateBodyDto contains the organization update result and response status.

go
type OrgUpdateBodyDto struct {
    Message    string           `json:"message"`
    Data       OrgUpdateDataDto `json:"data"`
    StatusCode int              `json:"status_code"`
}

type OrgUpdateDataDto ​

OrgUpdateDataDto contains the updated organization's details.

go
type OrgUpdateDataDto OrganizationDataDto

type OrgUpdateReqDto ​

OrgUpdateReqDto carries an authenticated organization update request.

go
type OrgUpdateReqDto struct {
    HumaAuthenticatedInput
    OrganizationID string `path:"organizationId" minLength:"1" doc:"Organization identifier."`
    RawBody        []byte
    Body           UpdateOrganizationInputBody
}

type OrgUpdateResDto ​

OrgUpdateResDto wraps the organization update response.

go
type OrgUpdateResDto struct {
    Body OrgUpdateBodyDto
}

type OrganizationDataDto ​

OrganizationDataDto exposes organization details, real usage, and billing projections.

go
type OrganizationDataDto struct {
    ID          string    `json:"id"`
    Name        string    `json:"name"`
    Slug        string    `json:"slug"`
    Type        *string   `json:"type" enum:"Hospital,Pharmaceuticals,Partner" nullable:"true"`
    Description string    `json:"description"`
    Phone       string    `json:"phone"`
    Email       string    `json:"email"`
    Address     string    `json:"address"`
    Status      string    `json:"status"`
    CreatedAt   time.Time `json:"created_at"`
    UpdatedAt   time.Time `json:"updated_at"`
    // Billing fields are nullable when no subscription exists. BillingIsMock marks
    // plan/limit/status provenance; UsedSeats and DoctorCount always come from real
    // active relationship counts, even when all billing fields use sample values.
    Plan               *CompactPlan `json:"plan"`
    SeatLimit          *int         `json:"seat_limit"`
    DoctorLimit        *int         `json:"doctor_limit"`
    UsedSeats          int          `json:"used_seats"`
    DoctorCount        int          `json:"doctor_count"`
    BillingCycle       *string      `json:"billing_cycle"`
    SubscriptionStatus *string      `json:"subscription_status"`
    BillingIsMock      bool         `json:"billing_is_mock"`
}

type OrganizationSummaryDataDto ​

OrganizationSummaryDataDto contains the composed organization summary.

go
type OrganizationSummaryDataDto struct {
    Organization  OrganizationDataDto   `json:"organization"`
    Summary       org.OrganizationUsage `json:"summary"`
    Subscription  *sub.Subscription     `json:"subscription"`
    BillingIsMock bool                  `json:"billing_is_mock"`
}

type PatchIdentityAccountStatusParams ​

PatchIdentityAccountStatusParams defines the HTTP representation.

go
type PatchIdentityAccountStatusParams struct {
    Status string `json:"status" enum:"active,inactive,suspended"`
}

type RejectDoctorVerificationParams ​

RejectDoctorVerificationParams defines the HTTP representation.

go
type RejectDoctorVerificationParams struct {
    Reason string `json:"reason" minLength:"1" maxLength:"2000" pattern:"\\S"`
    Notes  string `json:"notes,omitempty" maxLength:"2000"`
}

type SubmitDoctorVerificationParams ​

SubmitDoctorVerificationParams defines the HTTP representation.

go
type SubmitDoctorVerificationParams struct {
    Documents []string `json:"documents" minItems:"1" maxItems:"20" doc:"Absolute HTTP(S) document URLs. Upload/storage is outside this contract."`
    Notes     string   `json:"notes,omitempty" maxLength:"2000"`
}

type UpdateOrganizationInputBody ​

UpdateOrganizationInputBody contains replacement details for an organization.

go
type UpdateOrganizationInputBody struct {
    Type        *string `json:"type,omitempty" enum:"Hospital,Pharmaceuticals,Partner"`
    Name        string  `json:"name" minLength:"1" maxLength:"255" doc:"Replacement organization name."`
    Description string  `json:"description,omitempty" maxLength:"2000"`
    Phone       string  `json:"phone,omitempty" maxLength:"30"`
    Email       string  `json:"email,omitempty" format:"email" maxLength:"255"`
    Address     string  `json:"address,omitempty" maxLength:"1000"`
}

type UseCases ​

UseCases collects the admin operations exposed by Handler.

go
type UseCases struct {
    ListOrganizationDoctors        *usecase.ListOrganizationDoctorsUseCase
    GetOrganizationDoctor          *usecase.GetOrganizationDoctorUseCase
    ChangeOrganizationDoctor       *usecase.ChangeOrganizationDoctorUseCase
    DoctorCatalogs                 *usecase.DoctorCatalogs
    OrganizationAccess             *usecase.DoctorManagementAccess
    OrganizationViews              *usecase.OrganizationViews
    GetOrganizationSummary         *usecase.GetOrganizationSummaryUseCase
    ListDoctorOrganizations        *usecase.ListDoctorOrganizationsUseCase
    ListDoctors                    *usecase.ListDoctorsUseCase
    GetDoctor                      *usecase.GetDoctorUseCase
    SuspendDoctorAccount           *usecase.SuspendDoctorAccountUseCase
    ActivateDoctorAccount          *usecase.ActivateDoctorAccountUseCase
    AssignDoctorsToOrganization    *usecase.AssignDoctorsToOrganizationUseCase
    SubmitDoctorVerification       *usecase.SubmitDoctorVerificationUseCase
    ListPendingDoctorVerifications *usecase.ListPendingDoctorVerificationsUseCase
    GetDoctorVerification          *usecase.GetDoctorVerificationUseCase
    ApproveDoctorVerification      *usecase.ApproveDoctorVerificationUseCase
    RejectDoctorVerification       *usecase.RejectDoctorVerificationUseCase
    AdminLogin                     *usecase.AdminLoginUseCase
    ResolvePrincipal               *usecase.ResolveAdminPrincipalUseCase
    CreateOrganization             *usecase.CreateOrganizationUseCase
    ListOrganizations              *usecase.ListOrganizationsUseCase
    GetOrganization                *usecase.GetOrganizationUseCase
    UpdateOrganization             *usecase.UpdateOrganizationUseCase
    DeleteOrganization             *usecase.DeleteOrganizationUseCase
    SuspendOrganization            *usecase.SuspendOrganizationUseCase
    ActivateOrganization           *usecase.ActivateOrganizationUseCase
    RestoreOrganization            *usecase.RestoreOrganizationUseCase
    CreateOrganizationMember       *usecase.CreateOrganizationMemberUseCase
    CreateAdminUser                *usecase.CreateAdminUserUseCase
    ListAdminUsers                 *usecase.ListAdminUsersUseCase
    GetAdminUser                   *usecase.GetAdminUserUseCase
    GetAdminProfile                *usecase.GetAdminProfileUseCase
}

type VerificationHTTPInput ​

VerificationHTTPInput identifies an Admin-owned credential submission.

go
type VerificationHTTPInput struct {
    HumaAuthenticatedInput
    VerificationID string `path:"verificationId" minLength:"1" pattern:"\\S"`
}

Generated by gomarkdoc

Documentation follows the source. Planned contracts are marked explicitly.