Merge pull request #1 from tribalwarshelp/update-go-pg-version
Prepare filters for the new go-pg version
This commit is contained in:
commit
2e3a6671ba
11
go.mod
11
go.mod
|
@ -1,12 +1,13 @@
|
|||
module github.com/tribalwarshelp/shared
|
||||
|
||||
go 1.14
|
||||
go 1.15
|
||||
|
||||
require (
|
||||
github.com/kr/pretty v0.1.0 // indirect
|
||||
github.com/go-pg/pg/v10 v10.7.3
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/sirupsen/logrus v1.7.0
|
||||
github.com/stretchr/testify v1.6.1 // indirect
|
||||
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
|
||||
github.com/vmihailenco/msgpack/v5 v5.1.4 // indirect
|
||||
go.opentelemetry.io/otel v0.15.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect
|
||||
golang.org/x/sys v0.0.0-20210105210732-16f7687f5001 // indirect
|
||||
)
|
||||
|
|
160
go.sum
160
go.sum
|
@ -1,26 +1,178 @@
|
|||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||
github.com/go-pg/pg/v10 v10.7.3 h1:oL/Hz5MJie/9epmwxlZjfReO+2wlLPOK6BeGb9I+XHk=
|
||||
github.com/go-pg/pg/v10 v10.7.3/go.mod h1:UsDYtA+ihbBNX1OeIvDejxkL4RXzL3wsZYoEv5NUEqM=
|
||||
github.com/go-pg/zerochecker v0.2.0 h1:pp7f72c3DobMWOb2ErtZsnrPaSvHd2W4o9//8HtF4mU=
|
||||
github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
|
||||
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
|
||||
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
|
||||
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
|
||||
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
||||
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
||||
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
|
||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
|
||||
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
|
||||
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
||||
github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M=
|
||||
github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
|
||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
||||
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
|
||||
github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA=
|
||||
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
|
||||
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
|
||||
github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94=
|
||||
github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ=
|
||||
github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
|
||||
github.com/vmihailenco/msgpack/v5 v5.0.0 h1:nCaMMPEyfgwkGc/Y0GreJPhuvzqCqW+Ufq5lY7zLO2c=
|
||||
github.com/vmihailenco/msgpack/v5 v5.0.0/go.mod h1:HVxBVPUK/+fZMonk4bi1islLa8V3cfnBug0+4dykPzo=
|
||||
github.com/vmihailenco/msgpack/v5 v5.1.4 h1:6K44/cU6dMNGkVTGGuu7ef2NdSRFMhAFGGLfE3cqtHM=
|
||||
github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI=
|
||||
github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
|
||||
github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc=
|
||||
github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
|
||||
go.opentelemetry.io/otel v0.14.0 h1:YFBEfjCk9MTjaytCNSUkp9Q8lF7QJezA06T71FbQxLQ=
|
||||
go.opentelemetry.io/otel v0.14.0/go.mod h1:vH5xEuwy7Rts0GNtsCW3HYQoZDY+OmBJ6t1bFGGlxgw=
|
||||
go.opentelemetry.io/otel v0.15.0 h1:CZFy2lPhxd4HlhZnYK8gRyDotksO3Ip9rBweY1vVYJw=
|
||||
go.opentelemetry.io/otel v0.15.0/go.mod h1:e4GKElweB8W2gWUqbghw0B8t5MCTccc9212eNHnOHwA=
|
||||
golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9 h1:phUcVbl53swtrUN8kQEXFhUxPlIlWyBfKmidCu7P95o=
|
||||
golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY=
|
||||
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1 h1:ogLJMz+qpzav7lGMh10LMvAkM/fAoGlaiiHYiFYdm80=
|
||||
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210105210732-16f7687f5001 h1:/dSxr6gT0FNI1MO5WLJo8mTmItROeOKTkDn+7OwWBos=
|
||||
golang.org/x/sys v0.0.0-20210105210732-16f7687f5001/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
|
||||
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
||||
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
|
||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w=
|
||||
mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ=
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type DailyPlayerStats struct {
|
||||
tableName struct{} `pg:"?SERVER.daily_player_stats,alias:daily_player_stats"`
|
||||
|
@ -16,19 +21,83 @@ type DailyPlayerStats struct {
|
|||
}
|
||||
|
||||
type DailyPlayerStatsFilter struct {
|
||||
tableName struct{} `urlstruct:"daily_player_stats"`
|
||||
|
||||
PlayerID []int `json:"playerID" gqlgen:"playerID" xml:"playerID"`
|
||||
PlayerIdNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ" xml:"playerIDNEQ"`
|
||||
PlayerFilter *PlayerFilter `urlstruct:",nowhere" json:"playerFilter" gqlgen:"playerFilter" xml:"playerFilter"`
|
||||
PlayerIDNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ" xml:"playerIDNEQ"`
|
||||
PlayerFilter *PlayerFilter `json:"playerFilter" gqlgen:"playerFilter" xml:"playerFilter"`
|
||||
|
||||
CreateDate time.Time `json:"createDate" gqlgen:"createDate" xml:"createDate"`
|
||||
CreateDateGT time.Time `json:"createDateGT" gqlgen:"createDateGT" xml:"createDateGT"`
|
||||
CreateDateGTE time.Time `json:"createDateGTE" gqlgen:"createDateGTE" xml:"createDateGTE"`
|
||||
CreateDateLT time.Time `json:"createDateLT" gqlgen:"createDateLT" xml:"createDateLT"`
|
||||
CreateDateLTE time.Time `json:"createDateLTE" gqlgen:"createDateLTE" xml:"createDateLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
||||
|
||||
func (f *DailyPlayerStatsFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.CreateDate) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("create_date", alias)), f.CreateDate)
|
||||
}
|
||||
if !isZero(f.CreateDateGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("create_date", alias)), f.CreateDateGT)
|
||||
}
|
||||
if !isZero(f.CreateDateGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("create_date", alias)), f.CreateDateGTE)
|
||||
}
|
||||
if !isZero(f.CreateDateLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("create_date", alias)), f.CreateDateLT)
|
||||
}
|
||||
if !isZero(f.CreateDateLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("create_date", alias)), f.CreateDateLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.PlayerID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerID))
|
||||
}
|
||||
if !isZero(f.PlayerIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerIDNEQ))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *DailyPlayerStatsFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "daily_player_stats")
|
||||
}
|
||||
|
||||
type DailyPlayerStatsRelationshipAndSortAppender struct {
|
||||
Filter *DailyPlayerStatsFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *DailyPlayerStatsRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
playerRequired := findStringWithPrefix(a.Sort, "player.") != ""
|
||||
playerTribeRequired := findStringWithPrefix(a.Sort, "player.tribe.") != ""
|
||||
if a.Filter.PlayerFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "player")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerRequired = true
|
||||
if a.Filter.PlayerFilter.TribeFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerTribeRequired = true
|
||||
}
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if playerRequired {
|
||||
q = q.Relation("Player._")
|
||||
}
|
||||
|
||||
if playerTribeRequired {
|
||||
q = q.Join("LEFT JOIN ?SERVER.tribes AS tribe ON tribe.id = player.tribe_id")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
|
@ -2,6 +2,9 @@ package models
|
|||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type DailyTribeStats struct {
|
||||
|
@ -21,19 +24,71 @@ type DailyTribeStats struct {
|
|||
}
|
||||
|
||||
type DailyTribeStatsFilter struct {
|
||||
tableName struct{} `urlstruct:"daily_tribe_stats"`
|
||||
|
||||
TribeID []int `json:"tribeID" gqlgen:"tribeID" xml:"tribeID"`
|
||||
TribeIdNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
TribeFilter *TribeFilter `urlstruct:",nowhere" json:"tribeFilter" gqlgen:"tribeFilter" xml:"tribeFilter"`
|
||||
TribeIDNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
TribeFilter *TribeFilter `json:"tribeFilter" gqlgen:"tribeFilter" xml:"tribeFilter"`
|
||||
|
||||
CreateDate time.Time `json:"createDate" gqlgen:"createDate" xml:"createDate"`
|
||||
CreateDateGT time.Time `json:"createDateGT" gqlgen:"createDateGT" xml:"createDateGT"`
|
||||
CreateDateGTE time.Time `json:"createDateGTE" gqlgen:"createDateGTE" xml:"createDateGTE"`
|
||||
CreateDateLT time.Time `json:"createDateLT" gqlgen:"createDateLT" xml:"createDateLT"`
|
||||
CreateDateLTE time.Time `json:"createDateLTE" gqlgen:"createDateLTE" xml:"createDateLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
||||
|
||||
func (f *DailyTribeStatsFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.CreateDate) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("create_date", alias)), f.CreateDate)
|
||||
}
|
||||
if !isZero(f.CreateDateGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("create_date", alias)), f.CreateDateGT)
|
||||
}
|
||||
if !isZero(f.CreateDateGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("create_date", alias)), f.CreateDateGTE)
|
||||
}
|
||||
if !isZero(f.CreateDateLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("create_date", alias)), f.CreateDateLT)
|
||||
}
|
||||
if !isZero(f.CreateDateLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("create_date", alias)), f.CreateDateLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.TribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("tribe_id", alias)), pg.Array(f.TribeID))
|
||||
}
|
||||
if !isZero(f.TribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("tribe_id", alias)), pg.Array(f.TribeIDNEQ))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *DailyTribeStatsFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "daily_tribe_stats")
|
||||
}
|
||||
|
||||
type DailyTibeStatsRelationshipAndSortAppender struct {
|
||||
Filter *DailyTribeStatsFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *DailyTibeStatsRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
tribeRequired := findStringWithPrefix(a.Sort, "tribe.") != ""
|
||||
if a.Filter.TribeFilter != nil {
|
||||
q, err = a.Filter.TribeFilter.WhereWithAlias(q, "tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
tribeRequired = true
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if tribeRequired {
|
||||
q = q.Relation("Tribe._")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type Ennoblement struct {
|
||||
tableName struct{} `pg:"?SERVER.ennoblements,alias:ennoblement"`
|
||||
|
@ -25,21 +30,43 @@ type EnnoblementFilterOr struct {
|
|||
OldOwnerTribeID []int `json:"oldOwnerTribeID" gqlgen:"oldOwnerTribeID" xml:"oldOwnerTribeID"`
|
||||
}
|
||||
|
||||
func (f *EnnoblementFilterOr) WhereWithAlias(q *orm.Query, alias string) *orm.Query {
|
||||
q = q.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
|
||||
if !isZero(f.NewOwnerID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("new_owner_id", alias)), pg.Array(f.NewOwnerID))
|
||||
}
|
||||
if !isZero(f.NewOwnerTribeID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("new_owner_tribe_id", alias)), pg.Array(f.NewOwnerTribeID))
|
||||
}
|
||||
if !isZero(f.OldOwnerID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("old_owner_id", alias)), pg.Array(f.OldOwnerID))
|
||||
}
|
||||
if !isZero(f.OldOwnerTribeID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("old_owner_tribe_id", alias)), pg.Array(f.OldOwnerTribeID))
|
||||
}
|
||||
return q, nil
|
||||
})
|
||||
return q
|
||||
}
|
||||
|
||||
type EnnoblementFilter struct {
|
||||
tableName struct{} `urlstruct:"ennoblement"`
|
||||
VillageID []int `json:"villageID" gqlgen:"villageID" xml:"villageID"`
|
||||
VillageIDNEQ []int `json:"villageIDNEQ" gqlgen:"villageIDNEQ" xml:"villageIDNEQ"`
|
||||
VillageFilter *VillageFilter `json:"villageFilter" xml:"villageFilter" gqlgen:"villageFilter"`
|
||||
|
||||
VillageID []int `json:"villageID" gqlgen:"villageID" xml:"villageID"`
|
||||
VillageIdNEQ []int `json:"villageIDNEQ" gqlgen:"villageIDNEQ" xml:"villageIDNEQ"`
|
||||
NewOwnerID []int `json:"newOwnerID" gqlgen:"newOwnerID" xml:"newOwnerID"`
|
||||
NewOwnerIDNEQ []int `json:"newOwnerIDNEQ" gqlgen:"newOwnerIDNEQ" xml:"newOwnerIDNEQ"`
|
||||
NewOwnerFilter *PlayerFilter `json:"newOwnerFilter" xml:"newOwnerFilter" gqlgen:"newOwnerFilter"`
|
||||
NewOwnerTribeID []int `json:"newOwnerTribeID" gqlgen:"newOwnerTribeID" xml:"newOwnerTribeID"`
|
||||
NewOwnerTribeIDNEQ []int `json:"newOwnerTribeIDNEQ" gqlgen:"newOwnerTribeIDNEQ" xml:"newOwnerTribeIDNEQ"`
|
||||
NewOwnerTribeFilter *TribeFilter `json:"newOwnerTribeFilter" xml:"newOwnerTribeFilter" gqlgen:"newOwnerTribeFilter"`
|
||||
|
||||
NewOwnerID []int `json:"newOwnerID" gqlgen:"newOwnerID" xml:"newOwnerID"`
|
||||
NewOwnerIdNEQ []int `json:"newOwnerIdNEQ" gqlgen:"newOwnerIdNEQ" xml:"newOwnerIdNEQ"`
|
||||
NewOwnerTribeID []int `json:"newOwnerTribeID" gqlgen:"newOwnerTribeID" xml:"newOwnerTribeID"`
|
||||
NewOwnerTribeIdNEQ []int `json:"newOwnerTribeIDNEQ" gqlgen:"newOwnerTribeIDNEQ" xml:"newOwnerTribeIDNEQ"`
|
||||
|
||||
OldOwnerID []int `json:"oldOwnerID" gqlgen:"oldOwnerID" xml:"oldOwnerID"`
|
||||
OldOwnerIdNEQ []int `json:"oldOwnerIdNEQ" gqlgen:"oldOwnerIdNEQ" xml:"oldOwnerIdNEQ"`
|
||||
OldOwnerTribeID []int `json:"oldOwnerTribeID" gqlgen:"oldOwnerTribeID" xml:"oldOwnerTribeID"`
|
||||
OldOwnerTribeIdNEQ []int `json:"oldOwnerTribeIDNEQ" gqlgen:"oldOwnerTribeIDNEQ" xml:"oldOwnerTribeIDNEQ"`
|
||||
OldOwnerID []int `json:"oldOwnerID" gqlgen:"oldOwnerID" xml:"oldOwnerID"`
|
||||
OldOwnerIDNEQ []int `json:"oldOwnerIDNEQ" gqlgen:"oldOwnerIDNEQ" xml:"oldOwnerIDNEQ"`
|
||||
OldOwnerFilter *PlayerFilter `json:"oldOwnerFilter" xml:"oldOwnerFilter" gqlgen:"oldOwnerFilter"`
|
||||
OldOwnerTribeID []int `json:"oldOwnerTribeID" gqlgen:"oldOwnerTribeID" xml:"oldOwnerTribeID"`
|
||||
OldOwnerTribeIDNEQ []int `json:"oldOwnerTribeIDNEQ" gqlgen:"oldOwnerTribeIDNEQ" xml:"oldOwnerTribeIDNEQ"`
|
||||
OldOwnerTribeFilter *TribeFilter `json:"oldOwnerTribeFilter" xml:"oldOwnerTribeFilter" gqlgen:"oldOwnerTribeFilter"`
|
||||
|
||||
EnnobledAt time.Time `json:"ennobledAt" gqlgen:"ennobledAt" xml:"ennobledAt"`
|
||||
EnnobledAtGT time.Time `json:"ennobledAtGT" gqlgen:"ennobledAtGT" xml:"ennobledAtGT"`
|
||||
|
@ -47,9 +74,139 @@ type EnnoblementFilter struct {
|
|||
EnnobledAtLT time.Time `json:"ennobledAtLT" gqlgen:"ennobledAtLT" xml:"ennobledAtLT"`
|
||||
EnnobledAtLTE time.Time `json:"ennobledAtLTE" gqlgen:"ennobledAtLTE" xml:"ennobledAtLTE"`
|
||||
|
||||
Or *EnnoblementFilterOr `urlstruct:",nowhere" json:"or" gqlgen:"or" xml:"or"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
Or *EnnoblementFilterOr `json:"or" gqlgen:"or" xml:"or"`
|
||||
}
|
||||
|
||||
func (f *EnnoblementFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.EnnobledAt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("ennobled_at", alias)), f.EnnobledAt)
|
||||
}
|
||||
if !isZero(f.EnnobledAtGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("ennobled_at", alias)), f.EnnobledAtGT)
|
||||
}
|
||||
if !isZero(f.EnnobledAtGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("ennobled_at", alias)), f.EnnobledAtGTE)
|
||||
}
|
||||
if !isZero(f.EnnobledAtLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("ennobled_at", alias)), f.EnnobledAtLT)
|
||||
}
|
||||
if !isZero(f.EnnobledAtLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("ennobled_at", alias)), f.EnnobledAtLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.VillageID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("village_id", alias)), pg.Array(f.VillageID))
|
||||
}
|
||||
if !isZero(f.VillageIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("village_id", alias)), pg.Array(f.VillageIDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.NewOwnerID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("new_owner_id", alias)), pg.Array(f.NewOwnerID))
|
||||
}
|
||||
if !isZero(f.NewOwnerIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("new_owner_id", alias)), pg.Array(f.NewOwnerIDNEQ))
|
||||
}
|
||||
if !isZero(f.NewOwnerTribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("new_owner_tribe_id", alias)), pg.Array(f.NewOwnerTribeID))
|
||||
}
|
||||
if !isZero(f.NewOwnerTribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("new_owner_tribe_id", alias)), pg.Array(f.NewOwnerTribeIDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.OldOwnerID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("old_owner_id", alias)), pg.Array(f.OldOwnerID))
|
||||
}
|
||||
if !isZero(f.OldOwnerIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("old_owner_id", alias)), pg.Array(f.OldOwnerIDNEQ))
|
||||
}
|
||||
if !isZero(f.OldOwnerTribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("old_owner_tribe_id", alias)), pg.Array(f.OldOwnerTribeID))
|
||||
}
|
||||
if !isZero(f.OldOwnerTribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("old_owner_tribe_id", alias)), pg.Array(f.OldOwnerTribeIDNEQ))
|
||||
}
|
||||
|
||||
if f.Or != nil {
|
||||
q = f.Or.WhereWithAlias(q, alias)
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *EnnoblementFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "ennoblement")
|
||||
}
|
||||
|
||||
type EnnoblementRelationshipAndSortAppender struct {
|
||||
Filter *EnnoblementFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *EnnoblementRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
villageRequired := findStringWithPrefix(a.Sort, "village.") != ""
|
||||
if a.Filter.VillageFilter != nil {
|
||||
q, err = a.Filter.VillageFilter.WhereWithAlias(q, "village")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
villageRequired = true
|
||||
}
|
||||
|
||||
oldOwnerRequired := findStringWithPrefix(a.Sort, "old_owner.") != ""
|
||||
if a.Filter.OldOwnerFilter != nil {
|
||||
q, err = a.Filter.OldOwnerFilter.WhereWithAlias(q, "old_owner")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
oldOwnerRequired = true
|
||||
}
|
||||
oldOwnerTribeRequired := findStringWithPrefix(a.Sort, "old_owner_tribe.") != ""
|
||||
if a.Filter.OldOwnerTribeFilter != nil {
|
||||
q, err = a.Filter.OldOwnerTribeFilter.WhereWithAlias(q, "old_owner_tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
oldOwnerTribeRequired = true
|
||||
}
|
||||
|
||||
newOwnerRequired := findStringWithPrefix(a.Sort, "new_owner.") != ""
|
||||
if a.Filter.NewOwnerFilter != nil {
|
||||
q, err = a.Filter.NewOwnerFilter.WhereWithAlias(q, "new_owner")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
newOwnerRequired = true
|
||||
}
|
||||
newOwnerTribeRequired := findStringWithPrefix(a.Sort, "new_owner_tribe.") != ""
|
||||
if a.Filter.NewOwnerTribeFilter != nil {
|
||||
q, err = a.Filter.NewOwnerTribeFilter.WhereWithAlias(q, "new_owner_tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
newOwnerTribeRequired = true
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if villageRequired {
|
||||
q = q.Relation("Village._")
|
||||
}
|
||||
if oldOwnerRequired {
|
||||
q = q.Relation("OldOwner._")
|
||||
}
|
||||
if oldOwnerTribeRequired {
|
||||
q = q.Relation("OldOwnerTribe._")
|
||||
}
|
||||
if newOwnerRequired {
|
||||
q = q.Relation("NewOwner._")
|
||||
}
|
||||
if newOwnerTribeRequired {
|
||||
q = q.Relation("NewOwnerTribe._")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func addAliasToColumnName(column, prefix string) string {
|
||||
if prefix != "" && !strings.HasPrefix(column, prefix+".") {
|
||||
column = wrapStringInDoubleQuotes(prefix) + "." + wrapStringInDoubleQuotes(column)
|
||||
} else {
|
||||
column = wrapStringInDoubleQuotes(column)
|
||||
}
|
||||
return column
|
||||
}
|
||||
|
||||
func wrapStringInDoubleQuotes(str string) string {
|
||||
return `"` + str + `"`
|
||||
}
|
||||
|
||||
func buildConditionEquals(column string) string {
|
||||
return column + "= ?"
|
||||
}
|
||||
|
||||
func buildConditionLT(column string) string {
|
||||
return column + "< ?"
|
||||
}
|
||||
|
||||
func buildConditionLTE(column string) string {
|
||||
return column + "<= ?"
|
||||
}
|
||||
|
||||
func buildConditionGT(column string) string {
|
||||
return column + "> ?"
|
||||
}
|
||||
|
||||
func buildConditionGTE(column string) string {
|
||||
return column + ">= ?"
|
||||
}
|
||||
|
||||
func buildConditionMatch(column string) string {
|
||||
return column + "LIKE ?"
|
||||
}
|
||||
|
||||
func buildConditionIEQ(column string) string {
|
||||
return column + "ILIKE ?"
|
||||
}
|
||||
|
||||
func buildConditionArray(column string) string {
|
||||
return column + " = ANY(?)"
|
||||
}
|
||||
|
||||
func buildConditionNotInArray(column string) string {
|
||||
return "NOT (" + buildConditionArray(column) + ")"
|
||||
}
|
||||
|
||||
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 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
|
||||
}
|
||||
}
|
||||
|
||||
func findStringWithPrefix(sl []string, prefix string) string {
|
||||
for _, s := range sl {
|
||||
if strings.HasPrefix(s, prefix) {
|
||||
return s
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
|
@ -1,14 +1,16 @@
|
|||
package models
|
||||
|
||||
import "github.com/go-pg/pg/v10/orm"
|
||||
|
||||
type OpponentsDefeated struct {
|
||||
RankAtt int `json:"rankAtt" pg:",use_zero" gqlgen:"rankAtt"`
|
||||
ScoreAtt int `pg:",use_zero" json:"scoreAtt" gqlgen:"scoreAtt"`
|
||||
RankDef int `pg:",use_zero" json:"rankDef" gqlgen:"rankDef"`
|
||||
ScoreDef int `pg:",use_zero" json:"scoreDef" gqlgen:"scoreDef"`
|
||||
RankTotal int `pg:",use_zero" json:"rankTotal" gqlgen:"rankTotal"`
|
||||
ScoreTotal int `pg:",use_zero" json:"scoreTotal" gqlgen:"scoreTotal"`
|
||||
RankSup int `pg:",use_zero" json:"rankSup,omitempty" gqlgen:"rankSup"`
|
||||
ScoreSup int `pg:",use_zero" json:"scoreSup,omitempty" gqlgen:"scoreSup"`
|
||||
RankTotal int `pg:",use_zero" json:"rankTotal" gqlgen:"rankTotal"`
|
||||
ScoreTotal int `pg:",use_zero" json:"scoreTotal" gqlgen:"scoreTotal"`
|
||||
}
|
||||
|
||||
type OpponentsDefeatedFilter struct {
|
||||
|
@ -34,17 +36,6 @@ type OpponentsDefeatedFilter struct {
|
|||
ScoreDefLT int `json:"scoreDefLT" gqlgen:"scoreDefLT"`
|
||||
ScoreDefLTE int `json:"scoreDefLTE" gqlgen:"scoreDefLTE"`
|
||||
|
||||
RankTotal int `json:"rankTotal" gqlgen:"rankTotal"`
|
||||
RankTotalGT int `json:"rankTotalGT" gqlgen:"rankTotalGT"`
|
||||
RankTotalGTE int `json:"rankTotalGTE" gqlgen:"rankTotalGTE"`
|
||||
RankTotalLT int `json:"rankTotalLT" gqlgen:"rankTotalLT"`
|
||||
RankTotalLTE int `json:"rankTotalLTE" gqlgen:"rankTotalLTE"`
|
||||
ScoreTotal int `json:"scoreTotal" gqlgen:"scoreTotal"`
|
||||
ScoreTotalGT int `json:"scoreTotalGT" gqlgen:"scoreTotalGT"`
|
||||
ScoreTotalGTE int `json:"scoreTotalGTE" gqlgen:"scoreTotalGTE"`
|
||||
ScoreTotalLT int `json:"scoreTotalLT" gqlgen:"scoreTotalLT"`
|
||||
ScoreTotalLTE int `json:"scoreTotalLTE" gqlgen:"scoreTotalLTE"`
|
||||
|
||||
RankSup int `json:"rankSup,omitempty" gqlgen:"rankSup"`
|
||||
RankSupGT int `json:"rankSupGT,omitempty" gqlgen:"rankSupGT"`
|
||||
RankSupGTE int `json:"rankSupGTE,omitempty" gqlgen:"rankSupGTE"`
|
||||
|
@ -55,4 +46,143 @@ type OpponentsDefeatedFilter struct {
|
|||
ScoreSupGTE int `json:"scoreSupGTE,omitempty" gqlgen:"scoreSupGTE"`
|
||||
ScoreSupLT int `json:"scoreSupLT,omitempty" gqlgen:"scoreSupLT"`
|
||||
ScoreSupLTE int `json:"scoreSupLTE,omitempty" gqlgen:"scoreSupLTE"`
|
||||
|
||||
RankTotal int `json:"rankTotal" gqlgen:"rankTotal"`
|
||||
RankTotalGT int `json:"rankTotalGT" gqlgen:"rankTotalGT"`
|
||||
RankTotalGTE int `json:"rankTotalGTE" gqlgen:"rankTotalGTE"`
|
||||
RankTotalLT int `json:"rankTotalLT" gqlgen:"rankTotalLT"`
|
||||
RankTotalLTE int `json:"rankTotalLTE" gqlgen:"rankTotalLTE"`
|
||||
ScoreTotal int `json:"scoreTotal" gqlgen:"scoreTotal"`
|
||||
ScoreTotalGT int `json:"scoreTotalGT" gqlgen:"scoreTotalGT"`
|
||||
ScoreTotalGTE int `json:"scoreTotalGTE" gqlgen:"scoreTotalGTE"`
|
||||
ScoreTotalLT int `json:"scoreTotalLT" gqlgen:"scoreTotalLT"`
|
||||
ScoreTotalLTE int `json:"scoreTotalLTE" gqlgen:"scoreTotalLTE"`
|
||||
}
|
||||
|
||||
func (f *OpponentsDefeatedFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.RankAtt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("rank_att", alias)), f.RankAtt)
|
||||
}
|
||||
if !isZero(f.RankAttGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("rank_att", alias)), f.RankAttGT)
|
||||
}
|
||||
if !isZero(f.RankAttGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("rank_att", alias)), f.RankAttGTE)
|
||||
}
|
||||
if !isZero(f.RankAttLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("rank_att", alias)), f.RankAttLT)
|
||||
}
|
||||
if !isZero(f.RankAttLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("rank_att", alias)), f.RankAttLTE)
|
||||
}
|
||||
if !isZero(f.ScoreAtt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("score_att", alias)), f.ScoreAtt)
|
||||
}
|
||||
if !isZero(f.ScoreAttGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("score_att", alias)), f.ScoreAttGT)
|
||||
}
|
||||
if !isZero(f.ScoreAttGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("score_att", alias)), f.ScoreAttGTE)
|
||||
}
|
||||
if !isZero(f.ScoreAttLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("score_att", alias)), f.ScoreAttLT)
|
||||
}
|
||||
if !isZero(f.ScoreAttLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("score_att", alias)), f.ScoreAttLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.RankDef) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("rank_def", alias)), f.RankDef)
|
||||
}
|
||||
if !isZero(f.RankDefGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("rank_def", alias)), f.RankDefGT)
|
||||
}
|
||||
if !isZero(f.RankDefGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("rank_def", alias)), f.RankDefGTE)
|
||||
}
|
||||
if !isZero(f.RankDefLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("rank_def", alias)), f.RankDefLT)
|
||||
}
|
||||
if !isZero(f.RankDefLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("rank_def", alias)), f.RankDefLTE)
|
||||
}
|
||||
if !isZero(f.ScoreDef) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("score_def", alias)), f.ScoreDef)
|
||||
}
|
||||
if !isZero(f.ScoreDefGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("score_def", alias)), f.ScoreDefGT)
|
||||
}
|
||||
if !isZero(f.ScoreDefGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("score_def", alias)), f.ScoreDefGTE)
|
||||
}
|
||||
if !isZero(f.ScoreDefLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("score_def", alias)), f.ScoreDefLT)
|
||||
}
|
||||
if !isZero(f.ScoreDefLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("score_def", alias)), f.ScoreDefLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.RankSup) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("rank_sup", alias)), f.RankSup)
|
||||
}
|
||||
if !isZero(f.RankSupGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("rank_sup", alias)), f.RankSupGT)
|
||||
}
|
||||
if !isZero(f.RankSupGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("rank_sup", alias)), f.RankSupGTE)
|
||||
}
|
||||
if !isZero(f.RankSupLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("rank_sup", alias)), f.RankSupLT)
|
||||
}
|
||||
if !isZero(f.RankSupLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("rank_sup", alias)), f.RankSupLTE)
|
||||
}
|
||||
if !isZero(f.ScoreSup) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("score_sup", alias)), f.ScoreSup)
|
||||
}
|
||||
if !isZero(f.ScoreSupGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("score_sup", alias)), f.ScoreSupGT)
|
||||
}
|
||||
if !isZero(f.ScoreSupGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("score_sup", alias)), f.ScoreSupGTE)
|
||||
}
|
||||
if !isZero(f.ScoreSupLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("score_sup", alias)), f.ScoreSupLT)
|
||||
}
|
||||
if !isZero(f.ScoreSupLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("score_sup", alias)), f.ScoreSupLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.RankTotal) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("rank_total", alias)), f.RankTotal)
|
||||
}
|
||||
if !isZero(f.RankTotalGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("rank_total", alias)), f.RankTotalGT)
|
||||
}
|
||||
if !isZero(f.RankTotalGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("rank_total", alias)), f.RankTotalGTE)
|
||||
}
|
||||
if !isZero(f.RankTotalLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("rank_total", alias)), f.RankTotalLT)
|
||||
}
|
||||
if !isZero(f.RankTotalLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("rank_total", alias)), f.RankTotalLTE)
|
||||
}
|
||||
if !isZero(f.ScoreTotal) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("score_total", alias)), f.ScoreTotal)
|
||||
}
|
||||
if !isZero(f.ScoreTotalGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("score_total", alias)), f.ScoreTotalGT)
|
||||
}
|
||||
if !isZero(f.ScoreTotalGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("score_total", alias)), f.ScoreTotalGTE)
|
||||
}
|
||||
if !isZero(f.ScoreTotalLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("score_total", alias)), f.ScoreTotalLT)
|
||||
}
|
||||
if !isZero(f.ScoreTotalLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("score_total", alias)), f.ScoreTotalLTE)
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
183
models/player.go
183
models/player.go
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type Player struct {
|
||||
tableName struct{} `pg:"?SERVER.players,alias:player"`
|
||||
|
@ -27,12 +32,10 @@ type Player struct {
|
|||
}
|
||||
|
||||
type PlayerFilter struct {
|
||||
tableName struct{} `urlstruct:"player"`
|
||||
|
||||
ID []int `json:"id" gqlgen:"id" xml:"id"`
|
||||
IdNEQ []int `json:"idNEQ" gqlgen:"idNEQ" xml:"idNEQ"`
|
||||
IDNEQ []int `json:"idNEQ" gqlgen:"idNEQ" xml:"idNEQ"`
|
||||
|
||||
Exists *bool `urlstruct:",nowhere" json:"exists" gqlgen:"exists" xml:"exists"`
|
||||
Exists *bool ` json:"exists" gqlgen:"exists" xml:"exists"`
|
||||
|
||||
Name []string `json:"name" gqlgen:"name" xml:"name"`
|
||||
NameNEQ []string `json:"nameNEQ" gqlgen:"nameNEQ" xml:"nameNEQ"`
|
||||
|
@ -76,16 +79,174 @@ type PlayerFilter struct {
|
|||
DeletedAtLTE time.Time `json:"deletedAtLTE" gqlgen:"deletedAtLTE" xml:"deletedAtLTE"`
|
||||
|
||||
TribeID []int `json:"tribeID" gqlgen:"tribeID" xml:"tribeID"`
|
||||
TribeIdNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
TribeFilter *TribeFilter `urlstruct:",nowhere" json:"tribeFilter" gqlgen:"tribeFilter" xml:"tribeFilter"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
TribeIDNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
TribeFilter *TribeFilter `json:"tribeFilter" gqlgen:"tribeFilter" xml:"tribeFilter"`
|
||||
|
||||
OpponentsDefeatedFilter
|
||||
}
|
||||
|
||||
func (f *PlayerFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.ID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("id", alias)), pg.Array(f.ID))
|
||||
}
|
||||
if !isZero(f.IDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.Exists) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("exists", alias)), f.Exists)
|
||||
}
|
||||
|
||||
if !isZero(f.Name) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("name", alias)), pg.Array(f.Name))
|
||||
}
|
||||
if !isZero(f.NameNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("name", alias)), pg.Array(f.NameNEQ))
|
||||
}
|
||||
if !isZero(f.NameMATCH) {
|
||||
q = q.Where(buildConditionMatch(addAliasToColumnName("name", alias)), f.NameMATCH)
|
||||
}
|
||||
if !isZero(f.NameIEQ) {
|
||||
q = q.Where(buildConditionIEQ(addAliasToColumnName("name", alias)), f.NameIEQ)
|
||||
}
|
||||
|
||||
if !isZero(f.TotalVillages) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("total_villages", alias)), f.TotalVillages)
|
||||
}
|
||||
if !isZero(f.TotalVillagesGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("total_villages", alias)), f.TotalVillagesGT)
|
||||
}
|
||||
if !isZero(f.TotalVillagesGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("total_villages", alias)), f.TotalVillagesGTE)
|
||||
}
|
||||
if !isZero(f.TotalVillagesLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("total_villages", alias)), f.TotalVillagesLT)
|
||||
}
|
||||
if !isZero(f.TotalVillagesLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("total_villages", alias)), f.TotalVillagesLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.Points) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("points", alias)), f.Points)
|
||||
}
|
||||
if !isZero(f.PointsGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("points", alias)), f.PointsGT)
|
||||
}
|
||||
if !isZero(f.PointsGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("points", alias)), f.PointsGTE)
|
||||
}
|
||||
if !isZero(f.PointsLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("points", alias)), f.PointsLT)
|
||||
}
|
||||
if !isZero(f.PointsLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("points", alias)), f.PointsLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.Rank) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("rank", alias)), f.Rank)
|
||||
}
|
||||
if !isZero(f.RankGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("rank", alias)), f.RankGT)
|
||||
}
|
||||
if !isZero(f.RankGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("rank", alias)), f.RankGTE)
|
||||
}
|
||||
if !isZero(f.RankLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("rank", alias)), f.RankLT)
|
||||
}
|
||||
if !isZero(f.RankLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("rank", alias)), f.RankLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.DailyGrowth) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("daily_growth", alias)), f.DailyGrowth)
|
||||
}
|
||||
if !isZero(f.DailyGrowthGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("daily_growth", alias)), f.DailyGrowthGT)
|
||||
}
|
||||
if !isZero(f.DailyGrowthGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("daily_growth", alias)), f.DailyGrowthGTE)
|
||||
}
|
||||
if !isZero(f.DailyGrowthLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("daily_growth", alias)), f.DailyGrowthLT)
|
||||
}
|
||||
if !isZero(f.DailyGrowthLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("daily_growth", alias)), f.DailyGrowthLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.JoinedAt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("joined_at", alias)), f.JoinedAt)
|
||||
}
|
||||
if !isZero(f.JoinedAtGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("joined_at", alias)), f.JoinedAtGT)
|
||||
}
|
||||
if !isZero(f.JoinedAtGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("joined_at", alias)), f.JoinedAtGTE)
|
||||
}
|
||||
if !isZero(f.JoinedAtLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("joined_at", alias)), f.JoinedAtLT)
|
||||
}
|
||||
if !isZero(f.JoinedAtLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("joined_at", alias)), f.JoinedAtLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.DeletedAt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("deleted_at", alias)), f.DeletedAt)
|
||||
}
|
||||
if !isZero(f.DeletedAtGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("deleted_at", alias)), f.DeletedAtGT)
|
||||
}
|
||||
if !isZero(f.DeletedAtGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("deleted_at", alias)), f.DeletedAtGTE)
|
||||
}
|
||||
if !isZero(f.DeletedAtLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("deleted_at", alias)), f.DeletedAtLT)
|
||||
}
|
||||
if !isZero(f.DeletedAtLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("deleted_at", alias)), f.DeletedAtLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.TribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("tribe_id", alias)), pg.Array(f.TribeID))
|
||||
}
|
||||
if !isZero(f.TribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("tribe_id", alias)), pg.Array(f.TribeIDNEQ))
|
||||
}
|
||||
|
||||
return f.OpponentsDefeatedFilter.WhereWithAlias(q, alias)
|
||||
}
|
||||
|
||||
func (f *PlayerFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "player")
|
||||
}
|
||||
|
||||
type PlayerRelationshipAndSortAppender struct {
|
||||
Filter *PlayerFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *PlayerRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
tribeRequired := findStringWithPrefix(a.Sort, "tribe.") != ""
|
||||
if a.Filter.TribeFilter != nil {
|
||||
q, err = a.Filter.TribeFilter.WhereWithAlias(q, "tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
tribeRequired = true
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if tribeRequired {
|
||||
q = q.Relation("Tribe._")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
type FoundPlayer struct {
|
||||
Server string `json:"server" xml:"server" gqlgen:"server"`
|
||||
ID int `json:"id" gqlgen:"id" xml:"id"`
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type PlayerHistory struct {
|
||||
tableName struct{} `pg:"?SERVER.player_history,alias:player_history"`
|
||||
|
@ -18,18 +23,83 @@ type PlayerHistory struct {
|
|||
}
|
||||
|
||||
type PlayerHistoryFilter struct {
|
||||
tableName struct{} `urlstruct:"player_history"`
|
||||
|
||||
PlayerID []int `json:"playerID" gqlgen:"playerID" xml:"playerID"`
|
||||
PlayerIdNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ" xml:"playerIDNEQ"`
|
||||
PlayerID []int `json:"playerID" gqlgen:"playerID" xml:"playerID"`
|
||||
PlayerIDNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ" xml:"playerIDNEQ"`
|
||||
PlayerFilter *PlayerFilter `json:"playerFilter" xml:"playerFilter" gqlgen:"playerFilter"`
|
||||
|
||||
CreateDate time.Time `json:"createDate" gqlgen:"createDate" xml:"createDate"`
|
||||
CreateDateGT time.Time `json:"createDateGT" gqlgen:"createDateGT" xml:"createDateGT"`
|
||||
CreateDateGTE time.Time `json:"createDateGTE" gqlgen:"createDateGTE" xml:"createDateGTE"`
|
||||
CreateDateLT time.Time `json:"createDateLT" gqlgen:"createDateLT" xml:"createDateLT"`
|
||||
CreateDateLTE time.Time `json:"createDateLTE" gqlgen:"createDateLTE" xml:"createDateLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
||||
|
||||
func (f *PlayerHistoryFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.CreateDate) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("create_date", alias)), f.CreateDate)
|
||||
}
|
||||
if !isZero(f.CreateDateGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("create_date", alias)), f.CreateDateGT)
|
||||
}
|
||||
if !isZero(f.CreateDateGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("create_date", alias)), f.CreateDateGTE)
|
||||
}
|
||||
if !isZero(f.CreateDateLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("create_date", alias)), f.CreateDateLT)
|
||||
}
|
||||
if !isZero(f.CreateDateLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("create_date", alias)), f.CreateDateLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.PlayerID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerID))
|
||||
}
|
||||
if !isZero(f.PlayerIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerIDNEQ))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *PlayerHistoryFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "player_history")
|
||||
}
|
||||
|
||||
type PlayerHistoryRelationshipAndSortAppender struct {
|
||||
Filter *PlayerHistoryFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *PlayerHistoryRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
playerRequired := findStringWithPrefix(a.Sort, "player.") != ""
|
||||
playerTribeRequired := findStringWithPrefix(a.Sort, "player.tribe.") != ""
|
||||
if a.Filter.PlayerFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "player")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerRequired = true
|
||||
if a.Filter.PlayerFilter.TribeFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerTribeRequired = true
|
||||
}
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if playerRequired {
|
||||
q = q.Relation("Player._")
|
||||
}
|
||||
|
||||
if playerTribeRequired {
|
||||
q = q.Join("LEFT JOIN ?SERVER.tribes AS tribe ON tribe.id = player.tribe_id")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
|
@ -6,6 +6,9 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type ServerStatus string
|
||||
|
@ -67,8 +70,6 @@ type Server struct {
|
|||
}
|
||||
|
||||
type ServerFilter struct {
|
||||
tableName struct{} `urlstruct:"server"`
|
||||
|
||||
Key []string `json:"key" gqlgen:"key"`
|
||||
KeyNEQ []string `json:"keyNEQ" gqlgen:"keyNEQ"`
|
||||
KeyMATCH string `json:"keyMATCH" gqlgen:"keyMATCH"`
|
||||
|
@ -79,8 +80,39 @@ type ServerFilter struct {
|
|||
|
||||
VersionCode []VersionCode `json:"versionCode" gqlgen:"versionCode"`
|
||||
VersionCodeNEQ []VersionCode `json:"versionCodeNEQ" gqlgen:"versionCodeNEQ"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort"`
|
||||
}
|
||||
|
||||
func (f *ServerFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.Key) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("key", alias)), pg.Array(f.Key))
|
||||
}
|
||||
if !isZero(f.KeyNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("key", alias)), pg.Array(f.KeyNEQ))
|
||||
}
|
||||
if !isZero(f.KeyMATCH) {
|
||||
q = q.Where(buildConditionMatch(addAliasToColumnName("key", alias)), f.KeyMATCH)
|
||||
}
|
||||
if !isZero(f.KeyIEQ) {
|
||||
q = q.Where(buildConditionIEQ(addAliasToColumnName("key", alias)), f.KeyIEQ)
|
||||
}
|
||||
|
||||
if !isZero(f.Status) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("status", alias)), pg.Array(f.Status))
|
||||
}
|
||||
if !isZero(f.StatusNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("status", alias)), pg.Array(f.StatusNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.VersionCode) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("version_code", alias)), pg.Array(f.VersionCode))
|
||||
}
|
||||
if !isZero(f.VersionCodeNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("version_code", alias)), pg.Array(f.VersionCodeNEQ))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *ServerFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "server")
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package models
|
|||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type ServerStats struct {
|
||||
|
@ -30,15 +32,33 @@ func (s *ServerStats) BeforeInsert(ctx context.Context) (context.Context, error)
|
|||
}
|
||||
|
||||
type ServerStatsFilter struct {
|
||||
tableName struct{} `urlstruct:"stats"`
|
||||
|
||||
CreateDate time.Time `json:"createDate" gqlgen:"createDate" xml:"createDate"`
|
||||
CreateDateGT time.Time `json:"createDateGT" gqlgen:"createDateGT" xml:"createDateGT"`
|
||||
CreateDateGTE time.Time `json:"createDateGTE" gqlgen:"createDateGTE" xml:"createDateGTE"`
|
||||
CreateDateLT time.Time `json:"createDateLT" gqlgen:"createDateLT" xml:"createDateLT"`
|
||||
CreateDateLTE time.Time `json:"createDateLTE" gqlgen:"createDateLTE" xml:"createDateLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort"`
|
||||
}
|
||||
|
||||
func (f *ServerStatsFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.CreateDate) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("create_date", alias)), f.CreateDate)
|
||||
}
|
||||
if !isZero(f.CreateDateGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("create_date", alias)), f.CreateDateGT)
|
||||
}
|
||||
if !isZero(f.CreateDateGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("create_date", alias)), f.CreateDateGTE)
|
||||
}
|
||||
if !isZero(f.CreateDateLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("create_date", alias)), f.CreateDateLT)
|
||||
}
|
||||
if !isZero(f.CreateDateLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("create_date", alias)), f.CreateDateLTE)
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *ServerStatsFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "stats")
|
||||
}
|
||||
|
|
217
models/tribe.go
217
models/tribe.go
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type Tribe struct {
|
||||
tableName struct{} `pg:"?SERVER.tribes,alias:tribe"`
|
||||
|
@ -27,13 +32,33 @@ type Tribe struct {
|
|||
OpponentsDefeated
|
||||
}
|
||||
|
||||
type TribeFilterOr struct {
|
||||
ID []int `json:"id" xml:"id" gqlgen:"id"`
|
||||
TagIEQ string `json:"tagIEQ" xml:"tagIEQ" gqlgen:"tagIEQ"`
|
||||
NameIEQ string `json:"nameIEQ" xml:"nameIEQ" gqlgen:"nameIEQ"`
|
||||
}
|
||||
|
||||
func (f *TribeFilterOr) WhereWithAlias(q *orm.Query, alias string) *orm.Query {
|
||||
q = q.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
|
||||
if !isZero(f.ID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("id", alias)), pg.Array(f.ID))
|
||||
}
|
||||
if !isZero(f.TagIEQ) {
|
||||
q = q.WhereOr(buildConditionIEQ(addAliasToColumnName("tag", alias)), f.TagIEQ)
|
||||
}
|
||||
if !isZero(f.NameIEQ) {
|
||||
q = q.WhereOr(buildConditionIEQ(addAliasToColumnName("name", alias)), f.NameIEQ)
|
||||
}
|
||||
return q, nil
|
||||
})
|
||||
return q
|
||||
}
|
||||
|
||||
type TribeFilter struct {
|
||||
tableName struct{} `urlstruct:"tribe"`
|
||||
|
||||
ID []int `json:"id" gqlgen:"id"`
|
||||
IdNEQ []int `json:"idNEQ" gqlgen:"idNEQ"`
|
||||
IDNEQ []int `json:"idNEQ" gqlgen:"idNEQ"`
|
||||
|
||||
Exists *bool `urlstruct:",nowhere" json:"exists" gqlgen:"exists"`
|
||||
Exists *bool `json:"exists" gqlgen:"exists"`
|
||||
|
||||
Tag []string `json:"tag" gqlgen:"tag"`
|
||||
TagNEQ []string `json:"tagNEQ" gqlgen:"tagNEQ"`
|
||||
|
@ -93,11 +118,185 @@ type TribeFilter struct {
|
|||
DeletedAtLT time.Time `json:"deletedAtLT" gqlgen:"deletedAtLT" xml:"deletedAtLT"`
|
||||
DeletedAtLTE time.Time `json:"deletedAtLTE" gqlgen:"deletedAtLTE" xml:"deletedAtLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort"`
|
||||
|
||||
OpponentsDefeatedFilter
|
||||
Or *TribeFilterOr
|
||||
}
|
||||
|
||||
func (f *TribeFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.ID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("id", alias)), pg.Array(f.ID))
|
||||
}
|
||||
if !isZero(f.IDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.Exists) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("exists", alias)), f.Exists)
|
||||
}
|
||||
|
||||
if !isZero(f.Tag) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("tag", alias)), pg.Array(f.Tag))
|
||||
}
|
||||
if !isZero(f.TagNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("tag", alias)), pg.Array(f.TagNEQ))
|
||||
}
|
||||
if !isZero(f.TagMATCH) {
|
||||
q = q.Where(buildConditionMatch(addAliasToColumnName("tag", alias)), f.TagMATCH)
|
||||
}
|
||||
if !isZero(f.TagIEQ) {
|
||||
q = q.Where(buildConditionIEQ(addAliasToColumnName("tag", alias)), f.TagIEQ)
|
||||
}
|
||||
|
||||
if !isZero(f.Name) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("name", alias)), pg.Array(f.Name))
|
||||
}
|
||||
if !isZero(f.NameNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("name", alias)), pg.Array(f.NameNEQ))
|
||||
}
|
||||
if !isZero(f.NameMATCH) {
|
||||
q = q.Where(buildConditionMatch(addAliasToColumnName("name", alias)), f.NameMATCH)
|
||||
}
|
||||
if !isZero(f.NameIEQ) {
|
||||
q = q.Where(buildConditionIEQ(addAliasToColumnName("name", alias)), f.NameIEQ)
|
||||
}
|
||||
|
||||
if !isZero(f.TotalMembers) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("total_members", alias)), f.TotalMembers)
|
||||
}
|
||||
if !isZero(f.TotalMembersGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("total_members", alias)), f.TotalMembersGT)
|
||||
}
|
||||
if !isZero(f.TotalMembersGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("total_members", alias)), f.TotalMembersGTE)
|
||||
}
|
||||
if !isZero(f.TotalMembersLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("total_members", alias)), f.TotalMembersLT)
|
||||
}
|
||||
if !isZero(f.TotalMembersLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("total_members", alias)), f.TotalMembersLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.TotalVillages) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("total_villages", alias)), f.TotalVillages)
|
||||
}
|
||||
if !isZero(f.TotalVillagesGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("total_villages", alias)), f.TotalVillagesGT)
|
||||
}
|
||||
if !isZero(f.TotalVillagesGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("total_villages", alias)), f.TotalVillagesGTE)
|
||||
}
|
||||
if !isZero(f.TotalVillagesLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("total_villages", alias)), f.TotalVillagesLT)
|
||||
}
|
||||
if !isZero(f.TotalVillagesLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("total_villages", alias)), f.TotalVillagesLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.Points) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("points", alias)), f.Points)
|
||||
}
|
||||
if !isZero(f.PointsGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("points", alias)), f.PointsGT)
|
||||
}
|
||||
if !isZero(f.PointsGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("points", alias)), f.PointsGTE)
|
||||
}
|
||||
if !isZero(f.PointsLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("points", alias)), f.PointsLT)
|
||||
}
|
||||
if !isZero(f.PointsLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("points", alias)), f.PointsLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.AllPoints) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("all_points", alias)), f.AllPoints)
|
||||
}
|
||||
if !isZero(f.AllPointsGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("all_points", alias)), f.AllPointsGT)
|
||||
}
|
||||
if !isZero(f.AllPointsGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("all_points", alias)), f.AllPointsGTE)
|
||||
}
|
||||
if !isZero(f.AllPointsLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("all_points", alias)), f.AllPointsLT)
|
||||
}
|
||||
if !isZero(f.AllPointsLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("all_points", alias)), f.AllPointsLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.Rank) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("rank", alias)), f.Rank)
|
||||
}
|
||||
if !isZero(f.RankGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("rank", alias)), f.RankGT)
|
||||
}
|
||||
if !isZero(f.RankGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("rank", alias)), f.RankGTE)
|
||||
}
|
||||
if !isZero(f.RankLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("rank", alias)), f.RankLT)
|
||||
}
|
||||
if !isZero(f.RankLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("rank", alias)), f.RankLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.Dominance) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("dominance", alias)), f.Dominance)
|
||||
}
|
||||
if !isZero(f.DominanceGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("dominance", alias)), f.DominanceGT)
|
||||
}
|
||||
if !isZero(f.DominanceGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("dominance", alias)), f.DominanceGTE)
|
||||
}
|
||||
if !isZero(f.DominanceLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("dominance", alias)), f.DominanceLT)
|
||||
}
|
||||
if !isZero(f.DominanceLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("dominance", alias)), f.DominanceLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.CreatedAt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("created_at", alias)), f.CreatedAt)
|
||||
}
|
||||
if !isZero(f.CreatedAtGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("created_at", alias)), f.CreatedAtGT)
|
||||
}
|
||||
if !isZero(f.CreatedAtGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("created_at", alias)), f.CreatedAtGTE)
|
||||
}
|
||||
if !isZero(f.CreatedAtLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("created_at", alias)), f.CreatedAtLT)
|
||||
}
|
||||
if !isZero(f.CreatedAtLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("created_at", alias)), f.CreatedAtLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.DeletedAt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("deleted_at", alias)), f.DeletedAt)
|
||||
}
|
||||
if !isZero(f.DeletedAtGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("deleted_at", alias)), f.DeletedAtGT)
|
||||
}
|
||||
if !isZero(f.DeletedAtGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("deleted_at", alias)), f.DeletedAtGTE)
|
||||
}
|
||||
if !isZero(f.DeletedAtLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("deleted_at", alias)), f.DeletedAtLT)
|
||||
}
|
||||
if !isZero(f.DeletedAtLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("deleted_at", alias)), f.DeletedAtLTE)
|
||||
}
|
||||
|
||||
if f.Or != nil {
|
||||
q = f.Or.WhereWithAlias(q, alias)
|
||||
}
|
||||
|
||||
return f.OpponentsDefeatedFilter.WhereWithAlias(q, alias)
|
||||
}
|
||||
|
||||
func (f *TribeFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "tribe")
|
||||
}
|
||||
|
||||
type FoundTribe struct {
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type TribeChange struct {
|
||||
tableName struct{} `pg:"?SERVER.tribe_changes,alias:tribe_change"`
|
||||
|
@ -19,17 +24,31 @@ type TribeChangeFilterOr struct {
|
|||
NewTribeID []int `json:"newTribeID" gqlgen:"newTribeID" xml:"newTribeID"`
|
||||
}
|
||||
|
||||
func (f *TribeChangeFilterOr) WhereWithAlias(q *orm.Query, alias string) *orm.Query {
|
||||
q = q.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
|
||||
if !isZero(f.OldTribeID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("old_tribe_id", alias)), pg.Array(f.OldTribeID))
|
||||
}
|
||||
if !isZero(f.NewTribeID) {
|
||||
q = q.WhereOr(buildConditionArray(addAliasToColumnName("new_tribe_id", alias)), pg.Array(f.NewTribeID))
|
||||
}
|
||||
return q, nil
|
||||
})
|
||||
return q
|
||||
}
|
||||
|
||||
type TribeChangeFilter struct {
|
||||
tableName struct{} `pg:"tribe_change"`
|
||||
PlayerID []int `json:"id" gqlgen:"id" xml:"id"`
|
||||
PlayerIDNEQ []int `json:"idNEQ" gqlgen:"idNEQ" xml:"idNEQ"`
|
||||
PlayerFilter *PlayerFilter `json:"playerFilter" xml:"playerFilter" gqlgen:"playerFilter"`
|
||||
|
||||
PlayerID []int `json:"id" gqlgen:"id" xml:"id"`
|
||||
PlayerIdNEQ []int `json:"idNEQ" gqlgen:"idNEQ" xml:"idNEQ"`
|
||||
OldTribeID []int `json:"oldTribeID" gqlgen:"oldTribeID" xml:"oldTribeID"`
|
||||
OldTribeIDNEQ []int `json:"oldTribeIDNEQ" gqlgen:"oldTribeIDNEQ" xml:"oldTribeIDNEQ"`
|
||||
OldTribeFilter *TribeFilter `json:"oldTribeFilter" xml:"oldTribeFilter" gqlgen:"oldTribeFilter"`
|
||||
|
||||
OldTribeID []int `json:"oldTribeID" gqlgen:"oldTribeID" xml:"oldTribeID"`
|
||||
OldTribeIdNEQ []int `json:"oldTribeIDNEQ" gqlgen:"oldTribeIDNEQ" xml:"oldTribeIDNEQ"`
|
||||
|
||||
NewTribeID []int `json:"newTribeID" gqlgen:"newTribeID" xml:"newTribeID"`
|
||||
NewTribeIdNEQ []int `json:"newTribeIDNEQ" gqlgen:"newTribeIDNEQ" xml:"newTribeIDNEQ"`
|
||||
NewTribeID []int `json:"newTribeID" gqlgen:"newTribeID" xml:"newTribeID"`
|
||||
NewTribeIDNEQ []int `json:"newTribeIDNEQ" gqlgen:"newTribeIDNEQ" xml:"newTribeIDNEQ"`
|
||||
NewTribeFilter *TribeFilter `json:"newTribeFilter" xml:"newTribeFilter" gqlgen:"newTribeFilter"`
|
||||
|
||||
CreatedAt time.Time `json:"createdAt" gqlgen:"createdAt" xml:"createdAt"`
|
||||
CreatedAtGT time.Time `json:"createdAtGT" gqlgen:"createdAtGT" xml:"createdAtGT"`
|
||||
|
@ -37,9 +56,105 @@ type TribeChangeFilter struct {
|
|||
CreatedAtLT time.Time `json:"createdAtLT" gqlgen:"createdAtLT" xml:"createdAtLT"`
|
||||
CreatedAtLTE time.Time `json:"createdAtLTE" gqlgen:"createdAtLTE" xml:"createdAtLTE"`
|
||||
|
||||
Or *TribeChangeFilterOr `urlstruct:",nowhere" json:"or" gqlgen:"or" xml:"or"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
Or *TribeChangeFilterOr `json:"or" gqlgen:"or" xml:"or"`
|
||||
}
|
||||
|
||||
func (f *TribeChangeFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.PlayerID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerID))
|
||||
}
|
||||
if !isZero(f.PlayerIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerIDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.OldTribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("old_tribe_id", alias)), pg.Array(f.OldTribeID))
|
||||
}
|
||||
if !isZero(f.OldTribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("old_tribe_id", alias)), pg.Array(f.OldTribeIDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.NewTribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("new_tribe_id", alias)), pg.Array(f.NewTribeID))
|
||||
}
|
||||
if !isZero(f.NewTribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("new_tribe_id", alias)), pg.Array(f.NewTribeIDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.CreatedAt) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("created_at", alias)), f.CreatedAt)
|
||||
}
|
||||
if !isZero(f.CreatedAtGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("created_at", alias)), f.CreatedAtGT)
|
||||
}
|
||||
if !isZero(f.CreatedAtGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("created_at", alias)), f.CreatedAtGTE)
|
||||
}
|
||||
if !isZero(f.CreatedAtLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("created_at", alias)), f.CreatedAtLT)
|
||||
}
|
||||
if !isZero(f.CreatedAtLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("created_at", alias)), f.CreatedAtLTE)
|
||||
}
|
||||
|
||||
if f.Or != nil {
|
||||
q = f.Or.WhereWithAlias(q, alias)
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *TribeChangeFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "tribe_change")
|
||||
}
|
||||
|
||||
type TribeChangeRelationshipAndSortAppender struct {
|
||||
Filter *TribeChangeFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *TribeChangeRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
playerRequired := findStringWithPrefix(a.Sort, "player.") != ""
|
||||
if a.Filter.PlayerFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "player")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerRequired = true
|
||||
}
|
||||
|
||||
oldTribeRequired := findStringWithPrefix(a.Sort, "old_tribe.") != ""
|
||||
if a.Filter.OldTribeFilter != nil {
|
||||
q, err = a.Filter.OldTribeFilter.WhereWithAlias(q, "old_tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
oldTribeRequired = true
|
||||
}
|
||||
|
||||
newTribeRequired := findStringWithPrefix(a.Sort, "new_tribe.") != ""
|
||||
if a.Filter.NewTribeFilter != nil {
|
||||
q, err = a.Filter.NewTribeFilter.WhereWithAlias(q, "new_tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
newTribeRequired = true
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if playerRequired {
|
||||
q = q.Relation("Tribe._")
|
||||
}
|
||||
if oldTribeRequired {
|
||||
q = q.Relation("OldTribe._")
|
||||
}
|
||||
if newTribeRequired {
|
||||
q = q.Relation("NewTribe._")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package models
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type TribeHistory struct {
|
||||
tableName struct{} `pg:"?SERVER.tribe_history,alias:tribe_history"`
|
||||
|
@ -19,18 +24,71 @@ type TribeHistory struct {
|
|||
}
|
||||
|
||||
type TribeHistoryFilter struct {
|
||||
tableName struct{} `urlstruct:"tribe_history"`
|
||||
|
||||
TribeID []int `json:"tribeID" gqlgen:"tribeID" xml:"tribeID"`
|
||||
TribeIdNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
TribeID []int `json:"tribeID" gqlgen:"tribeID" xml:"tribeID"`
|
||||
TribeIDNEQ []int `json:"tribeIDNEQ" gqlgen:"tribeIDNEQ" xml:"tribeIDNEQ"`
|
||||
TribeFilter *TribeFilter `json:"tribeFilter" xml:"tribeFilter" gqlgen:"tribeFilter"`
|
||||
|
||||
CreateDate time.Time `json:"createDate" gqlgen:"createDate" xml:"createDate"`
|
||||
CreateDateGT time.Time `json:"createDateGT" gqlgen:"createDateGT" xml:"createDateGT"`
|
||||
CreateDateGTE time.Time `json:"createDateGTE" gqlgen:"createDateGTE" xml:"createDateGTE"`
|
||||
CreateDateLT time.Time `json:"createDateLT" gqlgen:"createDateLT" xml:"createDateLT"`
|
||||
CreateDateLTE time.Time `json:"createDateLTE" gqlgen:"createDateLTE" xml:"createDateLTE"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset" xml:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit" xml:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort" xml:"sort"`
|
||||
}
|
||||
|
||||
func (f *TribeHistoryFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.CreateDate) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("create_date", alias)), f.CreateDate)
|
||||
}
|
||||
if !isZero(f.CreateDateGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("create_date", alias)), f.CreateDateGT)
|
||||
}
|
||||
if !isZero(f.CreateDateGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("create_date", alias)), f.CreateDateGTE)
|
||||
}
|
||||
if !isZero(f.CreateDateLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("create_date", alias)), f.CreateDateLT)
|
||||
}
|
||||
if !isZero(f.CreateDateLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("create_date", alias)), f.CreateDateLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.TribeID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("tribe_id", alias)), pg.Array(f.TribeID))
|
||||
}
|
||||
if !isZero(f.TribeIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("tribe_id", alias)), pg.Array(f.TribeIDNEQ))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *TribeHistoryFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "tribe_history")
|
||||
}
|
||||
|
||||
type TribeHistoryRelationshipAndSortAppender struct {
|
||||
Filter *TribeHistoryFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *TribeHistoryRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
tribeRequired := findStringWithPrefix(a.Sort, "tribe.") != ""
|
||||
if a.Filter.TribeFilter != nil {
|
||||
q, err = a.Filter.TribeFilter.WhereWithAlias(q, "tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
tribeRequired = true
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if tribeRequired {
|
||||
q = q.Relation("Tribe._")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@ import (
|
|||
"io"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type VersionCode string
|
||||
|
@ -89,8 +92,6 @@ type Version struct {
|
|||
}
|
||||
|
||||
type VersionFilter struct {
|
||||
tableName struct{} `urlstruct:"version"`
|
||||
|
||||
Code []VersionCode `json:"code" gqlgen:"code"`
|
||||
CodeNEQ []VersionCode `json:"codeNEQ" gqlgen:"codeNEQ"`
|
||||
|
||||
|
@ -98,8 +99,32 @@ type VersionFilter struct {
|
|||
HostNEQ []string `json:"hostNEQ" gqlgen:"hostNEQ"`
|
||||
HostMATCH string `json:"hostMATCH" gqlgen:"hostMATCH"`
|
||||
HostIEQ string `json:"hostIEQ" gqlgen:"hostIEQ"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort"`
|
||||
}
|
||||
|
||||
func (f *VersionFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.Code) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("code", alias)), pg.Array(f.Code))
|
||||
}
|
||||
if !isZero(f.CodeNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("code", alias)), pg.Array(f.CodeNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.Host) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("host", alias)), pg.Array(f.Host))
|
||||
}
|
||||
if !isZero(f.HostNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("host", alias)), pg.Array(f.HostNEQ))
|
||||
}
|
||||
if !isZero(f.HostMATCH) {
|
||||
q = q.Where(buildConditionMatch(addAliasToColumnName("host", alias)), f.HostMATCH)
|
||||
}
|
||||
if !isZero(f.HostIEQ) {
|
||||
q = q.Where(buildConditionIEQ(addAliasToColumnName("host", alias)), f.HostIEQ)
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *VersionFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "version")
|
||||
}
|
||||
|
|
|
@ -3,6 +3,10 @@ package models
|
|||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
)
|
||||
|
||||
type Village struct {
|
||||
|
@ -35,25 +39,23 @@ func (v *Village) FullName() string {
|
|||
}
|
||||
|
||||
type VillageFilter struct {
|
||||
tableName struct{} `urlstruct:"village"`
|
||||
|
||||
ID []int `json:"id" gqlgen:"id"`
|
||||
IdNEQ []int `json:"idNEQ" gqlgen:"idNEQ"`
|
||||
IDNEQ []int `json:"idNEQ" gqlgen:"idNEQ"`
|
||||
|
||||
Name []string `json:"name" gqlgen:"name"`
|
||||
NameNEQ []string `json:"nameNEQ" gqlgen:"nameNEQ"`
|
||||
NameMATCH string `json:"nameMATCH" gqlgen:"nameMATCH"`
|
||||
NameIEQ string `json:"nameIEQ" gqlgen:"nameIEQ"`
|
||||
|
||||
XGT int `urlstruct:",nowhere" json:"xGT" gqlgen:"xGT"`
|
||||
XGTE int `urlstruct:",nowhere" json:"xGTE" gqlgen:"xGTE"`
|
||||
XLT int `urlstruct:",nowhere" json:"xLT" gqlgen:"xLT"`
|
||||
XLTE int `urlstruct:",nowhere" json:"xLTE" gqlgen:"xLTE"`
|
||||
YGT int `urlstruct:",nowhere" json:"yGT" gqlgen:"yGT"`
|
||||
YGTE int `urlstruct:",nowhere" json:"yGTE" gqlgen:"yGTE"`
|
||||
YLT int `urlstruct:",nowhere" json:"yLT" gqlgen:"yLT"`
|
||||
YLTE int `urlstruct:",nowhere" json:"yLTE" gqlgen:"yLTE"`
|
||||
XY []string `urlstruct:",nowhere" json:"xy" gqlgen:"xy"`
|
||||
XGT int `json:"xGT" gqlgen:"xGT"`
|
||||
XGTE int `json:"xGTE" gqlgen:"xGTE"`
|
||||
XLT int `json:"xLT" gqlgen:"xLT"`
|
||||
XLTE int `json:"xLTE" gqlgen:"xLTE"`
|
||||
YGT int `json:"yGT" gqlgen:"yGT"`
|
||||
YGTE int `json:"yGTE" gqlgen:"yGTE"`
|
||||
YLT int `json:"yLT" gqlgen:"yLT"`
|
||||
YLTE int `json:"yLTE" gqlgen:"yLTE"`
|
||||
XY []string `json:"xy" gqlgen:"xy"`
|
||||
|
||||
Points int `json:"points" gqlgen:"points"`
|
||||
PointsGT int `json:"pointsGT" gqlgen:"pointsGT"`
|
||||
|
@ -68,10 +70,163 @@ type VillageFilter struct {
|
|||
BonusLTE int `json:"bonusLTE" gqlgen:"bonusLTE"`
|
||||
|
||||
PlayerID []int `json:"playerID" gqlgen:"playerID"`
|
||||
PlayerIdNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ"`
|
||||
PlayerFilter *PlayerFilter `urlstruct:",nowhere" json:"playerFilter" gqlgen:"playerFilter"`
|
||||
|
||||
Offset int `urlstruct:",nowhere" json:"offset" gqlgen:"offset"`
|
||||
Limit int `urlstruct:",nowhere" json:"limit" gqlgen:"limit"`
|
||||
Sort string `urlstruct:",nowhere" json:"sort" gqlgen:"sort"`
|
||||
PlayerIDNEQ []int `json:"playerIDNEQ" gqlgen:"playerIDNEQ"`
|
||||
PlayerFilter *PlayerFilter `json:"playerFilter" gqlgen:"playerFilter"`
|
||||
}
|
||||
|
||||
func (f *VillageFilter) WhereWithAlias(q *orm.Query, alias string) (*orm.Query, error) {
|
||||
if !isZero(f.ID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("id", alias)), pg.Array(f.ID))
|
||||
}
|
||||
if !isZero(f.IDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("id", alias)), pg.Array(f.IDNEQ))
|
||||
}
|
||||
|
||||
if !isZero(f.Name) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("name", alias)), pg.Array(f.Name))
|
||||
}
|
||||
if !isZero(f.NameNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("name", alias)), pg.Array(f.NameNEQ))
|
||||
}
|
||||
if !isZero(f.NameMATCH) {
|
||||
q = q.Where(buildConditionMatch(addAliasToColumnName("name", alias)), f.NameMATCH)
|
||||
}
|
||||
if !isZero(f.NameIEQ) {
|
||||
q = q.Where(buildConditionIEQ(addAliasToColumnName("name", alias)), f.NameIEQ)
|
||||
}
|
||||
|
||||
if !isZero(f.XGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("x", alias)), f.XGT)
|
||||
}
|
||||
if !isZero(f.XGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("x", alias)), f.XGTE)
|
||||
}
|
||||
if !isZero(f.XLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("x", alias)), f.XLT)
|
||||
}
|
||||
if !isZero(f.XLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("x", alias)), f.XLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.YGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("y", alias)), f.YGT)
|
||||
}
|
||||
if !isZero(f.YGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("y", alias)), f.YGTE)
|
||||
}
|
||||
if !isZero(f.YLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("y", alias)), f.YLT)
|
||||
}
|
||||
if !isZero(f.YLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("y", alias)), f.YLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.XY) {
|
||||
q = q.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
|
||||
for _, xy := range f.XY {
|
||||
splitted := strings.Split(xy, "|")
|
||||
if len(splitted) != 2 {
|
||||
continue
|
||||
}
|
||||
x, err := strconv.Atoi(splitted[0])
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
y, err := strconv.Atoi(splitted[1])
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
q = q.WhereOrGroup(func(q *orm.Query) (*orm.Query, error) {
|
||||
q = q.Where("x = ?", x)
|
||||
q = q.Where("y = ?", y)
|
||||
return q, nil
|
||||
})
|
||||
}
|
||||
return q, nil
|
||||
})
|
||||
}
|
||||
|
||||
if !isZero(f.Points) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("points", alias)), f.Points)
|
||||
}
|
||||
if !isZero(f.PointsGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("points", alias)), f.PointsGT)
|
||||
}
|
||||
if !isZero(f.PointsGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("points", alias)), f.PointsGTE)
|
||||
}
|
||||
if !isZero(f.PointsLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("points", alias)), f.PointsLT)
|
||||
}
|
||||
if !isZero(f.PointsLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("points", alias)), f.PointsLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.Bonus) {
|
||||
q = q.Where(buildConditionEquals(addAliasToColumnName("bonus", alias)), f.Bonus)
|
||||
}
|
||||
if !isZero(f.BonusGT) {
|
||||
q = q.Where(buildConditionGT(addAliasToColumnName("bonus", alias)), f.BonusGT)
|
||||
}
|
||||
if !isZero(f.BonusGTE) {
|
||||
q = q.Where(buildConditionGTE(addAliasToColumnName("bonus", alias)), f.BonusGTE)
|
||||
}
|
||||
if !isZero(f.BonusLT) {
|
||||
q = q.Where(buildConditionLT(addAliasToColumnName("bonus", alias)), f.BonusLT)
|
||||
}
|
||||
if !isZero(f.BonusLTE) {
|
||||
q = q.Where(buildConditionLTE(addAliasToColumnName("bonus", alias)), f.BonusLTE)
|
||||
}
|
||||
|
||||
if !isZero(f.PlayerID) {
|
||||
q = q.Where(buildConditionArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerID))
|
||||
}
|
||||
if !isZero(f.PlayerIDNEQ) {
|
||||
q = q.Where(buildConditionNotInArray(addAliasToColumnName("player_id", alias)), pg.Array(f.PlayerIDNEQ))
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func (f *VillageFilter) Where(q *orm.Query) (*orm.Query, error) {
|
||||
return f.WhereWithAlias(q, "village")
|
||||
}
|
||||
|
||||
type VillageRelationshipAndSortAppender struct {
|
||||
Filter *VillageFilter
|
||||
Sort []string
|
||||
}
|
||||
|
||||
func (a *VillageRelationshipAndSortAppender) Append(q *orm.Query) (*orm.Query, error) {
|
||||
var err error
|
||||
playerRequired := findStringWithPrefix(a.Sort, "player.") != ""
|
||||
playerTribeRequired := findStringWithPrefix(a.Sort, "player.tribe.") != ""
|
||||
if a.Filter.PlayerFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "player")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerRequired = true
|
||||
if a.Filter.PlayerFilter.TribeFilter != nil {
|
||||
q, err = a.Filter.PlayerFilter.WhereWithAlias(q, "tribe")
|
||||
if err != nil {
|
||||
return q, err
|
||||
}
|
||||
playerTribeRequired = true
|
||||
}
|
||||
}
|
||||
|
||||
if !isZero(a.Sort) {
|
||||
q = q.Order(a.Sort...)
|
||||
}
|
||||
|
||||
if playerRequired {
|
||||
q = q.Relation("Player._")
|
||||
}
|
||||
|
||||
if playerTribeRequired {
|
||||
q = q.Join("LEFT JOIN ?SERVER.tribes AS tribe ON tribe.id = player.tribe_id")
|
||||
}
|
||||
|
||||
return q, nil
|
||||
}
|
||||
|
|
Reference in New Issue