-
Notifications
You must be signed in to change notification settings - Fork 0
/
sale_conditions.go
43 lines (38 loc) · 2.28 KB
/
sale_conditions.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Code generated by cql-gen v0.1.0, DO NOT EDIT.
package conditions
import (
condition "github.com/FrancoLiberali/cql/condition"
model "github.com/FrancoLiberali/cql/model"
models "github.com/FrancoLiberali/cql/test/models"
"time"
)
func (saleConditions saleConditions) Product(conditions ...condition.Condition[models.Product]) condition.JoinCondition[models.Sale] {
return condition.NewJoinCondition[models.Sale, models.Product](conditions, "Product", "ProductID", saleConditions.preload(), "ID", Product.preload())
}
func (saleConditions saleConditions) Seller(conditions ...condition.Condition[models.Seller]) condition.JoinCondition[models.Sale] {
return condition.NewJoinCondition[models.Sale, models.Seller](conditions, "Seller", "SellerID", saleConditions.preload(), "ID", Seller.preload())
}
type saleConditions struct {
ID condition.Field[models.Sale, model.UUID]
CreatedAt condition.Field[models.Sale, time.Time]
UpdatedAt condition.Field[models.Sale, time.Time]
DeletedAt condition.Field[models.Sale, time.Time]
Code condition.NumericField[models.Sale, int]
Description condition.StringField[models.Sale]
ProductID condition.UpdatableField[models.Sale, model.UUID]
SellerID condition.NullableField[models.Sale, model.UUID]
}
var Sale = saleConditions{
Code: condition.NewNumericField[models.Sale, int]("Code", "", ""),
CreatedAt: condition.NewField[models.Sale, time.Time]("CreatedAt", "", ""),
DeletedAt: condition.NewField[models.Sale, time.Time]("DeletedAt", "", ""),
Description: condition.NewStringField[models.Sale]("Description", "", ""),
ID: condition.NewField[models.Sale, model.UUID]("ID", "", ""),
ProductID: condition.NewUpdatableField[models.Sale, model.UUID]("ProductID", "", ""),
SellerID: condition.NewNullableField[models.Sale, model.UUID]("SellerID", "", ""),
UpdatedAt: condition.NewField[models.Sale, time.Time]("UpdatedAt", "", ""),
}
// Preload allows preloading the Sale when doing a query
func (saleConditions saleConditions) preload() condition.Condition[models.Sale] {
return condition.NewPreloadCondition[models.Sale](saleConditions.ID, saleConditions.CreatedAt, saleConditions.UpdatedAt, saleConditions.DeletedAt, saleConditions.Code, saleConditions.Description, saleConditions.ProductID, saleConditions.SellerID)
}