hunk.code_window:   payload?: string;
   }
hunk.labels: keep replace keep
hunk.after_edit:   // eslint-disable-next-line @typescript-eslint/no-explicit-any
     payload?: any;
  
hunk.file_path: libs/dal/src/repositories/notification/notification.entity.ts
hunk.type: replace
file: # This is a basic workflow to help you get started with Actions
  
  name: Deploy PROD WEB
  
  # Controls when the action will run. Triggers the workflow on push or pull request
  # events but only for the master branch
  on:
    push:
      tags:
        - '**@novu/web**'
        - '**@novu/shared**'
    workflow_dispatch:
  
  # A workflow run is made up of one or more jobs that can run sequentially or in parallel
  jobs:
    test_web:
      uses: ./.github/workflows/reusable-web-e2e.yml
      secrets:
        cypress_key: ${{ secrets.CYPRESS_WEB_KEY }}
  
    # This workflow contains a single job called "build"
    deploy_web:
      needs: test_web
      environment: Production
      if: "!contains(github.event.head_commit.message, 'ci skip')"
      # The type of runner that the job will run on
      runs-on: ubuntu-latest
      timeout-minutes: 80
  
      # Steps represent a sequence of tasks that will be executed as part of the job
      steps:
        # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
        - uses: actions/checkout@v2
        - name: Setup kernel for react native, increase watchers
          run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
        - uses: actions/setup-node@v2
          with:
            node-version: '16.15.1'
  
        - name: Cache pnpm modules
          uses: actions/cache@v2
          with:
            path: ~/.pnpm-store
            key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
            restore-keys: |
              ${{ runner.os }}-
  
        - uses: pnpm/action-setup@v2.0.1
          with:
            version: 7.5.0
            run_install: true
  
        # Runs a single command using the runners shell
        - name: Build
          run: CI='' pnpm build:web
  
        - name: Create env file
          working-directory: apps/web
          run: |
            touch .env
            echo REACT_APP_INTERCOM_APP_ID=${{ secrets.INTERCOM_APP_ID }} >> .env
            echo REACT_APP_API_URL="https://api.novu.co" >> .env
            echo REACT_APP_WS_URL="https://ws.novu.co" >> .env
            echo REACT_APP_WIDGET_EMBED_PATH="https://embed.novu.co/embed.umd.min.js" >> .env
            echo REACT_APP_NOVU_APP_ID=${{ secrets.NOVU_APP_ID }} >> .env
            echo REACT_APP_SENTRY_DSN="https://2b5160da86384949be4cc66679c54e79@o1161119.ingest.sentry.io/6250907" >> .env
            echo REACT_APP_ENVIRONMENT=prod >> .env
  
        - name: Envsetup  
          working-directory: apps/web
          run: npm run envsetup
  
        - name: Build
          env:
            REACT_APP_INTERCOM_APP_ID: ${{ secrets.INTERCOM_APP_ID }}
            REACT_APP_API_URL: https://api.novu.co
            REACT_APP_WS_URL: https://ws.novu.co
            REACT_APP_WIDGET_EMBED_PATH: https://embed.novu.co/embed.umd.min.js
            REACT_APP_NOVU_APP_ID: ${{ secrets.NOVU_APP_ID }}
            REACT_APP_SENTRY_DSN: https://2b5160da86384949be4cc66679c54e79@o1161119.ingest.sentry.io/6250907
            REACT_APP_ENVIRONMENT: prod
          working-directory: apps/web
          run: npm run build
  
        - name: Deploy WEB to PROD
          uses: nwtgck/actions-netlify@v1.2
          with:
            publish-dir: apps/web/build
            github-token: ${{ secrets.GITHUB_TOKEN }}
            deploy-message: Prod deployment
            production-deploy: true
            alias: prod
            github-deployment-environment: Production
            github-deployment-description: Web Deployment
            netlify-config-path: apps/web/netlify.toml
          env:
            NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
            NETLIFY_SITE_ID: 8639d8b9-81f9-44c3-b885-585a7fd2b5ff
          timeout-minutes: 1
  
        - name: Build, tag, and push image to ghcr.io
          id: build-image
          env:
            REGISTERY_OWNER: novuhq
            DOCKER_NAME: novu/web
            IMAGE_TAG: ${{ github.sha }}
            GH_ACTOR: ${{ github.actor }}
            GH_PASSWORD: ${{ secrets.GH_PACKAGES }}
          run: |
            echo $GH_PASSWORD | docker login ghcr.io -u $GH_ACTOR --password-stdin 
            docker build -t ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:$IMAGE_TAG -f apps/web/Dockerfile .
            docker tag ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:$IMAGE_TAG ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:prod
            docker tag ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:$IMAGE_TAG ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:latest
            docker push ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:prod
            docker push ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:latest
            docker push ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:$IMAGE_TAG
            echo "::set-output name=IMAGE::ghcr.io/$REGISTERY_OWNER/$DOCKER_NAME:$IMAGE_TAG"
  
        - uses: actions/upload-artifact@v1
          if: failure()
          with:
            name: cypress-screenshots
            path: apps/web/cypress/screenshots
  