@@ -27,7 +27,7 @@ import (
|
||||
)
|
||||
|
||||
type (
|
||||
Data struct {
|
||||
Datum struct {
|
||||
ID gid.GID `db:"id"`
|
||||
Name string `db:"name"`
|
||||
OrganizationID gid.GID `db:"organization_id"`
|
||||
@@ -37,10 +37,10 @@ type (
|
||||
UpdatedAt time.Time `db:"updated_at"`
|
||||
}
|
||||
|
||||
DataList []*Data
|
||||
Data []*Datum
|
||||
)
|
||||
|
||||
func (d *Data) CursorKey(field DatumOrderField) page.CursorKey {
|
||||
func (d *Datum) CursorKey(field DatumOrderField) page.CursorKey {
|
||||
switch field {
|
||||
case DatumOrderFieldCreatedAt:
|
||||
return page.NewCursorKey(d.ID, d.CreatedAt)
|
||||
@@ -53,7 +53,7 @@ func (d *Data) CursorKey(field DatumOrderField) page.CursorKey {
|
||||
panic(fmt.Sprintf("unsupported order by: %s", field))
|
||||
}
|
||||
|
||||
func (d *Data) LoadByID(
|
||||
func (d *Datum) LoadByID(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -86,17 +86,17 @@ LIMIT 1;
|
||||
return fmt.Errorf("cannot query data: %w", err)
|
||||
}
|
||||
|
||||
data, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByName[Data])
|
||||
datum, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByName[Datum])
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot collect data: %w", err)
|
||||
}
|
||||
|
||||
*d = data
|
||||
*d = datum
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Data) LoadByOwnerID(
|
||||
func (d *Datum) LoadByOwnerID(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -128,7 +128,7 @@ LIMIT 1;
|
||||
return fmt.Errorf("cannot query data: %w", err)
|
||||
}
|
||||
|
||||
data, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByName[Data])
|
||||
data, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByName[Datum])
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot collect data: %w", err)
|
||||
}
|
||||
@@ -138,7 +138,7 @@ LIMIT 1;
|
||||
return nil
|
||||
}
|
||||
|
||||
func (dl *DataList) CountByOrganizationID(
|
||||
func (d *Data) CountByOrganizationID(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -170,7 +170,7 @@ WHERE
|
||||
return count, nil
|
||||
}
|
||||
|
||||
func (dl *DataList) LoadByOrganizationID(
|
||||
func (d *Data) LoadByOrganizationID(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -205,17 +205,17 @@ WHERE
|
||||
return fmt.Errorf("cannot query data: %w", err)
|
||||
}
|
||||
|
||||
data, err := pgx.CollectRows(rows, pgx.RowToAddrOfStructByName[Data])
|
||||
data, err := pgx.CollectRows(rows, pgx.RowToAddrOfStructByName[Datum])
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot collect data: %w", err)
|
||||
}
|
||||
|
||||
*dl = data
|
||||
*d = data
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Data) Insert(
|
||||
func (d *Datum) Insert(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -261,7 +261,7 @@ INSERT INTO data (
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Data) Update(
|
||||
func (d *Datum) Update(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -302,17 +302,17 @@ RETURNING
|
||||
return fmt.Errorf("cannot update data: %w", err)
|
||||
}
|
||||
|
||||
data, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByName[Data])
|
||||
datum, err := pgx.CollectExactlyOneRow(rows, pgx.RowToStructByName[Datum])
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot collect updated data: %w", err)
|
||||
}
|
||||
|
||||
*d = data
|
||||
*d = datum
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Data) Delete(
|
||||
func (d *Datum) Delete(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -338,12 +338,12 @@ WHERE
|
||||
}
|
||||
|
||||
type DataVendor struct {
|
||||
DataID gid.GID `db:"data_id"`
|
||||
DatumID gid.GID `db:"datum_id"`
|
||||
VendorID gid.GID `db:"vendor_id"`
|
||||
CreatedAt time.Time `db:"created_at"`
|
||||
}
|
||||
|
||||
func (d *Data) CreateWithVendors(
|
||||
func (d *Datum) CreateWithVendors(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
@@ -369,14 +369,14 @@ func (d *Data) CreateWithVendors(
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Data) UpdateWithVendors(
|
||||
func (d *Datum) UpdateWithVendors(
|
||||
ctx context.Context,
|
||||
conn pg.Conn,
|
||||
scope Scoper,
|
||||
vendorIDs []gid.GID,
|
||||
now time.Time,
|
||||
) error {
|
||||
existing := &Data{}
|
||||
existing := &Datum{}
|
||||
if err := existing.LoadByID(ctx, conn, scope, d.ID); err != nil {
|
||||
return fmt.Errorf("cannot load data: %w", err)
|
||||
}
|
||||
@@ -411,8 +411,7 @@ func (d *Data) UpdateWithVendors(
|
||||
return nil
|
||||
}
|
||||
|
||||
// UpdateWithVendorsTx updates a data entry and its vendor relationships in a single transaction
|
||||
func (d *Data) UpdateWithVendorsTx(
|
||||
func (d *Datum) UpdateWithVendorsTx(
|
||||
ctx context.Context,
|
||||
db *pg.Client,
|
||||
scope Scoper,
|
||||
|
||||
@@ -48,8 +48,8 @@ type UpdateDatumRequest struct {
|
||||
func (s DatumService) Get(
|
||||
ctx context.Context,
|
||||
datumID gid.GID,
|
||||
) (*coredata.Data, error) {
|
||||
datum := &coredata.Data{}
|
||||
) (*coredata.Datum, error) {
|
||||
datum := &coredata.Datum{}
|
||||
|
||||
err := s.svc.pg.WithConn(
|
||||
ctx,
|
||||
@@ -68,8 +68,8 @@ func (s DatumService) Get(
|
||||
func (s DatumService) GetByOwnerID(
|
||||
ctx context.Context,
|
||||
ownerID gid.GID,
|
||||
) (*coredata.Data, error) {
|
||||
datum := &coredata.Data{OwnerID: ownerID}
|
||||
) (*coredata.Datum, error) {
|
||||
datum := &coredata.Datum{OwnerID: ownerID}
|
||||
|
||||
err := s.svc.pg.WithConn(
|
||||
ctx,
|
||||
@@ -94,7 +94,7 @@ func (s DatumService) CountForOrganizationID(
|
||||
err := s.svc.pg.WithConn(
|
||||
ctx,
|
||||
func(conn pg.Conn) (err error) {
|
||||
data := coredata.DataList{}
|
||||
data := coredata.Data{}
|
||||
count, err = data.CountByOrganizationID(ctx, conn, s.svc.scope, organizationID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot count data: %w", err)
|
||||
@@ -115,8 +115,8 @@ func (s DatumService) ListForOrganizationID(
|
||||
ctx context.Context,
|
||||
organizationID gid.GID,
|
||||
cursor *page.Cursor[coredata.DatumOrderField],
|
||||
) (*page.Page[*coredata.Data, coredata.DatumOrderField], error) {
|
||||
var data coredata.DataList
|
||||
) (*page.Page[*coredata.Datum, coredata.DatumOrderField], error) {
|
||||
var data coredata.Data
|
||||
|
||||
err := s.svc.pg.WithConn(
|
||||
ctx,
|
||||
@@ -141,17 +141,17 @@ func (s DatumService) ListForOrganizationID(
|
||||
func (s DatumService) Update(
|
||||
ctx context.Context,
|
||||
req UpdateDatumRequest,
|
||||
) (*coredata.Data, error) {
|
||||
) (*coredata.Datum, error) {
|
||||
now := time.Now()
|
||||
|
||||
existing := &coredata.Data{}
|
||||
existing := &coredata.Datum{}
|
||||
if err := s.svc.pg.WithConn(ctx, func(conn pg.Conn) error {
|
||||
return existing.LoadByID(ctx, conn, s.svc.scope, req.ID)
|
||||
}); err != nil {
|
||||
return nil, fmt.Errorf("cannot load data: %w", err)
|
||||
}
|
||||
|
||||
datum := &coredata.Data{
|
||||
datum := &coredata.Datum{
|
||||
ID: req.ID,
|
||||
OrganizationID: existing.OrganizationID,
|
||||
Name: existing.Name,
|
||||
@@ -182,11 +182,11 @@ func (s DatumService) Update(
|
||||
func (s DatumService) Create(
|
||||
ctx context.Context,
|
||||
req CreateDatumRequest,
|
||||
) (*coredata.Data, error) {
|
||||
) (*coredata.Datum, error) {
|
||||
now := time.Now()
|
||||
datumID := gid.New(s.svc.scope.GetTenantID(), coredata.DatumEntityType)
|
||||
|
||||
datum := &coredata.Data{
|
||||
datum := &coredata.Datum{
|
||||
ID: datumID,
|
||||
OrganizationID: req.OrganizationID,
|
||||
Name: req.Name,
|
||||
@@ -214,7 +214,7 @@ func (s DatumService) Delete(
|
||||
ctx context.Context,
|
||||
datumID gid.GID,
|
||||
) error {
|
||||
datum := &coredata.Data{ID: datumID}
|
||||
datum := &coredata.Datum{ID: datumID}
|
||||
|
||||
return s.svc.pg.WithConn(
|
||||
ctx,
|
||||
|
||||
@@ -34,13 +34,13 @@ type (
|
||||
)
|
||||
|
||||
func NewDataConnection(
|
||||
p *page.Page[*coredata.Data, coredata.DatumOrderField],
|
||||
p *page.Page[*coredata.Datum, coredata.DatumOrderField],
|
||||
parentType any,
|
||||
parentID gid.GID,
|
||||
) *DatumConnection {
|
||||
edges := make([]*DatumEdge, len(p.Data))
|
||||
for i, data := range p.Data {
|
||||
edges[i] = NewDatumEdge(data, p.Cursor.OrderBy.Field)
|
||||
for i, datum := range p.Data {
|
||||
edges[i] = NewDatumEdge(datum, p.Cursor.OrderBy.Field)
|
||||
}
|
||||
|
||||
return &DatumConnection{
|
||||
@@ -52,7 +52,7 @@ func NewDataConnection(
|
||||
}
|
||||
}
|
||||
|
||||
func NewDatum(d *coredata.Data) *Datum {
|
||||
func NewDatum(d *coredata.Datum) *Datum {
|
||||
return &Datum{
|
||||
ID: d.ID,
|
||||
Name: d.Name,
|
||||
@@ -63,7 +63,7 @@ func NewDatum(d *coredata.Data) *Datum {
|
||||
}
|
||||
}
|
||||
|
||||
func NewDatumEdge(d *coredata.Data, orderField coredata.DatumOrderField) *DatumEdge {
|
||||
func NewDatumEdge(d *coredata.Datum, orderField coredata.DatumOrderField) *DatumEdge {
|
||||
return &DatumEdge{
|
||||
Node: NewDatum(d),
|
||||
Cursor: d.CursorKey(orderField),
|
||||
|
||||
Reference in New Issue
Block a user