module
import "github.com/prescriptoo/prescriptoo-api/services/admin/module"Package module wires the admin application to public service contracts.
Index
- type AuthorizationDependencies
- type BillingDependencies
- type Dependencies
- type MedicineDependencies
- type Module
- func NewModule(bus events.Bus, db *pgxpool.Pool, supplied ...Dependencies) *Module
- func (m *Module) AuthorizationMemberships() p.AuthorizationMembershipReader
- func (m *Module) ConfigureAuditReads(identity types.IIdentityService, lister audit.EventLister, reader audit.EventReader)
- func (m *Module) ConfigureAuditWrites(db *pgxpool.Pool, writer audit.TransactionalRecorderFactory)
- func (m *Module) ConfigureAuthorization(deps AuthorizationDependencies)
- func (m *Module) ConfigureClinicalCatalogs(service ports.AdminClinicalSuggestionService)
- func (m *Module) RegisterHuma(api huma.API)
- func (m *Module) VerificationStatuses() p.VerificationStatuses
type AuthorizationDependencies
AuthorizationDependencies selects the capabilities consumed by authorization HTTP endpoints.
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.
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.
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.
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.
type Module struct {
basemodule.Module
// contains filtered or unexported fields
}func NewModule
func NewModule(bus events.Bus, db *pgxpool.Pool, supplied ...Dependencies) *ModuleNewModule 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
func (m *Module) AuthorizationMemberships() p.AuthorizationMembershipReaderAuthorizationMemberships exposes the owning service's current membership reader.
func (*Module) ConfigureAuditReads
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
func (m *Module) ConfigureAuditWrites(db *pgxpool.Pool, writer audit.TransactionalRecorderFactory)ConfigureAuditWrites enables mandatory recording for persistent admin mutations.
func (*Module) ConfigureAuthorization
func (m *Module) ConfigureAuthorization(deps AuthorizationDependencies)ConfigureAuthorization is called once by the composition root before serving.
func (*Module) ConfigureClinicalCatalogs
func (m *Module) ConfigureClinicalCatalogs(service ports.AdminClinicalSuggestionService)ConfigureClinicalCatalogs supplies the shared Admin service for both catalogs.
func (*Module) RegisterHuma
func (m *Module) RegisterHuma(api huma.API)RegisterHuma registers admin routes and OpenAPI contracts on the shared API.
func (*Module) VerificationStatuses
func (m *Module) VerificationStatuses() p.VerificationStatusesVerificationStatuses 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