Files
api-antrian-operasi/internal/domain/antrian_operasi/repository.go
2026-01-28 14:59:18 +07:00

54 lines
1.2 KiB
Go

package antrianoperasi
import (
"antrian-operasi/internal/database"
queryUtils "antrian-operasi/internal/utils/query"
"log"
"github.com/gin-gonic/gin"
)
const DB_NAME = "db_antrian"
const TABLE_NAME = "data_pasien_operasi"
type IAntrianOperasiRepository interface {
CreateAntrianOperasi(c *gin.Context, req CreatePasienOperasiRequest) (CreatePasienOperasiRequest, error)
}
type antrianOperasiRepo struct {
queryBuilder *queryUtils.QueryBuilder
db database.Service
}
func NewAntrianOperasiRepo(dbService database.Service) IAntrianOperasiRepository {
queryBuilder := queryUtils.NewQueryBuilder(queryUtils.DBTypePostgreSQL).
SetAllowedColumns([]string{})
queryBuilder.SetSecurityOptions(false, 100)
return antrianOperasiRepo{
queryBuilder: queryBuilder,
db: dbService,
}
}
func (r antrianOperasiRepo) CreateAntrianOperasi(c *gin.Context, req CreatePasienOperasiRequest) (CreatePasienOperasiRequest, error) {
db, err := r.db.GetSQLXDB(DB_NAME)
if err != nil {
return req, err
}
// START TRANSACTION
tx, err := db.BeginTx(c, nil)
if err != nil {
return req, err
}
// INSERTING
log.Println("TODO : insert tables")
// COMMIT TRANSACTION
tx.Commit()
return req, nil
}