diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 611fda9..6060120 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,6 +24,7 @@ variables: --destination "${IMAGE_NAME}:${CI_COMMIT_SHA}" --destination "${IMAGE_NAME}:latest" --cache=true + --registry-mirror=dockerhub.timeweb.cloud build_frontend: <<: *build-template @@ -74,9 +75,12 @@ deploy: - ssh $SSH_ADDRESS "$AUTH_COMMAND" - scp -C -r infrastructure/ compose.yaml $SSH_ADDRESS:~/deploy/ - ssh $SSH_ADDRESS "docker -v" - - ssh $SSH_ADDRESS "cd ~/deploy && \ - docker compose pull > deploy.log 2>&1 && \ - docker compose down >> deploy.log 2>&1 && \ - docker compose up -d --remove-orphans >> deploy.log 2>&1 && \ - docker compose ps >> deploy.log 2>&1" - - ssh $SSH_ADDRESS "docker system prune -a" + - | + ssh $SSH_ADDRESS <<'EOF' + cd ~/deploy + docker compose pull > deploy.log 2>&1 + docker compose down >> deploy.log 2>&1 + docker compose up -d --remove-orphans >> deploy.log 2>&1 + docker compose ps >> deploy.log 2>&1 + EOF + - ssh $SSH_ADDRESS "docker system prune -a --force" diff --git a/services/backend/api/v1/competition/schemas.py b/services/backend/api/v1/competition/schemas.py index 1c5aff1..079baab 100644 --- a/services/backend/api/v1/competition/schemas.py +++ b/services/backend/api/v1/competition/schemas.py @@ -11,7 +11,7 @@ class CompetitionOut(ModelSchema): class Meta: model = Competition - fields = "__all__" + exclude = ("participants",) class StateOut(ModelSchema): diff --git a/services/backend/api/v1/user/schemas.py b/services/backend/api/v1/user/schemas.py index edde86f..6baa542 100644 --- a/services/backend/api/v1/user/schemas.py +++ b/services/backend/api/v1/user/schemas.py @@ -22,4 +22,4 @@ class LoginSchema(ModelSchema): class UserSchema(ModelSchema): class Meta: model = User - fields = ["email", "username"] + fields = ["id", "email", "username"] diff --git a/services/backend/api/v1/user/views.py b/services/backend/api/v1/user/views.py index 29a2ff7..f4629b7 100644 --- a/services/backend/api/v1/user/views.py +++ b/services/backend/api/v1/user/views.py @@ -54,6 +54,16 @@ def sign_in(request, data: LoginSchema): return status.OK, TokenSchema(token=token) +@router.get( + "/me", + response={ + status.OK: UserSchema, + status.UNAUTHORIZED: ForbiddenError, + }, +) +def get_me(request): + return 200, request.auth + @router.get( path="/user/{user_id}", response={