mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-25 03:49:11 +00:00
chore: make gazelle run with go generate
This commit is contained in:
parent
94eec4e10d
commit
bb83575308
27 changed files with 370 additions and 482 deletions
|
@ -2,6 +2,7 @@ load("@bazel_gazelle//:def.bzl", "gazelle")
|
||||||
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
|
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
|
||||||
|
|
||||||
# gazelle:prefix github.com/roleypoly/roleypoly
|
# gazelle:prefix github.com/roleypoly/roleypoly
|
||||||
|
# gazelle:exclude hack/**
|
||||||
gazelle(name = "gazelle")
|
gazelle(name = "gazelle")
|
||||||
|
|
||||||
exports_files(
|
exports_files(
|
||||||
|
|
28
deps.bzl
28
deps.bzl
|
@ -19,12 +19,7 @@ def go_repositories():
|
||||||
sum = "h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=",
|
sum = "h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=",
|
||||||
version = "v0.0.0-20151022065526-2efee857e7cf",
|
version = "v0.0.0-20151022065526-2efee857e7cf",
|
||||||
)
|
)
|
||||||
go_repository(
|
|
||||||
name = "com_github_andybalholm_cascadia",
|
|
||||||
importpath = "github.com/andybalholm/cascadia",
|
|
||||||
sum = "h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo=",
|
|
||||||
version = "v1.1.0",
|
|
||||||
)
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "com_github_armon_consul_api",
|
name = "com_github_armon_consul_api",
|
||||||
importpath = "github.com/armon/consul-api",
|
importpath = "github.com/armon/consul-api",
|
||||||
|
@ -157,12 +152,7 @@ def go_repositories():
|
||||||
sum = "h1:ds9HENceKzpGBgCRlkZNq6TqBIegwKcF3e5reuV9Z0M=",
|
sum = "h1:ds9HENceKzpGBgCRlkZNq6TqBIegwKcF3e5reuV9Z0M=",
|
||||||
version = "v0.4.3",
|
version = "v0.4.3",
|
||||||
)
|
)
|
||||||
go_repository(
|
|
||||||
name = "com_github_facebookincubator_ent",
|
|
||||||
importpath = "github.com/facebookincubator/ent",
|
|
||||||
sum = "h1:Jht3vZio7eshMo7yaEZJ6LHk4oM8xUCxKNNDj/Kb4fE=",
|
|
||||||
version = "v0.3.0",
|
|
||||||
)
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "com_github_fsnotify_fsnotify",
|
name = "com_github_fsnotify_fsnotify",
|
||||||
importpath = "github.com/fsnotify/fsnotify",
|
importpath = "github.com/fsnotify/fsnotify",
|
||||||
|
@ -523,24 +513,14 @@ def go_repositories():
|
||||||
sum = "h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA=",
|
sum = "h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA=",
|
||||||
version = "v0.7.1",
|
version = "v0.7.1",
|
||||||
)
|
)
|
||||||
go_repository(
|
|
||||||
name = "com_github_puerkitobio_goquery",
|
|
||||||
importpath = "github.com/PuerkitoBio/goquery",
|
|
||||||
sum = "h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE=",
|
|
||||||
version = "v1.5.1",
|
|
||||||
)
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "com_github_rogpeppe_fastuuid",
|
name = "com_github_rogpeppe_fastuuid",
|
||||||
importpath = "github.com/rogpeppe/fastuuid",
|
importpath = "github.com/rogpeppe/fastuuid",
|
||||||
sum = "h1:gu+uRPtBe88sKxUCEXRoeCvVG90TJmwhiqRpvdhQFng=",
|
sum = "h1:gu+uRPtBe88sKxUCEXRoeCvVG90TJmwhiqRpvdhQFng=",
|
||||||
version = "v0.0.0-20150106093220-6724a57986af",
|
version = "v0.0.0-20150106093220-6724a57986af",
|
||||||
)
|
)
|
||||||
go_repository(
|
|
||||||
name = "com_github_roleypoly_db",
|
|
||||||
importpath = "github.com/roleypoly/db",
|
|
||||||
sum = "h1:6As+Zl6a+YeIvpJXWOyDtxHTIP/kZdcYvSDrVkeJRLs=",
|
|
||||||
version = "v0.0.0-20200815123444-57c7f8a08f84",
|
|
||||||
)
|
|
||||||
go_repository(
|
go_repository(
|
||||||
name = "com_github_rs_cors",
|
name = "com_github_rs_cors",
|
||||||
importpath = "github.com/rs/cors",
|
importpath = "github.com/rs/cors",
|
||||||
|
|
3
go.mod
3
go.mod
|
@ -10,9 +10,8 @@ require (
|
||||||
github.com/improbable-eng/grpc-web v0.13.0
|
github.com/improbable-eng/grpc-web v0.13.0
|
||||||
github.com/joho/godotenv v1.3.0
|
github.com/joho/godotenv v1.3.0
|
||||||
github.com/lampjaw/discordclient v0.0.0-20200914142129-e3b4f5747970
|
github.com/lampjaw/discordclient v0.0.0-20200914142129-e3b4f5747970
|
||||||
github.com/lib/pq v1.8.0
|
|
||||||
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
|
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
|
||||||
github.com/roleypoly/db v0.0.0-20200815123444-57c7f8a08f84
|
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
|
||||||
github.com/rs/cors v1.7.0 // indirect
|
github.com/rs/cors v1.7.0 // indirect
|
||||||
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect
|
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a // indirect
|
||||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect
|
golang.org/x/net v0.0.0-20200904194848-62affa334b73 // indirect
|
||||||
|
|
21
go.sum
21
go.sum
|
@ -1,13 +1,10 @@
|
||||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
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/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
|
||||||
github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
|
github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
|
||||||
github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
||||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||||
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
|
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
|
|
||||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||||
|
@ -37,8 +34,6 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||||
github.com/facebook/ent v0.4.3 h1:ds9HENceKzpGBgCRlkZNq6TqBIegwKcF3e5reuV9Z0M=
|
github.com/facebook/ent v0.4.3 h1:ds9HENceKzpGBgCRlkZNq6TqBIegwKcF3e5reuV9Z0M=
|
||||||
github.com/facebook/ent v0.4.3/go.mod h1:4e/LKv3FFjj/867jPJYCxycZg0aGeEIgkiQ8jv2j6iQ=
|
github.com/facebook/ent v0.4.3/go.mod h1:4e/LKv3FFjj/867jPJYCxycZg0aGeEIgkiQ8jv2j6iQ=
|
||||||
github.com/facebookincubator/ent v0.3.0 h1:Jht3vZio7eshMo7yaEZJ6LHk4oM8xUCxKNNDj/Kb4fE=
|
|
||||||
github.com/facebookincubator/ent v0.3.0/go.mod h1:0PIsj0mNbnwufO/bqBiQmA1WEdxcYkU+ONxf7PRM9q4=
|
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
github.com/go-bindata/go-bindata v1.0.1-0.20190711162640-ee3c2418e368/go.mod h1:7xCgX1lzlrXPHkfvn3EhumqHkmSlzt8at9q7v0ax19c=
|
github.com/go-bindata/go-bindata v1.0.1-0.20190711162640-ee3c2418e368/go.mod h1:7xCgX1lzlrXPHkfvn3EhumqHkmSlzt8at9q7v0ax19c=
|
||||||
|
@ -78,8 +73,6 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||||
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
||||||
github.com/google/go-cmp v0.5.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/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
|
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
|
||||||
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
|
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
|
||||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
|
github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
|
||||||
|
@ -116,7 +109,6 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP
|
||||||
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||||
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
|
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
|
||||||
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||||
github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus=
|
|
||||||
github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
|
github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||||
|
@ -150,8 +142,6 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R
|
||||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||||
github.com/roleypoly/db v0.0.0-20200815123444-57c7f8a08f84 h1:6As+Zl6a+YeIvpJXWOyDtxHTIP/kZdcYvSDrVkeJRLs=
|
|
||||||
github.com/roleypoly/db v0.0.0-20200815123444-57c7f8a08f84/go.mod h1:dq8nCSix491Pvgq84GcbSgrLNKU8AwTNz3wCSHvTvss=
|
|
||||||
github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
||||||
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
||||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
@ -180,7 +170,6 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1
|
||||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
|
||||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
|
@ -202,10 +191,8 @@ golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvx
|
||||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422 h1:QzoH/1pFpZguR8NrRHLcO6jKqfv2zpuSqZLgdm7ZmjI=
|
golang.org/x/lint v0.0.0-20190409202823-959b441ac422 h1:QzoH/1pFpZguR8NrRHLcO6jKqfv2zpuSqZLgdm7ZmjI=
|
||||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
|
||||||
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
|
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
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-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
@ -216,9 +203,6 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
|
||||||
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
|
||||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA=
|
golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA=
|
||||||
golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||||
|
@ -228,8 +212,6 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/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-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/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
|
||||||
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/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-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
@ -256,8 +238,6 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
|
||||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
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/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/tools v0.0.0-20200615222825-6aa8f57aacd9 h1:cwgUY+1ja2qxWb2dyaCoixaA66WGWmrijSlxaM+JM/g=
|
|
||||||
golang.org/x/tools v0.0.0-20200615222825-6aa8f57aacd9/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
|
||||||
golang.org/x/tools v0.0.0-20200904185747-39188db58858 h1:xLt+iB5ksWcZVxqc+g9K41ZHy+6MKWfXCDsjSThnsPA=
|
golang.org/x/tools v0.0.0-20200904185747-39188db58858 h1:xLt+iB5ksWcZVxqc+g9K41ZHy+6MKWfXCDsjSThnsPA=
|
||||||
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
|
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
@ -299,7 +279,6 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
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/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U=
|
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U=
|
||||||
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||||
|
|
7
hack/generate.go
Normal file
7
hack/generate.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
package hacknotused
|
||||||
|
|
||||||
|
//go:generate sh gazelle.sh
|
||||||
|
|
||||||
|
func noop() {
|
||||||
|
|
||||||
|
}
|
|
@ -1,23 +0,0 @@
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
|
|
||||||
|
|
||||||
go_library(
|
|
||||||
name = "db-tool_lib",
|
|
||||||
srcs = [
|
|
||||||
"import.go",
|
|
||||||
"migrate.go",
|
|
||||||
],
|
|
||||||
importpath = "github.com/roleypoly/roleypoly/src/db/cmd/db-tool",
|
|
||||||
visibility = ["//visibility:private"],
|
|
||||||
deps = [
|
|
||||||
"@com_github_lib_pq//:pq",
|
|
||||||
"@com_github_roleypoly_db//ent",
|
|
||||||
"@com_github_roleypoly_db//ent/migrate",
|
|
||||||
"@com_github_roleypoly_db//ent/schema",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
go_binary(
|
|
||||||
name = "db-tool",
|
|
||||||
embed = [":db-tool_lib"],
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
)
|
|
|
@ -1,59 +0,0 @@
|
||||||
# Accept the Go version for the image to be set as a build argument.
|
|
||||||
# Default to Go 1.12
|
|
||||||
ARG GO_VERSION=1.13
|
|
||||||
|
|
||||||
# First stage: build the executable.
|
|
||||||
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine AS builder
|
|
||||||
|
|
||||||
ARG GOPROXY
|
|
||||||
ARG BUILDPLATFORM
|
|
||||||
ARG TARGETARCH
|
|
||||||
ARG TARGETOS
|
|
||||||
ENV GOPROXY ${GOPROXY}
|
|
||||||
ENV GOOS ${TARGETOS}
|
|
||||||
ENV GOARCH ${TARGETARCH}
|
|
||||||
|
|
||||||
# Create the user and group files that will be used in the running container to
|
|
||||||
# run the process as an unprivileged user.
|
|
||||||
RUN mkdir /user && \
|
|
||||||
echo 'nobody:x:65534:65534:nobody:/:' > /user/passwd && \
|
|
||||||
echo 'nobody:x:65534:' > /user/group
|
|
||||||
|
|
||||||
# Install the Certificate-Authority certificates for the app to be able to make
|
|
||||||
# calls to HTTPS endpoints.
|
|
||||||
# Git is required for fetching the dependencies.
|
|
||||||
RUN apk add --no-cache ca-certificates git
|
|
||||||
|
|
||||||
# Set the working directory outside $GOPATH to enable the support for modules.
|
|
||||||
WORKDIR /src
|
|
||||||
|
|
||||||
# Fetch dependencies first; they are less susceptible to change on every build
|
|
||||||
# and will therefore be cached for speeding up the next build
|
|
||||||
COPY ./go.mod ./go.sum ./
|
|
||||||
RUN go mod download
|
|
||||||
|
|
||||||
# Import the code from the context.
|
|
||||||
COPY ./ ./
|
|
||||||
|
|
||||||
# Build the executable to `/app`. Mark the build as statically linked.
|
|
||||||
RUN CGO_ENABLED=0 go build \
|
|
||||||
-installsuffix 'static' \
|
|
||||||
-o /app ./cmd/db-tool
|
|
||||||
|
|
||||||
# Final stage: the running container.
|
|
||||||
FROM scratch AS final
|
|
||||||
|
|
||||||
# Import the user and group files from the first stage.
|
|
||||||
COPY --from=builder /user/group /user/passwd /etc/
|
|
||||||
|
|
||||||
# Import the Certificate-Authority certificates for enabling HTTPS.
|
|
||||||
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
|
||||||
|
|
||||||
# Import the compiled executable from the first stage.
|
|
||||||
COPY --from=builder /app /app
|
|
||||||
|
|
||||||
# Perform any further action as an unprivileged user.
|
|
||||||
USER nobody:nobody
|
|
||||||
|
|
||||||
# Run the compiled binary.
|
|
||||||
ENTRYPOINT ["/app"]
|
|
|
@ -1,14 +0,0 @@
|
||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
pg:
|
|
||||||
image: postgres:11-alpine
|
|
||||||
ports:
|
|
||||||
- 5432
|
|
||||||
volumes:
|
|
||||||
- './.data/pg:/var/lib/postgresql/data'
|
|
||||||
environment:
|
|
||||||
POSTGRES_PASSWORD: 19216801
|
|
||||||
POSTGRES_DB: roleypoly
|
|
||||||
POSTGRES_USER: roleypoly
|
|
||||||
POSTGRES_INITDB_ARGS: -A trust
|
|
|
@ -1,104 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"database/sql"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
ent "github.com/roleypoly/db/ent"
|
|
||||||
"github.com/roleypoly/db/ent/schema"
|
|
||||||
)
|
|
||||||
|
|
||||||
type v1Category struct {
|
|
||||||
ID string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Roles []string `json:"roles"`
|
|
||||||
Hidden bool `json:"hidden"`
|
|
||||||
Type string `json:"type"`
|
|
||||||
Position int `json:"position"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type v1Server struct {
|
|
||||||
ID string `json:"id"`
|
|
||||||
Categories []v1Category `json:"categories"`
|
|
||||||
Message string `json:"message"`
|
|
||||||
CreatedAt time.Time `json:"created_at"`
|
|
||||||
UpdatedAt time.Time `json:"updated_at"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func fromCategories(cats []v1Category) []schema.Category {
|
|
||||||
out := make([]schema.Category, len(cats))
|
|
||||||
for i, cat := range cats {
|
|
||||||
out[i] = schema.Category{
|
|
||||||
ID: cat.ID,
|
|
||||||
Name: cat.Name,
|
|
||||||
Hidden: cat.Hidden,
|
|
||||||
Type: cat.Type,
|
|
||||||
Position: cat.Position,
|
|
||||||
Roles: cat.Roles,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func runImport(newDB *ent.Client, oldDB *sql.DB) {
|
|
||||||
ctx := ent.NewContext(context.Background(), newDB)
|
|
||||||
tx, err := newDB.Tx(ctx)
|
|
||||||
|
|
||||||
oldServers, err := oldDB.Query(`SELECT * FROM servers`)
|
|
||||||
if err != nil {
|
|
||||||
tx.Rollback()
|
|
||||||
log.Fatalln("query error", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer oldServers.Close()
|
|
||||||
|
|
||||||
for oldServers.Next() == true {
|
|
||||||
var data v1Server
|
|
||||||
|
|
||||||
log.Printf("importing %s\n", data.ID)
|
|
||||||
|
|
||||||
err = oldServers.Scan(&data)
|
|
||||||
if err != nil {
|
|
||||||
tx.Rollback()
|
|
||||||
log.Fatalln("data scan error", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
guild := tx.Guild.Create()
|
|
||||||
|
|
||||||
guild.SetMessage(data.Message).
|
|
||||||
SetSnowflake(data.ID).
|
|
||||||
SetCategories(fromCategories(data.Categories)).
|
|
||||||
SetCreateTime(data.CreatedAt)
|
|
||||||
|
|
||||||
ctx := ent.NewContext(context.Background(), newDB)
|
|
||||||
guild.SaveX(ctx)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = tx.Commit()
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln("tx commit error", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func importFromV1() {
|
|
||||||
log.Println("Import from V1 starting.")
|
|
||||||
|
|
||||||
client, err := ent.Open("postgres", os.Getenv("DB_URL"))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
}
|
|
||||||
defer client.Close()
|
|
||||||
|
|
||||||
oldClient, err := sql.Open("postgres", os.Getenv("OLD_DB_URL"))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
}
|
|
||||||
defer oldClient.Close()
|
|
||||||
|
|
||||||
runImport(client, oldClient)
|
|
||||||
log.Println("Import from V1 finished.")
|
|
||||||
}
|
|
|
@ -1,58 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
_ "github.com/lib/pq"
|
|
||||||
ent "github.com/roleypoly/db/ent"
|
|
||||||
"github.com/roleypoly/db/ent/migrate"
|
|
||||||
)
|
|
||||||
|
|
||||||
func retryMigrate(client *ent.Client) {
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
err := client.Schema.Create(context.Background(), migrate.WithGlobalUniqueID(true))
|
|
||||||
if err == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Println("Migration failed --", err)
|
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Fatalln("Migration failed after 20 seconds.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func doMigrate() {
|
|
||||||
log.Println("Migrations starting.")
|
|
||||||
|
|
||||||
client, err := ent.Open("postgres", os.Getenv("DB_URL"))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer client.Close()
|
|
||||||
|
|
||||||
retryMigrate(client)
|
|
||||||
log.Println("Migrations finished.")
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
tool := os.Args[1]
|
|
||||||
if tool == "" {
|
|
||||||
tool = "migrate"
|
|
||||||
}
|
|
||||||
|
|
||||||
switch tool {
|
|
||||||
case "migrate":
|
|
||||||
doMigrate()
|
|
||||||
case "import":
|
|
||||||
importFromV1()
|
|
||||||
default:
|
|
||||||
log.Fatalln("supported tools: migrate, import")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -42,6 +42,16 @@ var Columns = []string{
|
||||||
FieldExpiresAt,
|
FieldExpiresAt,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValidColumn reports if the column name is valid (part of the table columns).
|
||||||
|
func ValidColumn(column string) bool {
|
||||||
|
for i := range Columns {
|
||||||
|
if column == Columns[i] {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// DefaultCreateTime holds the default value on creation for the create_time field.
|
// DefaultCreateTime holds the default value on creation for the create_time field.
|
||||||
DefaultCreateTime func() time.Time
|
DefaultCreateTime func() time.Time
|
||||||
|
|
|
@ -93,14 +93,15 @@ func (cc *ChallengeCreate) Mutation() *ChallengeMutation {
|
||||||
|
|
||||||
// Save creates the Challenge in the database.
|
// Save creates the Challenge in the database.
|
||||||
func (cc *ChallengeCreate) Save(ctx context.Context) (*Challenge, error) {
|
func (cc *ChallengeCreate) Save(ctx context.Context) (*Challenge, error) {
|
||||||
if err := cc.preSave(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
node *Challenge
|
node *Challenge
|
||||||
)
|
)
|
||||||
|
cc.defaults()
|
||||||
if len(cc.hooks) == 0 {
|
if len(cc.hooks) == 0 {
|
||||||
|
if err = cc.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
node, err = cc.sqlSave(ctx)
|
node, err = cc.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||||
|
@ -108,6 +109,9 @@ func (cc *ChallengeCreate) Save(ctx context.Context) (*Challenge, error) {
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||||
}
|
}
|
||||||
|
if err = cc.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
cc.mutation = mutation
|
cc.mutation = mutation
|
||||||
node, err = cc.sqlSave(ctx)
|
node, err = cc.sqlSave(ctx)
|
||||||
mutation.done = true
|
mutation.done = true
|
||||||
|
@ -132,7 +136,8 @@ func (cc *ChallengeCreate) SaveX(ctx context.Context) *Challenge {
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cc *ChallengeCreate) preSave() error {
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (cc *ChallengeCreate) defaults() {
|
||||||
if _, ok := cc.mutation.CreateTime(); !ok {
|
if _, ok := cc.mutation.CreateTime(); !ok {
|
||||||
v := challenge.DefaultCreateTime()
|
v := challenge.DefaultCreateTime()
|
||||||
cc.mutation.SetCreateTime(v)
|
cc.mutation.SetCreateTime(v)
|
||||||
|
@ -141,6 +146,20 @@ func (cc *ChallengeCreate) preSave() error {
|
||||||
v := challenge.DefaultUpdateTime()
|
v := challenge.DefaultUpdateTime()
|
||||||
cc.mutation.SetUpdateTime(v)
|
cc.mutation.SetUpdateTime(v)
|
||||||
}
|
}
|
||||||
|
if _, ok := cc.mutation.ExpiresAt(); !ok {
|
||||||
|
v := challenge.DefaultExpiresAt()
|
||||||
|
cc.mutation.SetExpiresAt(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check runs all checks and user-defined validators on the builder.
|
||||||
|
func (cc *ChallengeCreate) check() error {
|
||||||
|
if _, ok := cc.mutation.CreateTime(); !ok {
|
||||||
|
return &ValidationError{Name: "create_time", err: errors.New("ent: missing required field \"create_time\"")}
|
||||||
|
}
|
||||||
|
if _, ok := cc.mutation.UpdateTime(); !ok {
|
||||||
|
return &ValidationError{Name: "update_time", err: errors.New("ent: missing required field \"update_time\"")}
|
||||||
|
}
|
||||||
if _, ok := cc.mutation.ChallengeID(); !ok {
|
if _, ok := cc.mutation.ChallengeID(); !ok {
|
||||||
return &ValidationError{Name: "challenge_id", err: errors.New("ent: missing required field \"challenge_id\"")}
|
return &ValidationError{Name: "challenge_id", err: errors.New("ent: missing required field \"challenge_id\"")}
|
||||||
}
|
}
|
||||||
|
@ -154,14 +173,13 @@ func (cc *ChallengeCreate) preSave() error {
|
||||||
return &ValidationError{Name: "magic", err: errors.New("ent: missing required field \"magic\"")}
|
return &ValidationError{Name: "magic", err: errors.New("ent: missing required field \"magic\"")}
|
||||||
}
|
}
|
||||||
if _, ok := cc.mutation.ExpiresAt(); !ok {
|
if _, ok := cc.mutation.ExpiresAt(); !ok {
|
||||||
v := challenge.DefaultExpiresAt()
|
return &ValidationError{Name: "expires_at", err: errors.New("ent: missing required field \"expires_at\"")}
|
||||||
cc.mutation.SetExpiresAt(v)
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cc *ChallengeCreate) sqlSave(ctx context.Context) (*Challenge, error) {
|
func (cc *ChallengeCreate) sqlSave(ctx context.Context) (*Challenge, error) {
|
||||||
c, _spec := cc.createSpec()
|
_node, _spec := cc.createSpec()
|
||||||
if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil {
|
if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil {
|
||||||
if cerr, ok := isSQLConstraintError(err); ok {
|
if cerr, ok := isSQLConstraintError(err); ok {
|
||||||
err = cerr
|
err = cerr
|
||||||
|
@ -169,13 +187,13 @@ func (cc *ChallengeCreate) sqlSave(ctx context.Context) (*Challenge, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
id := _spec.ID.Value.(int64)
|
id := _spec.ID.Value.(int64)
|
||||||
c.ID = int(id)
|
_node.ID = int(id)
|
||||||
return c, nil
|
return _node, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
var (
|
var (
|
||||||
c = &Challenge{config: cc.config}
|
_node = &Challenge{config: cc.config}
|
||||||
_spec = &sqlgraph.CreateSpec{
|
_spec = &sqlgraph.CreateSpec{
|
||||||
Table: challenge.Table,
|
Table: challenge.Table,
|
||||||
ID: &sqlgraph.FieldSpec{
|
ID: &sqlgraph.FieldSpec{
|
||||||
|
@ -190,7 +208,7 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldCreateTime,
|
Column: challenge.FieldCreateTime,
|
||||||
})
|
})
|
||||||
c.CreateTime = value
|
_node.CreateTime = value
|
||||||
}
|
}
|
||||||
if value, ok := cc.mutation.UpdateTime(); ok {
|
if value, ok := cc.mutation.UpdateTime(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -198,7 +216,7 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldUpdateTime,
|
Column: challenge.FieldUpdateTime,
|
||||||
})
|
})
|
||||||
c.UpdateTime = value
|
_node.UpdateTime = value
|
||||||
}
|
}
|
||||||
if value, ok := cc.mutation.ChallengeID(); ok {
|
if value, ok := cc.mutation.ChallengeID(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -206,7 +224,7 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldChallengeID,
|
Column: challenge.FieldChallengeID,
|
||||||
})
|
})
|
||||||
c.ChallengeID = value
|
_node.ChallengeID = value
|
||||||
}
|
}
|
||||||
if value, ok := cc.mutation.UserID(); ok {
|
if value, ok := cc.mutation.UserID(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -214,7 +232,7 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldUserID,
|
Column: challenge.FieldUserID,
|
||||||
})
|
})
|
||||||
c.UserID = value
|
_node.UserID = value
|
||||||
}
|
}
|
||||||
if value, ok := cc.mutation.Human(); ok {
|
if value, ok := cc.mutation.Human(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -222,7 +240,7 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldHuman,
|
Column: challenge.FieldHuman,
|
||||||
})
|
})
|
||||||
c.Human = value
|
_node.Human = value
|
||||||
}
|
}
|
||||||
if value, ok := cc.mutation.Magic(); ok {
|
if value, ok := cc.mutation.Magic(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -230,7 +248,7 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldMagic,
|
Column: challenge.FieldMagic,
|
||||||
})
|
})
|
||||||
c.Magic = value
|
_node.Magic = value
|
||||||
}
|
}
|
||||||
if value, ok := cc.mutation.ExpiresAt(); ok {
|
if value, ok := cc.mutation.ExpiresAt(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -238,9 +256,9 @@ func (cc *ChallengeCreate) createSpec() (*Challenge, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: challenge.FieldExpiresAt,
|
Column: challenge.FieldExpiresAt,
|
||||||
})
|
})
|
||||||
c.ExpiresAt = value
|
_node.ExpiresAt = value
|
||||||
}
|
}
|
||||||
return c, _spec
|
return _node, _spec
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChallengeCreateBulk is the builder for creating a bulk of Challenge entities.
|
// ChallengeCreateBulk is the builder for creating a bulk of Challenge entities.
|
||||||
|
@ -257,14 +275,15 @@ func (ccb *ChallengeCreateBulk) Save(ctx context.Context) ([]*Challenge, error)
|
||||||
for i := range ccb.builders {
|
for i := range ccb.builders {
|
||||||
func(i int, root context.Context) {
|
func(i int, root context.Context) {
|
||||||
builder := ccb.builders[i]
|
builder := ccb.builders[i]
|
||||||
|
builder.defaults()
|
||||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||||
if err := builder.preSave(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
mutation, ok := m.(*ChallengeMutation)
|
mutation, ok := m.(*ChallengeMutation)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||||
}
|
}
|
||||||
|
if err := builder.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
builder.mutation = mutation
|
builder.mutation = mutation
|
||||||
nodes[i], specs[i] = builder.createSpec()
|
nodes[i], specs[i] = builder.createSpec()
|
||||||
var err error
|
var err error
|
||||||
|
|
|
@ -54,23 +54,23 @@ func (cq *ChallengeQuery) Order(o ...OrderFunc) *ChallengeQuery {
|
||||||
|
|
||||||
// First returns the first Challenge entity in the query. Returns *NotFoundError when no challenge was found.
|
// First returns the first Challenge entity in the query. Returns *NotFoundError when no challenge was found.
|
||||||
func (cq *ChallengeQuery) First(ctx context.Context) (*Challenge, error) {
|
func (cq *ChallengeQuery) First(ctx context.Context) (*Challenge, error) {
|
||||||
cs, err := cq.Limit(1).All(ctx)
|
nodes, err := cq.Limit(1).All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(cs) == 0 {
|
if len(nodes) == 0 {
|
||||||
return nil, &NotFoundError{challenge.Label}
|
return nil, &NotFoundError{challenge.Label}
|
||||||
}
|
}
|
||||||
return cs[0], nil
|
return nodes[0], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// FirstX is like First, but panics if an error occurs.
|
// FirstX is like First, but panics if an error occurs.
|
||||||
func (cq *ChallengeQuery) FirstX(ctx context.Context) *Challenge {
|
func (cq *ChallengeQuery) FirstX(ctx context.Context) *Challenge {
|
||||||
c, err := cq.First(ctx)
|
node, err := cq.First(ctx)
|
||||||
if err != nil && !IsNotFound(err) {
|
if err != nil && !IsNotFound(err) {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return c
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// FirstID returns the first Challenge id in the query. Returns *NotFoundError when no id was found.
|
// FirstID returns the first Challenge id in the query. Returns *NotFoundError when no id was found.
|
||||||
|
@ -97,13 +97,13 @@ func (cq *ChallengeQuery) FirstXID(ctx context.Context) int {
|
||||||
|
|
||||||
// Only returns the only Challenge entity in the query, returns an error if not exactly one entity was returned.
|
// Only returns the only Challenge entity in the query, returns an error if not exactly one entity was returned.
|
||||||
func (cq *ChallengeQuery) Only(ctx context.Context) (*Challenge, error) {
|
func (cq *ChallengeQuery) Only(ctx context.Context) (*Challenge, error) {
|
||||||
cs, err := cq.Limit(2).All(ctx)
|
nodes, err := cq.Limit(2).All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
switch len(cs) {
|
switch len(nodes) {
|
||||||
case 1:
|
case 1:
|
||||||
return cs[0], nil
|
return nodes[0], nil
|
||||||
case 0:
|
case 0:
|
||||||
return nil, &NotFoundError{challenge.Label}
|
return nil, &NotFoundError{challenge.Label}
|
||||||
default:
|
default:
|
||||||
|
@ -113,11 +113,11 @@ func (cq *ChallengeQuery) Only(ctx context.Context) (*Challenge, error) {
|
||||||
|
|
||||||
// OnlyX is like Only, but panics if an error occurs.
|
// OnlyX is like Only, but panics if an error occurs.
|
||||||
func (cq *ChallengeQuery) OnlyX(ctx context.Context) *Challenge {
|
func (cq *ChallengeQuery) OnlyX(ctx context.Context) *Challenge {
|
||||||
c, err := cq.Only(ctx)
|
node, err := cq.Only(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return c
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnlyID returns the only Challenge id in the query, returns an error if not exactly one id was returned.
|
// OnlyID returns the only Challenge id in the query, returns an error if not exactly one id was returned.
|
||||||
|
@ -156,11 +156,11 @@ func (cq *ChallengeQuery) All(ctx context.Context) ([]*Challenge, error) {
|
||||||
|
|
||||||
// AllX is like All, but panics if an error occurs.
|
// AllX is like All, but panics if an error occurs.
|
||||||
func (cq *ChallengeQuery) AllX(ctx context.Context) []*Challenge {
|
func (cq *ChallengeQuery) AllX(ctx context.Context) []*Challenge {
|
||||||
cs, err := cq.All(ctx)
|
nodes, err := cq.All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return cs
|
return nodes
|
||||||
}
|
}
|
||||||
|
|
||||||
// IDs executes the query and returns a list of Challenge ids.
|
// IDs executes the query and returns a list of Challenge ids.
|
||||||
|
@ -362,7 +362,7 @@ func (cq *ChallengeQuery) querySpec() *sqlgraph.QuerySpec {
|
||||||
if ps := cq.order; len(ps) > 0 {
|
if ps := cq.order; len(ps) > 0 {
|
||||||
_spec.Order = func(selector *sql.Selector) {
|
_spec.Order = func(selector *sql.Selector) {
|
||||||
for i := range ps {
|
for i := range ps {
|
||||||
ps[i](selector)
|
ps[i](selector, challenge.ValidColumn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -381,7 +381,7 @@ func (cq *ChallengeQuery) sqlQuery() *sql.Selector {
|
||||||
p(selector)
|
p(selector)
|
||||||
}
|
}
|
||||||
for _, p := range cq.order {
|
for _, p := range cq.order {
|
||||||
p(selector)
|
p(selector, challenge.ValidColumn)
|
||||||
}
|
}
|
||||||
if offset := cq.offset; offset != nil {
|
if offset := cq.offset; offset != nil {
|
||||||
// limit is mandatory for offset clause. We start
|
// limit is mandatory for offset clause. We start
|
||||||
|
@ -616,8 +616,17 @@ func (cgb *ChallengeGroupBy) BoolX(ctx context.Context) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cgb *ChallengeGroupBy) sqlScan(ctx context.Context, v interface{}) error {
|
func (cgb *ChallengeGroupBy) sqlScan(ctx context.Context, v interface{}) error {
|
||||||
|
for _, f := range cgb.fields {
|
||||||
|
if !challenge.ValidColumn(f) {
|
||||||
|
return &ValidationError{Name: f, err: fmt.Errorf("invalid field %q for group-by", f)}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
selector := cgb.sqlQuery()
|
||||||
|
if err := selector.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
rows := &sql.Rows{}
|
rows := &sql.Rows{}
|
||||||
query, args := cgb.sqlQuery().Query()
|
query, args := selector.Query()
|
||||||
if err := cgb.driver.Query(ctx, query, args, rows); err != nil {
|
if err := cgb.driver.Query(ctx, query, args, rows); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -630,7 +639,7 @@ func (cgb *ChallengeGroupBy) sqlQuery() *sql.Selector {
|
||||||
columns := make([]string, 0, len(cgb.fields)+len(cgb.fns))
|
columns := make([]string, 0, len(cgb.fields)+len(cgb.fns))
|
||||||
columns = append(columns, cgb.fields...)
|
columns = append(columns, cgb.fields...)
|
||||||
for _, fn := range cgb.fns {
|
for _, fn := range cgb.fns {
|
||||||
columns = append(columns, fn(selector))
|
columns = append(columns, fn(selector, challenge.ValidColumn))
|
||||||
}
|
}
|
||||||
return selector.Select(columns...).GroupBy(cgb.fields...)
|
return selector.Select(columns...).GroupBy(cgb.fields...)
|
||||||
}
|
}
|
||||||
|
@ -850,6 +859,11 @@ func (cs *ChallengeSelect) BoolX(ctx context.Context) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cs *ChallengeSelect) sqlScan(ctx context.Context, v interface{}) error {
|
func (cs *ChallengeSelect) sqlScan(ctx context.Context, v interface{}) error {
|
||||||
|
for _, f := range cs.fields {
|
||||||
|
if !challenge.ValidColumn(f) {
|
||||||
|
return &ValidationError{Name: f, err: fmt.Errorf("invalid field %q for selection", f)}
|
||||||
|
}
|
||||||
|
}
|
||||||
rows := &sql.Rows{}
|
rows := &sql.Rows{}
|
||||||
query, args := cs.sqlQuery().Query()
|
query, args := cs.sqlQuery().Query()
|
||||||
if err := cs.driver.Query(ctx, query, args, rows); err != nil {
|
if err := cs.driver.Query(ctx, query, args, rows); err != nil {
|
||||||
|
|
|
@ -34,14 +34,11 @@ func (cu *ChallengeUpdate) Mutation() *ChallengeMutation {
|
||||||
|
|
||||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||||
func (cu *ChallengeUpdate) Save(ctx context.Context) (int, error) {
|
func (cu *ChallengeUpdate) Save(ctx context.Context) (int, error) {
|
||||||
if _, ok := cu.mutation.UpdateTime(); !ok {
|
|
||||||
v := challenge.UpdateDefaultUpdateTime()
|
|
||||||
cu.mutation.SetUpdateTime(v)
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
affected int
|
affected int
|
||||||
)
|
)
|
||||||
|
cu.defaults()
|
||||||
if len(cu.hooks) == 0 {
|
if len(cu.hooks) == 0 {
|
||||||
affected, err = cu.sqlSave(ctx)
|
affected, err = cu.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
|
@ -87,6 +84,14 @@ func (cu *ChallengeUpdate) ExecX(ctx context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (cu *ChallengeUpdate) defaults() {
|
||||||
|
if _, ok := cu.mutation.UpdateTime(); !ok {
|
||||||
|
v := challenge.UpdateDefaultUpdateTime()
|
||||||
|
cu.mutation.SetUpdateTime(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (cu *ChallengeUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
func (cu *ChallengeUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||||
_spec := &sqlgraph.UpdateSpec{
|
_spec := &sqlgraph.UpdateSpec{
|
||||||
Node: &sqlgraph.NodeSpec{
|
Node: &sqlgraph.NodeSpec{
|
||||||
|
@ -137,14 +142,11 @@ func (cuo *ChallengeUpdateOne) Mutation() *ChallengeMutation {
|
||||||
|
|
||||||
// Save executes the query and returns the updated entity.
|
// Save executes the query and returns the updated entity.
|
||||||
func (cuo *ChallengeUpdateOne) Save(ctx context.Context) (*Challenge, error) {
|
func (cuo *ChallengeUpdateOne) Save(ctx context.Context) (*Challenge, error) {
|
||||||
if _, ok := cuo.mutation.UpdateTime(); !ok {
|
|
||||||
v := challenge.UpdateDefaultUpdateTime()
|
|
||||||
cuo.mutation.SetUpdateTime(v)
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
node *Challenge
|
node *Challenge
|
||||||
)
|
)
|
||||||
|
cuo.defaults()
|
||||||
if len(cuo.hooks) == 0 {
|
if len(cuo.hooks) == 0 {
|
||||||
node, err = cuo.sqlSave(ctx)
|
node, err = cuo.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
|
@ -170,11 +172,11 @@ func (cuo *ChallengeUpdateOne) Save(ctx context.Context) (*Challenge, error) {
|
||||||
|
|
||||||
// SaveX is like Save, but panics if an error occurs.
|
// SaveX is like Save, but panics if an error occurs.
|
||||||
func (cuo *ChallengeUpdateOne) SaveX(ctx context.Context) *Challenge {
|
func (cuo *ChallengeUpdateOne) SaveX(ctx context.Context) *Challenge {
|
||||||
c, err := cuo.Save(ctx)
|
node, err := cuo.Save(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return c
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec executes the query on the entity.
|
// Exec executes the query on the entity.
|
||||||
|
@ -190,7 +192,15 @@ func (cuo *ChallengeUpdateOne) ExecX(ctx context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cuo *ChallengeUpdateOne) sqlSave(ctx context.Context) (c *Challenge, err error) {
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (cuo *ChallengeUpdateOne) defaults() {
|
||||||
|
if _, ok := cuo.mutation.UpdateTime(); !ok {
|
||||||
|
v := challenge.UpdateDefaultUpdateTime()
|
||||||
|
cuo.mutation.SetUpdateTime(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cuo *ChallengeUpdateOne) sqlSave(ctx context.Context) (_node *Challenge, err error) {
|
||||||
_spec := &sqlgraph.UpdateSpec{
|
_spec := &sqlgraph.UpdateSpec{
|
||||||
Node: &sqlgraph.NodeSpec{
|
Node: &sqlgraph.NodeSpec{
|
||||||
Table: challenge.Table,
|
Table: challenge.Table,
|
||||||
|
@ -213,9 +223,9 @@ func (cuo *ChallengeUpdateOne) sqlSave(ctx context.Context) (c *Challenge, err e
|
||||||
Column: challenge.FieldUpdateTime,
|
Column: challenge.FieldUpdateTime,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
c = &Challenge{config: cuo.config}
|
_node = &Challenge{config: cuo.config}
|
||||||
_spec.Assign = c.assignValues
|
_spec.Assign = _node.assignValues
|
||||||
_spec.ScanValues = c.scanValues()
|
_spec.ScanValues = _node.scanValues()
|
||||||
if err = sqlgraph.UpdateNode(ctx, cuo.driver, _spec); err != nil {
|
if err = sqlgraph.UpdateNode(ctx, cuo.driver, _spec); err != nil {
|
||||||
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
||||||
err = &NotFoundError{challenge.Label}
|
err = &NotFoundError{challenge.Label}
|
||||||
|
@ -224,5 +234,5 @@ func (cuo *ChallengeUpdateOne) sqlSave(ctx context.Context) (c *Challenge, err e
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return c, nil
|
return _node, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,11 +206,11 @@ func (c *ChallengeClient) Get(ctx context.Context, id int) (*Challenge, error) {
|
||||||
|
|
||||||
// GetX is like Get, but panics if an error occurs.
|
// GetX is like Get, but panics if an error occurs.
|
||||||
func (c *ChallengeClient) GetX(ctx context.Context, id int) *Challenge {
|
func (c *ChallengeClient) GetX(ctx context.Context, id int) *Challenge {
|
||||||
ch, err := c.Get(ctx, id)
|
obj, err := c.Get(ctx, id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return ch
|
return obj
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hooks returns the client hooks.
|
// Hooks returns the client hooks.
|
||||||
|
@ -294,11 +294,11 @@ func (c *GuildClient) Get(ctx context.Context, id int) (*Guild, error) {
|
||||||
|
|
||||||
// GetX is like Get, but panics if an error occurs.
|
// GetX is like Get, but panics if an error occurs.
|
||||||
func (c *GuildClient) GetX(ctx context.Context, id int) *Guild {
|
func (c *GuildClient) GetX(ctx context.Context, id int) *Guild {
|
||||||
gu, err := c.Get(ctx, id)
|
obj, err := c.Get(ctx, id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return gu
|
return obj
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hooks returns the client hooks.
|
// Hooks returns the client hooks.
|
||||||
|
@ -382,11 +382,11 @@ func (c *SessionClient) Get(ctx context.Context, id int) (*Session, error) {
|
||||||
|
|
||||||
// GetX is like Get, but panics if an error occurs.
|
// GetX is like Get, but panics if an error occurs.
|
||||||
func (c *SessionClient) GetX(ctx context.Context, id int) *Session {
|
func (c *SessionClient) GetX(ctx context.Context, id int) *Session {
|
||||||
s, err := c.Get(ctx, id)
|
obj, err := c.Get(ctx, id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return s
|
return obj
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hooks returns the client hooks.
|
// Hooks returns the client hooks.
|
||||||
|
|
|
@ -25,29 +25,37 @@ type (
|
||||||
MutateFunc = ent.MutateFunc
|
MutateFunc = ent.MutateFunc
|
||||||
)
|
)
|
||||||
|
|
||||||
// OrderFunc applies an ordering on either graph traversal or sql selector.
|
// OrderFunc applies an ordering on the sql selector.
|
||||||
type OrderFunc func(*sql.Selector)
|
type OrderFunc func(*sql.Selector, func(string) bool)
|
||||||
|
|
||||||
// Asc applies the given fields in ASC order.
|
// Asc applies the given fields in ASC order.
|
||||||
func Asc(fields ...string) OrderFunc {
|
func Asc(fields ...string) OrderFunc {
|
||||||
return func(s *sql.Selector) {
|
return func(s *sql.Selector, check func(string) bool) {
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
s.OrderBy(sql.Asc(f))
|
if check(f) {
|
||||||
|
s.OrderBy(sql.Asc(f))
|
||||||
|
} else {
|
||||||
|
s.AddError(&ValidationError{Name: f, err: fmt.Errorf("invalid field %q for ordering", f)})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Desc applies the given fields in DESC order.
|
// Desc applies the given fields in DESC order.
|
||||||
func Desc(fields ...string) OrderFunc {
|
func Desc(fields ...string) OrderFunc {
|
||||||
return func(s *sql.Selector) {
|
return func(s *sql.Selector, check func(string) bool) {
|
||||||
for _, f := range fields {
|
for _, f := range fields {
|
||||||
s.OrderBy(sql.Desc(f))
|
if check(f) {
|
||||||
|
s.OrderBy(sql.Desc(f))
|
||||||
|
} else {
|
||||||
|
s.AddError(&ValidationError{Name: f, err: fmt.Errorf("invalid field %q for ordering", f)})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AggregateFunc applies an aggregation step on the group-by traversal/selector.
|
// AggregateFunc applies an aggregation step on the group-by traversal/selector.
|
||||||
type AggregateFunc func(*sql.Selector) string
|
type AggregateFunc func(*sql.Selector, func(string) bool) string
|
||||||
|
|
||||||
// As is a pseudo aggregation function for renaming another other functions with custom names. For example:
|
// As is a pseudo aggregation function for renaming another other functions with custom names. For example:
|
||||||
//
|
//
|
||||||
|
@ -56,42 +64,58 @@ type AggregateFunc func(*sql.Selector) string
|
||||||
// Scan(ctx, &v)
|
// Scan(ctx, &v)
|
||||||
//
|
//
|
||||||
func As(fn AggregateFunc, end string) AggregateFunc {
|
func As(fn AggregateFunc, end string) AggregateFunc {
|
||||||
return func(s *sql.Selector) string {
|
return func(s *sql.Selector, check func(string) bool) string {
|
||||||
return sql.As(fn(s), end)
|
return sql.As(fn(s, check), end)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Count applies the "count" aggregation function on each group.
|
// Count applies the "count" aggregation function on each group.
|
||||||
func Count() AggregateFunc {
|
func Count() AggregateFunc {
|
||||||
return func(s *sql.Selector) string {
|
return func(s *sql.Selector, _ func(string) bool) string {
|
||||||
return sql.Count("*")
|
return sql.Count("*")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Max applies the "max" aggregation function on the given field of each group.
|
// Max applies the "max" aggregation function on the given field of each group.
|
||||||
func Max(field string) AggregateFunc {
|
func Max(field string) AggregateFunc {
|
||||||
return func(s *sql.Selector) string {
|
return func(s *sql.Selector, check func(string) bool) string {
|
||||||
|
if !check(field) {
|
||||||
|
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("invalid field %q for grouping", field)})
|
||||||
|
return ""
|
||||||
|
}
|
||||||
return sql.Max(s.C(field))
|
return sql.Max(s.C(field))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mean applies the "mean" aggregation function on the given field of each group.
|
// Mean applies the "mean" aggregation function on the given field of each group.
|
||||||
func Mean(field string) AggregateFunc {
|
func Mean(field string) AggregateFunc {
|
||||||
return func(s *sql.Selector) string {
|
return func(s *sql.Selector, check func(string) bool) string {
|
||||||
|
if !check(field) {
|
||||||
|
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("invalid field %q for grouping", field)})
|
||||||
|
return ""
|
||||||
|
}
|
||||||
return sql.Avg(s.C(field))
|
return sql.Avg(s.C(field))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Min applies the "min" aggregation function on the given field of each group.
|
// Min applies the "min" aggregation function on the given field of each group.
|
||||||
func Min(field string) AggregateFunc {
|
func Min(field string) AggregateFunc {
|
||||||
return func(s *sql.Selector) string {
|
return func(s *sql.Selector, check func(string) bool) string {
|
||||||
|
if !check(field) {
|
||||||
|
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("invalid field %q for grouping", field)})
|
||||||
|
return ""
|
||||||
|
}
|
||||||
return sql.Min(s.C(field))
|
return sql.Min(s.C(field))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sum applies the "sum" aggregation function on the given field of each group.
|
// Sum applies the "sum" aggregation function on the given field of each group.
|
||||||
func Sum(field string) AggregateFunc {
|
func Sum(field string) AggregateFunc {
|
||||||
return func(s *sql.Selector) string {
|
return func(s *sql.Selector, check func(string) bool) string {
|
||||||
|
if !check(field) {
|
||||||
|
s.AddError(&ValidationError{Name: field, err: fmt.Errorf("invalid field %q for grouping", field)})
|
||||||
|
return ""
|
||||||
|
}
|
||||||
return sql.Sum(s.C(field))
|
return sql.Sum(s.C(field))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -109,7 +133,7 @@ func (e *ValidationError) Error() string {
|
||||||
|
|
||||||
// Unwrap implements the errors.Wrapper interface.
|
// Unwrap implements the errors.Wrapper interface.
|
||||||
func (e *ValidationError) Unwrap() error {
|
func (e *ValidationError) Unwrap() error {
|
||||||
return errors.Unwrap(e.err)
|
return e.err
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsValidationError returns a boolean indicating whether the error is a validaton error.
|
// IsValidationError returns a boolean indicating whether the error is a validaton error.
|
||||||
|
|
|
@ -39,6 +39,16 @@ var Columns = []string{
|
||||||
FieldEntitlements,
|
FieldEntitlements,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValidColumn reports if the column name is valid (part of the table columns).
|
||||||
|
func ValidColumn(column string) bool {
|
||||||
|
for i := range Columns {
|
||||||
|
if column == Columns[i] {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// DefaultCreateTime holds the default value on creation for the create_time field.
|
// DefaultCreateTime holds the default value on creation for the create_time field.
|
||||||
DefaultCreateTime func() time.Time
|
DefaultCreateTime func() time.Time
|
||||||
|
|
|
@ -80,14 +80,15 @@ func (gc *GuildCreate) Mutation() *GuildMutation {
|
||||||
|
|
||||||
// Save creates the Guild in the database.
|
// Save creates the Guild in the database.
|
||||||
func (gc *GuildCreate) Save(ctx context.Context) (*Guild, error) {
|
func (gc *GuildCreate) Save(ctx context.Context) (*Guild, error) {
|
||||||
if err := gc.preSave(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
node *Guild
|
node *Guild
|
||||||
)
|
)
|
||||||
|
gc.defaults()
|
||||||
if len(gc.hooks) == 0 {
|
if len(gc.hooks) == 0 {
|
||||||
|
if err = gc.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
node, err = gc.sqlSave(ctx)
|
node, err = gc.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||||
|
@ -95,6 +96,9 @@ func (gc *GuildCreate) Save(ctx context.Context) (*Guild, error) {
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||||
}
|
}
|
||||||
|
if err = gc.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
gc.mutation = mutation
|
gc.mutation = mutation
|
||||||
node, err = gc.sqlSave(ctx)
|
node, err = gc.sqlSave(ctx)
|
||||||
mutation.done = true
|
mutation.done = true
|
||||||
|
@ -119,7 +123,8 @@ func (gc *GuildCreate) SaveX(ctx context.Context) *Guild {
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gc *GuildCreate) preSave() error {
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (gc *GuildCreate) defaults() {
|
||||||
if _, ok := gc.mutation.CreateTime(); !ok {
|
if _, ok := gc.mutation.CreateTime(); !ok {
|
||||||
v := guild.DefaultCreateTime()
|
v := guild.DefaultCreateTime()
|
||||||
gc.mutation.SetCreateTime(v)
|
gc.mutation.SetCreateTime(v)
|
||||||
|
@ -128,6 +133,16 @@ func (gc *GuildCreate) preSave() error {
|
||||||
v := guild.DefaultUpdateTime()
|
v := guild.DefaultUpdateTime()
|
||||||
gc.mutation.SetUpdateTime(v)
|
gc.mutation.SetUpdateTime(v)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check runs all checks and user-defined validators on the builder.
|
||||||
|
func (gc *GuildCreate) check() error {
|
||||||
|
if _, ok := gc.mutation.CreateTime(); !ok {
|
||||||
|
return &ValidationError{Name: "create_time", err: errors.New("ent: missing required field \"create_time\"")}
|
||||||
|
}
|
||||||
|
if _, ok := gc.mutation.UpdateTime(); !ok {
|
||||||
|
return &ValidationError{Name: "update_time", err: errors.New("ent: missing required field \"update_time\"")}
|
||||||
|
}
|
||||||
if _, ok := gc.mutation.Snowflake(); !ok {
|
if _, ok := gc.mutation.Snowflake(); !ok {
|
||||||
return &ValidationError{Name: "snowflake", err: errors.New("ent: missing required field \"snowflake\"")}
|
return &ValidationError{Name: "snowflake", err: errors.New("ent: missing required field \"snowflake\"")}
|
||||||
}
|
}
|
||||||
|
@ -144,7 +159,7 @@ func (gc *GuildCreate) preSave() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gc *GuildCreate) sqlSave(ctx context.Context) (*Guild, error) {
|
func (gc *GuildCreate) sqlSave(ctx context.Context) (*Guild, error) {
|
||||||
gu, _spec := gc.createSpec()
|
_node, _spec := gc.createSpec()
|
||||||
if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil {
|
if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil {
|
||||||
if cerr, ok := isSQLConstraintError(err); ok {
|
if cerr, ok := isSQLConstraintError(err); ok {
|
||||||
err = cerr
|
err = cerr
|
||||||
|
@ -152,13 +167,13 @@ func (gc *GuildCreate) sqlSave(ctx context.Context) (*Guild, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
id := _spec.ID.Value.(int64)
|
id := _spec.ID.Value.(int64)
|
||||||
gu.ID = int(id)
|
_node.ID = int(id)
|
||||||
return gu, nil
|
return _node, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
var (
|
var (
|
||||||
gu = &Guild{config: gc.config}
|
_node = &Guild{config: gc.config}
|
||||||
_spec = &sqlgraph.CreateSpec{
|
_spec = &sqlgraph.CreateSpec{
|
||||||
Table: guild.Table,
|
Table: guild.Table,
|
||||||
ID: &sqlgraph.FieldSpec{
|
ID: &sqlgraph.FieldSpec{
|
||||||
|
@ -173,7 +188,7 @@ func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: guild.FieldCreateTime,
|
Column: guild.FieldCreateTime,
|
||||||
})
|
})
|
||||||
gu.CreateTime = value
|
_node.CreateTime = value
|
||||||
}
|
}
|
||||||
if value, ok := gc.mutation.UpdateTime(); ok {
|
if value, ok := gc.mutation.UpdateTime(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -181,7 +196,7 @@ func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: guild.FieldUpdateTime,
|
Column: guild.FieldUpdateTime,
|
||||||
})
|
})
|
||||||
gu.UpdateTime = value
|
_node.UpdateTime = value
|
||||||
}
|
}
|
||||||
if value, ok := gc.mutation.Snowflake(); ok {
|
if value, ok := gc.mutation.Snowflake(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -189,7 +204,7 @@ func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: guild.FieldSnowflake,
|
Column: guild.FieldSnowflake,
|
||||||
})
|
})
|
||||||
gu.Snowflake = value
|
_node.Snowflake = value
|
||||||
}
|
}
|
||||||
if value, ok := gc.mutation.Message(); ok {
|
if value, ok := gc.mutation.Message(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -197,7 +212,7 @@ func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: guild.FieldMessage,
|
Column: guild.FieldMessage,
|
||||||
})
|
})
|
||||||
gu.Message = value
|
_node.Message = value
|
||||||
}
|
}
|
||||||
if value, ok := gc.mutation.Categories(); ok {
|
if value, ok := gc.mutation.Categories(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -205,7 +220,7 @@ func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: guild.FieldCategories,
|
Column: guild.FieldCategories,
|
||||||
})
|
})
|
||||||
gu.Categories = value
|
_node.Categories = value
|
||||||
}
|
}
|
||||||
if value, ok := gc.mutation.Entitlements(); ok {
|
if value, ok := gc.mutation.Entitlements(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -213,9 +228,9 @@ func (gc *GuildCreate) createSpec() (*Guild, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: guild.FieldEntitlements,
|
Column: guild.FieldEntitlements,
|
||||||
})
|
})
|
||||||
gu.Entitlements = value
|
_node.Entitlements = value
|
||||||
}
|
}
|
||||||
return gu, _spec
|
return _node, _spec
|
||||||
}
|
}
|
||||||
|
|
||||||
// GuildCreateBulk is the builder for creating a bulk of Guild entities.
|
// GuildCreateBulk is the builder for creating a bulk of Guild entities.
|
||||||
|
@ -232,14 +247,15 @@ func (gcb *GuildCreateBulk) Save(ctx context.Context) ([]*Guild, error) {
|
||||||
for i := range gcb.builders {
|
for i := range gcb.builders {
|
||||||
func(i int, root context.Context) {
|
func(i int, root context.Context) {
|
||||||
builder := gcb.builders[i]
|
builder := gcb.builders[i]
|
||||||
|
builder.defaults()
|
||||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||||
if err := builder.preSave(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
mutation, ok := m.(*GuildMutation)
|
mutation, ok := m.(*GuildMutation)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||||
}
|
}
|
||||||
|
if err := builder.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
builder.mutation = mutation
|
builder.mutation = mutation
|
||||||
nodes[i], specs[i] = builder.createSpec()
|
nodes[i], specs[i] = builder.createSpec()
|
||||||
var err error
|
var err error
|
||||||
|
|
|
@ -54,23 +54,23 @@ func (gq *GuildQuery) Order(o ...OrderFunc) *GuildQuery {
|
||||||
|
|
||||||
// First returns the first Guild entity in the query. Returns *NotFoundError when no guild was found.
|
// First returns the first Guild entity in the query. Returns *NotFoundError when no guild was found.
|
||||||
func (gq *GuildQuery) First(ctx context.Context) (*Guild, error) {
|
func (gq *GuildQuery) First(ctx context.Context) (*Guild, error) {
|
||||||
gus, err := gq.Limit(1).All(ctx)
|
nodes, err := gq.Limit(1).All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(gus) == 0 {
|
if len(nodes) == 0 {
|
||||||
return nil, &NotFoundError{guild.Label}
|
return nil, &NotFoundError{guild.Label}
|
||||||
}
|
}
|
||||||
return gus[0], nil
|
return nodes[0], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// FirstX is like First, but panics if an error occurs.
|
// FirstX is like First, but panics if an error occurs.
|
||||||
func (gq *GuildQuery) FirstX(ctx context.Context) *Guild {
|
func (gq *GuildQuery) FirstX(ctx context.Context) *Guild {
|
||||||
gu, err := gq.First(ctx)
|
node, err := gq.First(ctx)
|
||||||
if err != nil && !IsNotFound(err) {
|
if err != nil && !IsNotFound(err) {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return gu
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// FirstID returns the first Guild id in the query. Returns *NotFoundError when no id was found.
|
// FirstID returns the first Guild id in the query. Returns *NotFoundError when no id was found.
|
||||||
|
@ -97,13 +97,13 @@ func (gq *GuildQuery) FirstXID(ctx context.Context) int {
|
||||||
|
|
||||||
// Only returns the only Guild entity in the query, returns an error if not exactly one entity was returned.
|
// Only returns the only Guild entity in the query, returns an error if not exactly one entity was returned.
|
||||||
func (gq *GuildQuery) Only(ctx context.Context) (*Guild, error) {
|
func (gq *GuildQuery) Only(ctx context.Context) (*Guild, error) {
|
||||||
gus, err := gq.Limit(2).All(ctx)
|
nodes, err := gq.Limit(2).All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
switch len(gus) {
|
switch len(nodes) {
|
||||||
case 1:
|
case 1:
|
||||||
return gus[0], nil
|
return nodes[0], nil
|
||||||
case 0:
|
case 0:
|
||||||
return nil, &NotFoundError{guild.Label}
|
return nil, &NotFoundError{guild.Label}
|
||||||
default:
|
default:
|
||||||
|
@ -113,11 +113,11 @@ func (gq *GuildQuery) Only(ctx context.Context) (*Guild, error) {
|
||||||
|
|
||||||
// OnlyX is like Only, but panics if an error occurs.
|
// OnlyX is like Only, but panics if an error occurs.
|
||||||
func (gq *GuildQuery) OnlyX(ctx context.Context) *Guild {
|
func (gq *GuildQuery) OnlyX(ctx context.Context) *Guild {
|
||||||
gu, err := gq.Only(ctx)
|
node, err := gq.Only(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return gu
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnlyID returns the only Guild id in the query, returns an error if not exactly one id was returned.
|
// OnlyID returns the only Guild id in the query, returns an error if not exactly one id was returned.
|
||||||
|
@ -156,11 +156,11 @@ func (gq *GuildQuery) All(ctx context.Context) ([]*Guild, error) {
|
||||||
|
|
||||||
// AllX is like All, but panics if an error occurs.
|
// AllX is like All, but panics if an error occurs.
|
||||||
func (gq *GuildQuery) AllX(ctx context.Context) []*Guild {
|
func (gq *GuildQuery) AllX(ctx context.Context) []*Guild {
|
||||||
gus, err := gq.All(ctx)
|
nodes, err := gq.All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return gus
|
return nodes
|
||||||
}
|
}
|
||||||
|
|
||||||
// IDs executes the query and returns a list of Guild ids.
|
// IDs executes the query and returns a list of Guild ids.
|
||||||
|
@ -362,7 +362,7 @@ func (gq *GuildQuery) querySpec() *sqlgraph.QuerySpec {
|
||||||
if ps := gq.order; len(ps) > 0 {
|
if ps := gq.order; len(ps) > 0 {
|
||||||
_spec.Order = func(selector *sql.Selector) {
|
_spec.Order = func(selector *sql.Selector) {
|
||||||
for i := range ps {
|
for i := range ps {
|
||||||
ps[i](selector)
|
ps[i](selector, guild.ValidColumn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -381,7 +381,7 @@ func (gq *GuildQuery) sqlQuery() *sql.Selector {
|
||||||
p(selector)
|
p(selector)
|
||||||
}
|
}
|
||||||
for _, p := range gq.order {
|
for _, p := range gq.order {
|
||||||
p(selector)
|
p(selector, guild.ValidColumn)
|
||||||
}
|
}
|
||||||
if offset := gq.offset; offset != nil {
|
if offset := gq.offset; offset != nil {
|
||||||
// limit is mandatory for offset clause. We start
|
// limit is mandatory for offset clause. We start
|
||||||
|
@ -616,8 +616,17 @@ func (ggb *GuildGroupBy) BoolX(ctx context.Context) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ggb *GuildGroupBy) sqlScan(ctx context.Context, v interface{}) error {
|
func (ggb *GuildGroupBy) sqlScan(ctx context.Context, v interface{}) error {
|
||||||
|
for _, f := range ggb.fields {
|
||||||
|
if !guild.ValidColumn(f) {
|
||||||
|
return &ValidationError{Name: f, err: fmt.Errorf("invalid field %q for group-by", f)}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
selector := ggb.sqlQuery()
|
||||||
|
if err := selector.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
rows := &sql.Rows{}
|
rows := &sql.Rows{}
|
||||||
query, args := ggb.sqlQuery().Query()
|
query, args := selector.Query()
|
||||||
if err := ggb.driver.Query(ctx, query, args, rows); err != nil {
|
if err := ggb.driver.Query(ctx, query, args, rows); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -630,7 +639,7 @@ func (ggb *GuildGroupBy) sqlQuery() *sql.Selector {
|
||||||
columns := make([]string, 0, len(ggb.fields)+len(ggb.fns))
|
columns := make([]string, 0, len(ggb.fields)+len(ggb.fns))
|
||||||
columns = append(columns, ggb.fields...)
|
columns = append(columns, ggb.fields...)
|
||||||
for _, fn := range ggb.fns {
|
for _, fn := range ggb.fns {
|
||||||
columns = append(columns, fn(selector))
|
columns = append(columns, fn(selector, guild.ValidColumn))
|
||||||
}
|
}
|
||||||
return selector.Select(columns...).GroupBy(ggb.fields...)
|
return selector.Select(columns...).GroupBy(ggb.fields...)
|
||||||
}
|
}
|
||||||
|
@ -850,6 +859,11 @@ func (gs *GuildSelect) BoolX(ctx context.Context) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gs *GuildSelect) sqlScan(ctx context.Context, v interface{}) error {
|
func (gs *GuildSelect) sqlScan(ctx context.Context, v interface{}) error {
|
||||||
|
for _, f := range gs.fields {
|
||||||
|
if !guild.ValidColumn(f) {
|
||||||
|
return &ValidationError{Name: f, err: fmt.Errorf("invalid field %q for selection", f)}
|
||||||
|
}
|
||||||
|
}
|
||||||
rows := &sql.Rows{}
|
rows := &sql.Rows{}
|
||||||
query, args := gs.sqlQuery().Query()
|
query, args := gs.sqlQuery().Query()
|
||||||
if err := gs.driver.Query(ctx, query, args, rows); err != nil {
|
if err := gs.driver.Query(ctx, query, args, rows); err != nil {
|
||||||
|
|
|
@ -53,14 +53,11 @@ func (gu *GuildUpdate) Mutation() *GuildMutation {
|
||||||
|
|
||||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||||
func (gu *GuildUpdate) Save(ctx context.Context) (int, error) {
|
func (gu *GuildUpdate) Save(ctx context.Context) (int, error) {
|
||||||
if _, ok := gu.mutation.UpdateTime(); !ok {
|
|
||||||
v := guild.UpdateDefaultUpdateTime()
|
|
||||||
gu.mutation.SetUpdateTime(v)
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
affected int
|
affected int
|
||||||
)
|
)
|
||||||
|
gu.defaults()
|
||||||
if len(gu.hooks) == 0 {
|
if len(gu.hooks) == 0 {
|
||||||
affected, err = gu.sqlSave(ctx)
|
affected, err = gu.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
|
@ -106,6 +103,14 @@ func (gu *GuildUpdate) ExecX(ctx context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (gu *GuildUpdate) defaults() {
|
||||||
|
if _, ok := gu.mutation.UpdateTime(); !ok {
|
||||||
|
v := guild.UpdateDefaultUpdateTime()
|
||||||
|
gu.mutation.SetUpdateTime(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (gu *GuildUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
func (gu *GuildUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||||
_spec := &sqlgraph.UpdateSpec{
|
_spec := &sqlgraph.UpdateSpec{
|
||||||
Node: &sqlgraph.NodeSpec{
|
Node: &sqlgraph.NodeSpec{
|
||||||
|
@ -195,14 +200,11 @@ func (guo *GuildUpdateOne) Mutation() *GuildMutation {
|
||||||
|
|
||||||
// Save executes the query and returns the updated entity.
|
// Save executes the query and returns the updated entity.
|
||||||
func (guo *GuildUpdateOne) Save(ctx context.Context) (*Guild, error) {
|
func (guo *GuildUpdateOne) Save(ctx context.Context) (*Guild, error) {
|
||||||
if _, ok := guo.mutation.UpdateTime(); !ok {
|
|
||||||
v := guild.UpdateDefaultUpdateTime()
|
|
||||||
guo.mutation.SetUpdateTime(v)
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
node *Guild
|
node *Guild
|
||||||
)
|
)
|
||||||
|
guo.defaults()
|
||||||
if len(guo.hooks) == 0 {
|
if len(guo.hooks) == 0 {
|
||||||
node, err = guo.sqlSave(ctx)
|
node, err = guo.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
|
@ -228,11 +230,11 @@ func (guo *GuildUpdateOne) Save(ctx context.Context) (*Guild, error) {
|
||||||
|
|
||||||
// SaveX is like Save, but panics if an error occurs.
|
// SaveX is like Save, but panics if an error occurs.
|
||||||
func (guo *GuildUpdateOne) SaveX(ctx context.Context) *Guild {
|
func (guo *GuildUpdateOne) SaveX(ctx context.Context) *Guild {
|
||||||
gu, err := guo.Save(ctx)
|
node, err := guo.Save(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return gu
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec executes the query on the entity.
|
// Exec executes the query on the entity.
|
||||||
|
@ -248,7 +250,15 @@ func (guo *GuildUpdateOne) ExecX(ctx context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (guo *GuildUpdateOne) sqlSave(ctx context.Context) (gu *Guild, err error) {
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (guo *GuildUpdateOne) defaults() {
|
||||||
|
if _, ok := guo.mutation.UpdateTime(); !ok {
|
||||||
|
v := guild.UpdateDefaultUpdateTime()
|
||||||
|
guo.mutation.SetUpdateTime(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (guo *GuildUpdateOne) sqlSave(ctx context.Context) (_node *Guild, err error) {
|
||||||
_spec := &sqlgraph.UpdateSpec{
|
_spec := &sqlgraph.UpdateSpec{
|
||||||
Node: &sqlgraph.NodeSpec{
|
Node: &sqlgraph.NodeSpec{
|
||||||
Table: guild.Table,
|
Table: guild.Table,
|
||||||
|
@ -292,9 +302,9 @@ func (guo *GuildUpdateOne) sqlSave(ctx context.Context) (gu *Guild, err error) {
|
||||||
Column: guild.FieldEntitlements,
|
Column: guild.FieldEntitlements,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
gu = &Guild{config: guo.config}
|
_node = &Guild{config: guo.config}
|
||||||
_spec.Assign = gu.assignValues
|
_spec.Assign = _node.assignValues
|
||||||
_spec.ScanValues = gu.scanValues()
|
_spec.ScanValues = _node.scanValues()
|
||||||
if err = sqlgraph.UpdateNode(ctx, guo.driver, _spec); err != nil {
|
if err = sqlgraph.UpdateNode(ctx, guo.driver, _spec); err != nil {
|
||||||
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
||||||
err = &NotFoundError{guild.Label}
|
err = &NotFoundError{guild.Label}
|
||||||
|
@ -303,5 +313,5 @@ func (guo *GuildUpdateOne) sqlSave(ctx context.Context) (gu *Guild, err error) {
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return gu, nil
|
return _node, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,7 +142,7 @@ func HasFields(field string, fields ...string) Condition {
|
||||||
|
|
||||||
// If executes the given hook under condition.
|
// If executes the given hook under condition.
|
||||||
//
|
//
|
||||||
// Hook.If(ComputeAverage, And(HasFields(...), HasAddedFields(...)))
|
// hook.If(ComputeAverage, And(HasFields(...), HasAddedFields(...)))
|
||||||
//
|
//
|
||||||
func If(hk ent.Hook, cond Condition) ent.Hook {
|
func If(hk ent.Hook, cond Condition) ent.Hook {
|
||||||
return func(next ent.Mutator) ent.Mutator {
|
return func(next ent.Mutator) ent.Mutator {
|
||||||
|
|
|
@ -29,7 +29,7 @@ var (
|
||||||
// flexibility in the schema changes.
|
// flexibility in the schema changes.
|
||||||
WithDropIndex = schema.WithDropIndex
|
WithDropIndex = schema.WithDropIndex
|
||||||
// WithFixture sets the foreign-key renaming option to the migration when upgrading
|
// WithFixture sets the foreign-key renaming option to the migration when upgrading
|
||||||
// ent from v0.1.0 (issue-#285). Defaults to true.
|
// ent from v0.1.0 (issue-#285). Defaults to false.
|
||||||
WithFixture = schema.WithFixture
|
WithFixture = schema.WithFixture
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,6 @@ package runtime
|
||||||
// The schema-stitching logic is generated in github.com/roleypoly/roleypoly/src/db/ent/runtime.go
|
// The schema-stitching logic is generated in github.com/roleypoly/roleypoly/src/db/ent/runtime.go
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Version = "v0.4.2" // Version of ent codegen.
|
Version = "v0.4.3" // Version of ent codegen.
|
||||||
Sum = "h1:JzU5dYJH9XdjfIKgOiPPK3szkqLqcdPWgVder4Ogows=" // Sum of ent codegen.
|
Sum = "h1:ds9HENceKzpGBgCRlkZNq6TqBIegwKcF3e5reuV9Z0M=" // Sum of ent codegen.
|
||||||
)
|
)
|
||||||
|
|
|
@ -40,6 +40,16 @@ var Columns = []string{
|
||||||
FieldExpiresAt,
|
FieldExpiresAt,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValidColumn reports if the column name is valid (part of the table columns).
|
||||||
|
func ValidColumn(column string) bool {
|
||||||
|
for i := range Columns {
|
||||||
|
if column == Columns[i] {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// DefaultCreateTime holds the default value on creation for the create_time field.
|
// DefaultCreateTime holds the default value on creation for the create_time field.
|
||||||
DefaultCreateTime func() time.Time
|
DefaultCreateTime func() time.Time
|
||||||
|
|
|
@ -87,14 +87,15 @@ func (sc *SessionCreate) Mutation() *SessionMutation {
|
||||||
|
|
||||||
// Save creates the Session in the database.
|
// Save creates the Session in the database.
|
||||||
func (sc *SessionCreate) Save(ctx context.Context) (*Session, error) {
|
func (sc *SessionCreate) Save(ctx context.Context) (*Session, error) {
|
||||||
if err := sc.preSave(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
node *Session
|
node *Session
|
||||||
)
|
)
|
||||||
|
sc.defaults()
|
||||||
if len(sc.hooks) == 0 {
|
if len(sc.hooks) == 0 {
|
||||||
|
if err = sc.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
node, err = sc.sqlSave(ctx)
|
node, err = sc.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||||
|
@ -102,6 +103,9 @@ func (sc *SessionCreate) Save(ctx context.Context) (*Session, error) {
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||||
}
|
}
|
||||||
|
if err = sc.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
sc.mutation = mutation
|
sc.mutation = mutation
|
||||||
node, err = sc.sqlSave(ctx)
|
node, err = sc.sqlSave(ctx)
|
||||||
mutation.done = true
|
mutation.done = true
|
||||||
|
@ -126,7 +130,8 @@ func (sc *SessionCreate) SaveX(ctx context.Context) *Session {
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sc *SessionCreate) preSave() error {
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (sc *SessionCreate) defaults() {
|
||||||
if _, ok := sc.mutation.CreateTime(); !ok {
|
if _, ok := sc.mutation.CreateTime(); !ok {
|
||||||
v := session.DefaultCreateTime()
|
v := session.DefaultCreateTime()
|
||||||
sc.mutation.SetCreateTime(v)
|
sc.mutation.SetCreateTime(v)
|
||||||
|
@ -135,6 +140,20 @@ func (sc *SessionCreate) preSave() error {
|
||||||
v := session.DefaultUpdateTime()
|
v := session.DefaultUpdateTime()
|
||||||
sc.mutation.SetUpdateTime(v)
|
sc.mutation.SetUpdateTime(v)
|
||||||
}
|
}
|
||||||
|
if _, ok := sc.mutation.ExpiresAt(); !ok {
|
||||||
|
v := session.DefaultExpiresAt()
|
||||||
|
sc.mutation.SetExpiresAt(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check runs all checks and user-defined validators on the builder.
|
||||||
|
func (sc *SessionCreate) check() error {
|
||||||
|
if _, ok := sc.mutation.CreateTime(); !ok {
|
||||||
|
return &ValidationError{Name: "create_time", err: errors.New("ent: missing required field \"create_time\"")}
|
||||||
|
}
|
||||||
|
if _, ok := sc.mutation.UpdateTime(); !ok {
|
||||||
|
return &ValidationError{Name: "update_time", err: errors.New("ent: missing required field \"update_time\"")}
|
||||||
|
}
|
||||||
if _, ok := sc.mutation.SessionID(); !ok {
|
if _, ok := sc.mutation.SessionID(); !ok {
|
||||||
return &ValidationError{Name: "session_id", err: errors.New("ent: missing required field \"session_id\"")}
|
return &ValidationError{Name: "session_id", err: errors.New("ent: missing required field \"session_id\"")}
|
||||||
}
|
}
|
||||||
|
@ -150,14 +169,13 @@ func (sc *SessionCreate) preSave() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if _, ok := sc.mutation.ExpiresAt(); !ok {
|
if _, ok := sc.mutation.ExpiresAt(); !ok {
|
||||||
v := session.DefaultExpiresAt()
|
return &ValidationError{Name: "expires_at", err: errors.New("ent: missing required field \"expires_at\"")}
|
||||||
sc.mutation.SetExpiresAt(v)
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sc *SessionCreate) sqlSave(ctx context.Context) (*Session, error) {
|
func (sc *SessionCreate) sqlSave(ctx context.Context) (*Session, error) {
|
||||||
s, _spec := sc.createSpec()
|
_node, _spec := sc.createSpec()
|
||||||
if err := sqlgraph.CreateNode(ctx, sc.driver, _spec); err != nil {
|
if err := sqlgraph.CreateNode(ctx, sc.driver, _spec); err != nil {
|
||||||
if cerr, ok := isSQLConstraintError(err); ok {
|
if cerr, ok := isSQLConstraintError(err); ok {
|
||||||
err = cerr
|
err = cerr
|
||||||
|
@ -165,13 +183,13 @@ func (sc *SessionCreate) sqlSave(ctx context.Context) (*Session, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
id := _spec.ID.Value.(int64)
|
id := _spec.ID.Value.(int64)
|
||||||
s.ID = int(id)
|
_node.ID = int(id)
|
||||||
return s, nil
|
return _node, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
var (
|
var (
|
||||||
s = &Session{config: sc.config}
|
_node = &Session{config: sc.config}
|
||||||
_spec = &sqlgraph.CreateSpec{
|
_spec = &sqlgraph.CreateSpec{
|
||||||
Table: session.Table,
|
Table: session.Table,
|
||||||
ID: &sqlgraph.FieldSpec{
|
ID: &sqlgraph.FieldSpec{
|
||||||
|
@ -186,7 +204,7 @@ func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: session.FieldCreateTime,
|
Column: session.FieldCreateTime,
|
||||||
})
|
})
|
||||||
s.CreateTime = value
|
_node.CreateTime = value
|
||||||
}
|
}
|
||||||
if value, ok := sc.mutation.UpdateTime(); ok {
|
if value, ok := sc.mutation.UpdateTime(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -194,7 +212,7 @@ func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: session.FieldUpdateTime,
|
Column: session.FieldUpdateTime,
|
||||||
})
|
})
|
||||||
s.UpdateTime = value
|
_node.UpdateTime = value
|
||||||
}
|
}
|
||||||
if value, ok := sc.mutation.SessionID(); ok {
|
if value, ok := sc.mutation.SessionID(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -202,7 +220,7 @@ func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: session.FieldSessionID,
|
Column: session.FieldSessionID,
|
||||||
})
|
})
|
||||||
s.SessionID = value
|
_node.SessionID = value
|
||||||
}
|
}
|
||||||
if value, ok := sc.mutation.UserID(); ok {
|
if value, ok := sc.mutation.UserID(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -210,7 +228,7 @@ func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: session.FieldUserID,
|
Column: session.FieldUserID,
|
||||||
})
|
})
|
||||||
s.UserID = value
|
_node.UserID = value
|
||||||
}
|
}
|
||||||
if value, ok := sc.mutation.Source(); ok {
|
if value, ok := sc.mutation.Source(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -218,7 +236,7 @@ func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: session.FieldSource,
|
Column: session.FieldSource,
|
||||||
})
|
})
|
||||||
s.Source = value
|
_node.Source = value
|
||||||
}
|
}
|
||||||
if value, ok := sc.mutation.ExpiresAt(); ok {
|
if value, ok := sc.mutation.ExpiresAt(); ok {
|
||||||
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
_spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{
|
||||||
|
@ -226,9 +244,9 @@ func (sc *SessionCreate) createSpec() (*Session, *sqlgraph.CreateSpec) {
|
||||||
Value: value,
|
Value: value,
|
||||||
Column: session.FieldExpiresAt,
|
Column: session.FieldExpiresAt,
|
||||||
})
|
})
|
||||||
s.ExpiresAt = value
|
_node.ExpiresAt = value
|
||||||
}
|
}
|
||||||
return s, _spec
|
return _node, _spec
|
||||||
}
|
}
|
||||||
|
|
||||||
// SessionCreateBulk is the builder for creating a bulk of Session entities.
|
// SessionCreateBulk is the builder for creating a bulk of Session entities.
|
||||||
|
@ -245,14 +263,15 @@ func (scb *SessionCreateBulk) Save(ctx context.Context) ([]*Session, error) {
|
||||||
for i := range scb.builders {
|
for i := range scb.builders {
|
||||||
func(i int, root context.Context) {
|
func(i int, root context.Context) {
|
||||||
builder := scb.builders[i]
|
builder := scb.builders[i]
|
||||||
|
builder.defaults()
|
||||||
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
|
||||||
if err := builder.preSave(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
mutation, ok := m.(*SessionMutation)
|
mutation, ok := m.(*SessionMutation)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
return nil, fmt.Errorf("unexpected mutation type %T", m)
|
||||||
}
|
}
|
||||||
|
if err := builder.check(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
builder.mutation = mutation
|
builder.mutation = mutation
|
||||||
nodes[i], specs[i] = builder.createSpec()
|
nodes[i], specs[i] = builder.createSpec()
|
||||||
var err error
|
var err error
|
||||||
|
|
|
@ -54,23 +54,23 @@ func (sq *SessionQuery) Order(o ...OrderFunc) *SessionQuery {
|
||||||
|
|
||||||
// First returns the first Session entity in the query. Returns *NotFoundError when no session was found.
|
// First returns the first Session entity in the query. Returns *NotFoundError when no session was found.
|
||||||
func (sq *SessionQuery) First(ctx context.Context) (*Session, error) {
|
func (sq *SessionQuery) First(ctx context.Context) (*Session, error) {
|
||||||
sSlice, err := sq.Limit(1).All(ctx)
|
nodes, err := sq.Limit(1).All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(sSlice) == 0 {
|
if len(nodes) == 0 {
|
||||||
return nil, &NotFoundError{session.Label}
|
return nil, &NotFoundError{session.Label}
|
||||||
}
|
}
|
||||||
return sSlice[0], nil
|
return nodes[0], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// FirstX is like First, but panics if an error occurs.
|
// FirstX is like First, but panics if an error occurs.
|
||||||
func (sq *SessionQuery) FirstX(ctx context.Context) *Session {
|
func (sq *SessionQuery) FirstX(ctx context.Context) *Session {
|
||||||
s, err := sq.First(ctx)
|
node, err := sq.First(ctx)
|
||||||
if err != nil && !IsNotFound(err) {
|
if err != nil && !IsNotFound(err) {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return s
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// FirstID returns the first Session id in the query. Returns *NotFoundError when no id was found.
|
// FirstID returns the first Session id in the query. Returns *NotFoundError when no id was found.
|
||||||
|
@ -97,13 +97,13 @@ func (sq *SessionQuery) FirstXID(ctx context.Context) int {
|
||||||
|
|
||||||
// Only returns the only Session entity in the query, returns an error if not exactly one entity was returned.
|
// Only returns the only Session entity in the query, returns an error if not exactly one entity was returned.
|
||||||
func (sq *SessionQuery) Only(ctx context.Context) (*Session, error) {
|
func (sq *SessionQuery) Only(ctx context.Context) (*Session, error) {
|
||||||
sSlice, err := sq.Limit(2).All(ctx)
|
nodes, err := sq.Limit(2).All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
switch len(sSlice) {
|
switch len(nodes) {
|
||||||
case 1:
|
case 1:
|
||||||
return sSlice[0], nil
|
return nodes[0], nil
|
||||||
case 0:
|
case 0:
|
||||||
return nil, &NotFoundError{session.Label}
|
return nil, &NotFoundError{session.Label}
|
||||||
default:
|
default:
|
||||||
|
@ -113,11 +113,11 @@ func (sq *SessionQuery) Only(ctx context.Context) (*Session, error) {
|
||||||
|
|
||||||
// OnlyX is like Only, but panics if an error occurs.
|
// OnlyX is like Only, but panics if an error occurs.
|
||||||
func (sq *SessionQuery) OnlyX(ctx context.Context) *Session {
|
func (sq *SessionQuery) OnlyX(ctx context.Context) *Session {
|
||||||
s, err := sq.Only(ctx)
|
node, err := sq.Only(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return s
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnlyID returns the only Session id in the query, returns an error if not exactly one id was returned.
|
// OnlyID returns the only Session id in the query, returns an error if not exactly one id was returned.
|
||||||
|
@ -156,11 +156,11 @@ func (sq *SessionQuery) All(ctx context.Context) ([]*Session, error) {
|
||||||
|
|
||||||
// AllX is like All, but panics if an error occurs.
|
// AllX is like All, but panics if an error occurs.
|
||||||
func (sq *SessionQuery) AllX(ctx context.Context) []*Session {
|
func (sq *SessionQuery) AllX(ctx context.Context) []*Session {
|
||||||
sSlice, err := sq.All(ctx)
|
nodes, err := sq.All(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return sSlice
|
return nodes
|
||||||
}
|
}
|
||||||
|
|
||||||
// IDs executes the query and returns a list of Session ids.
|
// IDs executes the query and returns a list of Session ids.
|
||||||
|
@ -362,7 +362,7 @@ func (sq *SessionQuery) querySpec() *sqlgraph.QuerySpec {
|
||||||
if ps := sq.order; len(ps) > 0 {
|
if ps := sq.order; len(ps) > 0 {
|
||||||
_spec.Order = func(selector *sql.Selector) {
|
_spec.Order = func(selector *sql.Selector) {
|
||||||
for i := range ps {
|
for i := range ps {
|
||||||
ps[i](selector)
|
ps[i](selector, session.ValidColumn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -381,7 +381,7 @@ func (sq *SessionQuery) sqlQuery() *sql.Selector {
|
||||||
p(selector)
|
p(selector)
|
||||||
}
|
}
|
||||||
for _, p := range sq.order {
|
for _, p := range sq.order {
|
||||||
p(selector)
|
p(selector, session.ValidColumn)
|
||||||
}
|
}
|
||||||
if offset := sq.offset; offset != nil {
|
if offset := sq.offset; offset != nil {
|
||||||
// limit is mandatory for offset clause. We start
|
// limit is mandatory for offset clause. We start
|
||||||
|
@ -616,8 +616,17 @@ func (sgb *SessionGroupBy) BoolX(ctx context.Context) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sgb *SessionGroupBy) sqlScan(ctx context.Context, v interface{}) error {
|
func (sgb *SessionGroupBy) sqlScan(ctx context.Context, v interface{}) error {
|
||||||
|
for _, f := range sgb.fields {
|
||||||
|
if !session.ValidColumn(f) {
|
||||||
|
return &ValidationError{Name: f, err: fmt.Errorf("invalid field %q for group-by", f)}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
selector := sgb.sqlQuery()
|
||||||
|
if err := selector.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
rows := &sql.Rows{}
|
rows := &sql.Rows{}
|
||||||
query, args := sgb.sqlQuery().Query()
|
query, args := selector.Query()
|
||||||
if err := sgb.driver.Query(ctx, query, args, rows); err != nil {
|
if err := sgb.driver.Query(ctx, query, args, rows); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -630,7 +639,7 @@ func (sgb *SessionGroupBy) sqlQuery() *sql.Selector {
|
||||||
columns := make([]string, 0, len(sgb.fields)+len(sgb.fns))
|
columns := make([]string, 0, len(sgb.fields)+len(sgb.fns))
|
||||||
columns = append(columns, sgb.fields...)
|
columns = append(columns, sgb.fields...)
|
||||||
for _, fn := range sgb.fns {
|
for _, fn := range sgb.fns {
|
||||||
columns = append(columns, fn(selector))
|
columns = append(columns, fn(selector, session.ValidColumn))
|
||||||
}
|
}
|
||||||
return selector.Select(columns...).GroupBy(sgb.fields...)
|
return selector.Select(columns...).GroupBy(sgb.fields...)
|
||||||
}
|
}
|
||||||
|
@ -850,6 +859,11 @@ func (ss *SessionSelect) BoolX(ctx context.Context) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ss *SessionSelect) sqlScan(ctx context.Context, v interface{}) error {
|
func (ss *SessionSelect) sqlScan(ctx context.Context, v interface{}) error {
|
||||||
|
for _, f := range ss.fields {
|
||||||
|
if !session.ValidColumn(f) {
|
||||||
|
return &ValidationError{Name: f, err: fmt.Errorf("invalid field %q for selection", f)}
|
||||||
|
}
|
||||||
|
}
|
||||||
rows := &sql.Rows{}
|
rows := &sql.Rows{}
|
||||||
query, args := ss.sqlQuery().Query()
|
query, args := ss.sqlQuery().Query()
|
||||||
if err := ss.driver.Query(ctx, query, args, rows); err != nil {
|
if err := ss.driver.Query(ctx, query, args, rows); err != nil {
|
||||||
|
|
|
@ -34,14 +34,11 @@ func (su *SessionUpdate) Mutation() *SessionMutation {
|
||||||
|
|
||||||
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
// Save executes the query and returns the number of rows/vertices matched by this operation.
|
||||||
func (su *SessionUpdate) Save(ctx context.Context) (int, error) {
|
func (su *SessionUpdate) Save(ctx context.Context) (int, error) {
|
||||||
if _, ok := su.mutation.UpdateTime(); !ok {
|
|
||||||
v := session.UpdateDefaultUpdateTime()
|
|
||||||
su.mutation.SetUpdateTime(v)
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
affected int
|
affected int
|
||||||
)
|
)
|
||||||
|
su.defaults()
|
||||||
if len(su.hooks) == 0 {
|
if len(su.hooks) == 0 {
|
||||||
affected, err = su.sqlSave(ctx)
|
affected, err = su.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
|
@ -87,6 +84,14 @@ func (su *SessionUpdate) ExecX(ctx context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (su *SessionUpdate) defaults() {
|
||||||
|
if _, ok := su.mutation.UpdateTime(); !ok {
|
||||||
|
v := session.UpdateDefaultUpdateTime()
|
||||||
|
su.mutation.SetUpdateTime(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (su *SessionUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
func (su *SessionUpdate) sqlSave(ctx context.Context) (n int, err error) {
|
||||||
_spec := &sqlgraph.UpdateSpec{
|
_spec := &sqlgraph.UpdateSpec{
|
||||||
Node: &sqlgraph.NodeSpec{
|
Node: &sqlgraph.NodeSpec{
|
||||||
|
@ -137,14 +142,11 @@ func (suo *SessionUpdateOne) Mutation() *SessionMutation {
|
||||||
|
|
||||||
// Save executes the query and returns the updated entity.
|
// Save executes the query and returns the updated entity.
|
||||||
func (suo *SessionUpdateOne) Save(ctx context.Context) (*Session, error) {
|
func (suo *SessionUpdateOne) Save(ctx context.Context) (*Session, error) {
|
||||||
if _, ok := suo.mutation.UpdateTime(); !ok {
|
|
||||||
v := session.UpdateDefaultUpdateTime()
|
|
||||||
suo.mutation.SetUpdateTime(v)
|
|
||||||
}
|
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
node *Session
|
node *Session
|
||||||
)
|
)
|
||||||
|
suo.defaults()
|
||||||
if len(suo.hooks) == 0 {
|
if len(suo.hooks) == 0 {
|
||||||
node, err = suo.sqlSave(ctx)
|
node, err = suo.sqlSave(ctx)
|
||||||
} else {
|
} else {
|
||||||
|
@ -170,11 +172,11 @@ func (suo *SessionUpdateOne) Save(ctx context.Context) (*Session, error) {
|
||||||
|
|
||||||
// SaveX is like Save, but panics if an error occurs.
|
// SaveX is like Save, but panics if an error occurs.
|
||||||
func (suo *SessionUpdateOne) SaveX(ctx context.Context) *Session {
|
func (suo *SessionUpdateOne) SaveX(ctx context.Context) *Session {
|
||||||
s, err := suo.Save(ctx)
|
node, err := suo.Save(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
return s
|
return node
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec executes the query on the entity.
|
// Exec executes the query on the entity.
|
||||||
|
@ -190,7 +192,15 @@ func (suo *SessionUpdateOne) ExecX(ctx context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (suo *SessionUpdateOne) sqlSave(ctx context.Context) (s *Session, err error) {
|
// defaults sets the default values of the builder before save.
|
||||||
|
func (suo *SessionUpdateOne) defaults() {
|
||||||
|
if _, ok := suo.mutation.UpdateTime(); !ok {
|
||||||
|
v := session.UpdateDefaultUpdateTime()
|
||||||
|
suo.mutation.SetUpdateTime(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (suo *SessionUpdateOne) sqlSave(ctx context.Context) (_node *Session, err error) {
|
||||||
_spec := &sqlgraph.UpdateSpec{
|
_spec := &sqlgraph.UpdateSpec{
|
||||||
Node: &sqlgraph.NodeSpec{
|
Node: &sqlgraph.NodeSpec{
|
||||||
Table: session.Table,
|
Table: session.Table,
|
||||||
|
@ -213,9 +223,9 @@ func (suo *SessionUpdateOne) sqlSave(ctx context.Context) (s *Session, err error
|
||||||
Column: session.FieldUpdateTime,
|
Column: session.FieldUpdateTime,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
s = &Session{config: suo.config}
|
_node = &Session{config: suo.config}
|
||||||
_spec.Assign = s.assignValues
|
_spec.Assign = _node.assignValues
|
||||||
_spec.ScanValues = s.scanValues()
|
_spec.ScanValues = _node.scanValues()
|
||||||
if err = sqlgraph.UpdateNode(ctx, suo.driver, _spec); err != nil {
|
if err = sqlgraph.UpdateNode(ctx, suo.driver, _spec); err != nil {
|
||||||
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
if _, ok := err.(*sqlgraph.NotFoundError); ok {
|
||||||
err = &NotFoundError{session.Label}
|
err = &NotFoundError{session.Label}
|
||||||
|
@ -224,5 +234,5 @@ func (suo *SessionUpdateOne) sqlSave(ctx context.Context) (s *Session, err error
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return s, nil
|
return _node, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue