30 lines
797 B
Go
30 lines
797 B
Go
package models
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
"screenmark/screenmark/.gen/haystack/haystack/model"
|
|
. "screenmark/screenmark/.gen/haystack/haystack/table"
|
|
)
|
|
|
|
type LocationModel struct {
|
|
dbPool *sql.DB
|
|
}
|
|
|
|
func (m LocationModel) Save(ctx context.Context, location model.Locations) (model.Locations, error) {
|
|
insertLocationStmt := Locations.
|
|
INSERT(Locations.Name, Locations.Address, Locations.Coordinates, Locations.Description).
|
|
VALUES(location.Name, location.Address, location.Coordinates, location.Description).
|
|
RETURNING(Locations.AllColumns)
|
|
|
|
insertedLocation := model.Locations{}
|
|
|
|
err := insertLocationStmt.QueryContext(ctx, m.dbPool, &insertLocationStmt)
|
|
|
|
return insertedLocation, err
|
|
}
|
|
|
|
func NewLocationModel(db *sql.DB) LocationModel {
|
|
return LocationModel{dbPool: db}
|
|
}
|