54 lines
1.2 KiB
Go
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
|
|
}
|