usecase
import "github.com/prescriptoo/prescriptoo-api/services/doctor/internal/usecase"Package usecase defines documentation-first doctor workflows and their future contracts.
Index
- Variables
- func LetterheadPolicy() *bluemonday.Policy
- func ValidateProfessionalIDs(specialityID string, lists ...[]string) error
- type CancelDoctorJoinRequestInput
- type CancelDoctorJoinRequestUseCase
- type ClinicalListChiefComplaintUseCase
- type ClinicalListHistorySuggestionUseCase
- type ClinicalPageInput
- type CreateDoctorJoinRequestInput
- type CreateDoctorJoinRequestUseCase
- type CreateJoinRequestParams
- type CreatePatientInput
- type CreatePatientUseCase
- type DiscoverOrganizationsInput
- type DiscoverOrganizationsUseCase
- type DoctorOrganization
- type FinalPrescriptionUseCases
- func (uc FinalPrescriptionUseCases) Get(ctx context.Context, authorization string, in c.FinalPrescriptionReadInput) (*c.FinalPrescriptionRecord, error)
- func (uc FinalPrescriptionUseCases) List(ctx context.Context, authorization string, in c.FinalPrescriptionListInput) (*c.FinalPrescriptionPage, error)
- func (uc FinalPrescriptionUseCases) Save(ctx context.Context, authorization string, in c.SaveFinalPrescriptionInput) (*c.FinalPrescriptionMetadata, error)
- type GetPadSettingsInput
- type GetPadSettingsUseCase
- type GetPatientInput
- type GetPatientUseCase
- type ListAssignedOrganizationsInput
- type ListAssignedOrganizationsUseCase
- type ListMyDoctorJoinRequestsInput
- type ListMyDoctorJoinRequestsUseCase
- type ListMyDoctorOrganizationsInput
- type ListMyDoctorOrganizationsUseCase
- type ListMyVerificationsInput
- type ListMyVerificationsUseCase
- type ListPatientsInput
- type ListPatientsUseCase
- type LoginInput
- type LoginUseCase
- type PadSettingsFieldError
- type PadSettingsStore
- type Page
- type PatchMyDoctorProfileInput
- type PatchMyDoctorProfileParams
- type PatchMyDoctorProfileUseCase
- type PatchPatientInput
- type PatchPatientUseCase
- type PreviewDoctorInvitationInput
- type PreviewDoctorInvitationUseCase
- type ProfessionalSelectionWriter
- type ProfessionalSelections
- type ProfilePatchWriter
- type RegisterDoctorInput
- type RegisterDoctorUseCase
- type RegistrationParams
- type RegistrationResult
- type RegistrationWriter
- type SavePadSettingsInput
- type SavePadSettingsUseCase
- type SelectProfessionalDetails
- type VerifiedDoctor
- type VerifyAuthInput
- type VerifyAuthUseCase
- type ViewDiscoverableOrganizationInput
- type ViewDiscoverableOrganizationUseCase
Variables
var (
// ErrInvalidProfilePatch indicates an empty or invalid professional update.
ErrInvalidProfilePatch = errors.New("invalid doctor profile update")
// ErrProfileConflict indicates a duplicate license or conflicting profile update.
ErrProfileConflict = errors.New("doctor profile update conflict")
)var (
// ErrInvalidRegistration indicates invalid identity or professional details.
ErrInvalidRegistration = errors.New("invalid doctor registration details")
// ErrRegistrationConflict indicates a duplicate doctor profile or license.
ErrRegistrationConflict = errors.New("doctor profile already exists")
)ErrNotImplemented marks an operation whose business behavior has not been implemented.
var ErrNotImplemented = errors.New("doctor operation is not implemented")func LetterheadPolicy
func LetterheadPolicy() *bluemonday.PolicyLetterheadPolicy is the reviewed allowlist shared by saved prescriptions and pad settings. It permits no attributes, links, images or styles, so nothing external can load.
func ValidateProfessionalIDs
func ValidateProfessionalIDs(specialityID string, lists ...[]string) errorValidateProfessionalIDs checks canonical identifiers, cardinality and duplicates.
type CancelDoctorJoinRequestInput
CancelDoctorJoinRequestInput contains the cancel doctor join request request parameters.
type CancelDoctorJoinRequestInput struct {
Authorization string
RequestID string
}type CancelDoctorJoinRequestUseCase
CancelDoctorJoinRequestUseCase defines the unimplemented cancel doctor join request operation.
type CancelDoctorJoinRequestUseCase struct{}func NewCancelDoctorJoinRequestUseCase
func NewCancelDoctorJoinRequestUseCase() *CancelDoctorJoinRequestUseCaseNewCancelDoctorJoinRequestUseCase creates the documentation-first cancel doctor join request use case.
func (*CancelDoctorJoinRequestUseCase) Execute
func (uc *CancelDoctorJoinRequestUseCase) Execute(_ context.Context, _ CancelDoctorJoinRequestInput) (*organizationpublic.DoctorJoinRequest, error)Execute returns ErrNotImplemented until the operation is implemented.
type ClinicalListChiefComplaintUseCase
ClinicalListChiefComplaintUseCase requires an active doctor before reading global choices.
type ClinicalListChiefComplaintUseCase struct {
Verify *VerifyAuthUseCase
Service ports.DoctorClinicalService
}func (ClinicalListChiefComplaintUseCase) Execute
func (uc ClinicalListChiefComplaintUseCase) Execute(ctx context.Context, authorization string, input c.SuggestionQuery) ([]c.ChiefComplaint, error)Execute authenticates the current persistent doctor session and delegates the query.
func (ClinicalListChiefComplaintUseCase) Page
func (uc ClinicalListChiefComplaintUseCase) Page(ctx context.Context, in ClinicalPageInput) (c.Page[c.ChiefComplaint], error)Page authenticates the Doctor before querying real, active catalogue rows.
type ClinicalListHistorySuggestionUseCase
ClinicalListHistorySuggestionUseCase requires an active doctor before reading global choices.
type ClinicalListHistorySuggestionUseCase struct {
Verify *VerifyAuthUseCase
Service ports.DoctorClinicalService
}func (ClinicalListHistorySuggestionUseCase) Execute
func (uc ClinicalListHistorySuggestionUseCase) Execute(ctx context.Context, authorization string, input c.HistorySuggestionQuery) ([]c.HistorySuggestion, error)Execute authenticates the current persistent doctor session and delegates the query.
func (ClinicalListHistorySuggestionUseCase) Page
func (uc ClinicalListHistorySuggestionUseCase) Page(ctx context.Context, in ClinicalPageInput) (c.Page[c.HistorySuggestion], error)Page authenticates the Doctor before querying real, active catalogue rows.
type ClinicalPageInput
ClinicalPageInput contains credentials and catalogue filters; no organization scope is needed.
type ClinicalPageInput struct {
Authorization string
Query c.ScopedSuggestionQuery
}type CreateDoctorJoinRequestInput
CreateDoctorJoinRequestInput contains the create doctor join request request parameters.
type CreateDoctorJoinRequestInput struct {
Authorization string
Params CreateJoinRequestParams
}type CreateDoctorJoinRequestUseCase
CreateDoctorJoinRequestUseCase defines the unimplemented create doctor join request operation.
type CreateDoctorJoinRequestUseCase struct{}func NewCreateDoctorJoinRequestUseCase
func NewCreateDoctorJoinRequestUseCase() *CreateDoctorJoinRequestUseCaseNewCreateDoctorJoinRequestUseCase creates the documentation-first create doctor join request use case.
func (*CreateDoctorJoinRequestUseCase) Execute
func (uc *CreateDoctorJoinRequestUseCase) Execute(_ context.Context, _ CreateDoctorJoinRequestInput) (*organizationpublic.DoctorJoinRequest, error)Execute returns ErrNotImplemented until the operation is implemented.
type CreateJoinRequestParams
CreateJoinRequestParams identifies the organization the authenticated doctor wants to join.
type CreateJoinRequestParams struct {
OrganizationID string `json:"organization_id" minLength:"1"`
}type CreatePatientInput
CreatePatientInput keeps HTTP credentials separate from verified service inputs.
type CreatePatientInput struct {
Authorization, IdempotencyKey string
Params types.CreatePatientParams
}type CreatePatientUseCase
CreatePatientUseCase authenticates the acting user before invoking the patient service.
type CreatePatientUseCase struct {
Identity types.IIdentityService
Patients ports.PatientService
}func (*CreatePatientUseCase) Execute
func (uc *CreatePatientUseCase) Execute(ctx context.Context, in CreatePatientInput) (*types.Patient, error)Execute authenticates and executes the doctor patient operation.
type DiscoverOrganizationsInput
DiscoverOrganizationsInput contains the discover organizations request parameters.
type DiscoverOrganizationsInput struct {
Authorization string
Limit int
Cursor string
}type DiscoverOrganizationsUseCase
DiscoverOrganizationsUseCase authenticates doctors before reading organization summaries.
type DiscoverOrganizationsUseCase struct {
// contains filtered or unexported fields
}func NewDiscoverOrganizationsUseCase
func NewDiscoverOrganizationsUseCase(verify *VerifyAuthUseCase, organizations ports.DoctorOrganizationService) *DiscoverOrganizationsUseCaseNewDiscoverOrganizationsUseCase wires authentication and organization-owned discovery.
func (*DiscoverOrganizationsUseCase) Execute
func (uc *DiscoverOrganizationsUseCase) Execute(ctx context.Context, input DiscoverOrganizationsInput) (*types.DoctorOrganizationPage, error)Execute lists active organizations without requiring an existing affiliation.
type DoctorOrganization
DoctorOrganization combines a doctor affiliation with its organization discovery summary.
type DoctorOrganization struct {
Organization organizationpublic.OrganizationSummary `json:"organization"`
Affiliation organizationpublic.DoctorAffiliation `json:"affiliation"`
}type FinalPrescriptionUseCases
FinalPrescriptionUseCases verify the Doctor session before invoking real immutable-document capabilities.
type FinalPrescriptionUseCases struct {
Verify *VerifyAuthUseCase
Service ports.FinalPrescriptionService
}func (FinalPrescriptionUseCases) Get
func (uc FinalPrescriptionUseCases) Get(ctx context.Context, authorization string, in c.FinalPrescriptionReadInput) (*c.FinalPrescriptionRecord, error)Get authenticates before a scoped archived-document read.
func (FinalPrescriptionUseCases) List
func (uc FinalPrescriptionUseCases) List(ctx context.Context, authorization string, in c.FinalPrescriptionListInput) (*c.FinalPrescriptionPage, error)List authenticates before scoped summary browsing.
func (FinalPrescriptionUseCases) Save
func (uc FinalPrescriptionUseCases) Save(ctx context.Context, authorization string, in c.SaveFinalPrescriptionInput) (*c.FinalPrescriptionMetadata, error)Save authenticates before attributing a final save to the verified author.
type GetPadSettingsInput
GetPadSettingsInput carries credentials only; ownership comes from the verified session.
type GetPadSettingsInput struct{ Authorization string }type GetPadSettingsUseCase
GetPadSettingsUseCase reads the authenticated Doctor's saved pad design.
type GetPadSettingsUseCase struct {
Verify *VerifyAuthUseCase
Store PadSettingsStore
}func (GetPadSettingsUseCase) Execute
func (uc GetPadSettingsUseCase) Execute(ctx context.Context, in GetPadSettingsInput) (*domain.PadSettings, error)Execute returns nil without an error when no design has been saved.
type GetPatientInput
GetPatientInput keeps HTTP credentials separate from verified service inputs.
type GetPatientInput struct{ Authorization, PatientID string }type GetPatientUseCase
GetPatientUseCase authenticates the acting user before invoking the patient service.
type GetPatientUseCase struct {
Identity types.IIdentityService
Patients ports.PatientService
}func (*GetPatientUseCase) Execute
func (uc *GetPatientUseCase) Execute(ctx context.Context, in GetPatientInput) (*types.Patient, error)Execute authenticates and executes the doctor patient operation.
type ListAssignedOrganizationsInput
ListAssignedOrganizationsInput carries credentials, never a client-selected doctor ID.
type ListAssignedOrganizationsInput struct{ Authorization string }type ListAssignedOrganizationsUseCase
ListAssignedOrganizationsUseCase authenticates the doctor before loading actual assignments.
type ListAssignedOrganizationsUseCase struct {
Verify *VerifyAuthUseCase
Organizations ports.DoctorOrganizationService
}func (ListAssignedOrganizationsUseCase) Execute
func (uc ListAssignedOrganizationsUseCase) Execute(ctx context.Context, in ListAssignedOrganizationsInput) ([]types.DoctorOrganizationAssignment, error)Execute returns all active affiliations to active organizations for the verified profile.
type ListMyDoctorJoinRequestsInput
ListMyDoctorJoinRequestsInput contains the list my doctor join requests request parameters.
type ListMyDoctorJoinRequestsInput struct {
Authorization string
Limit int
Cursor string
}type ListMyDoctorJoinRequestsUseCase
ListMyDoctorJoinRequestsUseCase defines the unimplemented list my doctor join requests operation.
type ListMyDoctorJoinRequestsUseCase struct{}func NewListMyDoctorJoinRequestsUseCase
func NewListMyDoctorJoinRequestsUseCase() *ListMyDoctorJoinRequestsUseCaseNewListMyDoctorJoinRequestsUseCase creates the documentation-first list my doctor join requests use case.
func (*ListMyDoctorJoinRequestsUseCase) Execute
func (uc *ListMyDoctorJoinRequestsUseCase) Execute(_ context.Context, _ ListMyDoctorJoinRequestsInput) (*Page[organizationpublic.DoctorJoinRequest], error)Execute returns ErrNotImplemented until the operation is implemented.
type ListMyDoctorOrganizationsInput
ListMyDoctorOrganizationsInput contains the list my doctor organizations request parameters.
type ListMyDoctorOrganizationsInput struct {
Authorization string
Limit int
Cursor string
}type ListMyDoctorOrganizationsUseCase
ListMyDoctorOrganizationsUseCase defines the unimplemented list my doctor organizations operation.
type ListMyDoctorOrganizationsUseCase struct{}func NewListMyDoctorOrganizationsUseCase
func NewListMyDoctorOrganizationsUseCase() *ListMyDoctorOrganizationsUseCaseNewListMyDoctorOrganizationsUseCase creates the documentation-first list my doctor organizations use case.
func (*ListMyDoctorOrganizationsUseCase) Execute
func (uc *ListMyDoctorOrganizationsUseCase) Execute(_ context.Context, _ ListMyDoctorOrganizationsInput) (*Page[DoctorOrganization], error)Execute returns ErrNotImplemented until the operation is implemented.
type ListMyVerificationsInput
ListMyVerificationsInput contains the documentation-first request parameters.
type ListMyVerificationsInput struct {
Authorization string
Limit int
Cursor string
Status string
}type ListMyVerificationsUseCase
ListMyVerificationsUseCase defines the unimplemented list my doctor verifications operation.
type ListMyVerificationsUseCase struct{}func NewListMyVerificationsUseCase
func NewListMyVerificationsUseCase() *ListMyVerificationsUseCaseNewListMyVerificationsUseCase creates the documentation-first operation.
func (*ListMyVerificationsUseCase) Execute
func (uc *ListMyVerificationsUseCase) Execute(_ context.Context, _ ListMyVerificationsInput) (*adminpublic.VerificationPage, error)Execute returns a stub error without authentication, persistence or state changes.
type ListPatientsInput
ListPatientsInput keeps HTTP credentials separate from verified service inputs.
type ListPatientsInput struct {
Authorization, OrganizationID, Query, Cursor string
Limit int
}type ListPatientsUseCase
ListPatientsUseCase authenticates the acting user before invoking the patient service.
type ListPatientsUseCase struct {
Identity types.IIdentityService
Patients ports.PatientService
}func (*ListPatientsUseCase) Execute
func (uc *ListPatientsUseCase) Execute(ctx context.Context, in ListPatientsInput) (*types.PatientPage, error)Execute authenticates and executes the doctor patient operation.
type LoginInput
LoginInput carries credentials and trusted session metadata.
type LoginInput struct{ Email, Password, IPAddress, UserAgent string }type LoginUseCase
LoginUseCase authenticates an active identity with a doctor profile.
type LoginUseCase struct {
// contains filtered or unexported fields
}func NewLoginUseCase
func NewLoginUseCase(authentication identitypublic.AuthenticationService, profiles ports.ProfileRepository) *LoginUseCaseNewLoginUseCase wires Identity authentication and doctor profile lookup.
func (*LoginUseCase) Execute
func (uc *LoginUseCase) Execute(ctx context.Context, input LoginInput) (*identitypublic.TokenPair, error)Execute checks doctor eligibility before Identity creates credentials or a session.
type PadSettingsFieldError
PadSettingsFieldError identifies the first invalid field of a settings resource.
type PadSettingsFieldError struct{ Field, Message string }func (*PadSettingsFieldError) Error
func (e *PadSettingsFieldError) Error() stringtype PadSettingsStore
PadSettingsStore persists the account-scoped pad design. Get returns nil without an error when absent. Save is atomic: a nil expected revision creates only when absent, otherwise it updates only the stored revision. Both mismatches return domain.ErrPadSettingsConflict.
type PadSettingsStore interface {
Get(ctx context.Context, userID string) (*domain.PadSettings, error)
Save(ctx context.Context, doctorID, userID string, expectedRevision *int64, resourceVersion int, value domain.PadSettingsValue) (*domain.PadSettings, error)
}type Page
Page is a cursor-paginated doctor API result.
type Page[T any] struct {
Items []T `json:"items"`
NextCursor string `json:"next_cursor,omitempty"`
}type PatchMyDoctorProfileInput
PatchMyDoctorProfileInput edits the authenticated doctor's professional details.
type PatchMyDoctorProfileInput struct {
Authorization string
Params PatchMyDoctorProfileParams
}type PatchMyDoctorProfileParams
PatchMyDoctorProfileParams preserves omitted fields and replaces supplied selections.
type PatchMyDoctorProfileParams struct {
LicenseNumber *string `json:"license_number,omitempty" nullable:"false" minLength:"1" maxLength:"255" pattern:"\\S"`
SpecialityID *string `json:"speciality_id,omitempty" nullable:"false" format:"uuid"`
SpecializationIDs *[]string `json:"specialization_ids,omitempty" nullable:"false" maxItems:"30" uniqueItems:"true"`
}type PatchMyDoctorProfileUseCase
PatchMyDoctorProfileUseCase authorizes and persists self-service profile edits.
type PatchMyDoctorProfileUseCase struct {
Verify *VerifyAuthUseCase
Writer ProfilePatchWriter
}func NewPatchMyDoctorProfileUseCase
func NewPatchMyDoctorProfileUseCase() *PatchMyDoctorProfileUseCaseNewPatchMyDoctorProfileUseCase creates a fail-closed operation awaiting providers.
func (*PatchMyDoctorProfileUseCase) Execute
func (uc *PatchMyDoctorProfileUseCase) Execute(ctx context.Context, input PatchMyDoctorProfileInput) (*doctorpublic.Profile, error)Execute derives ownership from the verified session, never caller-selected IDs.
type PatchPatientInput
PatchPatientInput keeps HTTP credentials separate from verified service inputs.
type PatchPatientInput struct {
Authorization, PatientID string
Params types.PatchPatientParams
}type PatchPatientUseCase
PatchPatientUseCase authenticates the acting user before invoking the patient service.
type PatchPatientUseCase struct {
Identity types.IIdentityService
Patients ports.PatientService
}func (*PatchPatientUseCase) Execute
func (uc *PatchPatientUseCase) Execute(ctx context.Context, in PatchPatientInput) (*types.Patient, error)Execute authenticates and executes the doctor patient operation.
type PreviewDoctorInvitationInput
PreviewDoctorInvitationInput contains the preview doctor invitation request parameters.
type PreviewDoctorInvitationInput struct {
Token string
}type PreviewDoctorInvitationUseCase
PreviewDoctorInvitationUseCase defines the unimplemented preview doctor invitation operation.
type PreviewDoctorInvitationUseCase struct{}func NewPreviewDoctorInvitationUseCase
func NewPreviewDoctorInvitationUseCase() *PreviewDoctorInvitationUseCaseNewPreviewDoctorInvitationUseCase creates the documentation-first preview doctor invitation use case.
func (*PreviewDoctorInvitationUseCase) Execute
func (uc *PreviewDoctorInvitationUseCase) Execute(_ context.Context, _ PreviewDoctorInvitationInput) (*organizationpublic.InvitationPreview, error)Execute returns ErrNotImplemented until the operation is implemented.
type ProfessionalSelectionWriter
ProfessionalSelectionWriter saves all selections in one transaction.
type ProfessionalSelectionWriter interface {
ReplaceProfessionalSelections(context.Context, string, ProfessionalSelections) error
}type ProfessionalSelections
ProfessionalSelections replaces all professional catalog selections atomically.
type ProfessionalSelections struct {
QualificationIDs []string `json:"qualification_ids" nullable:"false" maxItems:"30" uniqueItems:"true"`
SpecialityID string `json:"speciality_id" format:"uuid"`
SpecializationIDs []string `json:"specialization_ids" nullable:"false" maxItems:"30" uniqueItems:"true"`
}type ProfilePatchWriter
ProfilePatchWriter atomically edits only supplied fields on the owned profile.
type ProfilePatchWriter interface {
PatchProfile(context.Context, string, string, PatchMyDoctorProfileParams) (*domain.Profile, error)
}type RegisterDoctorInput
RegisterDoctorInput contains the register doctor request parameters.
type RegisterDoctorInput struct {
Params RegistrationParams
}type RegisterDoctorUseCase
RegisterDoctorUseCase validates public signup and delegates atomic persistence.
type RegisterDoctorUseCase struct {
// contains filtered or unexported fields
}func NewRegisterDoctorUseCase
func NewRegisterDoctorUseCase(writer RegistrationWriter) *RegisterDoctorUseCaseNewRegisterDoctorUseCase wires the registration persistence capability.
func (*RegisterDoctorUseCase) Execute
func (uc *RegisterDoctorUseCase) Execute(ctx context.Context, input RegisterDoctorInput) (*RegistrationResult, error)Execute creates an active account and professional profile without credentials.
type RegistrationParams
RegistrationParams contains identity and professional details for new doctor registration.
type RegistrationParams struct {
Name string `json:"name" minLength:"1" maxLength:"255"`
Email string `json:"email" format:"email" minLength:"1" maxLength:"255"`
Password string `json:"password" minLength:"8" maxLength:"128" writeOnly:"true"`
LicenseNumber string `json:"license_number" minLength:"1" maxLength:"255"`
SpecialityID string `json:"speciality_id" format:"uuid"`
SpecializationIDs []string `json:"specialization_ids,omitempty" nullable:"false" maxItems:"30" uniqueItems:"true"`
InvitationToken string `json:"invitation_token,omitempty" maxLength:"512" writeOnly:"true" doc:"Optional organization invitation token. Omit or leave empty to register without joining an organization."`
}type RegistrationResult
RegistrationResult contains the doctor profile and optional directly assigned affiliation; login is separate.
type RegistrationResult struct {
Doctor doctorpublic.Profile `json:"doctor"`
Affiliation *organizationpublic.DoctorAffiliation `json:"affiliation,omitempty"`
}type RegistrationWriter
RegistrationWriter atomically persists all records required for onboarding.
type RegistrationWriter interface {
Register(context.Context, RegistrationParams) (*RegistrationResult, error)
}type SavePadSettingsInput
SavePadSettingsInput replaces the complete design guarded by an optimistic revision.
type SavePadSettingsInput struct {
Authorization string
ExpectedRevision *int64
ResourceVersion int
Value domain.PadSettingsValue
}type SavePadSettingsUseCase
SavePadSettingsUseCase validates, sanitizes and atomically stores the authenticated Doctor's pad design.
type SavePadSettingsUseCase struct {
Verify *VerifyAuthUseCase
Store PadSettingsStore
}func (SavePadSettingsUseCase) Execute
func (uc SavePadSettingsUseCase) Execute(ctx context.Context, in SavePadSettingsInput) (*domain.PadSettings, error)Execute authenticates before validation so unauthenticated callers learn nothing about the rules.
type SelectProfessionalDetails
SelectProfessionalDetails authorizes ownership using the persistent doctor session.
type SelectProfessionalDetails struct {
Verify *VerifyAuthUseCase
Writer ProfessionalSelectionWriter
}func (*SelectProfessionalDetails) Execute
func (uc *SelectProfessionalDetails) Execute(ctx context.Context, header string, input ProfessionalSelections) (*VerifiedDoctor, error)Execute saves only the authenticated doctor's selections.
type VerifiedDoctor
VerifiedDoctor contains safe identity details and the caller's professional profile.
type VerifiedDoctor struct {
Identity *identitypublic.Account
Doctor *doctorpublic.Profile
}type VerifyAuthInput
VerifyAuthInput carries the complete bearer Authorization header.
type VerifyAuthInput struct{ Authorization string }type VerifyAuthUseCase
VerifyAuthUseCase validates a persistent session, active identity and doctor profile.
type VerifyAuthUseCase struct {
// contains filtered or unexported fields
}func NewVerifyAuthUseCase
func NewVerifyAuthUseCase(identity types.IIdentityService, accounts identitypublic.AccountReader, profiles ports.ProfileRepository) *VerifyAuthUseCaseNewVerifyAuthUseCase wires identity validation and doctor profile lookup.
func (*VerifyAuthUseCase) Execute
func (uc *VerifyAuthUseCase) Execute(ctx context.Context, input VerifyAuthInput) (*VerifiedDoctor, error)Execute returns the authenticated doctor's current identity and professional details.
type ViewDiscoverableOrganizationInput
ViewDiscoverableOrganizationInput contains the view discoverable organization request parameters.
type ViewDiscoverableOrganizationInput struct {
Authorization string
OrganizationID string
}type ViewDiscoverableOrganizationUseCase
ViewDiscoverableOrganizationUseCase defines the unimplemented view discoverable organization operation.
type ViewDiscoverableOrganizationUseCase struct{}func NewViewDiscoverableOrganizationUseCase
func NewViewDiscoverableOrganizationUseCase() *ViewDiscoverableOrganizationUseCaseNewViewDiscoverableOrganizationUseCase creates the documentation-first view discoverable organization use case.
func (*ViewDiscoverableOrganizationUseCase) Execute
func (uc *ViewDiscoverableOrganizationUseCase) Execute(_ context.Context, _ ViewDiscoverableOrganizationInput) (*organizationpublic.OrganizationSummary, error)Execute returns ErrNotImplemented until the operation is implemented.
Generated by gomarkdoc