Skip to content

domain ​

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

Package domain contains core business entities for the admin service.

Index ​

Variables ​

go
var (
    // ErrConflict indicates a state transition conflicts with the current resource state.
    ErrConflict = errors.New("operation conflicts with the current state")
    // ErrAdminNotFound indicates that an administrator record does not exist.
    ErrAdminNotFound = errors.New("admin not found")
    // ErrAdminAlreadyExists indicates that a user already has an administrator record.
    ErrAdminAlreadyExists = errors.New("admin user already exists")
    // ErrUnauthorized indicates that administrator authentication is required.
    ErrUnauthorized = errors.New("admin authentication required")
    // ErrForbidden indicates that the caller lacks administrator permission.
    ErrForbidden = errors.New("admin permission denied")
    // ErrUnavailable indicates that a required administrator capability is unavailable.
    ErrUnavailable = errors.New("admin capability unavailable")
    // ErrInvalidInput indicates that administrator input is invalid.
    ErrInvalidInput = errors.New("invalid admin input")
    // ErrVerificationNotFound indicates that a verification record does not exist.
    ErrVerificationNotFound = errors.New("verification not found")
)

type Admin ​

Admin represents a system administrator.

go
type Admin struct {
    ID        string
    UserID    string
    Status    AdminStatus
    CreatedAt time.Time
    UpdatedAt time.Time
}

type AdminAuthenticatedInput ​

AdminAuthenticatedInput carries credentials to verify administrator access.

go
type AdminAuthenticatedInput struct{ Authorization string }

type AdminLoginInput ​

AdminLoginInput contains credentials and session metadata.

go
type AdminLoginInput struct{ Email, Password, IPAddress, UserAgent string }

type AdminOrganization ​

AdminOrganization contains the complete organization record for administration.

go
type AdminOrganization struct {
    ID             string
    Name           string
    Slug           string
    Description    string
    Phone          string
    Email          string
    Address        string
    Status         types.OrganizationStatus
    SubscriptionID *string
    CreatedAt      time.Time
    UpdatedAt      time.Time
}

type AdminProfile ​

AdminProfile contains the current administrator's identity, membership and grants.

go
type AdminProfile struct {
    Identity    types.IdentityAccount
    Profile     Admin
    Roles       []AdminProfileRole
    Permissions []AdminProfilePermission
}

type AdminProfilePermission ​

AdminProfilePermission contains effective decisions after direct overrides.

go
type AdminProfilePermission struct {
    Permission string
    Own, Any   bool
}

type AdminProfileRole ​

AdminProfileRole describes an assigned platform role.

go
type AdminProfileRole struct {
    ID, Name, Slug, Description string
    Protected                   bool
    Version                     int64
}

type AdminStatus ​

AdminStatus represents the state of an administrator's membership.

go
type AdminStatus string

go
const (
    // AdminStatusActive marks an active administrator.
    AdminStatusActive AdminStatus = "active"
    // AdminStatusInactive marks an inactive administrator.
    AdminStatusInactive AdminStatus = "inactive"
)

type ApproveDoctorVerificationInput ​

ApproveDoctorVerificationInput defines an admin operation domain input.

go
type ApproveDoctorVerificationInput struct {
    Authorization  string
    VerificationID string
    Params         ApproveDoctorVerificationParams
}

type ApproveDoctorVerificationParams ​

ApproveDoctorVerificationParams defines an admin operation domain input.

go
type ApproveDoctorVerificationParams struct {
    Notes string
}

type ArchiveBillingPlanInput ​

ArchiveBillingPlanInput defines an admin operation domain input.

go
type ArchiveBillingPlanInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    PlanID         string
}

type AssignDoctorsToOrganizationInput ​

AssignDoctorsToOrganizationInput assigns professional profiles as one batch.

go
type AssignDoctorsToOrganizationInput struct {
    Authorization, OrganizationID string
    DoctorIDs                     []string
}

type BillingCreateInvoiceParams ​

BillingCreateInvoiceParams defines an admin operation domain input.

go
type BillingCreateInvoiceParams struct {
    Description        string
    AmountMinor        int64
    CoveredPeriodStart time.Time
    CoveredPeriodEnd   time.Time
    InvoiceDate        time.Time
    DueDate            time.Time
    Notes              string
}

type BillingCreatePlanParams ​

BillingCreatePlanParams defines an admin operation domain input.

go
type BillingCreatePlanParams struct {
    Name        string
    Slug        string
    Description string
    PriceMinor  int64
    Currency    string
    Interval    string
    Features    types.BillingFeatures
    IsPublic    bool
}

type BillingCreateSubscriptionParams ​

BillingCreateSubscriptionParams defines an admin operation domain input.

go
type BillingCreateSubscriptionParams struct {
    OrganizationID     string
    PlanID             string
    CurrentPeriodStart time.Time
    CurrentPeriodEnd   time.Time
    Status             string
    TrialEndsAt        *time.Time
    PriceMinor         *int64
    FeatureOverrides   types.BillingFeatureOverrides
}

type BillingEditInvoiceParams ​

BillingEditInvoiceParams defines an admin operation domain input.

go
type BillingEditInvoiceParams struct {
    Description        *string
    AmountMinor        *int64
    CoveredPeriodStart *time.Time
    CoveredPeriodEnd   *time.Time
    InvoiceDate        *time.Time
    DueDate            *time.Time
    Notes              *string
}

type BillingEditPlanParams ​

BillingEditPlanParams defines an admin operation domain input.

go
type BillingEditPlanParams struct {
    Name        *string
    Description *string
    PriceMinor  *int64
    Interval    *string
    Features    *types.BillingFeatures
    IsPublic    *bool
}

type BillingEditSubscriptionParams ​

BillingEditSubscriptionParams defines an admin operation domain input.

go
type BillingEditSubscriptionParams struct {
    TrialEndsAtSet   bool
    PlanID           *string
    PriceMinor       *int64
    Status           *string
    TrialEndsAt      *time.Time
    FeatureOverrides *types.BillingFeatureOverrides
}

type BillingExtendSubscriptionParams ​

BillingExtendSubscriptionParams defines an admin operation domain input.

go
type BillingExtendSubscriptionParams struct {
    CurrentPeriodEnd time.Time
}

type BillingQuery ​

BillingQuery defines an admin operation domain input.

go
type BillingQuery struct {
    Limit          int
    Cursor         string
    OrganizationID string
    SubscriptionID string
    InvoiceID      string
    Status         string
    IsPublic       *bool
    IsActive       *bool
}

type BillingRecordPaymentParams ​

BillingRecordPaymentParams defines an admin operation domain input.

go
type BillingRecordPaymentParams struct {
    AmountMinor int64
    PaidAt      time.Time
    Method      string
    Reference   string
    Notes       string
}

type BillingVoidParams ​

BillingVoidParams defines an admin operation domain input.

go
type BillingVoidParams struct {
    Reason string
}

type ChangeOrganizationDoctorInput ​

ChangeOrganizationDoctorInput changes only the scoped affiliation status.

go
type ChangeOrganizationDoctorInput struct {
    OrganizationDoctorInput
    Status string
}

type CreateAdminInput ​

CreateAdminInput identifies the account receiving administrator membership.

go
type CreateAdminInput struct {
    UserID string
}

type CreateAdminUserInput ​

CreateAdminUserInput defines an admin operation domain input.

go
type CreateAdminUserInput struct {
    IdentitySource
}

type CreateBillingInvoiceInput ​

CreateBillingInvoiceInput defines an admin operation domain input.

go
type CreateBillingInvoiceInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    SubscriptionID string
    Params         BillingCreateInvoiceParams
}

type CreateBillingPlanInput ​

CreateBillingPlanInput defines an admin operation domain input.

go
type CreateBillingPlanInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    Params         BillingCreatePlanParams
}

type CreateBillingSubscriptionInput ​

CreateBillingSubscriptionInput defines an admin operation domain input.

go
type CreateBillingSubscriptionInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    Params         BillingCreateSubscriptionParams
}

type CreateOrganizationInput ​

CreateOrganizationInput defines an admin operation domain input.

go
type CreateOrganizationInput struct {
    Type                                           *string
    Authorization                                  string
    Name, Slug, Description, Phone, Email, Address string
}

type CreateOrganizationMemberInput ​

CreateOrganizationMemberInput defines an admin operation domain input.

go
type CreateOrganizationMemberInput struct {
    Authorization  string
    OrganizationID string
    IdentitySource
    Role types.OrganizationMemberRole
}

type DeleteBillingSubscriptionInput ​

DeleteBillingSubscriptionInput defines an admin operation domain input.

go
type DeleteBillingSubscriptionInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    SubscriptionID string
}

type Doctor ​

Doctor contains professional, account, review and affiliation details for administration.

go
type Doctor struct {
    Qualifications, Specialization         []doctor.CatalogEntry
    Speciality                             doctor.CatalogEntry
    IsAssigned                             *bool
    IsEligible                             *bool
    IneligibleReason                       *string
    HasAssignmentContext                   bool
    ID, UserID, Name, Email, AccountStatus string
    EmailVerified                          bool
    LicenseNumber, Qualification           string
    Chambers                               []DoctorChamber
    VerificationStatus                     string
    Verification                           *types.DoctorVerification
    Organizations                          []DoctorAffiliation
    CreatedAt, UpdatedAt                   time.Time
}

type DoctorAffiliation ​

DoctorAffiliation contains organization-owned professional affiliation details.

go
type DoctorAffiliation struct {
    OrganizationType                                                         *string
    OrganizationStatus                                                       string
    AssignedAt                                                               time.Time
    AssignedByUserID                                                         *string
    AssignmentSource                                                         string
    ID, OrganizationID, OrganizationName, OrganizationSlug, DoctorID, Status string
    JoinedAt, CreatedAt, UpdatedAt                                           time.Time
}

type DoctorAssignment ​

DoctorAssignment contains the affiliations committed by a batch assignment.

go
type DoctorAssignment struct {
    Affiliations []DoctorAffiliation
}

type DoctorChamber ​

DoctorChamber contains a professional practice location.

go
type DoctorChamber struct{ Name, Address, Hours string }

type DoctorInput ​

DoctorInput identifies an authenticated doctor management request.

go
type DoctorInput struct{ Authorization, DoctorID string }

type DoctorOrganizationView ​

DoctorOrganizationView combines an affiliation with its billing projection.

go
type DoctorOrganizationView struct {
    Affiliation org.DoctorAffiliation
    Billing     sub.CurrentSubscription
}

type DoctorOrganizationsInput ​

DoctorOrganizationsInput scopes an administrative affiliation query.

go
type DoctorOrganizationsInput struct {
    Authorization, DoctorID, Status, Cursor string
    Limit                                   int
}

type DoctorOrganizationsPage ​

DoctorOrganizationsPage contains the filtered affiliation page and metadata.

go
type DoctorOrganizationsPage struct {
    Items      []DoctorOrganizationView
    Pagination types.Pagination
}

type DoctorPage ​

DoctorPage contains filtered directory results and pagination metadata.

go
type DoctorPage struct {
    Items                                        []Doctor
    NextCursor                                   string
    CurrentPage, PerPage, TotalPages, TotalItems int
}

type DoctorVerification ​

DoctorVerification represents the verification process for a doctor's credentials.

go
type DoctorVerification struct {
    ID              string
    DoctorProfileID string
    UserID          string
    DoctorName      string
    LicenseNumber   string
    Specialization  string
    Documents       []string
    Status          VerificationStatus
    ReviewedBy      *string
    ReviewedAt      *time.Time
    RejectionReason *string
    Notes           string
    CreatedAt       time.Time
    UpdatedAt       time.Time
}

type EditBillingInvoiceInput ​

EditBillingInvoiceInput defines an admin operation domain input.

go
type EditBillingInvoiceInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    InvoiceID      string
    Params         BillingEditInvoiceParams
}

type EditBillingPlanInput ​

EditBillingPlanInput defines an admin operation domain input.

go
type EditBillingPlanInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    PlanID         string
    Params         BillingEditPlanParams
}

type EditBillingSubscriptionInput ​

EditBillingSubscriptionInput defines an admin operation domain input.

go
type EditBillingSubscriptionInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    SubscriptionID string
    Params         BillingEditSubscriptionParams
}

type ExtendBillingSubscriptionInput ​

ExtendBillingSubscriptionInput defines an admin operation domain input.

go
type ExtendBillingSubscriptionInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    SubscriptionID string
    Params         BillingExtendSubscriptionParams
}

type GetAdminUserInput ​

GetAdminUserInput identifies an administrator record.

go
type GetAdminUserInput struct{ AdminUserID string }

type GetBillingInvoiceInput ​

GetBillingInvoiceInput defines an admin operation domain input.

go
type GetBillingInvoiceInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    InvoiceID      string
}

type GetBillingPaymentInput ​

GetBillingPaymentInput defines an admin operation domain input.

go
type GetBillingPaymentInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    PaymentID      string
}

type GetBillingPlanInput ​

GetBillingPlanInput defines an admin operation domain input.

go
type GetBillingPlanInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    PlanID         string
}

type GetBillingSubscriptionInput ​

GetBillingSubscriptionInput defines an admin operation domain input.

go
type GetBillingSubscriptionInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    SubscriptionID string
}

type GetDoctorVerificationInput ​

GetDoctorVerificationInput defines an admin operation domain input.

go
type GetDoctorVerificationInput struct {
    Authorization  string
    VerificationID string
}

type GetIdentityAccountInput ​

GetIdentityAccountInput defines an admin operation domain input.

go
type GetIdentityAccountInput struct {
    Authorization string
    UserID        string
}

type GetOrganizationInput ​

GetOrganizationInput identifies an organization record.

go
type GetOrganizationInput struct{ OrganizationID string }

type IdentitySource ​

IdentitySource defines an admin operation domain input.

go
type IdentitySource struct {
    ExistingUserID string
    NewUser        *NewIdentityInput
}

func (IdentitySource) Valid ​

go
func (s IdentitySource) Valid() bool

Valid reports whether exactly one identity source is supplied.

type IssueBillingInvoiceInput ​

IssueBillingInvoiceInput defines an admin operation domain input.

go
type IssueBillingInvoiceInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    InvoiceID      string
}

type ListAdminUsersQuery ​

ListAdminUsersQuery defines an admin operation domain input.

go
type ListAdminUsersQuery struct {
    Limit, Offset  int
    Search         string
    IdentityStatus string
    Sort, Order    string
}

type ListBillingInvoicesInput ​

ListBillingInvoicesInput defines an admin operation domain input.

go
type ListBillingInvoicesInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
}

type ListBillingPaymentsInput ​

ListBillingPaymentsInput defines an admin operation domain input.

go
type ListBillingPaymentsInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
}

type ListBillingPlansInput ​

ListBillingPlansInput defines an admin operation domain input.

go
type ListBillingPlansInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
}

type ListBillingSubscriptionsInput ​

ListBillingSubscriptionsInput defines an admin operation domain input.

go
type ListBillingSubscriptionsInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
}

type ListDoctorsInput ​

ListDoctorsInput selects the administrative directory and cursor page.

go
type ListDoctorsInput struct {
    AssignmentOrganizationID                                          string
    Authorization                                                     string
    Limit                                                             int
    Cursor, Search, AccountStatus, VerificationStatus, OrganizationID string
}

type ListIdentityAccountsInput ​

ListIdentityAccountsInput defines an admin operation domain input.

go
type ListIdentityAccountsInput struct {
    Authorization string
    Limit         int
    Cursor        string
    Search        string
    Status        string
}

type ListInvoicePaymentsInput ​

ListInvoicePaymentsInput defines an admin operation domain input.

go
type ListInvoicePaymentsInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    InvoiceID      string
}

type ListOrganizationsQuery ​

ListOrganizationsQuery selects organization filters, ordering, and pagination.

go
type ListOrganizationsQuery struct {
    Limit          int
    Cursor, Search string
    Status         *types.OrganizationStatus
    Sort, Order    string
}

type ListPendingDoctorVerificationsInput ​

ListPendingDoctorVerificationsInput defines an admin operation domain input.

go
type ListPendingDoctorVerificationsInput struct {
    Authorization string
    Limit         int
    Cursor        string
}

type ListSubscriptionInvoicesInput ​

ListSubscriptionInvoicesInput defines an admin operation domain input.

go
type ListSubscriptionInvoicesInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    SubscriptionID string
}

type MedicineCreateBrandInput ​

MedicineCreateBrandInput defines an admin operation domain input.

go
type MedicineCreateBrandInput struct {
    Authorization string
    Params        MedicineCreateBrandParams
}

type MedicineCreateBrandParams ​

MedicineCreateBrandParams defines an admin operation domain input.

go
type MedicineCreateBrandParams struct {
    Name           string
    ManufacturerID string
    GenericID      string
    Description    *string
    Status         string
}

type MedicineCreateDrugInput ​

MedicineCreateDrugInput defines an admin operation domain input.

go
type MedicineCreateDrugInput struct {
    Authorization string
    Params        MedicineCreateDrugParams
}

type MedicineCreateDrugParams ​

MedicineCreateDrugParams defines an admin operation domain input.

go
type MedicineCreateDrugParams struct {
    Route, TherapeuticClassID string
    Aliases, IngredientIDs    []string
    BrandID                   string
    Form                      string
    Strength                  string
    Description               *string
    Status                    string
}

type MedicineCreateGenericInput ​

MedicineCreateGenericInput defines an admin operation domain input.

go
type MedicineCreateGenericInput struct {
    Authorization string
    Params        MedicineCreateGenericParams
}

type MedicineCreateGenericParams ​

MedicineCreateGenericParams defines an admin operation domain input.

go
type MedicineCreateGenericParams struct {
    Name        string
    Description *string
    Status      string
}

type MedicineCreateManufacturerInput ​

MedicineCreateManufacturerInput defines an admin operation domain input.

go
type MedicineCreateManufacturerInput struct {
    Authorization string
    Params        MedicineCreateManufacturerParams
}

type MedicineCreateManufacturerParams ​

MedicineCreateManufacturerParams defines an admin operation domain input.

go
type MedicineCreateManufacturerParams struct {
    Name        string
    Description *string
    Status      string
}

type MedicineListInput ​

MedicineListInput defines an admin operation domain input.

go
type MedicineListInput struct {
    Authorization string
    Query         MedicineQuery
}

type MedicinePatchBrandInput ​

MedicinePatchBrandInput defines an admin operation domain input.

go
type MedicinePatchBrandInput struct {
    Authorization, ID string
    Params            MedicinePatchBrandParams
}

type MedicinePatchBrandParams ​

MedicinePatchBrandParams defines an admin operation domain input.

go
type MedicinePatchBrandParams struct {
    Name           *string
    ManufacturerID *string
    GenericID      *string
    Description    *string
    Status         *string
    Supplied       map[string]bool
}

type MedicinePatchDrugInput ​

MedicinePatchDrugInput defines an admin operation domain input.

go
type MedicinePatchDrugInput struct {
    Authorization, ID string
    Params            MedicinePatchDrugParams
}

type MedicinePatchDrugParams ​

MedicinePatchDrugParams defines an admin operation domain input.

go
type MedicinePatchDrugParams struct {
    Route, TherapeuticClassID *string
    Aliases, IngredientIDs    *[]string
    BrandID                   *string
    Form                      *string
    Strength                  *string
    Description               *string
    Status                    *string
    Supplied                  map[string]bool
}

type MedicinePatchGenericInput ​

MedicinePatchGenericInput defines an admin operation domain input.

go
type MedicinePatchGenericInput struct {
    Authorization, ID string
    Params            MedicinePatchGenericParams
}

type MedicinePatchGenericParams ​

MedicinePatchGenericParams defines an admin operation domain input.

go
type MedicinePatchGenericParams struct {
    Name        *string
    Description *string
    Status      *string
    Supplied    map[string]bool
}

type MedicinePatchManufacturerInput ​

MedicinePatchManufacturerInput defines an admin operation domain input.

go
type MedicinePatchManufacturerInput struct {
    Authorization, ID string
    Params            MedicinePatchManufacturerParams
}

type MedicinePatchManufacturerParams ​

MedicinePatchManufacturerParams defines an admin operation domain input.

go
type MedicinePatchManufacturerParams struct {
    Name        *string
    Description *string
    Status      *string
    Supplied    map[string]bool
}

type MedicineQuery ​

MedicineQuery defines an admin operation domain input.

go
type MedicineQuery struct {
    Q, Cursor, ManufacturerID, GenericID, BrandID, Form, Status, Deletion string
    Limit                                                                 int
}

type MedicineRecordInput ​

MedicineRecordInput defines an admin operation domain input.

go
type MedicineRecordInput struct {
    Authorization, ID string
}

type NewIdentityInput ​

NewIdentityInput defines an admin operation domain input.

go
type NewIdentityInput struct {
    Name, Email, TemporaryPassword string
}

type OrganizationDoctor ​

OrganizationDoctor combines a scoped affiliation and safe doctor display fields.

go
type OrganizationDoctor struct {
    Affiliation DoctorAffiliation
    Doctor      org.OrganizationDoctor
}

type OrganizationDoctorInput ​

OrganizationDoctorInput identifies a professional profile within an organization.

go
type OrganizationDoctorInput struct {
    Authorization, OrganizationID, DoctorID string
}

type OrganizationDoctorsInput ​

OrganizationDoctorsInput scopes the Admin roster query and continuation.

go
type OrganizationDoctorsInput struct {
    Authorization, OrganizationID, Search, Status, Cursor string
    Limit                                                 int
}

type OrganizationDoctorsPage ​

OrganizationDoctorsPage contains the Admin roster and filtered pagination.

go
type OrganizationDoctorsPage struct {
    Items      []OrganizationDoctor
    Pagination types.Pagination
}

type OrganizationMember ​

OrganizationMember defines an admin operation domain input.

go
type OrganizationMember struct {
    Member   *types.OrganizationMember
    Identity *types.IdentityAccount
}

type OrganizationStatusInput ​

OrganizationStatusInput defines an admin operation domain input.

go
type OrganizationStatusInput struct {
    Authorization  string
    OrganizationID string
}

type OrganizationSummary ​

OrganizationSummary contains organization details, real counts, and current billing.

go
type OrganizationSummary struct {
    Organization OrganizationView
    Usage        org.OrganizationUsage
    Billing      sub.CurrentSubscription
}

type OrganizationView ​

OrganizationView combines authoritative usage with an explicitly supplied billing projection.

go
type OrganizationView struct {
    Organization types.Organization
    Usage        org.OrganizationUsage
    Billing      sub.CurrentSubscription
}

type PatchIdentityAccountStatusInput ​

PatchIdentityAccountStatusInput defines an admin operation domain input.

go
type PatchIdentityAccountStatusInput struct {
    Authorization string
    UserID        string
    Params        PatchIdentityAccountStatusParams
}

type PatchIdentityAccountStatusParams ​

PatchIdentityAccountStatusParams defines an admin operation domain input.

go
type PatchIdentityAccountStatusParams struct {
    Status string
}

type RecordBillingPaymentInput ​

RecordBillingPaymentInput defines an admin operation domain input.

go
type RecordBillingPaymentInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    InvoiceID      string
    Params         BillingRecordPaymentParams
}

type RejectDoctorVerificationInput ​

RejectDoctorVerificationInput defines an admin operation domain input.

go
type RejectDoctorVerificationInput struct {
    Authorization  string
    VerificationID string
    Params         RejectDoctorVerificationParams
}

type RejectDoctorVerificationParams ​

RejectDoctorVerificationParams defines an admin operation domain input.

go
type RejectDoctorVerificationParams struct {
    Reason string
    Notes  string
}

type RevokeAdminUserInput ​

RevokeAdminUserInput defines an admin operation domain input.

go
type RevokeAdminUserInput struct {
    Authorization string
    AdminUserID   string
}

type SubmitDoctorVerificationInput ​

SubmitDoctorVerificationInput defines an admin operation domain input.

go
type SubmitDoctorVerificationInput struct {
    Authorization string
    Params        SubmitDoctorVerificationParams
}

type SubmitDoctorVerificationParams ​

SubmitDoctorVerificationParams defines an admin operation domain input.

go
type SubmitDoctorVerificationParams struct {
    Documents []string
    Notes     string
}

type SubmitVerificationInput ​

SubmitVerificationInput contains the server-owned doctor profile and evidence.

go
type SubmitVerificationInput struct {
    DoctorProfileID string
    UserID          string
    DoctorName      string
    LicenseNumber   string
    Specialization  string
    Documents       []string
}

type UpdateOrganizationInput ​

UpdateOrganizationInput defines an admin operation domain input.

go
type UpdateOrganizationInput struct {
    Type                                         *string
    Authorization                                string
    ID, Name, Description, Phone, Email, Address string
}

type VerificationStatus ​

VerificationStatus represents the state of a doctor verification.

go
type VerificationStatus string

go
const (
    // VerificationStatusPending marks a verification awaiting review.
    VerificationStatusPending VerificationStatus = "pending"
    // VerificationStatusVerified marks an approved verification.
    VerificationStatusVerified VerificationStatus = "verified"
    // VerificationStatusRejected marks a rejected verification.
    VerificationStatusRejected VerificationStatus = "rejected"
)

type VoidBillingInvoiceInput ​

VoidBillingInvoiceInput defines an admin operation domain input.

go
type VoidBillingInvoiceInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    InvoiceID      string
    Params         BillingVoidParams
}

type VoidBillingPaymentInput ​

VoidBillingPaymentInput defines an admin operation domain input.

go
type VoidBillingPaymentInput struct {
    IdempotencyKey string
    Authorization  string
    Query          BillingQuery
    PaymentID      string
    Params         BillingVoidParams
}

Generated by gomarkdoc

Documentation follows the source. Planned contracts are marked explicitly.