diff --git a/.gitignore b/.gitignore index d9592b471..f2ceede70 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ # Dependency directories (remove the comment below to include it) # vendor/ .idea/ +*.db diff --git a/tap/go.mod b/tap/go.mod index 926109c0d..7099709c9 100644 --- a/tap/go.mod +++ b/tap/go.mod @@ -1,9 +1,10 @@ -module harsave +module main go 1.16 require ( github.com/google/martian v2.1.0+incompatible + go.mongodb.org/mongo-driver v1.5.1 gorm.io/driver/sqlite v1.1.4 gorm.io/gorm v1.21.8 ) diff --git a/tap/go.sum b/tap/go.sum index 6e4cfdd22..1d503cab5 100644 --- a/tap/go.sum +++ b/tap/go.sum @@ -1,42 +1,120 @@ -github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= -github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= -github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM= -github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= -github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= +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/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= -github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= 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/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/jinzhu/now v1.1.2 h1:eVKgfIdy9b6zbWBMgFpfDPoAMifwSZagU9HmEU6zgiI= github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4= -github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +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/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/mattn/go-sqlite3 v1.14.5 h1:1IdxlwTNazvbKJQSxoJ5/9ECbEeaTTyeU7sEAZ5KKTQ= github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= -github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEghA= -github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +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/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +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/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +go.mongodb.org/mongo-driver v1.5.1 h1:9nOVLGDfOaZ9R0tBumx/BcuqkbFpyTCU2r/Po7A2azI= +go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd h1:GGJVjV8waZKRHrgwvtH66z9ZGVurTD1MT0n1Bb+q4aM= -golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +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-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/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-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.5/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-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.8/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= gorm.io/driver/sqlite v1.1.4 h1:PDzwYE+sI6De2+mxAneV9Xs11+ZyKV6oxD3wDGkaNvM= gorm.io/driver/sqlite v1.1.4/go.mod h1:mJCeTFr7+crvS+TRnWc5Z3UvwxUN1BGBLMrf5LA9DYw= gorm.io/gorm v1.20.7/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= diff --git a/tap/src/autogenerated_mizuEntry.go b/tap/src/autogenerated_mizuEntry.go deleted file mode 100644 index 31ef7ed40..000000000 --- a/tap/src/autogenerated_mizuEntry.go +++ /dev/null @@ -1,1017 +0,0 @@ -// Code generated by go-queryset. DO NOT EDIT. -package main - -import ( - "errors" - "fmt" - "strings" - "time" - - "gorm.io/gorm" -) - -// ===== BEGIN of all query sets - -// ===== BEGIN of query set MizuEntryQuerySet - -// MizuEntryQuerySet is an queryset type for MizuEntry -type MizuEntryQuerySet struct { - db *gorm.DB -} - -// NewMizuEntryQuerySet constructs new MizuEntryQuerySet -func NewMizuEntryQuerySet(db *gorm.DB) MizuEntryQuerySet { - return MizuEntryQuerySet{ - db: db.Model(&MizuEntry{}), - } -} - -func (qs MizuEntryQuerySet) w(db *gorm.DB) MizuEntryQuerySet { - return NewMizuEntryQuerySet(db) -} - -func (qs MizuEntryQuerySet) Select(fields ...MizuEntryDBSchemaField) MizuEntryQuerySet { - names := []string{} - for _, f := range fields { - names = append(names, f.String()) - } - - return qs.w(qs.db.Select(strings.Join(names, ","))) -} - -// Create is an autogenerated method -// nolint: dupl -func (o *MizuEntry) Create(db *gorm.DB) error { - return db.Create(o).Error -} - -// Delete is an autogenerated method -// nolint: dupl -func (o *MizuEntry) Delete(db *gorm.DB) error { - return db.Delete(o).Error -} - -// All is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) All(ret *[]MizuEntry) error { - return qs.db.Find(ret).Error -} - -// Count is an autogenerated method -// nolint: dupl -//func (qs MizuEntryQuerySet) Count() (int, error) { -// var count int -// err := qs.db.Count(&count).Error -// return count, err -//} - -// CreatedAtEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) CreatedAtEq(createdAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("created_at = ?", createdAt)) -} - -// CreatedAtGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) CreatedAtGt(createdAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("created_at > ?", createdAt)) -} - -// CreatedAtGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) CreatedAtGte(createdAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("created_at >= ?", createdAt)) -} - -// CreatedAtLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) CreatedAtLt(createdAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("created_at < ?", createdAt)) -} - -// CreatedAtLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) CreatedAtLte(createdAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("created_at <= ?", createdAt)) -} - -// CreatedAtNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) CreatedAtNe(createdAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("created_at != ?", createdAt)) -} - -// Delete is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) Delete() error { - return qs.db.Delete(MizuEntry{}).Error -} - -// DeleteNum is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) DeleteNum() (int64, error) { - db := qs.db.Delete(MizuEntry{}) - return db.RowsAffected, db.Error -} - -// DeleteNumUnscoped is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) DeleteNumUnscoped() (int64, error) { - db := qs.db.Unscoped().Delete(MizuEntry{}) - return db.RowsAffected, db.Error -} - -// EntryEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryEq(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry = ?", entry)) -} - -// EntryGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryGt(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry > ?", entry)) -} - -// EntryGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryGte(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry >= ?", entry)) -} - -// EntryIdEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdEq(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id = ?", entryId)) -} - -// EntryIdGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdGt(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id > ?", entryId)) -} - -// EntryIdGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdGte(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id >= ?", entryId)) -} - -// EntryIdIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdIn(entryId ...string) MizuEntryQuerySet { - if len(entryId) == 0 { - qs.db.AddError(errors.New("must at least pass one entryId in EntryIdIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("entry_id IN (?)", entryId)) -} - -// EntryIdLike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdLike(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id LIKE ?", entryId)) -} - -// EntryIdLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdLt(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id < ?", entryId)) -} - -// EntryIdLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdLte(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id <= ?", entryId)) -} - -// EntryIdNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdNe(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id != ?", entryId)) -} - -// EntryIdNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdNotIn(entryId ...string) MizuEntryQuerySet { - if len(entryId) == 0 { - qs.db.AddError(errors.New("must at least pass one entryId in EntryIdNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("entry_id NOT IN (?)", entryId)) -} - -// EntryIdNotlike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIdNotlike(entryId string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry_id NOT LIKE ?", entryId)) -} - -// EntryIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryIn(entry ...string) MizuEntryQuerySet { - if len(entry) == 0 { - qs.db.AddError(errors.New("must at least pass one entry in EntryIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("entry IN (?)", entry)) -} - -// EntryLike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryLike(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry LIKE ?", entry)) -} - -// EntryLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryLt(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry < ?", entry)) -} - -// EntryLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryLte(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry <= ?", entry)) -} - -// EntryNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryNe(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry != ?", entry)) -} - -// EntryNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryNotIn(entry ...string) MizuEntryQuerySet { - if len(entry) == 0 { - qs.db.AddError(errors.New("must at least pass one entry in EntryNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("entry NOT IN (?)", entry)) -} - -// EntryNotlike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) EntryNotlike(entry string) MizuEntryQuerySet { - return qs.w(qs.db.Where("entry NOT LIKE ?", entry)) -} - -// GetDB is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) GetDB() *gorm.DB { - return qs.db -} - -// GetUpdater is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) GetUpdater() MizuEntryUpdater { - return NewMizuEntryUpdater(qs.db) -} - -// IDEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDEq(ID uint) MizuEntryQuerySet { - return qs.w(qs.db.Where("id = ?", ID)) -} - -// IDGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDGt(ID uint) MizuEntryQuerySet { - return qs.w(qs.db.Where("id > ?", ID)) -} - -// IDGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDGte(ID uint) MizuEntryQuerySet { - return qs.w(qs.db.Where("id >= ?", ID)) -} - -// IDIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDIn(ID ...uint) MizuEntryQuerySet { - if len(ID) == 0 { - qs.db.AddError(errors.New("must at least pass one ID in IDIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("id IN (?)", ID)) -} - -// IDLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDLt(ID uint) MizuEntryQuerySet { - return qs.w(qs.db.Where("id < ?", ID)) -} - -// IDLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDLte(ID uint) MizuEntryQuerySet { - return qs.w(qs.db.Where("id <= ?", ID)) -} - -// IDNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDNe(ID uint) MizuEntryQuerySet { - return qs.w(qs.db.Where("id != ?", ID)) -} - -// IDNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) IDNotIn(ID ...uint) MizuEntryQuerySet { - if len(ID) == 0 { - qs.db.AddError(errors.New("must at least pass one ID in IDNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("id NOT IN (?)", ID)) -} - -// Limit is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) Limit(limit int) MizuEntryQuerySet { - return qs.w(qs.db.Limit(limit)) -} - -// MethodEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodEq(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method = ?", method)) -} - -// MethodGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodGt(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method > ?", method)) -} - -// MethodGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodGte(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method >= ?", method)) -} - -// MethodIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodIn(method ...string) MizuEntryQuerySet { - if len(method) == 0 { - qs.db.AddError(errors.New("must at least pass one method in MethodIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("method IN (?)", method)) -} - -// MethodLike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodLike(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method LIKE ?", method)) -} - -// MethodLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodLt(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method < ?", method)) -} - -// MethodLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodLte(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method <= ?", method)) -} - -// MethodNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodNe(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method != ?", method)) -} - -// MethodNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodNotIn(method ...string) MizuEntryQuerySet { - if len(method) == 0 { - qs.db.AddError(errors.New("must at least pass one method in MethodNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("method NOT IN (?)", method)) -} - -// MethodNotlike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) MethodNotlike(method string) MizuEntryQuerySet { - return qs.w(qs.db.Where("method NOT LIKE ?", method)) -} - -// Offset is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) Offset(offset int) MizuEntryQuerySet { - return qs.w(qs.db.Offset(offset)) -} - -// One is used to retrieve one result. It returns gorm.ErrRecordNotFound -// if nothing was fetched -func (qs MizuEntryQuerySet) One(ret *MizuEntry) error { - return qs.db.First(ret).Error -} - -// OrderAscByCreatedAt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByCreatedAt() MizuEntryQuerySet { - return qs.w(qs.db.Order("created_at ASC")) -} - -// OrderAscByEntry is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByEntry() MizuEntryQuerySet { - return qs.w(qs.db.Order("entry ASC")) -} - -// OrderAscByEntryId is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByEntryId() MizuEntryQuerySet { - return qs.w(qs.db.Order("entry_id ASC")) -} - -// OrderAscByID is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByID() MizuEntryQuerySet { - return qs.w(qs.db.Order("id ASC")) -} - -// OrderAscByMethod is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByMethod() MizuEntryQuerySet { - return qs.w(qs.db.Order("method ASC")) -} - -// OrderAscByService is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByService() MizuEntryQuerySet { - return qs.w(qs.db.Order("service ASC")) -} - -// OrderAscBySource is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscBySource() MizuEntryQuerySet { - return qs.w(qs.db.Order("source ASC")) -} - -// OrderAscByStatus is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByStatus() MizuEntryQuerySet { - return qs.w(qs.db.Order("status ASC")) -} - -// OrderAscByUpdatedAt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByUpdatedAt() MizuEntryQuerySet { - return qs.w(qs.db.Order("updated_at ASC")) -} - -// OrderAscByUrl is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderAscByUrl() MizuEntryQuerySet { - return qs.w(qs.db.Order("url ASC")) -} - -// OrderDescByCreatedAt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByCreatedAt() MizuEntryQuerySet { - return qs.w(qs.db.Order("created_at DESC")) -} - -// OrderDescByEntry is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByEntry() MizuEntryQuerySet { - return qs.w(qs.db.Order("entry DESC")) -} - -// OrderDescByEntryId is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByEntryId() MizuEntryQuerySet { - return qs.w(qs.db.Order("entry_id DESC")) -} - -// OrderDescByID is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByID() MizuEntryQuerySet { - return qs.w(qs.db.Order("id DESC")) -} - -// OrderDescByMethod is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByMethod() MizuEntryQuerySet { - return qs.w(qs.db.Order("method DESC")) -} - -// OrderDescByService is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByService() MizuEntryQuerySet { - return qs.w(qs.db.Order("service DESC")) -} - -// OrderDescBySource is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescBySource() MizuEntryQuerySet { - return qs.w(qs.db.Order("source DESC")) -} - -// OrderDescByStatus is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByStatus() MizuEntryQuerySet { - return qs.w(qs.db.Order("status DESC")) -} - -// OrderDescByUpdatedAt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByUpdatedAt() MizuEntryQuerySet { - return qs.w(qs.db.Order("updated_at DESC")) -} - -// OrderDescByUrl is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) OrderDescByUrl() MizuEntryQuerySet { - return qs.w(qs.db.Order("url DESC")) -} - -// PreloadDeletedAt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) PreloadDeletedAt() MizuEntryQuerySet { - return qs.w(qs.db.Preload("DeletedAt")) -} - -// ServiceEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceEq(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service = ?", service)) -} - -// ServiceGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceGt(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service > ?", service)) -} - -// ServiceGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceGte(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service >= ?", service)) -} - -// ServiceIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceIn(service ...string) MizuEntryQuerySet { - if len(service) == 0 { - qs.db.AddError(errors.New("must at least pass one service in ServiceIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("service IN (?)", service)) -} - -// ServiceLike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceLike(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service LIKE ?", service)) -} - -// ServiceLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceLt(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service < ?", service)) -} - -// ServiceLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceLte(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service <= ?", service)) -} - -// ServiceNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceNe(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service != ?", service)) -} - -// ServiceNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceNotIn(service ...string) MizuEntryQuerySet { - if len(service) == 0 { - qs.db.AddError(errors.New("must at least pass one service in ServiceNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("service NOT IN (?)", service)) -} - -// ServiceNotlike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) ServiceNotlike(service string) MizuEntryQuerySet { - return qs.w(qs.db.Where("service NOT LIKE ?", service)) -} - -// SourceEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceEq(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source = ?", source)) -} - -// SourceGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceGt(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source > ?", source)) -} - -// SourceGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceGte(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source >= ?", source)) -} - -// SourceIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceIn(source ...string) MizuEntryQuerySet { - if len(source) == 0 { - qs.db.AddError(errors.New("must at least pass one source in SourceIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("source IN (?)", source)) -} - -// SourceLike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceLike(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source LIKE ?", source)) -} - -// SourceLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceLt(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source < ?", source)) -} - -// SourceLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceLte(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source <= ?", source)) -} - -// SourceNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceNe(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source != ?", source)) -} - -// SourceNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceNotIn(source ...string) MizuEntryQuerySet { - if len(source) == 0 { - qs.db.AddError(errors.New("must at least pass one source in SourceNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("source NOT IN (?)", source)) -} - -// SourceNotlike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) SourceNotlike(source string) MizuEntryQuerySet { - return qs.w(qs.db.Where("source NOT LIKE ?", source)) -} - -// StatusEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusEq(status int) MizuEntryQuerySet { - return qs.w(qs.db.Where("status = ?", status)) -} - -// StatusGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusGt(status int) MizuEntryQuerySet { - return qs.w(qs.db.Where("status > ?", status)) -} - -// StatusGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusGte(status int) MizuEntryQuerySet { - return qs.w(qs.db.Where("status >= ?", status)) -} - -// StatusIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusIn(status ...int) MizuEntryQuerySet { - if len(status) == 0 { - qs.db.AddError(errors.New("must at least pass one status in StatusIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("status IN (?)", status)) -} - -// StatusLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusLt(status int) MizuEntryQuerySet { - return qs.w(qs.db.Where("status < ?", status)) -} - -// StatusLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusLte(status int) MizuEntryQuerySet { - return qs.w(qs.db.Where("status <= ?", status)) -} - -// StatusNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusNe(status int) MizuEntryQuerySet { - return qs.w(qs.db.Where("status != ?", status)) -} - -// StatusNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) StatusNotIn(status ...int) MizuEntryQuerySet { - if len(status) == 0 { - qs.db.AddError(errors.New("must at least pass one status in StatusNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("status NOT IN (?)", status)) -} - -// UpdatedAtEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UpdatedAtEq(updatedAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("updated_at = ?", updatedAt)) -} - -// UpdatedAtGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UpdatedAtGt(updatedAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("updated_at > ?", updatedAt)) -} - -// UpdatedAtGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UpdatedAtGte(updatedAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("updated_at >= ?", updatedAt)) -} - -// UpdatedAtLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UpdatedAtLt(updatedAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("updated_at < ?", updatedAt)) -} - -// UpdatedAtLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UpdatedAtLte(updatedAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("updated_at <= ?", updatedAt)) -} - -// UpdatedAtNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UpdatedAtNe(updatedAt time.Time) MizuEntryQuerySet { - return qs.w(qs.db.Where("updated_at != ?", updatedAt)) -} - -// UrlEq is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlEq(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url = ?", url)) -} - -// UrlGt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlGt(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url > ?", url)) -} - -// UrlGte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlGte(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url >= ?", url)) -} - -// UrlIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlIn(url ...string) MizuEntryQuerySet { - if len(url) == 0 { - qs.db.AddError(errors.New("must at least pass one url in UrlIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("url IN (?)", url)) -} - -// UrlLike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlLike(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url LIKE ?", url)) -} - -// UrlLt is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlLt(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url < ?", url)) -} - -// UrlLte is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlLte(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url <= ?", url)) -} - -// UrlNe is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlNe(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url != ?", url)) -} - -// UrlNotIn is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlNotIn(url ...string) MizuEntryQuerySet { - if len(url) == 0 { - qs.db.AddError(errors.New("must at least pass one url in UrlNotIn")) - return qs.w(qs.db) - } - return qs.w(qs.db.Where("url NOT IN (?)", url)) -} - -// UrlNotlike is an autogenerated method -// nolint: dupl -func (qs MizuEntryQuerySet) UrlNotlike(url string) MizuEntryQuerySet { - return qs.w(qs.db.Where("url NOT LIKE ?", url)) -} - -// SetCreatedAt is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetCreatedAt(createdAt time.Time) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.CreatedAt)] = createdAt - return u -} - -// SetDeletedAt is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetDeletedAt(deletedAt gorm.DeletedAt) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.DeletedAt)] = deletedAt - return u -} - -// SetEntry is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetEntry(entry string) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.Entry)] = entry - return u -} - -// SetEntryId is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetEntryId(entryId string) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.EntryId)] = entryId - return u -} - -// SetID is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetID(ID uint) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.ID)] = ID - return u -} - -// SetMethod is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetMethod(method string) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.Method)] = method - return u -} - -// SetService is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetService(service string) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.Service)] = service - return u -} - -// SetSource is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetSource(source string) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.Source)] = source - return u -} - -// SetStatus is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetStatus(status int) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.Status)] = status - return u -} - -// SetUpdatedAt is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetUpdatedAt(updatedAt time.Time) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.UpdatedAt)] = updatedAt - return u -} - -// SetUrl is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) SetUrl(url string) MizuEntryUpdater { - u.fields[string(MizuEntryDBSchema.Url)] = url - return u -} - -// Update is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) Update() error { - return u.db.Updates(u.fields).Error -} - -// UpdateNum is an autogenerated method -// nolint: dupl -func (u MizuEntryUpdater) UpdateNum() (int64, error) { - db := u.db.Updates(u.fields) - return db.RowsAffected, db.Error -} - -// ===== END of query set MizuEntryQuerySet - -// ===== BEGIN of MizuEntry modifiers - -// MizuEntryDBSchemaField describes database schema field. It requires for method 'Update' -type MizuEntryDBSchemaField string - -// String method returns string representation of field. -// nolint: dupl -func (f MizuEntryDBSchemaField) String() string { - return string(f) -} - -// MizuEntryDBSchema stores db field names of MizuEntry -var MizuEntryDBSchema = struct { - ID MizuEntryDBSchemaField - CreatedAt MizuEntryDBSchemaField - UpdatedAt MizuEntryDBSchemaField - DeletedAt MizuEntryDBSchemaField - Entry MizuEntryDBSchemaField - EntryId MizuEntryDBSchemaField - Url MizuEntryDBSchemaField - Method MizuEntryDBSchemaField - Status MizuEntryDBSchemaField - Source MizuEntryDBSchemaField - Service MizuEntryDBSchemaField -}{ - - ID: MizuEntryDBSchemaField("id"), - CreatedAt: MizuEntryDBSchemaField("created_at"), - UpdatedAt: MizuEntryDBSchemaField("updated_at"), - DeletedAt: MizuEntryDBSchemaField("deleted_at"), - Entry: MizuEntryDBSchemaField("entry"), - EntryId: MizuEntryDBSchemaField("entry_id"), - Url: MizuEntryDBSchemaField("url"), - Method: MizuEntryDBSchemaField("method"), - Status: MizuEntryDBSchemaField("status"), - Source: MizuEntryDBSchemaField("source"), - Service: MizuEntryDBSchemaField("service"), -} - -// Update updates MizuEntry fields by primary key -// nolint: dupl -func (o *MizuEntry) Update(db *gorm.DB, fields ...MizuEntryDBSchemaField) error { - dbNameToFieldName := map[string]interface{}{ - "id": o.ID, - "created_at": o.CreatedAt, - "updated_at": o.UpdatedAt, - "deleted_at": o.DeletedAt, - "entry": o.Entry, - "entry_id": o.EntryId, - "url": o.Url, - "method": o.Method, - "status": o.Status, - "source": o.Source, - "service": o.Service, - } - u := map[string]interface{}{} - for _, f := range fields { - fs := f.String() - u[fs] = dbNameToFieldName[fs] - } - if err := db.Model(o).Updates(u).Error; err != nil { - if err == gorm.ErrRecordNotFound { - return err - } - - return fmt.Errorf("can't update MizuEntry %v fields %v: %s", - o, fields, err) - } - - return nil -} - -// MizuEntryUpdater is an MizuEntry updates manager -type MizuEntryUpdater struct { - fields map[string]interface{} - db *gorm.DB -} - -// NewMizuEntryUpdater creates new MizuEntry updater -// nolint: dupl -func NewMizuEntryUpdater(db *gorm.DB) MizuEntryUpdater { - return MizuEntryUpdater{ - fields: map[string]interface{}{}, - db: db.Model(&MizuEntry{}), - } -} - -// ===== END of MizuEntry modifiers - -// ===== END of all query sets diff --git a/tap/src/main.go b/tap/src/main.go index eaa6bb59d..6cdbf5911 100644 --- a/tap/src/main.go +++ b/tap/src/main.go @@ -5,12 +5,12 @@ import ( "encoding/json" "fmt" "github.com/google/martian/har" + "go.mongodb.org/mongo-driver/bson/primitive" "gorm.io/driver/sqlite" "gorm.io/gorm" "os" ) - func main() { FILEPATH := "/Users/roeegadot/Downloads/testing.har" file, err := os.Open(FILEPATH) @@ -29,7 +29,7 @@ func main() { } for _, entry := range inputHar.Log.Entries { - saveHarToDb(*entry) + saveHarToDb(*entry, "service", "source") } } @@ -44,23 +44,16 @@ func getGormDB() *gorm.DB { return db } -func saveHarToDb(entry har.Entry) { +func saveHarToDb(entry har.Entry, serviceName string, source string) { a, _ := json.Marshal(entry) mizuEntry := MizuEntry{ - EntryId: NewObjectID().Hex(), - // simple way to store it and not convert to bytes - Entry: string(a), - Url: (&entry).Request.URL, - Method: (&entry).Request.Method, - Status: (&entry).Response.Status, - Source: "", - Service: "MyService", - } - - if err := mizuEntry.Create(getGormDB()); err != nil { - fmt.Print(err) - panic("cannot create") + EntryId: primitive.NewObjectID().Hex(), + Entry: string(a), // simple way to store it and not convert to bytes + Url: entry.Request.URL, + Method: entry.Request.Method, + Status: entry.Response.Status, + Source: source, + Service: serviceName, } + getGormDB().Create(&mizuEntry) } - - diff --git a/tap/src/mizuEntry.go b/tap/src/mizuEntry.go index ae5b7130b..725e603ee 100644 --- a/tap/src/mizuEntry.go +++ b/tap/src/mizuEntry.go @@ -4,19 +4,13 @@ import ( "gorm.io/gorm" ) - -//go:generate goqueryset -in mizuEntry.go -// gen:qs type MizuEntry struct { gorm.Model - // The Entry itself (as string) - Entry string `json:"entry,omitempty"` - //TODO: here we will add fields we need to query for - + Entry string `json:"entry,omitempty"` EntryId string `json:"entryId"` - Url string `json:"url"` - Method string `json:"method"` - Status int `json:"status"` - Source string `json:"source"` + Url string `json:"url"` + Method string `json:"method"` + Status int `json:"status"` + Source string `json:"source"` Service string `json:"serviceName"` } diff --git a/tap/src/models.go b/tap/src/models.go deleted file mode 100644 index bdfb6a12f..000000000 --- a/tap/src/models.go +++ /dev/null @@ -1,471 +0,0 @@ -//// Code generated by go-queryset. DO NOT EDIT. -package main -// -//import ( -// "errors" -// "fmt" -// "strings" -// "time" -// -// "github.com/jinzhu/gorm" -// "github.com/google/martian/har" -// -//) -// -//// ===== BEGIN of all query sets -// -//// ===== BEGIN of query set MizuEntryQuerySet -// -//// MizuEntryQuerySet is an queryset type for MizuEntry -//type MizuEntryQuerySet struct { -// db *gorm.DB -//} -// -//// NewMizuEntryQuerySet constructs new MizuEntryQuerySet -//func NewMizuEntryQuerySet(db *gorm.DB) MizuEntryQuerySet { -// return MizuEntryQuerySet{ -// db: db.Model(&MizuEntry{}), -// } -//} -// -//func (qs MizuEntryQuerySet) w(db *gorm.DB) MizuEntryQuerySet { -// return NewMizuEntryQuerySet(db) -//} -// -//func (qs MizuEntryQuerySet) Select(fields ...MizuEntryDBSchemaField) MizuEntryQuerySet { -// names := []string{} -// for _, f := range fields { -// names = append(names, f.String()) -// } -// -// return qs.w(qs.db.Select(strings.Join(names, ","))) -//} -// -//// Create is an autogenerated method -//// nolint: dupl -//func (o *MizuEntry) Create(db *gorm.DB) error { -// return db.Create(o).Error -//} -// -//// Delete is an autogenerated method -//// nolint: dupl -//func (o *MizuEntry) Delete(db *gorm.DB) error { -// return db.Delete(o).Error -//} -// -//// All is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) All(ret *[]MizuEntry) error { -// return qs.db.Find(ret).Error -//} -// -//// Count is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) Count() (int, error) { -// var count int -// err := qs.db.Count(&count).Error -// return count, err -//} -// -//// CreatedAtEq is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) CreatedAtEq(createdAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("created_at = ?", createdAt)) -//} -// -//// CreatedAtGt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) CreatedAtGt(createdAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("created_at > ?", createdAt)) -//} -// -//// CreatedAtGte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) CreatedAtGte(createdAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("created_at >= ?", createdAt)) -//} -// -//// CreatedAtLt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) CreatedAtLt(createdAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("created_at < ?", createdAt)) -//} -// -//// CreatedAtLte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) CreatedAtLte(createdAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("created_at <= ?", createdAt)) -//} -// -//// CreatedAtNe is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) CreatedAtNe(createdAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("created_at != ?", createdAt)) -//} -// -//// Delete is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) Delete() error { -// return qs.db.Delete(MizuEntry{}).Error -//} -// -//// DeleteNum is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeleteNum() (int64, error) { -// db := qs.db.Delete(MizuEntry{}) -// return db.RowsAffected, db.Error -//} -// -//// DeleteNumUnscoped is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeleteNumUnscoped() (int64, error) { -// db := qs.db.Unscoped().Delete(MizuEntry{}) -// return db.RowsAffected, db.Error -//} -// -//// DeletedAtEq is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtEq(deletedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at = ?", deletedAt)) -//} -// -//// DeletedAtGt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtGt(deletedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at > ?", deletedAt)) -//} -// -//// DeletedAtGte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtGte(deletedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at >= ?", deletedAt)) -//} -// -//// DeletedAtIsNotNull is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtIsNotNull() MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at IS NOT NULL")) -//} -// -//// DeletedAtIsNull is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtIsNull() MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at IS NULL")) -//} -// -//// DeletedAtLt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtLt(deletedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at < ?", deletedAt)) -//} -// -//// DeletedAtLte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtLte(deletedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at <= ?", deletedAt)) -//} -// -//// DeletedAtNe is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) DeletedAtNe(deletedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("deleted_at != ?", deletedAt)) -//} -// -//// GetDB is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) GetDB() *gorm.DB { -// return qs.db -//} -// -//// GetUpdater is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) GetUpdater() MizuEntryUpdater { -// return NewMizuEntryUpdater(qs.db) -//} -// -//// IDEq is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDEq(ID uint) MizuEntryQuerySet { -// return qs.w(qs.db.Where("id = ?", ID)) -//} -// -//// IDGt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDGt(ID uint) MizuEntryQuerySet { -// return qs.w(qs.db.Where("id > ?", ID)) -//} -// -//// IDGte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDGte(ID uint) MizuEntryQuerySet { -// return qs.w(qs.db.Where("id >= ?", ID)) -//} -// -//// IDIn is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDIn(ID ...uint) MizuEntryQuerySet { -// if len(ID) == 0 { -// qs.db.AddError(errors.New("must at least pass one ID in IDIn")) -// return qs.w(qs.db) -// } -// return qs.w(qs.db.Where("id IN (?)", ID)) -//} -// -//// IDLt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDLt(ID uint) MizuEntryQuerySet { -// return qs.w(qs.db.Where("id < ?", ID)) -//} -// -//// IDLte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDLte(ID uint) MizuEntryQuerySet { -// return qs.w(qs.db.Where("id <= ?", ID)) -//} -// -//// IDNe is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDNe(ID uint) MizuEntryQuerySet { -// return qs.w(qs.db.Where("id != ?", ID)) -//} -// -//// IDNotIn is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) IDNotIn(ID ...uint) MizuEntryQuerySet { -// if len(ID) == 0 { -// qs.db.AddError(errors.New("must at least pass one ID in IDNotIn")) -// return qs.w(qs.db) -// } -// return qs.w(qs.db.Where("id NOT IN (?)", ID)) -//} -// -//// Limit is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) Limit(limit int) MizuEntryQuerySet { -// return qs.w(qs.db.Limit(limit)) -//} -// -//// Offset is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) Offset(offset int) MizuEntryQuerySet { -// return qs.w(qs.db.Offset(offset)) -//} -// -//// One is used to retrieve one result. It returns gorm.ErrRecordNotFound -//// if nothing was fetched -//func (qs MizuEntryQuerySet) One(ret *MizuEntry) error { -// return qs.db.First(ret).Error -//} -// -//// OrderAscByCreatedAt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderAscByCreatedAt() MizuEntryQuerySet { -// return qs.w(qs.db.Order("created_at ASC")) -//} -// -//// OrderAscByDeletedAt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderAscByDeletedAt() MizuEntryQuerySet { -// return qs.w(qs.db.Order("deleted_at ASC")) -//} -// -//// OrderAscByID is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderAscByID() MizuEntryQuerySet { -// return qs.w(qs.db.Order("id ASC")) -//} -// -//// OrderAscByUpdatedAt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderAscByUpdatedAt() MizuEntryQuerySet { -// return qs.w(qs.db.Order("updated_at ASC")) -//} -// -//// OrderDescByCreatedAt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderDescByCreatedAt() MizuEntryQuerySet { -// return qs.w(qs.db.Order("created_at DESC")) -//} -// -//// OrderDescByDeletedAt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderDescByDeletedAt() MizuEntryQuerySet { -// return qs.w(qs.db.Order("deleted_at DESC")) -//} -// -//// OrderDescByID is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderDescByID() MizuEntryQuerySet { -// return qs.w(qs.db.Order("id DESC")) -//} -// -//// OrderDescByUpdatedAt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) OrderDescByUpdatedAt() MizuEntryQuerySet { -// return qs.w(qs.db.Order("updated_at DESC")) -//} -// -//// PreloadEntry is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) PreloadEntry() MizuEntryQuerySet { -// return qs.w(qs.db.Preload("Entry")) -//} -// -//// UpdatedAtEq is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) UpdatedAtEq(updatedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("updated_at = ?", updatedAt)) -//} -// -//// UpdatedAtGt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) UpdatedAtGt(updatedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("updated_at > ?", updatedAt)) -//} -// -//// UpdatedAtGte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) UpdatedAtGte(updatedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("updated_at >= ?", updatedAt)) -//} -// -//// UpdatedAtLt is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) UpdatedAtLt(updatedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("updated_at < ?", updatedAt)) -//} -// -//// UpdatedAtLte is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) UpdatedAtLte(updatedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("updated_at <= ?", updatedAt)) -//} -// -//// UpdatedAtNe is an autogenerated method -//// nolint: dupl -//func (qs MizuEntryQuerySet) UpdatedAtNe(updatedAt time.Time) MizuEntryQuerySet { -// return qs.w(qs.db.Where("updated_at != ?", updatedAt)) -//} -// -//// SetCreatedAt is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) SetCreatedAt(createdAt time.Time) MizuEntryUpdater { -// u.fields[string(MizuEntryDBSchema.CreatedAt)] = createdAt -// return u -//} -// -//// SetDeletedAt is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) SetDeletedAt(deletedAt *time.Time) MizuEntryUpdater { -// u.fields[string(MizuEntryDBSchema.DeletedAt)] = deletedAt -// return u -//} -// -//// SetEntry is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) SetEntry(entry har.Entry) MizuEntryUpdater { -// u.fields[string(MizuEntryDBSchema.Entry)] = entry -// return u -//} -// -//// SetID is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) SetID(ID uint) MizuEntryUpdater { -// u.fields[string(MizuEntryDBSchema.ID)] = ID -// return u -//} -// -//// SetUpdatedAt is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) SetUpdatedAt(updatedAt time.Time) MizuEntryUpdater { -// u.fields[string(MizuEntryDBSchema.UpdatedAt)] = updatedAt -// return u -//} -// -//// Update is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) Update() error { -// return u.db.Updates(u.fields).Error -//} -// -//// UpdateNum is an autogenerated method -//// nolint: dupl -//func (u MizuEntryUpdater) UpdateNum() (int64, error) { -// db := u.db.Updates(u.fields) -// return db.RowsAffected, db.Error -//} -// -//// ===== END of query set MizuEntryQuerySet -// -//// ===== BEGIN of MizuEntry modifiers -// -//// MizuEntryDBSchemaField describes database schema field. It requires for method 'Update' -//type MizuEntryDBSchemaField string -// -//// String method returns string representation of field. -//// nolint: dupl -//func (f MizuEntryDBSchemaField) String() string { -// return string(f) -//} -// -//// MizuEntryDBSchema stores db field names of MizuEntry -//var MizuEntryDBSchema = struct { -// ID MizuEntryDBSchemaField -// CreatedAt MizuEntryDBSchemaField -// UpdatedAt MizuEntryDBSchemaField -// DeletedAt MizuEntryDBSchemaField -// Entry MizuEntryDBSchemaField -//}{ -// -// ID: MizuEntryDBSchemaField("id"), -// CreatedAt: MizuEntryDBSchemaField("created_at"), -// UpdatedAt: MizuEntryDBSchemaField("updated_at"), -// DeletedAt: MizuEntryDBSchemaField("deleted_at"), -// Entry: MizuEntryDBSchemaField("entry"), -//} -// -//// Update updates MizuEntry fields by primary key -//// nolint: dupl -//func (o *MizuEntry) Update(db *gorm.DB, fields ...MizuEntryDBSchemaField) error { -// dbNameToFieldName := map[string]interface{}{ -// "id": o.ID, -// "created_at": o.CreatedAt, -// "updated_at": o.UpdatedAt, -// "deleted_at": o.DeletedAt, -// "entry": o.Entry, -// } -// u := map[string]interface{}{} -// for _, f := range fields { -// fs := f.String() -// u[fs] = dbNameToFieldName[fs] -// } -// if err := db.Model(o).Updates(u).Error; err != nil { -// if err == gorm.ErrRecordNotFound { -// return err -// } -// -// return fmt.Errorf("can't update MizuEntry %v fields %v: %s", -// o, fields, err) -// } -// -// return nil -//} -// -//// MizuEntryUpdater is an MizuEntry updates manager -//type MizuEntryUpdater struct { -// fields map[string]interface{} -// db *gorm.DB -//} -// -//// NewMizuEntryUpdater creates new MizuEntry updater -//// nolint: dupl -//func NewMizuEntryUpdater(db *gorm.DB) MizuEntryUpdater { -// return MizuEntryUpdater{ -// fields: map[string]interface{}{}, -// db: db.Model(&MizuEntry{}), -// } -//} -// -//// ===== END of MizuEntry modifiers -// -//// ===== END of all query sets diff --git a/tap/src/types.go b/tap/src/types.go deleted file mode 100644 index ef9b56e7e..000000000 --- a/tap/src/types.go +++ /dev/null @@ -1,175 +0,0 @@ -package main - -import ( - "bytes" - "crypto/rand" - "encoding/binary" - "encoding/hex" - "encoding/json" - "errors" - "fmt" - "io" - "sync/atomic" - "time" -) - -// ErrInvalidHex indicates that a hex string cannot be converted to an ObjectID. -var ErrInvalidHex = errors.New("the provided hex string is not a valid ObjectID") - -// ObjectID is the BSON ObjectID type. -type ObjectID [12]byte - -// NilObjectID is the zero value for ObjectID. -var NilObjectID ObjectID - -var objectIDCounter = readRandomUint32() -var processUnique = processUniqueBytes() - -// NewObjectID generates a new ObjectID. -func NewObjectID() ObjectID { - return NewObjectIDFromTimestamp(time.Now()) -} - -// NewObjectIDFromTimestamp generates a new ObjectID based on the given time. -func NewObjectIDFromTimestamp(timestamp time.Time) ObjectID { - var b [12]byte - - binary.BigEndian.PutUint32(b[0:4], uint32(timestamp.Unix())) - copy(b[4:9], processUnique[:]) - putUint24(b[9:12], atomic.AddUint32(&objectIDCounter, 1)) - - return b -} - -// Timestamp extracts the time part of the ObjectId. -func (id ObjectID) Timestamp() time.Time { - unixSecs := binary.BigEndian.Uint32(id[0:4]) - return time.Unix(int64(unixSecs), 0).UTC() -} - -// Hex returns the hex encoding of the ObjectID as a string. -func (id ObjectID) Hex() string { - return hex.EncodeToString(id[:]) -} - -func (id ObjectID) String() string { - return fmt.Sprintf("ObjectID(%q)", id.Hex()) -} - -// IsZero returns true if id is the empty ObjectID. -func (id ObjectID) IsZero() bool { - return bytes.Equal(id[:], NilObjectID[:]) -} - -// ObjectIDFromHex creates a new ObjectID from a hex string. It returns an error if the hex string is not a -// valid ObjectID. -func ObjectIDFromHex(s string) (ObjectID, error) { - b, err := hex.DecodeString(s) - if err != nil { - return NilObjectID, err - } - - if len(b) != 12 { - return NilObjectID, ErrInvalidHex - } - - var oid [12]byte - copy(oid[:], b[:]) - - return oid, nil -} - -// IsValidObjectID returns true if the provided hex string represents a valid ObjectID and false if not. -func IsValidObjectID(s string) bool { - _, err := ObjectIDFromHex(s) - return err == nil -} - -// MarshalJSON returns the ObjectID as a string -func (id ObjectID) MarshalJSON() ([]byte, error) { - return json.Marshal(id.Hex()) -} - -// UnmarshalJSON populates the byte slice with the ObjectID. If the byte slice is 24 bytes long, it -// will be populated with the hex representation of the ObjectID. If the byte slice is twelve bytes -// long, it will be populated with the BSON representation of the ObjectID. This method also accepts empty strings and -// decodes them as NilObjectID. For any other inputs, an error will be returned. -func (id *ObjectID) UnmarshalJSON(b []byte) error { - // Ignore "null" to keep parity with the standard library. Decoding a JSON null into a non-pointer ObjectID field - // will leave the field unchanged. For pointer values, encoding/json will set the pointer to nil and will not - // enter the UnmarshalJSON hook. - if string(b) == "null" { - return nil - } - - var err error - switch len(b) { - case 12: - copy(id[:], b) - default: - // Extended JSON - var res interface{} - err := json.Unmarshal(b, &res) - if err != nil { - return err - } - str, ok := res.(string) - if !ok { - m, ok := res.(map[string]interface{}) - if !ok { - return errors.New("not an extended JSON ObjectID") - } - oid, ok := m["$oid"] - if !ok { - return errors.New("not an extended JSON ObjectID") - } - str, ok = oid.(string) - if !ok { - return errors.New("not an extended JSON ObjectID") - } - } - - // An empty string is not a valid ObjectID, but we treat it as a special value that decodes as NilObjectID. - if len(str) == 0 { - copy(id[:], NilObjectID[:]) - return nil - } - - if len(str) != 24 { - return fmt.Errorf("cannot unmarshal into an ObjectID, the length must be 24 but it is %d", len(str)) - } - - _, err = hex.Decode(id[:], []byte(str)) - if err != nil { - return err - } - } - - return err -} - -func processUniqueBytes() [5]byte { - var b [5]byte - _, err := io.ReadFull(rand.Reader, b[:]) - if err != nil { - panic(fmt.Errorf("cannot initialize objectid package with crypto.rand.Reader: %v", err)) - } - - return b -} - -func readRandomUint32() uint32 { - var b [4]byte - _, err := io.ReadFull(rand.Reader, b[:]) - if err != nil { - panic(fmt.Errorf("cannot initialize objectid package with crypto.rand.Reader: %v", err)) - } - - return (uint32(b[0]) << 0) | (uint32(b[1]) << 8) | (uint32(b[2]) << 16) | (uint32(b[3]) << 24) -} - -func putUint24(b []byte, v uint32) { - b[0] = byte(v >> 16) - b[1] = byte(v >> 8) - b[2] = byte(v) -}