Files
2025-10-13 16:25:30 +07:00

45 lines
1.2 KiB
Go

/*
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 internal_reference
import (
"gorm.io/gorm"
ir "simrs-vx/internal/domain/main-entities/internal-reference"
)
type createMw struct {
Name string
Func func(input *ir.CreateDto, data *ir.InternalReference, tx *gorm.DB) error
}
type readListMw struct {
Name string
Func func(input *ir.ReadListDto, data *ir.InternalReference, tx *gorm.DB) error
}
type readDetailMw struct {
Name string
Func func(input *ir.ReadDetailDto, data *ir.InternalReference, tx *gorm.DB) error
}
type UpdateMw = readDetailMw
type DeleteMw = readDetailMw
var createPreMw []createMw // preprocess middleware
var createPostMw []createMw // postprocess middleware
var readListPreMw []readListMw // ..
var readListPostMw []readListMw // ..
var readDetailPreMw []readDetailMw
var readDetailPostMw []readDetailMw
var updatePreMw []readDetailMw
var updatePostMw []readDetailMw
var deletePreMw []readDetailMw
var deletePostMw []readDetailMw