/* DESCRIPTION: A sample, part of the package that contains type, constants, and/or variables. In this sample it also provides type and variable regarding the needs of the middleware to separate from main use-case which has the basic CRUD functionality. The purpose of this is to make the code more maintainable. */ package encounter import ( "gorm.io/gorm" e "simrs-vx/internal/domain/main-entities/encounter" elog "simrs-vx/internal/domain/sync-entities/log" ) type createMw struct { Name string Func func(input *e.Encounter) error } type createLogMw struct { Name string Func func(input *elog.SimxLogDto) error } type updateMw struct { Name string Func func(input *e.Encounter) error } type deleteMw struct { Name string Func func(input *e.DeleteDto) error } type readListMw struct { Name string Func func(input *e.ReadListDto, data *e.Encounter, tx *gorm.DB) error } type readDetailMw struct { Name string Func func(input *e.ReadDetailDto, data *e.Encounter, tx *gorm.DB) error } type checkinMw struct { Name string Func func(input *e.Encounter) error } type checkoutMw struct { Name string Func func(input *e.Encounter) error } type updateStatusMw struct { Name string Func func(input *e.Encounter) error } type requestSwitchSpecialistMw struct { Name string Func func(input *e.Encounter) error } type approveSwitchSpecialistMw struct { Name string Func func(input *e.ApproveCancelSpecialistDto) error } type cancelSwitchSpecialistMw struct { Name string Func func(input *e.ApproveCancelSpecialistDto) error } type createWithPatientMw struct { Name string Func func(input *e.Encounter) error } type UpdateMw = updateMw type DeleteMw = deleteMw var createPreMw []createMw // preprocess middleware var createPostMw []createMw // postprocess middleware var createSimxLogMw []createLogMw var readListPreMw []readListMw // .. var readListPostMw []readListMw // .. var readDetailPreMw []readDetailMw var readDetailPostMw []readDetailMw var updatePreMw []updateMw var updatePostMw []readDetailMw var deletePreMw []deleteMw var deletePostMw []readDetailMw var checkinEncounterMw checkinMw var checkoutEncounter checkoutMw var updatestatusEncounter []updateStatusMw var requestSwitchEncounter requestSwitchSpecialistMw var approveSwitchEncounter approveSwitchSpecialistMw var cancelSwitchEncounter cancelSwitchSpecialistMw var createWithPatientPreMw []createWithPatientMw var createWithPatientPostMw []createWithPatientMw