name: '[Support] Delete Solved cards'
on:
  workflow_dispatch:
  schedule:
    # Every 2 hours
    - cron: '15 0/2 * * *'
permissions:
  repository-projects: write
jobs:
  delete-cards:
    runs-on: ubuntu-latest
    steps:
      - name: Repo checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 1
      - name: Load .env file
        uses: xom9ikk/dotenv@v2
        with:
          path: .github/workflows/
      - uses: actions/github-script@v6
        with:
          script: |
            const {data: cards} = await github.rest.projects.listCards({
              column_id: ${{ env.SOLVED_COLUMN_ID }},
              archived_state: 'all',
              per_page: 100
            });
            // Remove cards without updates in last week.
            const comparedDate = new Date();
            comparedDate.setDate(comparedDate.getDate() - 7);
            cards.forEach(card => {
              const lastUpdate = new Date(card.updated_at);
              if (card.archived || lastUpdate < comparedDate ) {
                github.rest.projects.deleteCard({
                  card_id: card.id
                });
              }
            });
