Skip to content

usecase ​

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

Package usecase contains single-task use case implementations.

Index ​

Variables ​

ErrManagementNotImplemented marks documentation-first administration operations.

go
var ErrManagementNotImplemented = errors.New("admin management operation is not implemented")

type ActivateDoctorAccountUseCase ​

ActivateDoctorAccountUseCase enables the account without restoring revoked sessions.

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

func NewActivateDoctorAccountUseCase ​

go
func NewActivateDoctorAccountUseCase(deps DoctorManagementDependencies) *ActivateDoctorAccountUseCase

NewActivateDoctorAccountUseCase wires the account activation capabilities.

func (*ActivateDoctorAccountUseCase) Execute ​

go
func (uc *ActivateDoctorAccountUseCase) Execute(ctx context.Context, input domain.DoctorInput) (*domain.Doctor, error)

Execute reactivates the account after checking the administrator permission.

type ActivateOrganizationUseCase ​

ActivateOrganizationUseCase coordinates organization activation.

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

func NewActivateOrganizationUseCase ​

go
func NewActivateOrganizationUseCase(organizations ports.AdminOrganizationService, identity types.IIdentityService, admins ports.AdminRepository, accounts ports.AdminIdentityService) *ActivateOrganizationUseCase

NewActivateOrganizationUseCase wires organization activation and actor resolution.

func (*ActivateOrganizationUseCase) Execute ​

go
func (uc *ActivateOrganizationUseCase) Execute(ctx context.Context, input domain.OrganizationStatusInput) (*types.Organization, error)

Execute authenticates the administrator and activates an organization that is not deleted.

type AdminLoginInput ​

AdminLoginInput contains credentials and session metadata.

go
type AdminLoginInput = domain.AdminLoginInput

type AdminLoginUseCase ​

AdminLoginUseCase authenticates credentials and requires active admin membership.

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

func NewAdminLoginUseCase ​

go
func NewAdminLoginUseCase(authentication identitypublic.AuthenticationService, admins ports.AdminRepository) *AdminLoginUseCase

NewAdminLoginUseCase wires identity authentication and administrator lookup.

func (*AdminLoginUseCase) Execute ​

go
func (uc *AdminLoginUseCase) Execute(ctx context.Context, input domain.AdminLoginInput) (*types.TokenPair, error)

Execute creates a session only for an active identity with active admin membership.

type AdminPrincipal ​

AdminPrincipal identifies an authenticated administrator.

go
type AdminPrincipal = types.AdminPrincipal

type AdminUser ​

AdminUser contains an administrator and their identity details.

go
type AdminUser = types.AdminUser

type AdminUserPage ​

AdminUserPage contains a page of administrator accounts.

go
type AdminUserPage = types.AdminUserPage

type ApproveDoctorVerificationInput ​

ApproveDoctorVerificationInput identifies a verification to approve and its notes.

go
type ApproveDoctorVerificationInput = domain.ApproveDoctorVerificationInput

type ApproveDoctorVerificationParams ​

ApproveDoctorVerificationParams contains verification approval notes.

go
type ApproveDoctorVerificationParams = domain.ApproveDoctorVerificationParams

type ApproveDoctorVerificationUseCase ​

ApproveDoctorVerificationUseCase performs an authenticated professional verification operation.

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

func NewApproveDoctorVerificationUseCase ​

go
func NewApproveDoctorVerificationUseCase(deps DoctorManagementDependencies) *ApproveDoctorVerificationUseCase

NewApproveDoctorVerificationUseCase wires the authoritative review store and admin authorization.

func (*ApproveDoctorVerificationUseCase) Execute ​

go
func (uc *ApproveDoctorVerificationUseCase) Execute(ctx context.Context, input domain.ApproveDoctorVerificationInput) (*types.DoctorVerification, error)

Execute enforces the operation permission before reading or changing review state.

type ApproveVerificationUseCase ​

ApproveVerificationUseCase handles approving a verification.

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

func NewApproveVerificationUseCase ​

go
func NewApproveVerificationUseCase(repo ports.DoctorVerificationRepository) *ApproveVerificationUseCase

NewApproveVerificationUseCase instantiates a new ApproveVerificationUseCase.

func (*ApproveVerificationUseCase) Execute ​

go
func (uc *ApproveVerificationUseCase) Execute(ctx context.Context, verificationID string, adminUserID string, notes string) error

Execute approves a verification.

type ArchiveBillingPlanUseCase ​

ArchiveBillingPlanUseCase orchestrates a platform-admin billing operation.

go
type ArchiveBillingPlanUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewArchiveBillingPlanUseCase ​

go
func NewArchiveBillingPlanUseCase(provider subscriptionpublic.ArchiveBillingPlanCapability, access ...*DoctorManagementAccess) *ArchiveBillingPlanUseCase

NewArchiveBillingPlanUseCase accepts only the capability used by this operation.

func (*ArchiveBillingPlanUseCase) Execute ​

go
func (uc *ArchiveBillingPlanUseCase) Execute(ctx context.Context, input domain.ArchiveBillingPlanInput) (*types.Empty, error)

Execute authenticates and authorizes before calling the Subscription capability.

type AssignDoctorsToOrganizationUseCase ​

AssignDoctorsToOrganizationUseCase validates every profile before an atomic organization-owned write.

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

func NewAssignDoctorsToOrganizationUseCase ​

go
func NewAssignDoctorsToOrganizationUseCase(deps DoctorManagementDependencies) *AssignDoctorsToOrganizationUseCase

NewAssignDoctorsToOrganizationUseCase wires directory validation and organization-owned assignment.

func (*AssignDoctorsToOrganizationUseCase) Execute ​

go
func (uc *AssignDoctorsToOrganizationUseCase) Execute(ctx context.Context, input domain.AssignDoctorsToOrganizationInput) (*domain.DoctorAssignment, error)

Execute validates the entire batch before committing its affiliations.

type ChangeOrganizationDoctorUseCase ​

ChangeOrganizationDoctorUseCase authorizes organization-scoped affiliation changes.

go
type ChangeOrganizationDoctorUseCase struct{ Dependencies OrganizationDoctorManagement }

func (*ChangeOrganizationDoctorUseCase) Execute ​

go
func (uc *ChangeOrganizationDoctorUseCase) Execute(ctx context.Context, in domain.ChangeOrganizationDoctorInput) (*domain.DoctorAffiliation, error)

Execute requires an existing relationship; active accounts are rechecked under Identity row locks by the Organization writer, without gating on verification.

type ClinicalCreateChiefComplaintUseCase ​

ClinicalCreateChiefComplaintUseCase enforces the active Admin session and clinical catalog manage grant.

go
type ClinicalCreateChiefComplaintUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalCreateChiefComplaintUseCase) Execute ​

go
func (uc ClinicalCreateChiefComplaintUseCase) Execute(ctx context.Context, authorization string, input c.CreateChiefComplaintInput) (c.ChiefComplaint, error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalCreateHistorySuggestionUseCase ​

ClinicalCreateHistorySuggestionUseCase enforces the active Admin session and clinical catalog manage grant.

go
type ClinicalCreateHistorySuggestionUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalCreateHistorySuggestionUseCase) Execute ​

go
func (uc ClinicalCreateHistorySuggestionUseCase) Execute(ctx context.Context, authorization string, input c.CreateHistoryInput) (c.HistorySuggestion, error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalDeleteChiefComplaintUseCase ​

ClinicalDeleteChiefComplaintUseCase enforces the active Admin session and clinical catalog manage grant.

go
type ClinicalDeleteChiefComplaintUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalDeleteChiefComplaintUseCase) Execute ​

go
func (uc ClinicalDeleteChiefComplaintUseCase) Execute(ctx context.Context, authorization string, input c.DeleteInput) error

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalDeleteHistorySuggestionUseCase ​

ClinicalDeleteHistorySuggestionUseCase enforces the active Admin session and clinical catalog manage grant.

go
type ClinicalDeleteHistorySuggestionUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalDeleteHistorySuggestionUseCase) Execute ​

go
func (uc ClinicalDeleteHistorySuggestionUseCase) Execute(ctx context.Context, authorization string, input c.DeleteInput) error

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalGetChiefComplaintUseCase ​

ClinicalGetChiefComplaintUseCase enforces the active Admin session and clinical catalog read grant.

go
type ClinicalGetChiefComplaintUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalGetChiefComplaintUseCase) Execute ​

go
func (uc ClinicalGetChiefComplaintUseCase) Execute(ctx context.Context, authorization string, input string) (c.ChiefComplaint, error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalGetHistorySuggestionUseCase ​

ClinicalGetHistorySuggestionUseCase enforces the active Admin session and clinical catalog read grant.

go
type ClinicalGetHistorySuggestionUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalGetHistorySuggestionUseCase) Execute ​

go
func (uc ClinicalGetHistorySuggestionUseCase) Execute(ctx context.Context, authorization string, input string) (c.HistorySuggestion, error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalListChiefComplaintUseCase ​

ClinicalListChiefComplaintUseCase enforces the active Admin session and clinical catalog read grant.

go
type ClinicalListChiefComplaintUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalListChiefComplaintUseCase) Execute ​

go
func (uc ClinicalListChiefComplaintUseCase) Execute(ctx context.Context, authorization string, input c.CatalogQuery) (c.Page[c.ChiefComplaint], error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalListHistorySuggestionUseCase ​

ClinicalListHistorySuggestionUseCase enforces the active Admin session and clinical catalog read grant.

go
type ClinicalListHistorySuggestionUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalListHistorySuggestionUseCase) Execute ​

go
func (uc ClinicalListHistorySuggestionUseCase) Execute(ctx context.Context, authorization string, input c.HistoryCatalogQuery) (c.Page[c.HistorySuggestion], error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalPatchChiefComplaintUseCase ​

ClinicalPatchChiefComplaintUseCase enforces the active Admin session and clinical catalog manage grant.

go
type ClinicalPatchChiefComplaintUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalPatchChiefComplaintUseCase) Execute ​

go
func (uc ClinicalPatchChiefComplaintUseCase) Execute(ctx context.Context, authorization string, input c.PatchChiefComplaintInput) (c.ChiefComplaint, error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type ClinicalPatchHistorySuggestionUseCase ​

ClinicalPatchHistorySuggestionUseCase enforces the active Admin session and clinical catalog manage grant.

go
type ClinicalPatchHistorySuggestionUseCase struct {
    Access  *DoctorManagementAccess
    Service ports.AdminClinicalSuggestionService
}

func (ClinicalPatchHistorySuggestionUseCase) Execute ​

go
func (uc ClinicalPatchHistorySuggestionUseCase) Execute(ctx context.Context, authorization string, input c.PatchHistoryInput) (c.HistorySuggestion, error)

Execute authorizes before delegation; mutation attribution always comes from the verified principal.

type CreateAdminDTO ​

CreateAdminDTO contains parameters to create an admin.

go
type CreateAdminDTO = domain.CreateAdminInput

type CreateAdminUseCase ​

CreateAdminUseCase handles admin creation.

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

func NewCreateAdminUseCase ​

go
func NewCreateAdminUseCase(repo ports.AdminRepository) *CreateAdminUseCase

NewCreateAdminUseCase instantiates a new CreateAdminUseCase.

func (*CreateAdminUseCase) Execute ​

go
func (uc *CreateAdminUseCase) Execute(ctx context.Context, dto domain.CreateAdminInput) (*domain.Admin, error)

Execute creates a new admin.

type CreateAdminUserInput ​

CreateAdminUserInput identifies the identity receiving administrator access.

go
type CreateAdminUserInput = domain.CreateAdminUserInput

type CreateAdminUserUseCase ​

CreateAdminUserUseCase provisions administrator membership for an identity account.

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

func NewCreateAdminUserUseCase ​

go
func NewCreateAdminUserUseCase(admins ports.AdminRepository, accounts ports.AdminIdentityService, bus events.Bus) *CreateAdminUserUseCase

NewCreateAdminUserUseCase wires administrator persistence, identity capabilities, and events.

func (*CreateAdminUserUseCase) Execute ​

go
func (uc *CreateAdminUserUseCase) Execute(ctx context.Context, _ types.AdminPrincipal, input domain.CreateAdminUserInput) (*types.AdminUser, error)

Execute resolves an identity account and creates its administrator membership.

func (*CreateAdminUserUseCase) SetMutationRunner ​

go
func (uc *CreateAdminUserUseCase) SetMutationRunner(work ports.MutationRunner)

SetMutationRunner supplies transactional recording for membership creation.

type CreateBillingInvoiceUseCase ​

CreateBillingInvoiceUseCase orchestrates a platform-admin billing operation.

go
type CreateBillingInvoiceUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewCreateBillingInvoiceUseCase ​

go
func NewCreateBillingInvoiceUseCase(provider subscriptionpublic.CreateBillingInvoiceCapability, access ...*DoctorManagementAccess) *CreateBillingInvoiceUseCase

NewCreateBillingInvoiceUseCase accepts only the capability used by this operation.

func (*CreateBillingInvoiceUseCase) Execute ​

go
func (uc *CreateBillingInvoiceUseCase) Execute(ctx context.Context, input domain.CreateBillingInvoiceInput) (*types.BillingInvoice, error)

Execute authenticates and authorizes before calling the Subscription capability.

type CreateBillingPlanUseCase ​

CreateBillingPlanUseCase orchestrates a platform-admin billing operation.

go
type CreateBillingPlanUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewCreateBillingPlanUseCase ​

go
func NewCreateBillingPlanUseCase(provider subscriptionpublic.CreateBillingPlanCapability, access ...*DoctorManagementAccess) *CreateBillingPlanUseCase

NewCreateBillingPlanUseCase accepts only the capability used by this operation.

func (*CreateBillingPlanUseCase) Execute ​

go
func (uc *CreateBillingPlanUseCase) Execute(ctx context.Context, input domain.CreateBillingPlanInput) (*types.BillingPlan, error)

Execute authenticates and authorizes before calling the Subscription capability.

type CreateBillingSubscriptionUseCase ​

CreateBillingSubscriptionUseCase orchestrates a platform-admin billing operation.

go
type CreateBillingSubscriptionUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewCreateBillingSubscriptionUseCase ​

go
func NewCreateBillingSubscriptionUseCase(provider subscriptionpublic.CreateBillingSubscriptionCapability, access ...*DoctorManagementAccess) *CreateBillingSubscriptionUseCase

NewCreateBillingSubscriptionUseCase accepts only the capability used by this operation.

func (*CreateBillingSubscriptionUseCase) Execute ​

go
func (uc *CreateBillingSubscriptionUseCase) Execute(ctx context.Context, input domain.CreateBillingSubscriptionInput) (*types.BillingSubscription, error)

Execute authenticates and authorizes before calling the Subscription capability.

type CreateBrandUseCase ​

CreateBrandUseCase orchestrates a medicine catalog administration operation.

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

func NewCreateBrandUseCase ​

go
func NewCreateBrandUseCase(provider medicinepublic.CreateBrandCapability) *CreateBrandUseCase

NewCreateBrandUseCase accepts only the operation's required capability.

func (*CreateBrandUseCase) Execute ​

go
func (uc *CreateBrandUseCase) Execute(ctx context.Context, input domain.MedicineCreateBrandInput) (*types.MedicineBrand, error)

Execute delegates to medicine; authentication and audit are not enabled.

type CreateDrugUseCase ​

CreateDrugUseCase orchestrates a medicine catalog administration operation.

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

func NewCreateDrugUseCase ​

go
func NewCreateDrugUseCase(provider medicinepublic.CreateDrugCapability) *CreateDrugUseCase

NewCreateDrugUseCase accepts only the operation's required capability.

func (*CreateDrugUseCase) Execute ​

go
func (uc *CreateDrugUseCase) Execute(ctx context.Context, input domain.MedicineCreateDrugInput) (*types.MedicineDrug, error)

Execute delegates to medicine; authentication and audit are not enabled.

type CreateGenericUseCase ​

CreateGenericUseCase orchestrates a medicine catalog administration operation.

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

func NewCreateGenericUseCase ​

go
func NewCreateGenericUseCase(provider medicinepublic.CreateGenericCapability) *CreateGenericUseCase

NewCreateGenericUseCase accepts only the operation's required capability.

func (*CreateGenericUseCase) Execute ​

go
func (uc *CreateGenericUseCase) Execute(ctx context.Context, input domain.MedicineCreateGenericInput) (*types.MedicineGeneric, error)

Execute delegates to medicine; authentication and audit are not enabled.

type CreateManufacturerUseCase ​

CreateManufacturerUseCase orchestrates a medicine catalog administration operation.

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

func NewCreateManufacturerUseCase ​

go
func NewCreateManufacturerUseCase(provider medicinepublic.CreateManufacturerCapability) *CreateManufacturerUseCase

NewCreateManufacturerUseCase accepts only the operation's required capability.

func (*CreateManufacturerUseCase) Execute ​

go
func (uc *CreateManufacturerUseCase) Execute(ctx context.Context, input domain.MedicineCreateManufacturerInput) (*types.MedicineManufacturer, error)

Execute delegates to medicine; authentication and audit are not enabled.

type CreateOrganizationInput ​

CreateOrganizationInput contains fields for creating an organization.

go
type CreateOrganizationInput = domain.CreateOrganizationInput

type CreateOrganizationMemberInput ​

CreateOrganizationMemberInput contains the identity and role for a new member.

go
type CreateOrganizationMemberInput = domain.CreateOrganizationMemberInput

type CreateOrganizationMemberUseCase ​

CreateOrganizationMemberUseCase provisions organization administrator memberships.

go
type CreateOrganizationMemberUseCase struct {
    Subscription MemberSubscriptionPolicy
    // contains filtered or unexported fields
}

func NewCreateOrganizationMemberUseCase ​

go
func NewCreateOrganizationMemberUseCase(accounts ports.AdminIdentityService, organizations ports.AdminOrganizationService, identity types.IIdentityService, admins ports.AdminRepository, subscription ...MemberSubscriptionPolicy) *CreateOrganizationMemberUseCase

NewCreateOrganizationMemberUseCase wires identity, membership, and actor capabilities.

func (*CreateOrganizationMemberUseCase) Execute ​

go
func (uc *CreateOrganizationMemberUseCase) Execute(ctx context.Context, input domain.CreateOrganizationMemberInput) (*domain.OrganizationMember, error)

Execute authenticates the administrator and adds an admin member to an active organization.

type CreateOrganizationUseCase ​

CreateOrganizationUseCase verifies identity and permission before provisioning.

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

func NewCreateOrganizationUseCase ​

go
func NewCreateOrganizationUseCase(organizations ports.AdminOrganizationService, identity types.IIdentityService, authorization types.IAuthorizationService) *CreateOrganizationUseCase

NewCreateOrganizationUseCase wires the provider and shared security services.

func (*CreateOrganizationUseCase) Execute ​

go
func (uc *CreateOrganizationUseCase) Execute(ctx context.Context, input domain.CreateOrganizationInput) (*types.Organization, error)

Execute verifies the caller's permission and creates an organization with audit context.

type DeleteBillingSubscriptionUseCase ​

DeleteBillingSubscriptionUseCase orchestrates a platform-admin billing operation.

go
type DeleteBillingSubscriptionUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewDeleteBillingSubscriptionUseCase ​

go
func NewDeleteBillingSubscriptionUseCase(provider subscriptionpublic.DeleteBillingSubscriptionCapability, access ...*DoctorManagementAccess) *DeleteBillingSubscriptionUseCase

NewDeleteBillingSubscriptionUseCase accepts only the capability used by this operation.

func (*DeleteBillingSubscriptionUseCase) Execute ​

go
func (uc *DeleteBillingSubscriptionUseCase) Execute(ctx context.Context, input domain.DeleteBillingSubscriptionInput) (*types.Empty, error)

Execute authenticates and authorizes before calling the Subscription capability.

type DeleteBrandUseCase ​

DeleteBrandUseCase orchestrates a medicine catalog administration operation.

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

func NewDeleteBrandUseCase ​

go
func NewDeleteBrandUseCase(provider medicinepublic.DeleteBrandCapability) *DeleteBrandUseCase

NewDeleteBrandUseCase accepts only the operation's required capability.

func (*DeleteBrandUseCase) Execute ​

go
func (uc *DeleteBrandUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.Empty, error)

Execute delegates to medicine; authentication and audit are not enabled.

type DeleteDrugUseCase ​

DeleteDrugUseCase orchestrates a medicine catalog administration operation.

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

func NewDeleteDrugUseCase ​

go
func NewDeleteDrugUseCase(provider medicinepublic.DeleteDrugCapability) *DeleteDrugUseCase

NewDeleteDrugUseCase accepts only the operation's required capability.

func (*DeleteDrugUseCase) Execute ​

go
func (uc *DeleteDrugUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.Empty, error)

Execute delegates to medicine; authentication and audit are not enabled.

type DeleteGenericUseCase ​

DeleteGenericUseCase orchestrates a medicine catalog administration operation.

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

func NewDeleteGenericUseCase ​

go
func NewDeleteGenericUseCase(provider medicinepublic.DeleteGenericCapability) *DeleteGenericUseCase

NewDeleteGenericUseCase accepts only the operation's required capability.

func (*DeleteGenericUseCase) Execute ​

go
func (uc *DeleteGenericUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.Empty, error)

Execute delegates to medicine; authentication and audit are not enabled.

type DeleteManufacturerUseCase ​

DeleteManufacturerUseCase orchestrates a medicine catalog administration operation.

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

func NewDeleteManufacturerUseCase ​

go
func NewDeleteManufacturerUseCase(provider medicinepublic.DeleteManufacturerCapability) *DeleteManufacturerUseCase

NewDeleteManufacturerUseCase accepts only the operation's required capability.

func (*DeleteManufacturerUseCase) Execute ​

go
func (uc *DeleteManufacturerUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.Empty, error)

Execute delegates to medicine; authentication and audit are not enabled.

type DeleteOrganizationUseCase ​

DeleteOrganizationUseCase coordinates organization deletion.

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

func NewDeleteOrganizationUseCase ​

go
func NewDeleteOrganizationUseCase(v ports.AdminOrganizationService, identity types.IIdentityService, admins ports.AdminRepository, accounts ports.AdminIdentityService) *DeleteOrganizationUseCase

NewDeleteOrganizationUseCase wires organization deletion and actor resolution.

func (*DeleteOrganizationUseCase) Execute ​

go
func (uc *DeleteOrganizationUseCase) Execute(ctx context.Context, input domain.OrganizationStatusInput) (*types.Organization, error)

Execute authenticates the administrator and marks an organization as deleted.

type DoctorCatalogs ​

DoctorCatalogs authenticates administrators before exposing Doctor-owned catalogs.

go
type DoctorCatalogs struct {
    Access   *DoctorManagementAccess
    Catalogs doctor.CatalogManager
}

func (*DoctorCatalogs) Create ​

go
func (uc *DoctorCatalogs) Create(ctx context.Context, header string, kind doctor.CatalogKind, values doctor.CatalogValues) (*doctor.CatalogEntry, error)

Create requires the catalog management permission.

func (*DoctorCatalogs) Delete ​

go
func (uc *DoctorCatalogs) Delete(ctx context.Context, header string, kind doctor.CatalogKind, id string) error

Delete requires the catalog management permission.

func (*DoctorCatalogs) Get ​

go
func (uc *DoctorCatalogs) Get(ctx context.Context, header string, kind doctor.CatalogKind, id string) (*doctor.CatalogEntry, error)

Get requires the catalog read permission.

func (*DoctorCatalogs) List ​

go
func (uc *DoctorCatalogs) List(ctx context.Context, header string, kind doctor.CatalogKind, options doctor.CatalogListOptions) ([]doctor.CatalogEntry, error)

List requires the catalog read permission.

func (*DoctorCatalogs) Update ​

go
func (uc *DoctorCatalogs) Update(ctx context.Context, header string, kind doctor.CatalogKind, id string, values doctor.CatalogValues) (*doctor.CatalogEntry, error)

Update requires the catalog management permission.

type DoctorManagementAccess ​

DoctorManagementAccess authenticates active administrators and enforces current grants. Permission wiring is configured once by the composition root before serving requests.

go
type DoctorManagementAccess struct {
    Identity    types.IIdentityService
    Admins      ports.AdminRepository
    Accounts    identity.AccountReader
    Permissions authorization.AdminPermissionChecker
}

func (*DoctorManagementAccess) Check ​

go
func (a *DoctorManagementAccess) Check(ctx context.Context, header, key string) error

Check adapts the shared administrator authorization path for HTTP handlers that only need a permission decision. It reloads active account/membership state and checks the requested grant through authorize; no principal or audit context is returned to the read-only caller.

type DoctorManagementDependencies ​

DoctorManagementDependencies selects provider-owned capabilities without exposing repositories across services.

go
type DoctorManagementDependencies struct {
    Access        *DoctorManagementAccess
    Directory     doctor.Directory
    Accounts      identity.AccountReader
    Statuses      identity.AccountStatusManager
    Organizations organization.AdminOrganizationService
    Affiliations  organization.AdminDoctorAffiliations
    Verifications ports.VerificationStore
}

type EditBillingInvoiceUseCase ​

EditBillingInvoiceUseCase orchestrates a platform-admin billing operation.

go
type EditBillingInvoiceUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewEditBillingInvoiceUseCase ​

go
func NewEditBillingInvoiceUseCase(provider subscriptionpublic.EditBillingInvoiceCapability, access ...*DoctorManagementAccess) *EditBillingInvoiceUseCase

NewEditBillingInvoiceUseCase accepts only the capability used by this operation.

func (*EditBillingInvoiceUseCase) Execute ​

go
func (uc *EditBillingInvoiceUseCase) Execute(ctx context.Context, input domain.EditBillingInvoiceInput) (*types.BillingInvoice, error)

Execute authenticates and authorizes before calling the Subscription capability.

type EditBillingPlanUseCase ​

EditBillingPlanUseCase orchestrates a platform-admin billing operation.

go
type EditBillingPlanUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewEditBillingPlanUseCase ​

go
func NewEditBillingPlanUseCase(provider subscriptionpublic.EditBillingPlanCapability, access ...*DoctorManagementAccess) *EditBillingPlanUseCase

NewEditBillingPlanUseCase accepts only the capability used by this operation.

func (*EditBillingPlanUseCase) Execute ​

go
func (uc *EditBillingPlanUseCase) Execute(ctx context.Context, input domain.EditBillingPlanInput) (*types.BillingPlan, error)

Execute authenticates and authorizes before calling the Subscription capability.

type EditBillingSubscriptionUseCase ​

EditBillingSubscriptionUseCase orchestrates a platform-admin billing operation.

go
type EditBillingSubscriptionUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewEditBillingSubscriptionUseCase ​

go
func NewEditBillingSubscriptionUseCase(provider subscriptionpublic.EditBillingSubscriptionCapability, access ...*DoctorManagementAccess) *EditBillingSubscriptionUseCase

NewEditBillingSubscriptionUseCase accepts only the capability used by this operation.

func (*EditBillingSubscriptionUseCase) Execute ​

go
func (uc *EditBillingSubscriptionUseCase) Execute(ctx context.Context, input domain.EditBillingSubscriptionInput) (*types.BillingSubscription, error)

Execute authenticates and authorizes before calling the Subscription capability.

type ExtendBillingSubscriptionUseCase ​

ExtendBillingSubscriptionUseCase orchestrates a platform-admin billing operation.

go
type ExtendBillingSubscriptionUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewExtendBillingSubscriptionUseCase ​

go
func NewExtendBillingSubscriptionUseCase(provider subscriptionpublic.ExtendBillingSubscriptionCapability, access ...*DoctorManagementAccess) *ExtendBillingSubscriptionUseCase

NewExtendBillingSubscriptionUseCase accepts only the capability used by this operation.

func (*ExtendBillingSubscriptionUseCase) Execute ​

go
func (uc *ExtendBillingSubscriptionUseCase) Execute(ctx context.Context, input domain.ExtendBillingSubscriptionInput) (*types.BillingSubscription, error)

Execute authenticates and authorizes before calling the Subscription capability.

type GetAdminBrandUseCase ​

GetAdminBrandUseCase orchestrates a medicine catalog administration operation.

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

func NewGetAdminBrandUseCase ​

go
func NewGetAdminBrandUseCase(provider medicinepublic.GetAdminBrandCapability) *GetAdminBrandUseCase

NewGetAdminBrandUseCase accepts only the operation's required capability.

func (*GetAdminBrandUseCase) Execute ​

go
func (uc *GetAdminBrandUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineBrand, error)

Execute delegates to medicine; authentication and audit are not enabled.

type GetAdminDrugUseCase ​

GetAdminDrugUseCase orchestrates a medicine catalog administration operation.

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

func NewGetAdminDrugUseCase ​

go
func NewGetAdminDrugUseCase(provider medicinepublic.GetAdminDrugCapability) *GetAdminDrugUseCase

NewGetAdminDrugUseCase accepts only the operation's required capability.

func (*GetAdminDrugUseCase) Execute ​

go
func (uc *GetAdminDrugUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineDrug, error)

Execute delegates to medicine; authentication and audit are not enabled.

type GetAdminGenericUseCase ​

GetAdminGenericUseCase orchestrates a medicine catalog administration operation.

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

func NewGetAdminGenericUseCase ​

go
func NewGetAdminGenericUseCase(provider medicinepublic.GetAdminGenericCapability) *GetAdminGenericUseCase

NewGetAdminGenericUseCase accepts only the operation's required capability.

func (*GetAdminGenericUseCase) Execute ​

go
func (uc *GetAdminGenericUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineGeneric, error)

Execute delegates to medicine; authentication and audit are not enabled.

type GetAdminManufacturerUseCase ​

GetAdminManufacturerUseCase orchestrates a medicine catalog administration operation.

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

func NewGetAdminManufacturerUseCase ​

go
func NewGetAdminManufacturerUseCase(provider medicinepublic.GetAdminManufacturerCapability) *GetAdminManufacturerUseCase

NewGetAdminManufacturerUseCase accepts only the operation's required capability.

func (*GetAdminManufacturerUseCase) Execute ​

go
func (uc *GetAdminManufacturerUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineManufacturer, error)

Execute delegates to medicine; authentication and audit are not enabled.

type GetAdminProfileUseCase ​

GetAdminProfileUseCase retrieves the authenticated administrator's own profile.

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

func NewGetAdminProfileUseCase ​

go
func NewGetAdminProfileUseCase(identity types.IIdentityService, admins ports.AdminRepository, accounts identitypublic.AccountReader, authorization authorizationpublic.MemberAuthorizationReader) *GetAdminProfileUseCase

NewGetAdminProfileUseCase wires the identity, membership and authorization readers.

func (*GetAdminProfileUseCase) Execute ​

go
func (uc *GetAdminProfileUseCase) Execute(ctx context.Context, input domain.AdminAuthenticatedInput) (*domain.AdminProfile, error)

Execute derives every lookup from verified credentials, without requiring management permissions.

func (*GetAdminProfileUseCase) SetAuthorizationReader ​

go
func (uc *GetAdminProfileUseCase) SetAuthorizationReader(reader authorizationpublic.MemberAuthorizationReader)

SetAuthorizationReader supplies scoped authorization before requests are served.

type GetAdminUserUseCase ​

GetAdminUserUseCase retrieves administrator membership and identity details.

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

func NewGetAdminUserUseCase ​

go
func NewGetAdminUserUseCase(admins ports.AdminRepository, accounts ports.AdminIdentityService) *GetAdminUserUseCase

NewGetAdminUserUseCase wires administrator and identity account readers.

func (*GetAdminUserUseCase) Execute ​

go
func (uc *GetAdminUserUseCase) Execute(ctx context.Context, input domain.GetAdminUserInput) (*types.AdminUser, error)

Execute retrieves an administrator by record ID and includes its identity account details.

type GetBillingInvoiceUseCase ​

GetBillingInvoiceUseCase orchestrates a platform-admin billing operation.

go
type GetBillingInvoiceUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewGetBillingInvoiceUseCase ​

go
func NewGetBillingInvoiceUseCase(provider subscriptionpublic.GetBillingInvoiceCapability, access ...*DoctorManagementAccess) *GetBillingInvoiceUseCase

NewGetBillingInvoiceUseCase accepts only the capability used by this operation.

func (*GetBillingInvoiceUseCase) Execute ​

go
func (uc *GetBillingInvoiceUseCase) Execute(ctx context.Context, input domain.GetBillingInvoiceInput) (*types.BillingInvoice, error)

Execute authenticates and authorizes before calling the Subscription capability.

type GetBillingPaymentUseCase ​

GetBillingPaymentUseCase orchestrates a platform-admin billing operation.

go
type GetBillingPaymentUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewGetBillingPaymentUseCase ​

go
func NewGetBillingPaymentUseCase(provider subscriptionpublic.GetBillingPaymentCapability, access ...*DoctorManagementAccess) *GetBillingPaymentUseCase

NewGetBillingPaymentUseCase accepts only the capability used by this operation.

func (*GetBillingPaymentUseCase) Execute ​

go
func (uc *GetBillingPaymentUseCase) Execute(ctx context.Context, input domain.GetBillingPaymentInput) (*types.BillingPayment, error)

Execute authenticates and authorizes before calling the Subscription capability.

type GetBillingPlanUseCase ​

GetBillingPlanUseCase orchestrates a platform-admin billing operation.

go
type GetBillingPlanUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewGetBillingPlanUseCase ​

go
func NewGetBillingPlanUseCase(provider subscriptionpublic.GetBillingPlanCapability, access ...*DoctorManagementAccess) *GetBillingPlanUseCase

NewGetBillingPlanUseCase accepts only the capability used by this operation.

func (*GetBillingPlanUseCase) Execute ​

go
func (uc *GetBillingPlanUseCase) Execute(ctx context.Context, input domain.GetBillingPlanInput) (*types.BillingPlan, error)

Execute authenticates and authorizes before calling the Subscription capability.

type GetBillingSubscriptionUseCase ​

GetBillingSubscriptionUseCase orchestrates a platform-admin billing operation.

go
type GetBillingSubscriptionUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewGetBillingSubscriptionUseCase ​

go
func NewGetBillingSubscriptionUseCase(provider subscriptionpublic.GetBillingSubscriptionCapability, access ...*DoctorManagementAccess) *GetBillingSubscriptionUseCase

NewGetBillingSubscriptionUseCase accepts only the capability used by this operation.

func (*GetBillingSubscriptionUseCase) Execute ​

go
func (uc *GetBillingSubscriptionUseCase) Execute(ctx context.Context, input domain.GetBillingSubscriptionInput) (*types.BillingSubscription, error)

Execute authenticates and authorizes before calling the Subscription capability.

type GetDoctorUseCase ​

GetDoctorUseCase retrieves a professional profile with account, review and organization details.

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

func NewGetDoctorUseCase ​

go
func NewGetDoctorUseCase(deps DoctorManagementDependencies) *GetDoctorUseCase

NewGetDoctorUseCase wires the professional directory and management readers.

func (*GetDoctorUseCase) Execute ​

go
func (uc *GetDoctorUseCase) Execute(ctx context.Context, input domain.DoctorInput) (*domain.Doctor, error)

Execute returns details only after checking the doctor read permission.

type GetDoctorVerificationInput ​

GetDoctorVerificationInput identifies a doctor verification to retrieve.

go
type GetDoctorVerificationInput = domain.GetDoctorVerificationInput

type GetDoctorVerificationUseCase ​

GetDoctorVerificationUseCase performs an authenticated professional verification operation.

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

func NewGetDoctorVerificationUseCase ​

go
func NewGetDoctorVerificationUseCase(deps DoctorManagementDependencies) *GetDoctorVerificationUseCase

NewGetDoctorVerificationUseCase wires the authoritative review store and admin authorization.

func (*GetDoctorVerificationUseCase) Execute ​

go
func (uc *GetDoctorVerificationUseCase) Execute(ctx context.Context, input domain.GetDoctorVerificationInput) (*types.DoctorVerification, error)

Execute enforces the operation permission before reading or changing review state.

type GetIdentityAccountInput ​

GetIdentityAccountInput identifies an identity account to retrieve.

go
type GetIdentityAccountInput = domain.GetIdentityAccountInput

type GetIdentityAccountUseCase ​

GetIdentityAccountUseCase defines the unimplemented get identity account operation.

go
type GetIdentityAccountUseCase struct{}

func NewGetIdentityAccountUseCase ​

go
func NewGetIdentityAccountUseCase() *GetIdentityAccountUseCase

NewGetIdentityAccountUseCase creates the documentation-first operation.

func (*GetIdentityAccountUseCase) Execute ​

go
func (uc *GetIdentityAccountUseCase) Execute(_ context.Context, _ domain.GetIdentityAccountInput) (*types.IdentityAccount, error)

Execute returns a stub error without authentication, persistence or state changes.

type GetOrganizationDoctorUseCase ​

GetOrganizationDoctorUseCase enforces Admin access to one scoped affiliation.

go
type GetOrganizationDoctorUseCase struct{ Dependencies OrganizationDoctorManagement }

func (*GetOrganizationDoctorUseCase) Execute ​

go
func (uc *GetOrganizationDoctorUseCase) Execute(ctx context.Context, in domain.OrganizationDoctorInput) (*domain.OrganizationDoctor, error)

Execute never substitutes a global doctor lookup for a missing scoped affiliation.

type GetOrganizationSummaryUseCase ​

GetOrganizationSummaryUseCase authorizes administrators and composes organization data.

go
type GetOrganizationSummaryUseCase struct {
    Access        *DoctorManagementAccess
    Organizations org.AdminOrganizationService
    Views         *OrganizationViews
}

func (*GetOrganizationSummaryUseCase) Execute ​

go
func (uc *GetOrganizationSummaryUseCase) Execute(ctx context.Context, header, id string) (*domain.OrganizationSummary, error)

Execute requires the current administrator/account and organization-read grant, then loads a real organization before requesting usage or billing. Authorized administrators may inspect inactive organizations; missing records retain the Organization provider's not-found error instead of receiving a fabricated mock.

type GetOrganizationUseCase ​

GetOrganizationUseCase retrieves an organization through its public service contract.

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

func NewGetOrganizationUseCase ​

go
func NewGetOrganizationUseCase(organizations ports.AdminOrganizationService) *GetOrganizationUseCase

NewGetOrganizationUseCase wires the organization reader.

func (*GetOrganizationUseCase) Execute ​

go
func (uc *GetOrganizationUseCase) Execute(ctx context.Context, input domain.GetOrganizationInput) (*types.Organization, error)

Execute retrieves an organization by its ID.

type GetVerificationUseCase ​

GetVerificationUseCase handles retrieving a verification.

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

func NewGetVerificationUseCase ​

go
func NewGetVerificationUseCase(repo ports.DoctorVerificationRepository) *GetVerificationUseCase

NewGetVerificationUseCase instantiates a new GetVerificationUseCase.

func (*GetVerificationUseCase) Execute ​

go
func (uc *GetVerificationUseCase) Execute(ctx context.Context, id string) (*domain.DoctorVerification, error)

Execute retrieves a verification by ID.

type IdentityAccount ​

IdentityAccount contains identity account details.

go
type IdentityAccount = types.IdentityAccount

type IdentitySource ​

IdentitySource selects an existing identity or a new one to create.

go
type IdentitySource = domain.IdentitySource

type IssueBillingInvoiceUseCase ​

IssueBillingInvoiceUseCase orchestrates a platform-admin billing operation.

go
type IssueBillingInvoiceUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewIssueBillingInvoiceUseCase ​

go
func NewIssueBillingInvoiceUseCase(provider subscriptionpublic.IssueBillingInvoiceCapability, access ...*DoctorManagementAccess) *IssueBillingInvoiceUseCase

NewIssueBillingInvoiceUseCase accepts only the capability used by this operation.

func (*IssueBillingInvoiceUseCase) Execute ​

go
func (uc *IssueBillingInvoiceUseCase) Execute(ctx context.Context, input domain.IssueBillingInvoiceInput) (*types.BillingInvoice, error)

Execute authenticates and authorizes before calling the Subscription capability.

type ListAdminBrandsUseCase ​

ListAdminBrandsUseCase orchestrates a medicine catalog administration operation.

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

func NewListAdminBrandsUseCase ​

go
func NewListAdminBrandsUseCase(provider medicinepublic.ListAdminBrandsCapability) *ListAdminBrandsUseCase

NewListAdminBrandsUseCase accepts only the operation's required capability.

func (*ListAdminBrandsUseCase) Execute ​

go
func (uc *ListAdminBrandsUseCase) Execute(ctx context.Context, input domain.MedicineListInput) (*types.MedicinePage[types.MedicineBrand], error)

Execute delegates to medicine; authentication and audit are not enabled.

type ListAdminDrugsUseCase ​

ListAdminDrugsUseCase orchestrates a medicine catalog administration operation.

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

func NewListAdminDrugsUseCase ​

go
func NewListAdminDrugsUseCase(provider medicinepublic.ListAdminDrugsCapability) *ListAdminDrugsUseCase

NewListAdminDrugsUseCase accepts only the operation's required capability.

func (*ListAdminDrugsUseCase) Execute ​

go
func (uc *ListAdminDrugsUseCase) Execute(ctx context.Context, input domain.MedicineListInput) (*types.MedicinePage[types.MedicineDrug], error)

Execute delegates to medicine; authentication and audit are not enabled.

type ListAdminGenericsUseCase ​

ListAdminGenericsUseCase orchestrates a medicine catalog administration operation.

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

func NewListAdminGenericsUseCase ​

go
func NewListAdminGenericsUseCase(provider medicinepublic.ListAdminGenericsCapability) *ListAdminGenericsUseCase

NewListAdminGenericsUseCase accepts only the operation's required capability.

func (*ListAdminGenericsUseCase) Execute ​

go
func (uc *ListAdminGenericsUseCase) Execute(ctx context.Context, input domain.MedicineListInput) (*types.MedicinePage[types.MedicineGeneric], error)

Execute delegates to medicine; authentication and audit are not enabled.

type ListAdminManufacturersUseCase ​

ListAdminManufacturersUseCase orchestrates a medicine catalog administration operation.

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

func NewListAdminManufacturersUseCase ​

go
func NewListAdminManufacturersUseCase(provider medicinepublic.ListAdminManufacturersCapability) *ListAdminManufacturersUseCase

NewListAdminManufacturersUseCase accepts only the operation's required capability.

func (*ListAdminManufacturersUseCase) Execute ​

go
func (uc *ListAdminManufacturersUseCase) Execute(ctx context.Context, input domain.MedicineListInput) (*types.MedicinePage[types.MedicineManufacturer], error)

Execute delegates to medicine; authentication and audit are not enabled.

type ListAdminUsersQuery ​

ListAdminUsersQuery selects administrator filters, ordering, and pagination.

go
type ListAdminUsersQuery = domain.ListAdminUsersQuery

type ListAdminUsersUseCase ​

ListAdminUsersUseCase combines administrator memberships with identity account details.

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

func NewListAdminUsersUseCase ​

go
func NewListAdminUsersUseCase(admins ports.AdminRepository, accounts ports.AdminIdentityService) *ListAdminUsersUseCase

NewListAdminUsersUseCase wires administrator and identity account readers.

func (*ListAdminUsersUseCase) Execute ​

go
func (uc *ListAdminUsersUseCase) Execute(ctx context.Context, query domain.ListAdminUsersQuery) (*types.AdminUserPage, error)

Execute returns a filtered, sorted page of administrators with identity account details.

type ListAdminsUseCase ​

ListAdminsUseCase handles listing all admins.

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

func NewListAdminsUseCase ​

go
func NewListAdminsUseCase(repo ports.AdminRepository) *ListAdminsUseCase

NewListAdminsUseCase instantiates a new ListAdminsUseCase.

func (*ListAdminsUseCase) Execute ​

go
func (uc *ListAdminsUseCase) Execute(ctx context.Context) ([]*domain.Admin, error)

Execute lists all admins.

type ListBillingInvoicesUseCase ​

ListBillingInvoicesUseCase orchestrates a platform-admin billing operation.

go
type ListBillingInvoicesUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewListBillingInvoicesUseCase ​

go
func NewListBillingInvoicesUseCase(provider subscriptionpublic.ListBillingInvoicesCapability, access ...*DoctorManagementAccess) *ListBillingInvoicesUseCase

NewListBillingInvoicesUseCase accepts only the capability used by this operation.

func (*ListBillingInvoicesUseCase) Execute ​

go
func (uc *ListBillingInvoicesUseCase) Execute(ctx context.Context, input domain.ListBillingInvoicesInput) (*types.Page[types.BillingInvoice], error)

Execute authenticates and authorizes before calling the Subscription capability.

type ListBillingPaymentsUseCase ​

ListBillingPaymentsUseCase orchestrates a platform-admin billing operation.

go
type ListBillingPaymentsUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewListBillingPaymentsUseCase ​

go
func NewListBillingPaymentsUseCase(provider subscriptionpublic.ListBillingPaymentsCapability, access ...*DoctorManagementAccess) *ListBillingPaymentsUseCase

NewListBillingPaymentsUseCase accepts only the capability used by this operation.

func (*ListBillingPaymentsUseCase) Execute ​

go
func (uc *ListBillingPaymentsUseCase) Execute(ctx context.Context, input domain.ListBillingPaymentsInput) (*types.Page[types.BillingPayment], error)

Execute authenticates and authorizes before calling the Subscription capability.

type ListBillingPlansUseCase ​

ListBillingPlansUseCase orchestrates a platform-admin billing operation.

go
type ListBillingPlansUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewListBillingPlansUseCase ​

go
func NewListBillingPlansUseCase(provider subscriptionpublic.ListBillingPlansCapability, access ...*DoctorManagementAccess) *ListBillingPlansUseCase

NewListBillingPlansUseCase accepts only the capability used by this operation.

func (*ListBillingPlansUseCase) Execute ​

go
func (uc *ListBillingPlansUseCase) Execute(ctx context.Context, input domain.ListBillingPlansInput) (*types.Page[types.BillingPlan], error)

Execute authenticates and authorizes before calling the Subscription capability.

type ListBillingSubscriptionsUseCase ​

ListBillingSubscriptionsUseCase orchestrates a platform-admin billing operation.

go
type ListBillingSubscriptionsUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewListBillingSubscriptionsUseCase ​

go
func NewListBillingSubscriptionsUseCase(provider subscriptionpublic.ListBillingSubscriptionsCapability, access ...*DoctorManagementAccess) *ListBillingSubscriptionsUseCase

NewListBillingSubscriptionsUseCase accepts only the capability used by this operation.

func (*ListBillingSubscriptionsUseCase) Execute ​

go
func (uc *ListBillingSubscriptionsUseCase) Execute(ctx context.Context, input domain.ListBillingSubscriptionsInput) (*types.Page[types.BillingSubscription], error)

Execute authenticates and authorizes before calling the Subscription capability.

type ListDoctorOrganizationsUseCase ​

ListDoctorOrganizationsUseCase authorizes administrative affiliation reads.

go
type ListDoctorOrganizationsUseCase struct {
    Access    *DoctorManagementAccess
    Directory doctor.Directory
    Insights  org.Insights
    Billing   sub.CurrentSubscriptions
}

func (*ListDoctorOrganizationsUseCase) Execute ​

go
func (uc *ListDoctorOrganizationsUseCase) Execute(ctx context.Context, in domain.DoctorOrganizationsInput) (*domain.DoctorOrganizationsPage, error)

Execute lists a doctor's Organization-owned affiliations after checking both doctor-read and organization-read grants. It distinguishes an unknown doctor from an existing doctor with no affiliations, includes inactive relationships unless filtered, and decorates only the selected page with billing projections.

type ListDoctorsUseCase ​

ListDoctorsUseCase composes provider-owned data and applies directory filters and pagination.

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

func NewListDoctorsUseCase ​

go
func NewListDoctorsUseCase(deps DoctorManagementDependencies) *ListDoctorsUseCase

NewListDoctorsUseCase wires the professional directory and management readers.

func (*ListDoctorsUseCase) Execute ​

go
func (uc *ListDoctorsUseCase) Execute(ctx context.Context, input domain.ListDoctorsInput) (*domain.DoctorPage, error)

Execute returns a filtered cursor page after checking the doctor list permission.

type ListIdentityAccountsInput ​

ListIdentityAccountsInput selects identity account filters and pagination.

go
type ListIdentityAccountsInput = domain.ListIdentityAccountsInput

type ListIdentityAccountsUseCase ​

ListIdentityAccountsUseCase defines the unimplemented list identity accounts operation.

go
type ListIdentityAccountsUseCase struct{}

func NewListIdentityAccountsUseCase ​

go
func NewListIdentityAccountsUseCase() *ListIdentityAccountsUseCase

NewListIdentityAccountsUseCase creates the documentation-first operation.

func (*ListIdentityAccountsUseCase) Execute ​

go
func (uc *ListIdentityAccountsUseCase) Execute(_ context.Context, _ domain.ListIdentityAccountsInput) (*types.Page[types.IdentityAccount], error)

Execute returns a stub error without authentication, persistence or state changes.

type ListInvoicePaymentsUseCase ​

ListInvoicePaymentsUseCase orchestrates a platform-admin billing operation.

go
type ListInvoicePaymentsUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewListInvoicePaymentsUseCase ​

go
func NewListInvoicePaymentsUseCase(provider subscriptionpublic.ListInvoicePaymentsCapability, access ...*DoctorManagementAccess) *ListInvoicePaymentsUseCase

NewListInvoicePaymentsUseCase accepts only the capability used by this operation.

func (*ListInvoicePaymentsUseCase) Execute ​

go
func (uc *ListInvoicePaymentsUseCase) Execute(ctx context.Context, input domain.ListInvoicePaymentsInput) (*types.Page[types.BillingPayment], error)

Execute authenticates and authorizes before calling the Subscription capability.

type ListOrganizationDoctorsUseCase ​

ListOrganizationDoctorsUseCase enforces Admin-only access before reading the roster.

go
type ListOrganizationDoctorsUseCase struct{ Dependencies OrganizationDoctorManagement }

func (*ListOrganizationDoctorsUseCase) Execute ​

go
func (uc *ListOrganizationDoctorsUseCase) Execute(ctx context.Context, in domain.OrganizationDoctorsInput) (*domain.OrganizationDoctorsPage, error)

Execute lists affiliations in any organization lifecycle state after both grants.

type ListOrganizationsUseCase ​

ListOrganizationsUseCase lists organizations through their public service contract.

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

func NewListOrganizationsUseCase ​

go
func NewListOrganizationsUseCase(organizations ports.AdminOrganizationService) *ListOrganizationsUseCase

NewListOrganizationsUseCase wires the organization reader.

func (*ListOrganizationsUseCase) Execute ​

go
func (uc *ListOrganizationsUseCase) Execute(ctx context.Context, query domain.ListOrganizationsQuery) (*types.OrganizationPage, error)

Execute retrieves a page of organizations matching the query.

type ListPendingDoctorVerificationsInput ​

ListPendingDoctorVerificationsInput selects pagination for pending verifications.

go
type ListPendingDoctorVerificationsInput = domain.ListPendingDoctorVerificationsInput

type ListPendingDoctorVerificationsUseCase ​

ListPendingDoctorVerificationsUseCase performs an authenticated professional verification operation.

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

func NewListPendingDoctorVerificationsUseCase ​

go
func NewListPendingDoctorVerificationsUseCase(deps DoctorManagementDependencies) *ListPendingDoctorVerificationsUseCase

NewListPendingDoctorVerificationsUseCase wires the authoritative review store and admin authorization.

func (*ListPendingDoctorVerificationsUseCase) Execute ​

go
func (uc *ListPendingDoctorVerificationsUseCase) Execute(ctx context.Context, input domain.ListPendingDoctorVerificationsInput) (*types.DoctorVerificationPage, error)

Execute enforces the operation permission before reading or changing review state.

type ListPendingVerificationsUseCase ​

ListPendingVerificationsUseCase handles listing pending verifications.

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

func NewListPendingVerificationsUseCase ​

go
func NewListPendingVerificationsUseCase(repo ports.DoctorVerificationRepository) *ListPendingVerificationsUseCase

NewListPendingVerificationsUseCase instantiates a new ListPendingVerificationsUseCase.

func (*ListPendingVerificationsUseCase) Execute ​

go
func (uc *ListPendingVerificationsUseCase) Execute(ctx context.Context) ([]*domain.DoctorVerification, error)

Execute lists pending verifications.

type ListSubscriptionInvoicesUseCase ​

ListSubscriptionInvoicesUseCase orchestrates a platform-admin billing operation.

go
type ListSubscriptionInvoicesUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewListSubscriptionInvoicesUseCase ​

go
func NewListSubscriptionInvoicesUseCase(provider subscriptionpublic.ListSubscriptionInvoicesCapability, access ...*DoctorManagementAccess) *ListSubscriptionInvoicesUseCase

NewListSubscriptionInvoicesUseCase accepts only the capability used by this operation.

func (*ListSubscriptionInvoicesUseCase) Execute ​

go
func (uc *ListSubscriptionInvoicesUseCase) Execute(ctx context.Context, input domain.ListSubscriptionInvoicesInput) (*types.Page[types.BillingInvoice], error)

Execute authenticates and authorizes before calling the Subscription capability.

type ManagementEmpty ​

ManagementEmpty represents an operation without response data.

go
type ManagementEmpty = types.Empty

type ManagementPage ​

ManagementPage contains a page of management results.

go
type ManagementPage[T any] = types.Page[T]

type Member ​

Member contains organization membership details.

go
type Member = types.OrganizationMember

type MemberSubscriptionPolicy ​

MemberSubscriptionPolicy rejects ineligible provisioning before Identity can create an account. Organization repeats the authoritative check under its lock.

go
type MemberSubscriptionPolicy struct {
    Service  sub.SubscriptionService
    Current  sub.CurrentSubscriptions
    Insights org.Insights
    Enforce  bool
}

func (MemberSubscriptionPolicy) Check ​

go
func (p MemberSubscriptionPolicy) Check(ctx context.Context, id string) error

Check evaluates application policy before the protected business mutation.

type NewIdentityInput ​

NewIdentityInput contains fields for creating an identity.

go
type NewIdentityInput = domain.NewIdentityInput

type Organization ​

Organization contains organization details.

go
type Organization = types.Organization

type OrganizationDoctorManagement ​

OrganizationDoctorManagement selects public providers for Admin roster operations.

go
type OrganizationDoctorManagement struct {
    Access        *DoctorManagementAccess
    Organizations org.AdminOrganizationService
    Reader        org.OrganizationDoctorReader
    Writer        org.DoctorAffiliationStatusWriter
    Directory     doctor.Directory
    Insights      org.Insights
}

type OrganizationMember ​

OrganizationMember contains a membership and its associated identity.

go
type OrganizationMember = domain.OrganizationMember

type OrganizationPage ​

OrganizationPage contains a page of organizations.

go
type OrganizationPage = types.OrganizationPage

type OrganizationStatusInput ​

OrganizationStatusInput identifies an organization whose status will change.

go
type OrganizationStatusInput = domain.OrganizationStatusInput

type OrganizationViews ​

OrganizationViews batches real usage and billing projections for existing records.

go
type OrganizationViews struct {
    Insights org.Insights
    Billing  sub.CurrentSubscriptions
}

func (*OrganizationViews) Execute ​

go
func (uc *OrganizationViews) Execute(ctx context.Context, organizations []types.Organization) ([]domain.OrganizationView, error)

Execute enriches existing organization records with batched usage and billing reads while preserving the input order. Callers authenticate and load the records first; this helper performs no access check and never creates organizations.

Missing usage is a provider failure rather than an empty organization. Missing billing is allowed and represents no current subscription; IsMock is preserved so presentation can distinguish sample billing from authoritative usage.

type PatchBrandUseCase ​

PatchBrandUseCase orchestrates a medicine catalog administration operation.

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

func NewPatchBrandUseCase ​

go
func NewPatchBrandUseCase(provider medicinepublic.PatchBrandCapability) *PatchBrandUseCase

NewPatchBrandUseCase accepts only the operation's required capability.

func (*PatchBrandUseCase) Execute ​

go
func (uc *PatchBrandUseCase) Execute(ctx context.Context, input domain.MedicinePatchBrandInput) (*types.MedicineBrand, error)

Execute delegates to medicine; authentication and audit are not enabled.

type PatchDrugUseCase ​

PatchDrugUseCase orchestrates a medicine catalog administration operation.

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

func NewPatchDrugUseCase ​

go
func NewPatchDrugUseCase(provider medicinepublic.PatchDrugCapability) *PatchDrugUseCase

NewPatchDrugUseCase accepts only the operation's required capability.

func (*PatchDrugUseCase) Execute ​

go
func (uc *PatchDrugUseCase) Execute(ctx context.Context, input domain.MedicinePatchDrugInput) (*types.MedicineDrug, error)

Execute delegates to medicine; authentication and audit are not enabled.

type PatchGenericUseCase ​

PatchGenericUseCase orchestrates a medicine catalog administration operation.

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

func NewPatchGenericUseCase ​

go
func NewPatchGenericUseCase(provider medicinepublic.PatchGenericCapability) *PatchGenericUseCase

NewPatchGenericUseCase accepts only the operation's required capability.

func (*PatchGenericUseCase) Execute ​

go
func (uc *PatchGenericUseCase) Execute(ctx context.Context, input domain.MedicinePatchGenericInput) (*types.MedicineGeneric, error)

Execute delegates to medicine; authentication and audit are not enabled.

type PatchIdentityAccountStatusInput ​

PatchIdentityAccountStatusInput identifies an account and its new status.

go
type PatchIdentityAccountStatusInput = domain.PatchIdentityAccountStatusInput

type PatchIdentityAccountStatusParams ​

PatchIdentityAccountStatusParams contains the replacement account status.

go
type PatchIdentityAccountStatusParams = domain.PatchIdentityAccountStatusParams

type PatchIdentityAccountStatusUseCase ​

PatchIdentityAccountStatusUseCase defines the unimplemented update identity account status operation.

go
type PatchIdentityAccountStatusUseCase struct{}

func NewPatchIdentityAccountStatusUseCase ​

go
func NewPatchIdentityAccountStatusUseCase() *PatchIdentityAccountStatusUseCase

NewPatchIdentityAccountStatusUseCase creates the documentation-first operation.

func (*PatchIdentityAccountStatusUseCase) Execute ​

go
func (uc *PatchIdentityAccountStatusUseCase) Execute(_ context.Context, _ domain.PatchIdentityAccountStatusInput) (*types.IdentityAccount, error)

Execute returns a stub error without authentication, persistence or state changes.

type PatchManufacturerUseCase ​

PatchManufacturerUseCase orchestrates a medicine catalog administration operation.

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

func NewPatchManufacturerUseCase ​

go
func NewPatchManufacturerUseCase(provider medicinepublic.PatchManufacturerCapability) *PatchManufacturerUseCase

NewPatchManufacturerUseCase accepts only the operation's required capability.

func (*PatchManufacturerUseCase) Execute ​

go
func (uc *PatchManufacturerUseCase) Execute(ctx context.Context, input domain.MedicinePatchManufacturerInput) (*types.MedicineManufacturer, error)

Execute delegates to medicine; authentication and audit are not enabled.

type ProvisioningError ​

ProvisioningError identifies an account created before a later provisioning step failed.

go
type ProvisioningError struct {
    UserID string
    Err    error
}

func (*ProvisioningError) Error ​

go
func (e *ProvisioningError) Error() string

Error returns the underlying provisioning failure message.

func (*ProvisioningError) Unwrap ​

go
func (e *ProvisioningError) Unwrap() error

Unwrap returns the underlying provisioning failure.

type RecordBillingPaymentUseCase ​

RecordBillingPaymentUseCase orchestrates a platform-admin billing operation.

go
type RecordBillingPaymentUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewRecordBillingPaymentUseCase ​

go
func NewRecordBillingPaymentUseCase(provider subscriptionpublic.RecordBillingPaymentCapability, access ...*DoctorManagementAccess) *RecordBillingPaymentUseCase

NewRecordBillingPaymentUseCase accepts only the capability used by this operation.

func (*RecordBillingPaymentUseCase) Execute ​

go
func (uc *RecordBillingPaymentUseCase) Execute(ctx context.Context, input domain.RecordBillingPaymentInput) (*types.BillingPayment, error)

Execute authenticates and authorizes before calling the Subscription capability.

type RejectDoctorVerificationInput ​

RejectDoctorVerificationInput identifies a verification and its rejection details.

go
type RejectDoctorVerificationInput = domain.RejectDoctorVerificationInput

type RejectDoctorVerificationParams ​

RejectDoctorVerificationParams contains the rejection reason and notes.

go
type RejectDoctorVerificationParams = domain.RejectDoctorVerificationParams

type RejectDoctorVerificationUseCase ​

RejectDoctorVerificationUseCase performs an authenticated professional verification operation.

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

func NewRejectDoctorVerificationUseCase ​

go
func NewRejectDoctorVerificationUseCase(deps DoctorManagementDependencies) *RejectDoctorVerificationUseCase

NewRejectDoctorVerificationUseCase wires the authoritative review store and admin authorization.

func (*RejectDoctorVerificationUseCase) Execute ​

go
func (uc *RejectDoctorVerificationUseCase) Execute(ctx context.Context, input domain.RejectDoctorVerificationInput) (*types.DoctorVerification, error)

Execute enforces the operation permission before reading or changing review state.

type RejectVerificationUseCase ​

RejectVerificationUseCase handles rejecting a verification.

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

func NewRejectVerificationUseCase ​

go
func NewRejectVerificationUseCase(repo ports.DoctorVerificationRepository) *RejectVerificationUseCase

NewRejectVerificationUseCase instantiates a new RejectVerificationUseCase.

func (*RejectVerificationUseCase) Execute ​

go
func (uc *RejectVerificationUseCase) Execute(ctx context.Context, verificationID string, adminUserID string, reason string) error

Execute rejects a verification.

type ResolveAdminPrincipalUseCase ​

ResolveAdminPrincipalUseCase verifies identity and active administrator membership.

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

func NewResolveAdminPrincipalUseCase ​

go
func NewResolveAdminPrincipalUseCase(identity types.IIdentityService, admins ports.AdminRepository) *ResolveAdminPrincipalUseCase

NewResolveAdminPrincipalUseCase wires identity verification and administrator lookup.

func (*ResolveAdminPrincipalUseCase) Execute ​

go
func (uc *ResolveAdminPrincipalUseCase) Execute(ctx context.Context, input domain.AdminAuthenticatedInput) (*types.AdminPrincipal, error)

Execute resolves an authenticated user with active administrator membership.

type RestoreBrandUseCase ​

RestoreBrandUseCase orchestrates a medicine catalog administration operation.

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

func NewRestoreBrandUseCase ​

go
func NewRestoreBrandUseCase(provider medicinepublic.RestoreBrandCapability) *RestoreBrandUseCase

NewRestoreBrandUseCase accepts only the operation's required capability.

func (*RestoreBrandUseCase) Execute ​

go
func (uc *RestoreBrandUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineBrand, error)

Execute delegates to medicine; authentication and audit are not enabled.

type RestoreDrugUseCase ​

RestoreDrugUseCase orchestrates a medicine catalog administration operation.

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

func NewRestoreDrugUseCase ​

go
func NewRestoreDrugUseCase(provider medicinepublic.RestoreDrugCapability) *RestoreDrugUseCase

NewRestoreDrugUseCase accepts only the operation's required capability.

func (*RestoreDrugUseCase) Execute ​

go
func (uc *RestoreDrugUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineDrug, error)

Execute delegates to medicine; authentication and audit are not enabled.

type RestoreGenericUseCase ​

RestoreGenericUseCase orchestrates a medicine catalog administration operation.

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

func NewRestoreGenericUseCase ​

go
func NewRestoreGenericUseCase(provider medicinepublic.RestoreGenericCapability) *RestoreGenericUseCase

NewRestoreGenericUseCase accepts only the operation's required capability.

func (*RestoreGenericUseCase) Execute ​

go
func (uc *RestoreGenericUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineGeneric, error)

Execute delegates to medicine; authentication and audit are not enabled.

type RestoreManufacturerUseCase ​

RestoreManufacturerUseCase orchestrates a medicine catalog administration operation.

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

func NewRestoreManufacturerUseCase ​

go
func NewRestoreManufacturerUseCase(provider medicinepublic.RestoreManufacturerCapability) *RestoreManufacturerUseCase

NewRestoreManufacturerUseCase accepts only the operation's required capability.

func (*RestoreManufacturerUseCase) Execute ​

go
func (uc *RestoreManufacturerUseCase) Execute(ctx context.Context, input domain.MedicineRecordInput) (*types.MedicineManufacturer, error)

Execute delegates to medicine; authentication and audit are not enabled.

type RestoreOrganizationUseCase ​

RestoreOrganizationUseCase coordinates organization restoration.

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

func NewRestoreOrganizationUseCase ​

go
func NewRestoreOrganizationUseCase(organizations ports.AdminOrganizationService, identity types.IIdentityService, admins ports.AdminRepository, accounts ports.AdminIdentityService) *RestoreOrganizationUseCase

NewRestoreOrganizationUseCase wires organization restoration and actor resolution.

func (*RestoreOrganizationUseCase) Execute ​

go
func (uc *RestoreOrganizationUseCase) Execute(ctx context.Context, input domain.OrganizationStatusInput) (*types.Organization, error)

Execute authenticates the administrator and restores an organization that is not suspended.

type RevokeAdminUserInput ​

RevokeAdminUserInput identifies an administrator whose access will be revoked.

go
type RevokeAdminUserInput = domain.RevokeAdminUserInput

type RevokeAdminUserUseCase ​

RevokeAdminUserUseCase defines the unimplemented revoke platform admin access operation.

go
type RevokeAdminUserUseCase struct{}

func NewRevokeAdminUserUseCase ​

go
func NewRevokeAdminUserUseCase() *RevokeAdminUserUseCase

NewRevokeAdminUserUseCase creates the documentation-first operation.

func (*RevokeAdminUserUseCase) Execute ​

go
func (uc *RevokeAdminUserUseCase) Execute(_ context.Context, _ domain.RevokeAdminUserInput) (*types.Empty, error)

Execute returns a stub error without authentication, persistence or state changes.

type SubmitDoctorVerificationInput ​

SubmitDoctorVerificationInput contains evidence for a doctor verification.

go
type SubmitDoctorVerificationInput = domain.SubmitDoctorVerificationInput

type SubmitDoctorVerificationParams ​

SubmitDoctorVerificationParams contains verification documents and notes.

go
type SubmitDoctorVerificationParams = domain.SubmitDoctorVerificationParams

type SubmitDoctorVerificationUseCase ​

SubmitDoctorVerificationUseCase derives professional identity from the authenticated doctor.

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

func NewSubmitDoctorVerificationUseCase ​

go
func NewSubmitDoctorVerificationUseCase(deps DoctorManagementDependencies) *SubmitDoctorVerificationUseCase

NewSubmitDoctorVerificationUseCase wires authentication, professional lookup and submission storage.

func (*SubmitDoctorVerificationUseCase) Execute ​

go
func (uc *SubmitDoctorVerificationUseCase) Execute(ctx context.Context, input domain.SubmitDoctorVerificationInput) (*types.DoctorVerification, error)

Execute submits evidence for the authenticated doctor without accepting a caller-selected profile.

type SubmitVerificationDTO ​

SubmitVerificationDTO contains parameters to submit a verification request.

go
type SubmitVerificationDTO = domain.SubmitVerificationInput

type SubmitVerificationUseCase ​

SubmitVerificationUseCase handles submitting a doctor verification request.

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

func NewSubmitVerificationUseCase ​

go
func NewSubmitVerificationUseCase(repo ports.DoctorVerificationRepository) *SubmitVerificationUseCase

NewSubmitVerificationUseCase instantiates a new SubmitVerificationUseCase.

func (*SubmitVerificationUseCase) Execute ​

go
func (uc *SubmitVerificationUseCase) Execute(ctx context.Context, dto domain.SubmitVerificationInput) (*domain.DoctorVerification, error)

Execute submits a verification request.

type SuspendDoctorAccountUseCase ​

SuspendDoctorAccountUseCase disables the doctor's Identity account and all sessions.

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

func NewSuspendDoctorAccountUseCase ​

go
func NewSuspendDoctorAccountUseCase(deps DoctorManagementDependencies) *SuspendDoctorAccountUseCase

NewSuspendDoctorAccountUseCase wires the account suspension capabilities.

func (*SuspendDoctorAccountUseCase) Execute ​

go
func (uc *SuspendDoctorAccountUseCase) Execute(ctx context.Context, input domain.DoctorInput) (*domain.Doctor, error)

Execute suspends the account after checking the administrator permission.

type SuspendOrganizationUseCase ​

SuspendOrganizationUseCase coordinates organization suspension.

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

func NewSuspendOrganizationUseCase ​

go
func NewSuspendOrganizationUseCase(v ports.AdminOrganizationService, identity types.IIdentityService, admins ports.AdminRepository, accounts ports.AdminIdentityService) *SuspendOrganizationUseCase

NewSuspendOrganizationUseCase wires organization suspension and actor resolution.

func (*SuspendOrganizationUseCase) Execute ​

go
func (uc *SuspendOrganizationUseCase) Execute(ctx context.Context, input domain.OrganizationStatusInput) (*types.Organization, error)

Execute authenticates the administrator and suspends an organization.

type UpdateOrganizationInput ​

UpdateOrganizationInput contains replacement organization details.

go
type UpdateOrganizationInput = domain.UpdateOrganizationInput

type UpdateOrganizationUseCase ​

UpdateOrganizationUseCase coordinates updates to organization details.

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

func NewUpdateOrganizationUseCase ​

go
func NewUpdateOrganizationUseCase(organizations ports.AdminOrganizationService, identity types.IIdentityService, admins ports.AdminRepository, accounts ports.AdminIdentityService) *UpdateOrganizationUseCase

NewUpdateOrganizationUseCase wires organization editing and actor resolution.

func (*UpdateOrganizationUseCase) Execute ​

go
func (uc *UpdateOrganizationUseCase) Execute(ctx context.Context, input domain.UpdateOrganizationInput) (*types.Organization, error)

Execute authenticates the administrator and updates organization details with audit context.

type VoidBillingInvoiceUseCase ​

VoidBillingInvoiceUseCase orchestrates a platform-admin billing operation.

go
type VoidBillingInvoiceUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewVoidBillingInvoiceUseCase ​

go
func NewVoidBillingInvoiceUseCase(provider subscriptionpublic.VoidBillingInvoiceCapability, access ...*DoctorManagementAccess) *VoidBillingInvoiceUseCase

NewVoidBillingInvoiceUseCase accepts only the capability used by this operation.

func (*VoidBillingInvoiceUseCase) Execute ​

go
func (uc *VoidBillingInvoiceUseCase) Execute(ctx context.Context, input domain.VoidBillingInvoiceInput) (*types.BillingInvoice, error)

Execute authenticates and authorizes before calling the Subscription capability.

type VoidBillingPaymentUseCase ​

VoidBillingPaymentUseCase orchestrates a platform-admin billing operation.

go
type VoidBillingPaymentUseCase struct {
    Access *DoctorManagementAccess
    // contains filtered or unexported fields
}

func NewVoidBillingPaymentUseCase ​

go
func NewVoidBillingPaymentUseCase(provider subscriptionpublic.VoidBillingPaymentCapability, access ...*DoctorManagementAccess) *VoidBillingPaymentUseCase

NewVoidBillingPaymentUseCase accepts only the capability used by this operation.

func (*VoidBillingPaymentUseCase) Execute ​

go
func (uc *VoidBillingPaymentUseCase) Execute(ctx context.Context, input domain.VoidBillingPaymentInput) (*types.BillingPayment, error)

Execute authenticates and authorizes before calling the Subscription capability.

Generated by gomarkdoc

Documentation follows the source. Planned contracts are marked explicitly.