Merge branch 'staging' into 'rpcsrv'

# Conflicts:
#   go.mod
#   go.sum
This commit is contained in:
Mikhail 2024-04-23 10:32:53 +00:00
commit 2937894a8b
14 changed files with 112 additions and 31 deletions

@ -100,7 +100,7 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
authClient := auth.NewAuthClient(options.AuthServiceURL)
pgdal, err := dal.New(ctx, options.PostgresCredentials, authClient, nil)
pgdal, err := dal.New(ctx, options.PostgresCredentials, nil)
if err != nil {
fmt.Println("NEW", err)
return nil, err
@ -142,6 +142,7 @@ func New(ctx context.Context, opts interface{}, ver appInit.Version) (appInit.Co
svc := service.New(service.Deps{
Dal: pgdal,
AuthClient: authClient,
RedirectURl: options.RedirectURL,
Encrypt: encrypt,
})

BIN
core.git Executable file

Binary file not shown.

@ -12,5 +12,7 @@ services:
PUBLIC_ACCESS_SECRET_KEY: $JWT_PUBLIC_KEY
PG_CRED: 'host=10.8.0.9 port=5433 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
AUTH_URL: 'http://10.8.0.8:59300/user'
PUBLIC_KEY: $PEM_PUB_USERID
PRIVATE_KEY: $PEM_PRIV_USERID
ports:
- 10.8.0.9:1488:1488

@ -5,12 +5,14 @@ services:
image: $CI_REGISTRY_IMAGE/staging-core:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID
tty: true
environment:
HUB_ADMIN_URL: 'http://10.6.0.11:59303'
HUB_ADMIN_URL: 'http://10.8.0.6:59303'
IS_PROD_LOG: 'false'
IS_PROD: 'false'
PORT: 1488
PUBLIC_ACCESS_SECRET_KEY: $JWT_PUBLIC_KEY
PG_CRED: 'host=10.6.0.23 port=5433 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
AUTH_URL: 'http://10.6.0.11:59300/user'
PG_CRED: 'host=10.8.0.5 port=5433 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
AUTH_URL: 'http://10.8.0.6:59300/user'
PUBLIC_KEY: $PEM_PUB_USERID
PRIVATE_KEY: $PEM_PRIV_USERID
ports:
- 1488:1488
- 10.8.0.5:1488:1488

12
go.mod

@ -18,7 +18,7 @@ require (
google.golang.org/grpc v1.62.0
google.golang.org/protobuf v1.33.0
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240403161453-2b8c36400761
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416222807-5b57148b0106
penahub.gitlab.yandexcloud.net/backend/quiz/worker.git v0.0.0-20240313171802-7da5fbb4caf3
)
@ -39,7 +39,7 @@ require (
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.17.7 // indirect
github.com/klauspost/compress v1.17.8 // indirect
github.com/klauspost/cpuid/v2 v2.2.7 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
@ -61,15 +61,15 @@ require (
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasthttp v1.52.0 // indirect
github.com/valyala/tcplisten v1.0.0 // indirect
github.com/xuri/efp v0.0.0-20231025114914-d1ff6096ae53 // indirect
github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d // indirect
github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
go.opentelemetry.io/otel/trace v1.24.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/crypto v0.22.0 // indirect
golang.org/x/net v0.24.0 // indirect
golang.org/x/sys v0.19.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/tools v0.19.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240304212257-790db918fca8 // indirect

62
go.sum

@ -87,6 +87,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg=
github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU=
github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
@ -186,6 +188,8 @@ github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVS
github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
github.com/xuri/efp v0.0.0-20231025114914-d1ff6096ae53 h1:Chd9DkqERQQuHpXjR/HSV1jLZA6uaoiwwH3vSuF3IW0=
github.com/xuri/efp v0.0.0-20231025114914-d1ff6096ae53/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d h1:llb0neMWDQe87IzJLS4Ci7psK/lVsjIS2otl+1WyRyY=
github.com/xuri/efp v0.0.0-20240408161823-9ad904a10d6d/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
github.com/xuri/excelize/v2 v2.8.1 h1:pZLMEwK8ep+CLIUWpWmvW8IWE/yxqG0I1xcN6cVMGuQ=
github.com/xuri/excelize/v2 v2.8.1/go.mod h1:oli1E4C3Pa5RXg1TBXn4ENCXDV5JUMlBluUhG7c+CEE=
github.com/xuri/nfp v0.0.0-20240318013403-ab9948c2c4a7 h1:hPVCafDV85blFTabnqKgNhDCkJX25eik94Si9cTER4A=
@ -222,7 +226,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
golang.org/x/image v0.14.0 h1:tNgSxAFe3jC4uYqvZdTr84SZoM1KfwdC9SKIFrLjFn4=
golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@ -244,9 +249,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
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-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -264,6 +268,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
@ -327,7 +333,51 @@ penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240401215937-e503b66e8119 h1:4lBVH0yO6YcrmGQnalfgHRJoLVfMlF1T6HI2ZSSW2fU=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240401215937-e503b66e8119/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240403161453-2b8c36400761 h1:goi/wahHIZwlOuC5WwV9MHK2D+ofEYeBSOmY38WyEXU=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240403161453-2b8c36400761/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240405220411-d453616641a9 h1:Fr7z155xR9DRU21V6IwUU2dtzI9Spz8/4DHPFa6bv7Q=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240405220411-d453616641a9/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407000742-2e3402cb1c72 h1:clcIGHPOmXeIJqd3nwZKMjEmXecRdXxV7ALYr7AYVkw=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407000742-2e3402cb1c72/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407001531-8b3a2583909c h1:ZjCh6dH8XMcrxpF62XLSfhag2TrrPEwaf4pKLGEmzOI=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407001531-8b3a2583909c/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407002311-bb50e3485574 h1:oGKoTypkoQuSmmh7YGF703dY4eLVM0kViloAN53hTAc=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407002311-bb50e3485574/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407002719-2c2925c38c5e h1:e3uQII+XJxn7uzjsl7M0iEJwj6endQtK1GUOac0Aqs0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407002719-2c2925c38c5e/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407004642-38eec3714029 h1:+Ga4UbC5lfu+Cm287rviCtMGGtNVoa5/nNYMTZcdS5o=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407004642-38eec3714029/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407153236-41d24a8025ba h1:QqGGhYE784nyIujSfIDXSPWRvQp23O60BK+PtK/hdL4=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407153236-41d24a8025ba/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407223035-126d5822d53c h1:ZgITJEsx5Q3OexYLrGyRL9lOnJfFMqs00bOWlte0Vyw=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240407223035-126d5822d53c/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240408182839-4495237cb30d h1:zMmE6uS7nG329zQP8GoWhELK+PkthB7QVhLArSpjzHo=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240408182839-4495237cb30d/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240409160049-5136009e944d h1:oSUk1641wEUviO6w1/5h6OxJOAo+N4aT/jMvoYr7+vo=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240409160049-5136009e944d/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240410152249-f16ff4921566 h1:qeS4GXbmYfqkYFd+x8Pjm7MEhlI2Btb34rO6tZqTUus=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240410152249-f16ff4921566/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240412164014-6ce70d76fedc h1:B9X8pOrqWPGbWZNXSJEUk/8GWeBDGQmMKgQ0F+PSliQ=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240412164014-6ce70d76fedc/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240413232604-40d8b15b2411 h1:e3bRYVKpdA9eR6Kkx1qbAYynvYDhYg5rCSWsX8fZ4W0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240413232604-40d8b15b2411/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416095332-bf692017b2fe h1:7T3eDAMRotRboBgw8UVu1t3pLvfQQCzbE5pppX1XCY8=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416095332-bf692017b2fe/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416102930-a84f95429fb9 h1:8nn6sny017tca9HAxd0QzSzszoSzxAC7pYtziw1trDM=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416102930-a84f95429fb9/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416140702-9517c32cdcbc h1:Bw3QSermsPYtRb5RmgSRf4B+WS3CZDm4X6XyuQi79zk=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416140702-9517c32cdcbc/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416142544-77c4797a218b h1:cVthm0hS+zwrdOU02rYRdRu4mRpRyw00qzMgGV5B+fc=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416142544-77c4797a218b/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416145115-f853a933bbb7 h1:C/tQn686qCq3BVt4YgRZ5K26P37syliOLDwQVzp26NE=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416145115-f853a933bbb7/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416200508-36451ee08980 h1:A8GEeCtAaOY47KgQT0iweQjQFPfnmBvhnmYjsyd0p1c=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416200508-36451ee08980/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416212745-b16aea3f1522 h1:GQ0/RUwxyC2w2PQWg4pDSxkDzmkpxnHojjjLpcxlKdU=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416212745-b16aea3f1522/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416221615-7832ebf39e96 h1:0nnT2DmTz2kJ4T+odgKSQP+XY+qdqv18FSyvNd2WfF8=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416221615-7832ebf39e96/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416222025-e5ba6630d682 h1:PGrC6a2hzI5AgE5si7T9P8/DQaKYpypkH6r9NDZb2zA=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416222025-e5ba6630d682/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416222807-5b57148b0106 h1:LWCZW9FrueZjs15fY1rPgY23NhBjDpK5zQrKvCmLwnk=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240416222807-5b57148b0106/go.mod h1:/DcyAjBh41IbomuDu5QzhL9flZW6lWO3ZAEbUXKobk0=
penahub.gitlab.yandexcloud.net/backend/quiz/worker.git v0.0.0-20240313171802-7da5fbb4caf3 h1:BLHIUnJAttW9OAW7A63H9ON/HPhXdpBa/YPUQWD4ORA=
penahub.gitlab.yandexcloud.net/backend/quiz/worker.git v0.0.0-20240313171802-7da5fbb4caf3/go.mod h1:/BFcX4F10DRuFuAHlwkKO+1QAXPL4i49x1tsrTwxlqE=

@ -0,0 +1,2 @@
ALTER TABLE quiz
ALTER COLUMN name TYPE VARCHAR(280);

@ -0,0 +1,2 @@
ALTER TABLE quiz
ALTER COLUMN name TYPE VARCHAR(1024);

@ -77,9 +77,15 @@ func (s *Service) createAccount(ctx *fiber.Ctx) error {
return ctx.Status(fiber.StatusConflict).SendString("user with this ID already exists")
}
email, err := s.authClient.GetUserEmail(accountID)
if err != nil {
return err
}
newAccount := model.Account{
UserID: accountID,
CreatedAt: time.Now(),
Email: email,
Deleted: false,
Privileges: map[string]model.ShortPrivilege{
"quizUnlimTime": {

@ -6,6 +6,8 @@ import (
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/quiz"
"time"
"fmt"
"net/url"
"unicode/utf8"
)
@ -16,7 +18,7 @@ type CreateQuizReq struct {
MailNotifications bool `json:"mail_notifications"` // set true if you want get an email with every quiz passing
UniqueAnswers bool `json:"unique_answers"` // set true if we you mention only last quiz passing
Name string `json:"name"` // max 280 chars
Name string `json:"name"` // max 700 chars
Description string `json:"description"`
Config string `json:"config"` // serialize json with config for page rules. fill it up only if implement one form scenario
Status string `json:"status"` // status of quiz as enum. see Status const. fill it up only if implement one form scenario
@ -45,8 +47,8 @@ func (s *Service) CreateQuiz(ctx *fiber.Ctx) error {
}
// check that we can store name
if utf8.RuneCountInString(req.Name) >= 280 {
return ctx.Status(fiber.StatusUnprocessableEntity).SendString("name field should have less then 280 chars")
if utf8.RuneCountInString(req.Name) > 700 {
return ctx.Status(fiber.StatusUnprocessableEntity).SendString("name field should have less then 700 chars")
}
// status should be empty or equal one of status enum strings
@ -199,8 +201,8 @@ func (s *Service) UpdateQuiz(ctx *fiber.Ctx) error {
return ctx.Status(fiber.StatusFailedDependency).SendString("need id of question for update")
}
if utf8.RuneCountInString(req.Name) >= 280 {
return ctx.Status(fiber.StatusUnprocessableEntity).SendString("name field should have less then 280 chars")
if utf8.RuneCountInString(req.Name) > 700 {
return ctx.Status(fiber.StatusUnprocessableEntity).SendString("name field should have less then 700 chars")
}
// status should be empty or equal one of status enum strings
@ -473,9 +475,11 @@ func (s *Service) MiniPart(ctx *fiber.Ctx) error {
return ctx.Status(fiber.StatusInternalServerError).SendString(err.Error())
}
fmt.Println("OLOLO", string(shifr))
ctx.Cookie(&fiber.Cookie{
Name: "quizUser",
Value: string(shifr),
Value: url.QueryEscape(string(shifr)),
})
return ctx.Redirect(s.redirectURl, fiber.StatusFound)

@ -213,6 +213,10 @@ func (s *Service) GetResultAnswers(ctx *fiber.Ctx) error {
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("failed to get result answers")
}
sortedAnswers, err := s.dal.QuestionRepo.ForSortingResults(ctx.Context(), answers)
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("failed sort result answers")
}
return ctx.JSON(answers)
return ctx.JSON(sortedAnswers)
}

@ -4,6 +4,7 @@ import (
"github.com/gofiber/fiber/v2"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/utils"
"penahub.gitlab.yandexcloud.net/backend/quiz/core.git/clients/auth"
)
// Service is an entity for http requests handling
@ -11,16 +12,23 @@ type Service struct {
dal *dal.DAL
redirectURl string
encrypt *utils.Encrypt
authClient *auth.AuthClient
}
type Deps struct {
Dal *dal.DAL
RedirectURl string
Encrypt *utils.Encrypt
AuthClient *auth.AuthClient
}
func New(deps Deps) *Service {
return &Service{dal: deps.Dal, redirectURl: deps.RedirectURl, encrypt: deps.Encrypt}
return &Service{
dal: deps.Dal,
redirectURl: deps.RedirectURl,
encrypt: deps.Encrypt,
authClient: deps.AuthClient,
}
}
// Register is a function for add handlers of service to external multiplexer

@ -98,10 +98,10 @@ func (s *Service) AllServiceStatistics(ctx *fiber.Ctx) error {
ctx.Status(fiber.StatusBadRequest).SendString("Invalid request data")
}
// allSvcStats, err := s.dal.StatisticsRepo.AllServiceStatistics(ctx.Context(), req.From, req.To)
// if err != nil {
// return ctx.Status(fiber.StatusInternalServerError).SendString(err.Error())
// }
allSvcStats, err := s.dal.StatisticsRepo.AllServiceStatistics(ctx.Context(), req.From, req.To)
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString(err.Error())
}
return ctx.Status(fiber.StatusOK).SendString("debug")/* .JSON(allSvcStats) */
return ctx.Status(fiber.StatusOK).JSON(allSvcStats)
}

@ -37,7 +37,7 @@ func WriteDataToExcel(buffer io.Writer, questions []model.Question, answers []mo
}
sort.Slice(questions, func(i, j int) bool {
return questions[i].Page > questions[j].Page
return questions[i].Page < questions[j].Page
})
headers := []string{"Данные респондента"}