Merge pull request #8

bump gopgutil
This commit is contained in:
Dawid Wysokiński 2021-05-04 20:43:40 +02:00 committed by GitHub
commit 83d7150bc1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 122 additions and 151 deletions

6
go.mod
View File

@ -4,11 +4,11 @@ go 1.16
require (
github.com/99designs/gqlgen v0.13.0
github.com/Kichiyaki/appmode v0.0.0-20210502105643-0a26207c548d // indirect
github.com/Kichiyaki/appmode v0.0.0-20210502105643-0a26207c548d
github.com/Kichiyaki/ginlogrus v0.0.0-20210502060406-bb0049cc40c4
github.com/Kichiyaki/go-pg-logrus-query-logger/v10 v10.0.0-20210502060056-ad595ba7b858
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210502103432-20b73c1e09b3 // indirect
github.com/Kichiyaki/goutil v0.0.0-20210502095630-318d17091eab // indirect
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504180357-3f12426cbdaf
github.com/Kichiyaki/goutil v0.0.0-20210504132659-3d843a787db7
github.com/agnivade/levenshtein v1.1.0 // indirect
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/gin-contrib/cors v1.3.1

11
go.sum
View File

@ -8,10 +8,15 @@ github.com/Kichiyaki/ginlogrus v0.0.0-20210502060406-bb0049cc40c4 h1:1fPLsfbM6DG
github.com/Kichiyaki/ginlogrus v0.0.0-20210502060406-bb0049cc40c4/go.mod h1:PTGPHApaVoNA6eEC72vqvzKRhhSUQnHfh9uSho3rsXk=
github.com/Kichiyaki/go-pg-logrus-query-logger/v10 v10.0.0-20210502060056-ad595ba7b858 h1:O7EPPY5lWaKbYB/5yJzE8WMesismUYuje7gOemo1UNo=
github.com/Kichiyaki/go-pg-logrus-query-logger/v10 v10.0.0-20210502060056-ad595ba7b858/go.mod h1:ADHVWnGlWcRn1aGthuh7I1Lrn6zzsjkVJju151dXyDw=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210502103432-20b73c1e09b3 h1:kF01z5HAcpmn8PeGysegVKWblqV/t+boiZFi+6TIFVM=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210502103432-20b73c1e09b3/go.mod h1:Ol4iqPU50Ena5DFDOJvGnr17/gVbnhqSW/TuI0mWyo4=
github.com/Kichiyaki/goutil v0.0.0-20210502095630-318d17091eab h1:XFHuFbQQPKkSYw/Z+nQ0ZeOz/Bx3PFWRk0lWtJc7yx8=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504165554-36c969b33585 h1:V+/fHDt00dcoPjYL2FuxVf7JYbx7Y9gXQPLCiPNOl0A=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504165554-36c969b33585/go.mod h1:MSAEhr8oeK+Rhjhqyl31/8/AI88thYky80OyD8mheDA=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504171356-3135b02acf60 h1:5f0EdZ15CSXDviRRBc8gR86f6uEPhUubyaUskV6ZFl0=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504171356-3135b02acf60/go.mod h1:MSAEhr8oeK+Rhjhqyl31/8/AI88thYky80OyD8mheDA=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504180357-3f12426cbdaf h1:FP1xooTbED1QcQGPyCha0Yukc4b1D5XJ70pvnL2NOT0=
github.com/Kichiyaki/gopgutil/v10 v10.0.0-20210504180357-3f12426cbdaf/go.mod h1:MSAEhr8oeK+Rhjhqyl31/8/AI88thYky80OyD8mheDA=
github.com/Kichiyaki/goutil v0.0.0-20210502095630-318d17091eab/go.mod h1:+HhI932Xb0xrCodNcCv5GPiCjLYhDxWhCtlEqMIJhB4=
github.com/Kichiyaki/goutil v0.0.0-20210504132659-3d843a787db7 h1:OU3ZA5H8fHTzaYIw9UBfH3gtWRL0XmnczlhH3E2PjV4=
github.com/Kichiyaki/goutil v0.0.0-20210504132659-3d843a787db7/go.mod h1:+HhI932Xb0xrCodNcCv5GPiCjLYhDxWhCtlEqMIJhB4=
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
github.com/agnivade/levenshtein v1.0.3/go.mod h1:4SFRZbbXWLF4MU1T9Qg0pGgH3Pjs+t6ie5efyrwRJXs=
github.com/agnivade/levenshtein v1.1.0 h1:n6qGwyHG61v3ABce1rPVZklEYRT8NFpCMrpZdBUbYGM=

View File

@ -17,8 +17,8 @@ const (
AnswerD Answer = "d"
)
func (role Answer) IsValid() bool {
switch role {
func (answer Answer) IsValid() bool {
switch answer {
case AnswerA,
AnswerB,
AnswerC,

View File

@ -1,42 +1,9 @@
package models
import (
"time"
"reflect"
)
func isZero(v interface{}) bool {
switch c := v.(type) {
case string:
return c == ""
case *string:
return c == nil
case []string:
return c == nil || len(c) == 0
case []Role:
return c == nil || len(c) == 0
case int:
return c == 0
case *int:
return c == nil
case []int:
return c == nil || len(c) == 0
case float64:
return c == 0
case *float64:
return c == nil
case float32:
return c == 0
case *float32:
return c == nil
case bool:
return !c
case *bool:
return c == nil
case time.Time:
return c.IsZero()
case *time.Time:
return c == nil
default:
return false
}
return reflect.ValueOf(v).IsZero()
}

View File

@ -113,37 +113,37 @@ func (f *ProfessionFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Quer
}
if !isZero(f.ID) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.ID))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.ID))
}
if !isZero(f.IDNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.IDNEQ))
}
if !isZero(f.Slug) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("slug", alias)), pg.Array(f.Slug))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("slug", alias), pg.Array(f.Slug))
}
if !isZero(f.SlugNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("slug", alias)), pg.Array(f.SlugNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("slug", alias), pg.Array(f.SlugNEQ))
}
if !isZero(f.Name) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("name", alias)), pg.Array(f.Name))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("name", alias), pg.Array(f.Name))
}
if !isZero(f.NameNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("name", alias)), pg.Array(f.NameNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("name", alias), pg.Array(f.NameNEQ))
}
if !isZero(f.NameMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("name", alias)), f.NameMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("name", alias), f.NameMATCH)
}
if !isZero(f.NameIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("name", alias)), f.NameIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("name", alias), f.NameIEQ)
}
if !isZero(f.DescriptionMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("description", alias)), f.DescriptionMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("description", alias), f.DescriptionMATCH)
}
if !isZero(f.DescriptionIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("description", alias)), f.DescriptionIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("description", alias), f.DescriptionIEQ)
}
if !isZero(f.QualificationID) {
@ -162,19 +162,19 @@ func (f *ProfessionFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Quer
}
if !isZero(f.CreatedAt) {
q = q.Where(gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAt)
q = q.Where(gopgutil.BuildConditionEquals("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAt)
}
if !isZero(f.CreatedAtGT) {
q = q.Where(gopgutil.BuildConditionGT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGT)
q = q.Where(gopgutil.BuildConditionGT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGT)
}
if !isZero(f.CreatedAtGTE) {
q = q.Where(gopgutil.BuildConditionGTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGTE)
q = q.Where(gopgutil.BuildConditionGTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGTE)
}
if !isZero(f.CreatedAtLT) {
q = q.Where(gopgutil.BuildConditionLT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLT)
q = q.Where(gopgutil.BuildConditionLT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLT)
}
if !isZero(f.CreatedAtLTE) {
q = q.Where(gopgutil.BuildConditionLTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLTE)
q = q.Where(gopgutil.BuildConditionLTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLTE)
}
return q, nil

View File

@ -144,17 +144,17 @@ func (f *QualificationFilterOr) WhereWithAlias(q *orm.Query, alias string) *orm.
q = q.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
if !isZero(f.NameMATCH) {
q = q.WhereOr(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("name", alias)), f.NameMATCH)
q = q.WhereOr(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("name", alias), f.NameMATCH)
}
if !isZero(f.NameIEQ) {
q = q.WhereOr(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("name", alias)), f.NameIEQ)
q = q.WhereOr(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("name", alias), f.NameIEQ)
}
if !isZero(f.CodeMATCH) {
q = q.WhereOr(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("code", alias)), f.CodeMATCH)
q = q.WhereOr(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("code", alias), f.CodeMATCH)
}
if !isZero(f.CodeIEQ) {
q = q.WhereOr(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("code", alias)), f.CodeIEQ)
q = q.WhereOr(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("code", alias), f.CodeIEQ)
}
return q, nil
@ -202,57 +202,57 @@ func (f *QualificationFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Q
}
if !isZero(f.ID) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.ID))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.ID))
}
if !isZero(f.IDNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.IDNEQ))
}
if !isZero(f.Slug) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("slug", alias)), pg.Array(f.Slug))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("slug", alias), pg.Array(f.Slug))
}
if !isZero(f.SlugNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("slug", alias)), pg.Array(f.SlugNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("slug", alias), pg.Array(f.SlugNEQ))
}
if !isZero(f.Name) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("name", alias)), pg.Array(f.Name))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("name", alias), pg.Array(f.Name))
}
if !isZero(f.NameNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("name", alias)), pg.Array(f.NameNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("name", alias), pg.Array(f.NameNEQ))
}
if !isZero(f.NameMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("name", alias)), f.NameMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("name", alias), f.NameMATCH)
}
if !isZero(f.NameIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("name", alias)), f.NameIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("name", alias), f.NameIEQ)
}
if !isZero(f.Code) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("code", alias)), pg.Array(f.Code))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("code", alias), pg.Array(f.Code))
}
if !isZero(f.CodeNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("code", alias)), pg.Array(f.CodeNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("code", alias), pg.Array(f.CodeNEQ))
}
if !isZero(f.CodeMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("code", alias)), f.CodeMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("code", alias), f.CodeMATCH)
}
if !isZero(f.CodeIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("code", alias)), f.CodeIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("code", alias), f.CodeIEQ)
}
if !isZero(f.Formula) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("formula", alias)), pg.Array(f.Formula))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("formula", alias), pg.Array(f.Formula))
}
if !isZero(f.FormulaNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("formula", alias)), pg.Array(f.FormulaNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("formula", alias), pg.Array(f.FormulaNEQ))
}
if !isZero(f.DescriptionMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("description", alias)), f.DescriptionMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("description", alias), f.DescriptionMATCH)
}
if !isZero(f.DescriptionIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("description", alias)), f.DescriptionIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("description", alias), f.DescriptionIEQ)
}
if !isZero(f.ProfessionID) {
@ -271,19 +271,19 @@ func (f *QualificationFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Q
}
if !isZero(f.CreatedAt) {
q = q.Where(gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAt)
q = q.Where(gopgutil.BuildConditionEquals("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAt)
}
if !isZero(f.CreatedAtGT) {
q = q.Where(gopgutil.BuildConditionGT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGT)
q = q.Where(gopgutil.BuildConditionGT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGT)
}
if !isZero(f.CreatedAtGTE) {
q = q.Where(gopgutil.BuildConditionGTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGTE)
q = q.Where(gopgutil.BuildConditionGTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGTE)
}
if !isZero(f.CreatedAtLT) {
q = q.Where(gopgutil.BuildConditionLT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLT)
q = q.Where(gopgutil.BuildConditionLT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLT)
}
if !isZero(f.CreatedAtLTE) {
q = q.Where(gopgutil.BuildConditionLTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLTE)
q = q.Where(gopgutil.BuildConditionLTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLTE)
}
if f.Or != nil {

View File

@ -157,13 +157,14 @@ func (input *QuestionInput) ApplyUpdate(q *orm.Query) (*orm.Query, error) {
if !input.IsEmpty() {
if input.Content != nil {
q = q.Set(
gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("content", "question")),
gopgutil.BuildConditionEquals("content"),
*input.Content,
)
}
if input.From != nil {
q = q.Set(
gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("from", "question")),
gopgutil.BuildConditionEquals("?"),
pg.Ident("from"),
*input.From,
)
}
@ -219,49 +220,52 @@ func (f *QuestionFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query,
}
if !isZero(f.ID) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.ID))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.ID))
}
if !isZero(f.IDNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.IDNEQ))
}
if !isZero(f.From) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("from", alias)), pg.Array(f.From))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("from", alias), pg.Array(f.From))
}
if !isZero(f.ContentMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("content", alias)), f.ContentMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("content", alias), f.ContentMATCH)
}
if !isZero(f.ContentIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("content", alias)), f.ContentIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("content", alias), f.ContentIEQ)
}
if !isZero(f.QualificationID) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("qualification_id", alias)), pg.Array(f.QualificationID))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("qualification_id", alias), pg.Array(f.QualificationID))
}
if !isZero(f.QualificationIDNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("qualification_id", alias)), pg.Array(f.QualificationIDNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("qualification_id", alias), pg.Array(f.QualificationIDNEQ))
}
var err error
if f.QualificationFilter != nil {
q = q.Relation("Qualification._")
q, _ = f.QualificationFilter.WhereWithAlias(q, "qualification")
q, err = f.QualificationFilter.WhereWithAlias(q.Relation("Qualification._"), "qualification")
if err != nil {
return q, err
}
}
if !isZero(f.CreatedAt) {
q = q.Where(gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAt)
q = q.Where(gopgutil.BuildConditionEquals("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAt)
}
if !isZero(f.CreatedAtGT) {
q = q.Where(gopgutil.BuildConditionGT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGT)
q = q.Where(gopgutil.BuildConditionGT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGT)
}
if !isZero(f.CreatedAtGTE) {
q = q.Where(gopgutil.BuildConditionGTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGTE)
q = q.Where(gopgutil.BuildConditionGTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGTE)
}
if !isZero(f.CreatedAtLT) {
q = q.Where(gopgutil.BuildConditionLT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLT)
q = q.Where(gopgutil.BuildConditionLT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLT)
}
if !isZero(f.CreatedAtLTE) {
q = q.Where(gopgutil.BuildConditionLTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLTE)
q = q.Where(gopgutil.BuildConditionLTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLTE)
}
return q, nil

View File

@ -148,22 +148,24 @@ func (f *UserFilterOr) WhereWithAlias(q *orm.Query, alias string) *orm.Query {
q = q.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
if !isZero(f.DisplayNameMATCH) {
q = q.WhereOr(
gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("display_name", alias)),
gopgutil.BuildConditionMatch("?"),
gopgutil.AddAliasToColumnName("display_name", alias),
f.DisplayNameMATCH,
)
}
if !isZero(f.DisplayNameIEQ) {
q = q.WhereOr(
gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("display_name", alias)),
gopgutil.BuildConditionIEQ("?"),
gopgutil.AddAliasToColumnName("display_name", alias),
f.DisplayNameIEQ,
)
}
if !isZero(f.EmailMATCH) {
q = q.WhereOr(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("email", alias)), f.EmailMATCH)
q = q.WhereOr(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("email", alias), f.EmailMATCH)
}
if !isZero(f.EmailIEQ) {
q = q.WhereOr(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("email", alias)), f.EmailIEQ)
q = q.WhereOr(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("email", alias), f.EmailIEQ)
}
return q, nil
@ -205,56 +207,56 @@ func (f *UserFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, err
}
if !isZero(f.ID) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.ID))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.ID))
}
if !isZero(f.IDNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("id", alias), pg.Array(f.IDNEQ))
}
if !isZero(f.Activated) {
q = q.Where(gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("activated", alias)), f.Activated)
q = q.Where(gopgutil.BuildConditionEquals("?"), gopgutil.AddAliasToColumnName("activated", alias), f.Activated)
}
if !isZero(f.DisplayName) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("display_name", alias)), pg.Array(f.DisplayName))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("display_name", alias), pg.Array(f.DisplayName))
}
if !isZero(f.DisplayNameNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("display_name", alias)), pg.Array(f.DisplayNameNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("display_name", alias), pg.Array(f.DisplayNameNEQ))
}
if !isZero(f.DisplayNameMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("display_name", alias)), f.DisplayNameMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("display_name", alias), f.DisplayNameMATCH)
}
if !isZero(f.DisplayNameIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("display_name", alias)), f.DisplayNameIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("display_name", alias), f.DisplayNameIEQ)
}
if !isZero(f.Email) {
q = q.Where(gopgutil.BuildConditionArray(gopgutil.AddAliasToColumnName("email", alias)), pg.Array(f.Email))
q = q.Where(gopgutil.BuildConditionArray("?"), gopgutil.AddAliasToColumnName("email", alias), pg.Array(f.Email))
}
if !isZero(f.EmailNEQ) {
q = q.Where(gopgutil.BuildConditionNotInArray(gopgutil.AddAliasToColumnName("email", alias)), pg.Array(f.EmailNEQ))
q = q.Where(gopgutil.BuildConditionNotInArray("?"), gopgutil.AddAliasToColumnName("email", alias), pg.Array(f.EmailNEQ))
}
if !isZero(f.EmailMATCH) {
q = q.Where(gopgutil.BuildConditionMatch(gopgutil.AddAliasToColumnName("email", alias)), f.EmailMATCH)
q = q.Where(gopgutil.BuildConditionMatch("?"), gopgutil.AddAliasToColumnName("email", alias), f.EmailMATCH)
}
if !isZero(f.EmailIEQ) {
q = q.Where(gopgutil.BuildConditionIEQ(gopgutil.AddAliasToColumnName("email", alias)), f.EmailIEQ)
q = q.Where(gopgutil.BuildConditionIEQ("?"), gopgutil.AddAliasToColumnName("email", alias), f.EmailIEQ)
}
if !isZero(f.CreatedAt) {
q = q.Where(gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAt)
q = q.Where(gopgutil.BuildConditionEquals("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAt)
}
if !isZero(f.CreatedAtGT) {
q = q.Where(gopgutil.BuildConditionGT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGT)
q = q.Where(gopgutil.BuildConditionGT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGT)
}
if !isZero(f.CreatedAtGTE) {
q = q.Where(gopgutil.BuildConditionGTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtGTE)
q = q.Where(gopgutil.BuildConditionGTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtGTE)
}
if !isZero(f.CreatedAtLT) {
q = q.Where(gopgutil.BuildConditionLT(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLT)
q = q.Where(gopgutil.BuildConditionLT("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLT)
}
if !isZero(f.CreatedAtLTE) {
q = q.Where(gopgutil.BuildConditionLTE(gopgutil.AddAliasToColumnName("created_at", alias)), f.CreatedAtLTE)
q = q.Where(gopgutil.BuildConditionLTE("?"), gopgutil.AddAliasToColumnName("created_at", alias), f.CreatedAtLTE)
}
if f.Or != nil {

View File

@ -62,7 +62,7 @@ func (repo *pgRepository) UpdateMany(ctx context.Context, f *models.ProfessionFi
}
func (repo *pgRepository) Delete(ctx context.Context, f *models.ProfessionFilter) ([]*models.Profession, error) {
items := []*models.Profession{}
var items []*models.Profession
if _, err := repo.
Model(&items).
Context(ctx).
@ -76,7 +76,7 @@ func (repo *pgRepository) Delete(ctx context.Context, f *models.ProfessionFilter
func (repo *pgRepository) Fetch(ctx context.Context, cfg *profession.FetchConfig) ([]*models.Profession, int, error) {
var err error
items := []*models.Profession{}
var items []*models.Profession
total := 0
query := repo.
Model(&items).
@ -84,7 +84,9 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg *profession.FetchConfig
Limit(cfg.Limit).
Offset(cfg.Offset).
Apply(cfg.Filter.Where).
Order(cfg.Sort...)
Apply(gopgutil.OrderAppender{
Orders: cfg.Sort,
}.Apply)
if cfg.Count {
total, err = query.SelectAndCount()
@ -105,7 +107,7 @@ func (repo *pgRepository) GetAssociatedQualifications(
for _, id := range ids {
m[id] = []*models.Qualification{}
}
qualificationToProfession := []*models.QualificationToProfession{}
var qualificationToProfession []*models.QualificationToProfession
if err := repo.
Model(&qualificationToProfession).
Context(ctx).

View File

@ -2,7 +2,6 @@ package usecase
import (
"context"
"github.com/Kichiyaki/gopgutil/v10"
"github.com/pkg/errors"
"github.com/zdam-egzamin-zawodowy/backend/internal/models"
@ -65,7 +64,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg *profession.FetchConfig) ([
Count: true,
}
}
cfg.Sort = gopgutil.SanitizeOrders(cfg.Sort)
return ucase.professionRepository.Fetch(ctx, cfg)
}

View File

@ -57,7 +57,7 @@ func (repo *pgRepository) UpdateMany(
f *models.QualificationFilter,
input *models.QualificationInput,
) ([]*models.Qualification, error) {
items := []*models.Qualification{}
var items []*models.Qualification
err := repo.RunInTransaction(ctx, func(tx *pg.Tx) error {
if input.HasBasicDataToUpdate() {
if _, err := tx.
@ -108,7 +108,7 @@ func (repo *pgRepository) UpdateMany(
}
func (repo *pgRepository) Delete(ctx context.Context, f *models.QualificationFilter) ([]*models.Qualification, error) {
items := []*models.Qualification{}
var items []*models.Qualification
if _, err := repo.
Model(&items).
Context(ctx).
@ -122,7 +122,7 @@ func (repo *pgRepository) Delete(ctx context.Context, f *models.QualificationFil
func (repo *pgRepository) Fetch(ctx context.Context, cfg *qualification.FetchConfig) ([]*models.Qualification, int, error) {
var err error
items := []*models.Qualification{}
var items []*models.Qualification
total := 0
query := repo.
Model(&items).
@ -130,7 +130,9 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg *qualification.FetchCon
Limit(cfg.Limit).
Offset(cfg.Offset).
Apply(cfg.Filter.Where).
Order(cfg.Sort...)
Apply(gopgutil.OrderAppender{
Orders: cfg.Sort,
}.Apply)
if cfg.Count {
total, err = query.SelectAndCount()
@ -150,7 +152,7 @@ func (repo *pgRepository) GetSimilar(ctx context.Context, cfg *qualification.Get
Context(ctx).
Where(gopgutil.BuildConditionEquals("qualification_id"), cfg.QualificationID).
Column("profession_id")
qualificationIDs := []int{}
var qualificationIDs []int
err = repo.
Model(&models.QualificationToProfession{}).
Context(ctx).
@ -179,7 +181,7 @@ func (repo *pgRepository) GetSimilar(ctx context.Context, cfg *qualification.Get
}
func (repo *pgRepository) associateQualificationWithProfession(tx *pg.Tx, qualificationIDs, professionIDs []int) error {
toInsert := []*models.QualificationToProfession{}
var toInsert []*models.QualificationToProfession
for _, professionID := range professionIDs {
for _, qualificationID := range qualificationIDs {
toInsert = append(toInsert, &models.QualificationToProfession{

View File

@ -2,7 +2,6 @@ package usecase
import (
"context"
"github.com/Kichiyaki/gopgutil/v10"
"github.com/pkg/errors"
"github.com/zdam-egzamin-zawodowy/backend/internal/models"
@ -65,7 +64,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg *qualification.FetchConfig)
Count: true,
}
}
cfg.Sort = gopgutil.SanitizeOrders(cfg.Sort)
return ucase.qualificationRepository.Fetch(ctx, cfg)
}
@ -107,7 +105,6 @@ func (ucase *usecase) GetSimilar(ctx context.Context, cfg *qualification.GetSimi
if cfg == nil || cfg.QualificationID <= 0 {
return nil, 0, errors.New(messageQualificationIDIsRequired)
}
cfg.Sort = gopgutil.SanitizeOrders(cfg.Sort)
return ucase.qualificationRepository.GetSimilar(ctx, cfg)
}

View File

@ -70,7 +70,7 @@ func (repo *pgRepository) UpdateOneByID(ctx context.Context, id int, input *mode
Model(item).
Context(ctx).
Returning("*").
Where(gopgutil.BuildConditionEquals(gopgutil.AddAliasToColumnName("id", "question")), id).
Where(gopgutil.BuildConditionEquals("?"), gopgutil.AddAliasToColumnName("id", "question"), id).
Set("updated_at = ?", time.Now())
if _, err := baseQuery.
@ -98,7 +98,7 @@ func (repo *pgRepository) UpdateOneByID(ctx context.Context, id int, input *mode
}
func (repo *pgRepository) Delete(ctx context.Context, f *models.QuestionFilter) ([]*models.Question, error) {
items := []*models.Question{}
var items []*models.Question
if _, err := repo.
Model(&items).
Context(ctx).
@ -122,15 +122,10 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg *question.FetchConfig)
Context(ctx).
Limit(cfg.Limit).
Offset(cfg.Offset).
Apply(cfg.Filter.Where).
Apply(gopgutil.OrderAppender{
Relations: map[string]gopgutil.OrderAppenderRelation{
"qualification": {
Name: "Qualification",
},
},
Orders: cfg.Sort,
}.Apply).
Apply(cfg.Filter.Where)
}.Apply)
if cfg.Count {
total, err = query.SelectAndCount()
@ -150,7 +145,7 @@ func (repo *pgRepository) GenerateTest(ctx context.Context, cfg *question.Genera
Where(gopgutil.BuildConditionArray("qualification_id"), pg.Array(cfg.Qualifications)).
OrderExpr("random()").
Limit(cfg.Limit)
items := []*models.Question{}
var items []*models.Question
if err := repo.
Model(&items).
Context(ctx).

View File

@ -2,7 +2,6 @@ package usecase
import (
"context"
"github.com/Kichiyaki/gopgutil/v10"
"github.com/pkg/errors"
"github.com/zdam-egzamin-zawodowy/backend/internal/models"
"github.com/zdam-egzamin-zawodowy/backend/internal/question"
@ -73,7 +72,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg *question.FetchConfig) ([]*
if cfg.Limit > question.FetchMaxLimit {
cfg.Limit = question.FetchMaxLimit
}
cfg.Sort = gopgutil.SanitizeOrders(cfg.Sort)
return ucase.questionRepository.Fetch(ctx, cfg)
}

View File

@ -2,6 +2,7 @@ package repository
import (
"context"
"github.com/Kichiyaki/gopgutil/v10"
"github.com/pkg/errors"
"strings"
@ -61,7 +62,7 @@ func (repo *pgRepository) UpdateMany(ctx context.Context, f *models.UserFilter,
}
func (repo *pgRepository) Delete(ctx context.Context, f *models.UserFilter) ([]*models.User, error) {
items := []*models.User{}
var items []*models.User
if _, err := repo.
Model(&items).
Context(ctx).
@ -75,7 +76,7 @@ func (repo *pgRepository) Delete(ctx context.Context, f *models.UserFilter) ([]*
func (repo *pgRepository) Fetch(ctx context.Context, cfg *user.FetchConfig) ([]*models.User, int, error) {
var err error
items := []*models.User{}
var items []*models.User
total := 0
query := repo.
Model(&items).
@ -83,7 +84,9 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg *user.FetchConfig) ([]*
Limit(cfg.Limit).
Offset(cfg.Offset).
Apply(cfg.Filter.Where).
Order(cfg.Sort...)
Apply(gopgutil.OrderAppender{
Orders: cfg.Sort,
}.Apply)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -2,7 +2,6 @@ package usecase
import (
"context"
"github.com/Kichiyaki/gopgutil/v10"
"github.com/Kichiyaki/goutil/strutil"
"github.com/pkg/errors"
@ -82,7 +81,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg *user.FetchConfig) ([]*mode
if cfg.Limit > user.FetchMaxLimit || cfg.Limit <= 0 {
cfg.Limit = user.FetchMaxLimit
}
cfg.Sort = gopgutil.SanitizeOrders(cfg.Sort)
return ucase.userRepository.Fetch(ctx, cfg)
}