From 809db177b4daeffd4b2b98fa32792b2b0ad3bca5 Mon Sep 17 00:00:00 2001 From: Denis Shtanskiy Date: Fri, 5 Apr 2024 13:37:23 +0300 Subject: [PATCH 1/3] Create .gitkeep --- .gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitkeep diff --git a/.gitkeep b/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.gitkeep @@ -0,0 +1 @@ + From 451ab93fa66c99cad8e9ad1854a8ce5a6a80d6a5 Mon Sep 17 00:00:00 2001 From: Denis Shtanskiy Date: Sat, 27 Apr 2024 22:15:45 +0300 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/api/v1/views_events.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/backend/api/v1/views_events.py b/backend/api/v1/views_events.py index a8ed9e6..fd9a769 100644 --- a/backend/api/v1/views_events.py +++ b/backend/api/v1/views_events.py @@ -53,9 +53,7 @@ def get_serializer_class(self): @action( detail=False, - methods=[ - "POST", - ], + methods=["POST", "DELETE"], url_path=r"(?P[\w-]+)/registration", permission_classes=[ IsAuthenticated, @@ -63,13 +61,15 @@ def get_serializer_class(self): ) def registration(self, request, **kwargs): """Зарегистрироваться на событие.""" - event = self.get_object() - object, created = Registration.objects.get_or_create( - user=self.request.user, event=event - ) - if object: - return Response(status=CREATED) - return Response(status=BAD_REQUEST) + if request.method == "POST": + event = self.get_object() + object, created = Registration.objects.get_or_create( + user=self.request.user, event=event + ) + if object: + return Response(status=CREATED) + return Response(status=BAD_REQUEST) + return Response(status=NO_CONTENT) @receiver([post_save, post_delete], sender=Event) From 42980eb1d0941c4bbf029dea9f7063ebfd58113d Mon Sep 17 00:00:00 2001 From: Denis Shtanskiy Date: Sat, 27 Apr 2024 22:30:15 +0300 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20=D0=A0=D0=B0=D0=B7=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=D0=BB=20CI/CD,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=B5=D0=BF=D0=BB=D0=BE=D1=8F=20=D0=B8=D0=B7=20=D0=B4=D1=80?= =?UTF-8?q?=D1=83=D0=B3=D0=B8=D1=85=20=D1=80=D0=B5=D0=BF=D0=BE=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build_and_push.yml | 63 ++++++++++++++++++++++ .github/workflows/{main.yml => deploy.yml} | 56 ++----------------- 2 files changed, 67 insertions(+), 52 deletions(-) create mode 100644 .github/workflows/build_and_push.yml rename .github/workflows/{main.yml => deploy.yml} (65%) diff --git a/.github/workflows/build_and_push.yml b/.github/workflows/build_and_push.yml new file mode 100644 index 0000000..3d22606 --- /dev/null +++ b/.github/workflows/build_and_push.yml @@ -0,0 +1,63 @@ +name: Main Funtech deploy +on: + repository_dispatch: + types: [run-backend-workflow] + push: + branches: [ 'main', 'dev'] + paths-ignore: + - "**/README.md" + +jobs: + build_backend_and_push_to_docker_hub: + name: Push backend Docker image to DockerHub + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to Docker + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Push to DockerHub + uses: docker/build-push-action@v4 + with: + context: ./backend/ + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROJECT_NAME }}_backend:latest + + + build_gateway_and_push_to_docker_hub: + name: Push gateway Docker image to DockerHub + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to Docker + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Push to DockerHub + uses: docker/build-push-action@v4 + with: + context: ./nginx/ + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROJECT_NAME }}_gateway:latest + + + deploy_uses_other_file: + if: + contains(' + refs/heads/develop + refs/heads/main + ', github.ref) + uses: Funtech-3/backend/.github/workflows/deploy.yml@develop + needs: + - build_backend_and_push_to_docker_hub + - build_gateway_and_push_to_docker_hub + secrets: inherit diff --git a/.github/workflows/main.yml b/.github/workflows/deploy.yml similarity index 65% rename from .github/workflows/main.yml rename to .github/workflows/deploy.yml index 6348a47..9397d50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/deploy.yml @@ -1,60 +1,12 @@ -name: Main Funtech deploy -on: - repository_dispatch: - types: [run-backend-workflow] - push: - branches: [ 'main', 'dev'] - paths-ignore: - - "**/README.md" - -jobs: - build_backend_and_push_to_docker_hub: - name: Push backend Docker image to DockerHub - runs-on: ubuntu-latest - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to Docker - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Push to DockerHub - uses: docker/build-push-action@v4 - with: - context: ./backend/ - push: true - tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROJECT_NAME }}_backend:latest +name: Funtech deploy - - build_gateway_and_push_to_docker_hub: - name: Push gateway Docker image to DockerHub - runs-on: ubuntu-latest - steps: - - name: Check out the repo - uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Login to Docker - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Push to DockerHub - uses: docker/build-push-action@v4 - with: - context: ./nginx/ - push: true - tags: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.PROJECT_NAME }}_gateway:latest +on: + workflow_call: +jobs: deploy: runs-on: ubuntu-latest - needs: - - build_backend_and_push_to_docker_hub - - build_gateway_and_push_to_docker_hub steps: - name: Checkout repo uses: actions/checkout@v4