Skip to content

module ​

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

Package module wires the admin application to public service contracts.

Index ​

type AuthorizationDependencies ​

AuthorizationDependencies selects the capabilities consumed by authorization HTTP endpoints.

go
type AuthorizationDependencies struct {
    IdentityService        types.IIdentityService
    AccountReader          identitypublic.AccountReader
    PermissionChecker      p.AdminPermissionChecker
    ListPermissions        p.PermissionLister
    ListRoles              p.RoleLister
    GetRole                p.RoleReader
    CreateRole             p.RoleCreator
    UpdateRole             p.RoleEditor
    DeleteRole             p.RoleDeleter
    SetRolePermissions     p.RolePermissionSetter
    GetMemberAuthorization p.MemberAuthorizationReader
    AssignRole             p.RoleAssigner
    RevokeRole             p.RoleRevoker
    SetMemberPermission    p.MemberPermissionSetter
    RemoveMemberPermission p.MemberPermissionRemover
}

type BillingDependencies ​

BillingDependencies contains only independently selected provider capabilities.

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

type Dependencies ​

Dependencies supplies the public service capabilities used by the admin module.

go
type Dependencies struct {
    SubscriptionService       subscriptionpublic.SubscriptionService
    EnforceSubscriptions      bool
    OrganizationDoctorReader  organizationpublic.OrganizationDoctorReader
    DoctorAffiliationStatuses organizationpublic.DoctorAffiliationStatusWriter
    OrganizationInsights      organizationpublic.Insights
    CurrentSubscriptions      subscriptionpublic.CurrentSubscriptions
    DoctorDirectory           doctorpublic.Directory
    DoctorCatalogs            doctorpublic.CatalogManager
    DoctorAffiliations        organizationpublic.AdminDoctorAffiliations
    AccountStatuses           identitypublic.AccountStatusManager
    Medicine                  MedicineDependencies
    Billing                   BillingDependencies
    IdentityService           types.IIdentityService
    AuthenticationService     identitypublic.AuthenticationService
    AuthorizationService      types.IAuthorizationService
    AdminIdentityService      identitypublic.AdminIdentityService
    AdminOrganizationService  organizationpublic.AdminOrganizationService
}

type MedicineDependencies ​

MedicineDependencies contains individually selected catalog capabilities.

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

type Module ​

Module wires admin use cases, persistence, and HTTP route registration.

go
type Module struct {
    basemodule.Module
    // contains filtered or unexported fields
}

func NewModule ​

go
func NewModule(bus events.Bus, db *pgxpool.Pool, supplied ...Dependencies) *Module

NewModule wires admin to explicitly supplied capabilities. The variadic form keeps documentation-only construction possible without inventing fake service modules; protected requests fail closed when capabilities are absent.

func (*Module) AuthorizationMemberships ​

go
func (m *Module) AuthorizationMemberships() p.AuthorizationMembershipReader

AuthorizationMemberships exposes the owning service's current membership reader.

func (*Module) ConfigureAuditReads ​

go
func (m *Module) ConfigureAuditReads(identity types.IIdentityService, lister audit.EventLister, reader audit.EventReader)

ConfigureAuditReads wires the history endpoints before the service registers HTTP routes.

func (*Module) ConfigureAuditWrites ​

go
func (m *Module) ConfigureAuditWrites(db *pgxpool.Pool, writer audit.TransactionalRecorderFactory)

ConfigureAuditWrites enables mandatory recording for persistent admin mutations.

func (*Module) ConfigureAuthorization ​

go
func (m *Module) ConfigureAuthorization(deps AuthorizationDependencies)

ConfigureAuthorization is called once by the composition root before serving.

func (*Module) ConfigureClinicalCatalogs ​

go
func (m *Module) ConfigureClinicalCatalogs(service ports.AdminClinicalSuggestionService)

ConfigureClinicalCatalogs supplies the shared Admin service for both catalogs.

func (*Module) RegisterHuma ​

go
func (m *Module) RegisterHuma(api huma.API)

RegisterHuma registers admin routes and OpenAPI contracts on the shared API.

func (*Module) VerificationStatuses ​

go
func (m *Module) VerificationStatuses() p.VerificationStatuses

VerificationStatuses exposes a read-only batch capability backed by Admin's authoritative review store. Organization workflows receive display states only, without importing Admin internals or obtaining credential-review evidence.

Generated by gomarkdoc

Documentation follows the source. Planned contracts are marked explicitly.