Skip to content

Commit

Permalink
added claimUserByThirdParty endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
ice-ares committed Oct 23, 2024
1 parent e8f2739 commit 4d1ce6a
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 19 deletions.
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ require (
)

require (
cel.dev/expr v0.16.2 // indirect
cel.dev/expr v0.17.0 // indirect
cloud.google.com/go v0.116.0 // indirect
cloud.google.com/go/auth v0.9.9 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
Expand Down Expand Up @@ -97,7 +97,7 @@ require (
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e // indirect
github.com/google/pprof v0.0.0-20241021161924-4cf4322d492d // indirect
github.com/google/pprof v0.0.0-20241023014458-598669927662 // indirect
github.com/google/s2a-go v0.1.8 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
Expand Down Expand Up @@ -183,13 +183,13 @@ require (
golang.org/x/text v0.19.0 // indirect
golang.org/x/time v0.7.0 // indirect
golang.org/x/tools v0.26.0 // indirect
google.golang.org/api v0.201.0 // indirect
google.golang.org/api v0.202.0 // indirect
google.golang.org/appengine/v2 v2.0.6 // indirect
google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 // indirect
google.golang.org/grpc v1.67.1 // indirect
google.golang.org/grpc/stats/opentelemetry v0.0.0-20241022170438-c538c3115071 // indirect
google.golang.org/grpc/stats/opentelemetry v0.0.0-20241022174616-4bb0170ac65f // indirect
google.golang.org/protobuf v1.35.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
Expand Down
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cel.dev/expr v0.16.2 h1:RwRhoH17VhAu9U5CMvMhH1PDVgf0tuz9FT+24AfMLfU=
cel.dev/expr v0.16.2/go.mod h1:gXngZQMkWJoSbE8mOzehJlXQyubn/Vg0vR9/F3W7iw8=
cel.dev/expr v0.17.0 h1:ZM6IQenopt1QQMYYXpqeHn7R9iKWyyC/9kAp9ifXOCI=
cel.dev/expr v0.17.0/go.mod h1:HCwbrn+qQoHPXgfz6cl2J0hDybnX2N1sQQkl9EggXx8=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
Expand Down Expand Up @@ -223,8 +223,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc=
github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0=
github.com/google/pprof v0.0.0-20241021161924-4cf4322d492d h1:dcUSYLuKITgwgLZJZpB+CKecsC8mXHhErghMX9ohbf4=
github.com/google/pprof v0.0.0-20241021161924-4cf4322d492d/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/pprof v0.0.0-20241023014458-598669927662 h1:SKMkD83p7FwUqKmBsPdLHF5dNyxq3jOWwu9w9UyH5vA=
github.com/google/pprof v0.0.0-20241023014458-598669927662/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM=
github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
Expand Down Expand Up @@ -557,8 +557,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.201.0 h1:+7AD9JNM3tREtawRMu8sOjSbb8VYcYXJG/2eEOmfDu0=
google.golang.org/api v0.201.0/go.mod h1:HVY0FCHVs89xIW9fzf/pBvOEm+OolHa86G/txFezyq4=
google.golang.org/api v0.202.0 h1:y1iuVHMqokQbimW79ZqPZWo4CiyFu6HcCYHwSNyzlfo=
google.golang.org/api v0.202.0/go.mod h1:3Jjeq7M/SFblTNCp7ES2xhq+WvGL0KeXI0joHQBfwTQ=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine/v2 v2.0.6 h1:LvPZLGuchSBslPBp+LAhihBeGSiRh1myRoYK4NtuBIw=
Expand All @@ -579,8 +579,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
google.golang.org/grpc/stats/opentelemetry v0.0.0-20241022170438-c538c3115071 h1:YdrViB7OfuyYj/06x6cisHf6M54mFn2xRA5J4hIyxVc=
google.golang.org/grpc/stats/opentelemetry v0.0.0-20241022170438-c538c3115071/go.mod h1:jzYlkSMbKypzuu6xoAEijsNVo9ZeDF1u/zCfFgsx7jg=
google.golang.org/grpc/stats/opentelemetry v0.0.0-20241022174616-4bb0170ac65f h1:TsfHqsKI7qhOoYugDRyFDSKAuzegDVmkSCpjUyLkb+8=
google.golang.org/grpc/stats/opentelemetry v0.0.0-20241022174616-4bb0170ac65f/go.mod h1:jzYlkSMbKypzuu6xoAEijsNVo9ZeDF1u/zCfFgsx7jg=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
Expand Down
11 changes: 8 additions & 3 deletions users/claim_by_third_party.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package users

import (
"context"
"fmt"
"strings"

"github.com/pkg/errors"
Expand All @@ -12,15 +13,19 @@ import (
)

func (r *repository) ClaimUserBy3rdParty(ctx context.Context, username, thirdParty string) error {
rowsAffected, err := storage.Exec(ctx, r.db, `
claimByThirdPartySQLWhereCondition := r.cfg.ClaimByThirdPartySQLWhereCondition
if claimByThirdPartySQLWhereCondition == "" {
claimByThirdPartySQLWhereCondition = `AND created_at > now() - interval '24 hour'
AND last_mining_started_at is not null`
}
rowsAffected, err := storage.Exec(ctx, r.db, fmt.Sprintf(`
UPDATE users
set claimed_by_third_party_at = now(),
claimed_by_third_party = $2
WHERE username = $1
AND claimed_by_third_party is null
AND claimed_by_third_party_at is null
AND created_at > now() - interval '24 hour'
AND last_mining_started_at is not null`, strings.ToLower(username), thirdParty)
%v`, claimByThirdPartySQLWhereCondition), strings.ToLower(username), thirdParty)
if err != nil {
return errors.Wrapf(err, "failed to execute sql to ClaimUserBy3rdParty (%v,%v)", username, thirdParty)
}
Expand Down
9 changes: 5 additions & 4 deletions users/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,11 @@ type (
}
// | config holds the configuration of this package mounted from `application.yaml`.
config struct {
AdoptionURL string `yaml:"adoptionUrl" mapstructure:"adoptionUrl"`
DefaultReferralName string `yaml:"defaultReferralName"`
messagebroker.Config `mapstructure:",squash"` //nolint:tagliatelle // Nope.
GlobalAggregationInterval struct {
AdoptionURL string `yaml:"adoptionUrl" mapstructure:"adoptionUrl"`
DefaultReferralName string `yaml:"defaultReferralName"`
ClaimByThirdPartySQLWhereCondition string `yaml:"claimByThirdPartySQLWhereCondition" mapstructure:"claimByThirdPartySQLWhereCondition"` //nolint:tagliatelle,lll // Nope.
messagebroker.Config `mapstructure:",squash"` //nolint:tagliatelle // Nope.
GlobalAggregationInterval struct {
MinMiningSessionDuration stdlibtime.Duration `yaml:"minMiningSessionDuration"`
Parent stdlibtime.Duration `yaml:"parent"`
Child stdlibtime.Duration `yaml:"child"`
Expand Down

0 comments on commit 4d1ce6a

Please sign in to comment.