diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..588b99a8 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,18 @@ +# Keep the distributed package small: none of this is needed at runtime. +/.github export-ignore +/.idea export-ignore +/tests export-ignore +/workbench export-ignore +/.codeclimate.yml export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/.php-cs-fixer.dist.php export-ignore +/.phpstorm.meta.php export-ignore +/CHANGELOG.md export-ignore +/graphql.config.yml export-ignore +/ide.json export-ignore +/local.graphql export-ignore +/phpunit.xml.dist export-ignore +/testbench.yaml export-ignore + +*.php diff=php diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index ae923756..4a54cf53 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -13,17 +13,17 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.2 + php-version: 8.3 extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv coverage: pcov - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | vendor @@ -35,10 +35,10 @@ jobs: - name: Install dependencies env: COMPOSER_DISCARD_CHANGES: true - run: composer require --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:10.*" "orchestra/testbench:8.*" + run: composer install --no-progress --no-interaction --prefer-dist - name: Run and publish code coverage - uses: paambaati/codeclimate-action@v2.4.0 + uses: paambaati/codeclimate-action@v9.0.0 env: CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} with: diff --git a/.github/workflows/php-cs-fixer.yml b/.github/workflows/php-cs-fixer.yml index 0cbde27c..18d29fc5 100644 --- a/.github/workflows/php-cs-fixer.yml +++ b/.github/workflows/php-cs-fixer.yml @@ -3,35 +3,37 @@ name: Code Style on: [ pull_request, push ] jobs: - coverage: + code-style: runs-on: ubuntu-latest name: Run code style checks steps: - - name: Checkout code - uses: actions/checkout@v3 + - name: Check out the repository + uses: actions/checkout@v4 - - name: Setup PHP + - name: Set up PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.1 + php-version: 8.3 extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv + tools: composer:v2 + + - name: Register the Composer cache directory + id: composer-cache-files-dir + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | vendor ${{ steps.composer-cache-files-dir.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} - restore-keys: | - ${{ runner.os }}-composer- + restore-keys: ${{ runner.os }}-composer- - name: Install dependencies - env: - COMPOSER_DISCARD_CHANGES: true - run: composer require --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:9.*" "orchestra/testbench:7.*" + run: composer install --no-interaction --prefer-dist - name: Run PHP CS Fixer - run: ./vendor/bin/php-cs-fixer fix --diff --dry-run + run: vendor/bin/php-cs-fixer fix --diff --dry-run diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml deleted file mode 100644 index a35865f6..00000000 --- a/.github/workflows/phpunit.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: PHPUnit - -on: - push: - pull_request: - schedule: - - cron: '0 14 * * 3' # Run Wednesdays at 2pm EST - -jobs: - php-tests: - runs-on: ubuntu-latest - - strategy: - matrix: - php: [ 8.1, 8.2, 8.3 ] - laravel: [ 10.*, 11.* ] - dependency-version: [ stable, lowest ] - include: - - laravel: 10.* - testbench: 8.* - - laravel: 11.* - testbench: 9.* - - timeout-minutes: 10 - - name: "${{ matrix.php }} / ${{ matrix.laravel }} (${{ matrix.dependency-version }})" - - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv - tools: composer:v2 - - - name: Register composer cache directory - id: composer-cache-files-dir - run: | - echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: | - vendor - ${{ steps.composer-cache-files-dir.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} - restore-keys: | - ${{ runner.os }}-composer- - - - name: Install dependencies - run: | - composer require --no-interaction --prefer-dist --no-update "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" - composer update --no-interaction --prefer-dist --with-all-dependencies --prefer-${{ matrix.dependency-version }} - - - name: Execute tests - run: vendor/bin/phpunit diff --git a/.github/workflows/sync-schema.yml b/.github/workflows/sync-schema.yml new file mode 100644 index 00000000..363e2a2b --- /dev/null +++ b/.github/workflows/sync-schema.yml @@ -0,0 +1,135 @@ +name: Sync Linear Schema + +on: + schedule: + - cron: '0 9 * * *' # Daily at 9am UTC + workflow_dispatch: + inputs: + force_release: + description: 'Tag a release even if the schema has not changed' + type: boolean + default: false + +concurrency: + group: sync-schema + cancel-in-progress: false + +permissions: + contents: write + +jobs: + sync: + runs-on: ubuntu-latest + name: Rebuild from the live schema + + steps: + - name: Check out the repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.3 + extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv + tools: composer:v2 + + - name: Register the Composer cache directory + id: composer-cache-files-dir + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + vendor + ${{ steps.composer-cache-files-dir.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install dependencies + run: composer install --no-interaction --prefer-dist + + - name: Fetch the schema + id: schema + env: + LINEAR_API_KEY: ${{ secrets.LINEAR_API_KEY }} + LINEAR_SCHEMA_SUMMARY: ${{ github.workspace }}/schema-changes.md + run: php vendor/bin/testbench linear:schema + + - name: Stop here if nothing changed + id: proceed + run: | + if [ "${{ steps.schema.outputs.changed }}" = "true" ] || [ "${{ inputs.force_release }}" = "true" ]; then + echo "run=true" >> $GITHUB_OUTPUT + else + echo "run=false" >> $GITHUB_OUTPUT + echo "The schema is unchanged. Nothing to do." + fi + + # New types are only visible to the default-field resolver once their classes exist + # on disk, so we generate twice: the first pass writes them, the second fills in + # the default fields for anything that was missing. + - name: Rebuild the generated code + if: steps.proceed.outputs.run == 'true' + run: | + php vendor/bin/testbench reset:data + php vendor/bin/testbench generate:data + composer dump-autoload + php vendor/bin/testbench generate:data + vendor/bin/php-cs-fixer fix --quiet + composer dump-autoload + + - name: Run the test suite + if: steps.proceed.outputs.run == 'true' + run: vendor/bin/phpunit + + - name: Check code style + if: steps.proceed.outputs.run == 'true' + run: vendor/bin/php-cs-fixer fix --diff --dry-run + + - name: Work out the next version + if: steps.proceed.outputs.run == 'true' + id: version + env: + LINEAR_VERSION_BUMP: ${{ steps.schema.outputs.bump }} + run: | + CURRENT=$(git tag --list --sort=-v:refname | head -n 1) + CURRENT=${CURRENT:-0.0.0} + NEXT=$(php vendor/bin/testbench linear:next-version "$CURRENT" | tail -n 1 | tr -d '[:space:]') + echo "current=$CURRENT" >> $GITHUB_OUTPUT + echo "next=$NEXT" >> $GITHUB_OUTPUT + echo "Releasing $CURRENT -> $NEXT (${{ steps.schema.outputs.bump }})" + + - name: Commit the rebuilt code + if: steps.proceed.outputs.run == 'true' + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add -A + if git diff --cached --quiet; then + echo "Nothing to commit." + else + git commit -m "Rebuild from the Linear schema for ${{ steps.version.outputs.next }}" + git push origin HEAD:${{ github.ref_name }} + fi + + - name: Write the release notes + if: steps.proceed.outputs.run == 'true' + run: | + { + echo "Rebuilt from the Linear GraphQL schema as of $(date -u '+%Y-%m-%d')." + echo + cat "${{ github.workspace }}/schema-changes.md" 2>/dev/null || echo "No schema changes recorded." + } > "${{ github.workspace }}/release-notes.md" + + - name: Tag the release + if: steps.proceed.outputs.run == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "${{ steps.version.outputs.next }}" \ + --title "${{ steps.version.outputs.next }}" \ + --notes-file "${{ github.workspace }}/release-notes.md" \ + --target "$(git rev-parse HEAD)" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..cabec0fa --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,71 @@ +# Kept at this path rather than phpunit.yml: GitHub disables scheduled workflows +# in repositories that go quiet, and the old file had been disabled for inactivity. +# The workflow name is unchanged, so the README badge still resolves. +name: PHPUnit + +on: + push: + pull_request: + schedule: + - cron: '0 14 * * 3' # Run Wednesdays at 2pm EST + +jobs: + php-tests: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + php: [ 8.2, 8.3, 8.4 ] + laravel: [ 11.*, 12.*, 13.* ] + dependency-version: [ stable, lowest ] + include: + # orchestra/testbench below 9.2 sets a static property it never declares, + # which fails every test, so the Laravel 11 floor starts there + - laravel: 11.* + testbench: ^9.2 + - laravel: 12.* + testbench: ^10.0 + - laravel: 13.* + testbench: ^11.0 + exclude: + # Laravel 13 needs PHP 8.3 or newer + - laravel: 13.* + php: 8.2 + + timeout-minutes: 15 + + name: "PHP ${{ matrix.php }} / Laravel ${{ matrix.laravel }} (${{ matrix.dependency-version }})" + + steps: + - name: Check out the repository + uses: actions/checkout@v4 + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv + tools: composer:v2 + + - name: Register the Composer cache directory + id: composer-cache-files-dir + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + vendor + ${{ steps.composer-cache-files-dir.outputs.dir }} + key: ${{ runner.os }}-php-${{ matrix.php }}-${{ matrix.laravel }}-${{ matrix.dependency-version }}-${{ hashFiles('composer.json') }} + restore-keys: ${{ runner.os }}-php-${{ matrix.php }}- + + - name: Install dependencies + run: | + composer require --no-interaction --prefer-dist --no-update "laravel/framework:${{ matrix.laravel }}" + composer require --dev --no-interaction --prefer-dist --no-update "orchestra/testbench:${{ matrix.testbench }}" + composer update --no-interaction --prefer-dist --with-all-dependencies --prefer-${{ matrix.dependency-version }} + + - name: Execute tests + run: vendor/bin/phpunit diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 42e013e6..1e2fe66c 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -8,7 +8,7 @@ jobs: update-publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: repository: ${{ github.event.repository.full_name }} ref: 'main' @@ -19,7 +19,7 @@ jobs: version: ${{ github.event.release.tag_name }} - name: Commit changelog back to repo - uses: EndBug/add-and-commit@v8 + uses: EndBug/add-and-commit@v9 with: add: 'CHANGELOG.md' message: ${{ github.event.release.tag_name }} diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php index 887b2f84..152e68ea 100644 --- a/.phpstorm.meta.php +++ b/.phpstorm.meta.php @@ -2,343 +2,343 @@ namespace PHPSTORM_META; -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApiKeysQueryRequest::get(), 0, '*', 'edges.cursor', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.label', 'nodes.archivedAt', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApplicationInfoQueryRequest::get(), 0, '*', 'id', 'clientId', 'name', 'developer', 'developerUrl', 'description', 'imageUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApplicationInfoByIdsQueryRequest::get(), 0, '*', 'id', 'clientId', 'name', 'developer', 'developerUrl', 'description', 'imageUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApplicationInfoWithMembershipsByIdsQueryRequest::get(), 0, '*', 'name', 'scope', 'appId', 'clientId', 'webhooksEnabled', 'totalMembers', 'memberships.userId', 'memberships.createdAt', 'imageUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApplicationWithAuthorizationQueryRequest::get(), 0, '*', 'id', 'clientId', 'name', 'developer', 'developerUrl', 'isAuthorized', 'createdByLinear', 'webhooksEnabled', 'description', 'imageUrl', 'approvalErrorCode'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAuthorizedApplicationsQueryRequest::get(), 0, '*', 'name', 'scope', 'appId', 'clientId', 'webhooksEnabled', 'imageUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWorkspaceAuthorizedApplicationsQueryRequest::get(), 0, '*', 'name', 'scope', 'appId', 'clientId', 'webhooksEnabled', 'totalMembers', 'memberships.userId', 'memberships.createdAt', 'imageUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.url', 'nodes.metadata', 'nodes.groupBySource', 'nodes.archivedAt', 'nodes.subtitle', 'nodes.source', 'nodes.sourceType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'title', 'url', 'metadata', 'groupBySource', 'archivedAt', 'subtitle', 'source', 'sourceType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentsForURLQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.url', 'nodes.metadata', 'nodes.groupBySource', 'nodes.archivedAt', 'nodes.subtitle', 'nodes.source', 'nodes.sourceType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentIssueQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'title', 'priority', 'boardOrder', 'sortOrder', 'labelIds', 'previousIdentifiers', 'priorityLabel', 'identifier', 'url', 'branchName', 'customerTicketCount', 'archivedAt', 'estimate', 'startedAt', 'completedAt', 'startedTriageAt', 'triagedAt', 'canceledAt', 'autoClosedAt', 'autoArchivedAt', 'dueDate', 'slaStartedAt', 'slaBreachesAt', 'trashed', 'snoozedUntilAt', 'subIssueSortOrder', 'integrationSourceType', 'description', 'descriptionData', 'descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentSourcesQueryRequest::get(), 0, '*', 'sources'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAuditEntryTypesQueryRequest::get(), 0, '*', 'type', 'description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAuditEntriesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.type', 'nodes.archivedAt', 'nodes.actorId', 'nodes.ip', 'nodes.countryCode', 'nodes.metadata', 'nodes.requestInformation'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAvailableUsersQueryRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAuthenticationSessionsQueryRequest::get(), 0, '*', 'id', 'type', 'countryCodes', 'createdAt', 'updatedAt', 'name', 'isCurrentSession', 'ip', 'locationCountry', 'locationCountryCode', 'locationCity', 'userAgent', 'browserType', 'lastActiveAt', 'location', 'operatingSystem', 'client'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingSsoUrlFromEmailQueryRequest::get(), 0, '*', 'success', 'samlSsoUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.body', 'nodes.bodyData', 'nodes.reactionData', 'nodes.url', 'nodes.archivedAt', 'nodes.resolvedAt', 'nodes.editedAt', 'nodes.quotedText', 'nodes.summaryText'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'body', 'bodyData', 'reactionData', 'url', 'archivedAt', 'resolvedAt', 'editedAt', 'quotedText', 'summaryText'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.filters', 'nodes.filterData', 'nodes.shared', 'nodes.modelName', 'nodes.archivedAt', 'nodes.description', 'nodes.icon', 'nodes.color', 'nodes.projectFilterData'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'filters', 'filterData', 'shared', 'modelName', 'archivedAt', 'description', 'icon', 'color', 'projectFilterData'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewDetailsSuggestionQueryRequest::get(), 0, '*', 'name', 'description', 'icon'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewHasSubscribersQueryRequest::get(), 0, '*', 'hasSubscribers'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCyclesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.startsAt', 'nodes.endsAt', 'nodes.issueCountHistory', 'nodes.completedIssueCountHistory', 'nodes.scopeHistory', 'nodes.completedScopeHistory', 'nodes.inProgressScopeHistory', 'nodes.progress', 'nodes.archivedAt', 'nodes.name', 'nodes.description', 'nodes.completedAt', 'nodes.autoArchivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCycleQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'startsAt', 'endsAt', 'issueCountHistory', 'completedIssueCountHistory', 'scopeHistory', 'completedScopeHistory', 'inProgressScopeHistory', 'progress', 'archivedAt', 'name', 'description', 'completedAt', 'autoArchivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingDocumentContentHistoryQueryRequest::get(), 0, '*', 'success', 'history.id', 'history.createdAt', 'history.contentDataSnapshotAt', 'history.contentData', 'history.actorIds'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingDocumentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.slugId', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.icon', 'nodes.color', 'nodes.content', 'nodes.contentState', 'nodes.contentData'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingDocumentQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'title', 'slugId', 'sortOrder', 'archivedAt', 'icon', 'color', 'content', 'contentState', 'contentData'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmojisQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.url', 'nodes.source', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmojiQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'url', 'source', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingExternalUsersQueryRequest::get(), 0, '*', 'edges.cursor', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.displayName', 'nodes.organization.id', 'nodes.organization.createdAt', 'nodes.organization.updatedAt', 'nodes.organization.name', 'nodes.organization.urlKey', 'nodes.organization.periodUploadVolume', 'nodes.organization.gitLinkbackMessagesEnabled', 'nodes.organization.gitPublicLinkbackMessagesEnabled', 'nodes.organization.roadmapEnabled', 'nodes.organization.projectUpdatesReminderFrequency', 'nodes.organization.projectUpdateRemindersDay', 'nodes.organization.projectUpdateRemindersHour', 'nodes.organization.fiscalYearStartMonth', 'nodes.organization.samlEnabled', 'nodes.organization.scimEnabled', 'nodes.organization.allowedAuthServices', 'nodes.organization.previousUrlKeys', 'nodes.organization.releaseChannel', 'nodes.organization.slaDayCount', 'nodes.organization.users', 'nodes.organization.teams', 'nodes.organization.integrations', 'nodes.organization.userCount', 'nodes.organization.createdIssueCount', 'nodes.organization.templates', 'nodes.organization.labels', 'nodes.organization.archivedAt', 'nodes.organization.logoUrl', 'nodes.organization.gitBranchFormat', 'nodes.organization.samlSettings', 'nodes.organization.deletionRequestedAt', 'nodes.organization.trialEndsAt', 'nodes.organization.allowMembersToInvite', 'nodes.organization.subscription', 'nodes.archivedAt', 'nodes.email', 'nodes.avatarUrl', 'nodes.lastSeen', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingExternalUserQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'displayName', 'organization.id', 'organization.createdAt', 'organization.updatedAt', 'organization.name', 'organization.urlKey', 'organization.periodUploadVolume', 'organization.gitLinkbackMessagesEnabled', 'organization.gitPublicLinkbackMessagesEnabled', 'organization.roadmapEnabled', 'organization.projectUpdatesReminderFrequency', 'organization.projectUpdateRemindersDay', 'organization.projectUpdateRemindersHour', 'organization.fiscalYearStartMonth', 'organization.samlEnabled', 'organization.scimEnabled', 'organization.allowedAuthServices', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.slaDayCount', 'organization.userCount', 'organization.createdIssueCount', 'organization.archivedAt', 'organization.logoUrl', 'organization.gitBranchFormat', 'organization.samlSettings', 'organization.deletionRequestedAt', 'organization.trialEndsAt', 'organization.allowMembersToInvite', 'archivedAt', 'email', 'avatarUrl', 'lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.sortOrder', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'sortOrder', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.slugId', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.description', 'nodes.color', 'nodes.targetDate', 'nodes.targetDateResolution'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'slugId', 'sortOrder', 'archivedAt', 'description', 'color', 'targetDate', 'targetDateResolution'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingFavoritesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.type', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.folderName', 'nodes.projectTab', 'nodes.predefinedViewType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingFavoriteQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'sortOrder', 'archivedAt', 'folderName', 'projectTab', 'predefinedViewType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.service', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'service', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationHasScopesQueryRequest::get(), 0, '*', 'hasAllScopes', 'missingScopes'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdatesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.body', 'nodes.health', 'nodes.isDiffHidden', 'nodes.bodyData', 'nodes.url', 'nodes.archivedAt', 'nodes.editedAt', 'nodes.infoSnapshot', 'nodes.diff', 'nodes.diffMarkdown'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationsSettingsQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'archivedAt', 'slackIssueCreated', 'slackIssueNewComment', 'slackIssueStatusChangedDone', 'slackIssueStatusChangedAll', 'slackProjectUpdateCreated', 'slackProjectUpdateCreatedToTeam', 'slackProjectUpdateCreatedToWorkspace', 'slackIssueAddedToTriage', 'slackIssueSlaHighRisk', 'slackIssueSlaBreached'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplatesQueryRequest::get(), 0, '*', 'edges.cursor', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.template.id', 'nodes.template.createdAt', 'nodes.template.updatedAt', 'nodes.template.type', 'nodes.template.name', 'nodes.template.templateData', 'nodes.template.archivedAt', 'nodes.template.description', 'nodes.template.organization', 'nodes.template.team', 'nodes.template.creator', 'nodes.template.lastUpdatedBy', 'nodes.integration.id', 'nodes.integration.createdAt', 'nodes.integration.updatedAt', 'nodes.integration.service', 'nodes.integration.organization', 'nodes.integration.creator', 'nodes.integration.archivedAt', 'nodes.integration.team', 'nodes.archivedAt', 'nodes.foreignEntityId', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'template.id', 'template.createdAt', 'template.updatedAt', 'template.type', 'template.name', 'template.templateData', 'template.archivedAt', 'template.description', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'archivedAt', 'foreignEntityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportFinishGithubOAuthQueryRequest::get(), 0, '*', 'token', 'organizations.id', 'organizations.login', 'organizations.isPersonal'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportCheckCSVQueryRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueLabelsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.color', 'nodes.isGroup', 'nodes.archivedAt', 'nodes.description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueLabelQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'color', 'isGroup', 'archivedAt', 'description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueRelationsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.type', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueRelationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssuesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'title', 'priority', 'boardOrder', 'sortOrder', 'labelIds', 'previousIdentifiers', 'priorityLabel', 'identifier', 'url', 'branchName', 'customerTicketCount', 'archivedAt', 'estimate', 'startedAt', 'completedAt', 'startedTriageAt', 'triagedAt', 'canceledAt', 'autoClosedAt', 'autoArchivedAt', 'dueDate', 'slaStartedAt', 'slaBreachesAt', 'trashed', 'snoozedUntilAt', 'subIssueSortOrder', 'integrationSourceType', 'description', 'descriptionData', 'descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueSearchQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueVcsBranchSearchQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'title', 'priority', 'boardOrder', 'sortOrder', 'labelIds', 'previousIdentifiers', 'priorityLabel', 'identifier', 'url', 'branchName', 'customerTicketCount', 'archivedAt', 'estimate', 'startedAt', 'completedAt', 'startedTriageAt', 'triagedAt', 'canceledAt', 'autoClosedAt', 'autoArchivedAt', 'dueDate', 'slaStartedAt', 'slaBreachesAt', 'trashed', 'snoozedUntilAt', 'subIssueSortOrder', 'integrationSourceType', 'description', 'descriptionData', 'descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueFigmaFileKeySearchQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssuePriorityValuesQueryRequest::get(), 0, '*', 'priority', 'label'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueFilterSuggestionQueryRequest::get(), 0, '*', 'filter'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationsQueryRequest::get(), 0, '*', 'edges.node', 'edges.cursor', 'nodes', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionsQueryRequest::get(), 0, '*', 'edges.node', 'edges.cursor', 'nodes', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainClaimRequestQueryRequest::get(), 0, '*', 'verificationString'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationInvitesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.email', 'nodes.role', 'nodes.external', 'nodes.metadata', 'nodes.archivedAt', 'nodes.acceptedAt', 'nodes.expiresAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'email', 'role', 'external', 'metadata', 'archivedAt', 'acceptedAt', 'expiresAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'urlKey', 'periodUploadVolume', 'gitLinkbackMessagesEnabled', 'gitPublicLinkbackMessagesEnabled', 'roadmapEnabled', 'projectUpdatesReminderFrequency', 'projectUpdateRemindersDay', 'projectUpdateRemindersHour', 'fiscalYearStartMonth', 'samlEnabled', 'scimEnabled', 'allowedAuthServices', 'previousUrlKeys', 'releaseChannel', 'slaDayCount', 'userCount', 'createdIssueCount', 'archivedAt', 'logoUrl', 'gitBranchFormat', 'samlSettings', 'deletionRequestedAt', 'trialEndsAt', 'allowMembersToInvite', 'subscription.id', 'subscription.createdAt', 'subscription.updatedAt', 'subscription.type', 'subscription.seats', 'subscription.archivedAt', 'subscription.seatsMinimum', 'subscription.seatsMaximum', 'subscription.collectionMethod', 'subscription.canceledAt', 'subscription.pendingChangeType', 'subscription.nextBillingAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationExistsQueryRequest::get(), 0, '*', 'success', 'exists'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingArchivedTeamsQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'key', 'cyclesEnabled', 'cycleStartDay', 'cycleDuration', 'cycleCooldownTime', 'cycleIssueAutoAssignStarted', 'cycleIssueAutoAssignCompleted', 'cycleLockToActive', 'upcomingCycleCount', 'timezone', 'inviteHash', 'issueEstimationType', 'issueOrderingNoPriorityFirst', 'issueEstimationAllowZero', 'setIssueSortOrderOnStateChange', 'issueEstimationExtended', 'defaultIssueEstimate', 'triageEnabled', 'requirePriorityToLeaveTriage', 'private', 'groupIssueHistory', 'slackNewIssue', 'slackIssueComments', 'slackIssueStatuses', 'autoArchivePeriod', 'cycleCalenderUrl', 'issueCount', 'issueSortOrderDefaultToBottom', 'archivedAt', 'description', 'icon', 'color', 'defaultTemplateForMembersId', 'defaultTemplateForNonMembersId', 'autoClosePeriod', 'autoCloseStateId', 'joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectLinksQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.url', 'nodes.label', 'nodes.sortOrder', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectLinkQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'url', 'label', 'sortOrder', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectMilestonesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.targetDate', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState', 'sortOrder', 'archivedAt', 'targetDate', 'description', 'descriptionData', 'descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.description', 'nodes.slugId', 'nodes.color', 'nodes.sortOrder', 'nodes.issueCountHistory', 'nodes.completedIssueCountHistory', 'nodes.scopeHistory', 'nodes.completedScopeHistory', 'nodes.inProgressScopeHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.url', 'nodes.progress', 'nodes.scope', 'nodes.state', 'nodes.archivedAt', 'nodes.icon', 'nodes.projectUpdateRemindersPausedUntilAt', 'nodes.startDate', 'nodes.startDateResolution', 'nodes.targetDate', 'nodes.targetDateResolution', 'nodes.startedAt', 'nodes.pausedAt', 'nodes.completedAt', 'nodes.canceledAt', 'nodes.autoArchivedAt', 'nodes.trashed', 'nodes.content', 'nodes.contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'description', 'slugId', 'color', 'sortOrder', 'issueCountHistory', 'completedIssueCountHistory', 'scopeHistory', 'completedScopeHistory', 'inProgressScopeHistory', 'slackNewIssue', 'slackIssueComments', 'slackIssueStatuses', 'url', 'progress', 'scope', 'state', 'archivedAt', 'icon', 'projectUpdateRemindersPausedUntilAt', 'startDate', 'startDateResolution', 'targetDate', 'targetDateResolution', 'startedAt', 'pausedAt', 'completedAt', 'canceledAt', 'autoArchivedAt', 'trashed', 'content', 'contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectFilterSuggestionQueryRequest::get(), 0, '*', 'filter'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateInteractionsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.readAt', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateInteractionQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'readAt', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'body', 'health', 'isDiffHidden', 'bodyData', 'url', 'archivedAt', 'editedAt', 'infoSnapshot', 'diff', 'diffMarkdown'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingPushSubscriptionTestQueryRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRateLimitStatusQueryRequest::get(), 0, '*', 'kind', 'limits.type', 'limits.requestedAmount', 'limits.allowedAmount', 'limits.period', 'limits.remainingAmount', 'limits.reset', 'identifier'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.slugId', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.description', 'nodes.color'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'slugId', 'sortOrder', 'archivedAt', 'description', 'color'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.sortOrder', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState', 'roadmap.id', 'roadmap.createdAt', 'roadmap.updatedAt', 'roadmap.name', 'roadmap.slugId', 'roadmap.sortOrder', 'roadmap.archivedAt', 'roadmap.description', 'roadmap.color', 'sortOrder', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingSearchDocumentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.slugId', 'nodes.sortOrder', 'nodes.metadata', 'nodes.archivedAt', 'nodes.icon', 'nodes.color', 'nodes.content', 'nodes.contentState', 'nodes.contentData', 'totalCount'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingSearchProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.description', 'nodes.slugId', 'nodes.color', 'nodes.sortOrder', 'nodes.issueCountHistory', 'nodes.completedIssueCountHistory', 'nodes.scopeHistory', 'nodes.completedScopeHistory', 'nodes.inProgressScopeHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.url', 'nodes.progress', 'nodes.scope', 'nodes.state', 'nodes.metadata', 'nodes.archivedAt', 'nodes.icon', 'nodes.projectUpdateRemindersPausedUntilAt', 'nodes.startDate', 'nodes.startDateResolution', 'nodes.targetDate', 'nodes.targetDateResolution', 'nodes.startedAt', 'nodes.pausedAt', 'nodes.completedAt', 'nodes.canceledAt', 'nodes.autoArchivedAt', 'nodes.trashed', 'nodes.content', 'nodes.contentState', 'totalCount'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingSearchIssuesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.metadata', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState', 'totalCount'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamMembershipsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.owner'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamMembershipQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'sortOrder', 'archivedAt', 'owner'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.key', 'nodes.cyclesEnabled', 'nodes.cycleStartDay', 'nodes.cycleDuration', 'nodes.cycleCooldownTime', 'nodes.cycleIssueAutoAssignStarted', 'nodes.cycleIssueAutoAssignCompleted', 'nodes.cycleLockToActive', 'nodes.upcomingCycleCount', 'nodes.timezone', 'nodes.inviteHash', 'nodes.issueEstimationType', 'nodes.issueOrderingNoPriorityFirst', 'nodes.issueEstimationAllowZero', 'nodes.setIssueSortOrderOnStateChange', 'nodes.issueEstimationExtended', 'nodes.defaultIssueEstimate', 'nodes.triageEnabled', 'nodes.requirePriorityToLeaveTriage', 'nodes.private', 'nodes.groupIssueHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.autoArchivePeriod', 'nodes.cycleCalenderUrl', 'nodes.issueCount', 'nodes.issueSortOrderDefaultToBottom', 'nodes.archivedAt', 'nodes.description', 'nodes.icon', 'nodes.color', 'nodes.defaultTemplateForMembersId', 'nodes.defaultTemplateForNonMembersId', 'nodes.autoClosePeriod', 'nodes.autoCloseStateId', 'nodes.joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAdministrableTeamsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.key', 'nodes.cyclesEnabled', 'nodes.cycleStartDay', 'nodes.cycleDuration', 'nodes.cycleCooldownTime', 'nodes.cycleIssueAutoAssignStarted', 'nodes.cycleIssueAutoAssignCompleted', 'nodes.cycleLockToActive', 'nodes.upcomingCycleCount', 'nodes.timezone', 'nodes.inviteHash', 'nodes.issueEstimationType', 'nodes.issueOrderingNoPriorityFirst', 'nodes.issueEstimationAllowZero', 'nodes.setIssueSortOrderOnStateChange', 'nodes.issueEstimationExtended', 'nodes.defaultIssueEstimate', 'nodes.triageEnabled', 'nodes.requirePriorityToLeaveTriage', 'nodes.private', 'nodes.groupIssueHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.autoArchivePeriod', 'nodes.cycleCalenderUrl', 'nodes.issueCount', 'nodes.issueSortOrderDefaultToBottom', 'nodes.archivedAt', 'nodes.description', 'nodes.icon', 'nodes.color', 'nodes.defaultTemplateForMembersId', 'nodes.defaultTemplateForNonMembersId', 'nodes.autoClosePeriod', 'nodes.autoCloseStateId', 'nodes.joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'key', 'cyclesEnabled', 'cycleStartDay', 'cycleDuration', 'cycleCooldownTime', 'cycleIssueAutoAssignStarted', 'cycleIssueAutoAssignCompleted', 'cycleLockToActive', 'upcomingCycleCount', 'timezone', 'inviteHash', 'issueEstimationType', 'issueOrderingNoPriorityFirst', 'issueEstimationAllowZero', 'setIssueSortOrderOnStateChange', 'issueEstimationExtended', 'defaultIssueEstimate', 'triageEnabled', 'requirePriorityToLeaveTriage', 'private', 'groupIssueHistory', 'slackNewIssue', 'slackIssueComments', 'slackIssueStatuses', 'autoArchivePeriod', 'cycleCalenderUrl', 'issueCount', 'issueSortOrderDefaultToBottom', 'archivedAt', 'description', 'icon', 'color', 'defaultTemplateForMembersId', 'defaultTemplateForNonMembersId', 'autoClosePeriod', 'autoCloseStateId', 'joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTemplatesQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'name', 'templateData', 'archivedAt', 'description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTemplateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'name', 'templateData', 'archivedAt', 'description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTemplatesForIntegrationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'name', 'templateData', 'archivedAt', 'description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeSchedulesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.archivedAt', 'nodes.externalId', 'nodes.externalUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeScheduleQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'entries.startsAt', 'entries.endsAt', 'entries.userId', 'entries.userEmail', 'organization.id', 'organization.createdAt', 'organization.updatedAt', 'organization.name', 'organization.urlKey', 'organization.periodUploadVolume', 'organization.gitLinkbackMessagesEnabled', 'organization.gitPublicLinkbackMessagesEnabled', 'organization.roadmapEnabled', 'organization.projectUpdatesReminderFrequency', 'organization.projectUpdateRemindersDay', 'organization.projectUpdateRemindersHour', 'organization.fiscalYearStartMonth', 'organization.samlEnabled', 'organization.scimEnabled', 'organization.allowedAuthServices', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.slaDayCount', 'organization.userCount', 'organization.createdIssueCount', 'organization.archivedAt', 'organization.logoUrl', 'organization.gitBranchFormat', 'organization.samlSettings', 'organization.deletionRequestedAt', 'organization.trialEndsAt', 'organization.allowMembersToInvite', 'archivedAt', 'externalId', 'externalUrl', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilitiesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.action', 'nodes.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'action', 'archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUsersQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.displayName', 'nodes.email', 'nodes.inviteHash', 'nodes.guest', 'nodes.active', 'nodes.url', 'nodes.createdIssueCount', 'nodes.isMe', 'nodes.admin', 'nodes.archivedAt', 'nodes.avatarUrl', 'nodes.disableReason', 'nodes.calendarHash', 'nodes.description', 'nodes.statusEmoji', 'nodes.statusLabel', 'nodes.statusUntilAt', 'nodes.timezone', 'nodes.lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'displayName', 'email', 'inviteHash', 'guest', 'active', 'url', 'createdIssueCount', 'isMe', 'admin', 'archivedAt', 'avatarUrl', 'disableReason', 'calendarHash', 'description', 'statusEmoji', 'statusLabel', 'statusUntilAt', 'timezone', 'lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingViewerQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'displayName', 'email', 'inviteHash', 'guest', 'active', 'url', 'createdIssueCount', 'isMe', 'admin', 'archivedAt', 'avatarUrl', 'disableReason', 'calendarHash', 'description', 'statusEmoji', 'statusLabel', 'statusUntilAt', 'timezone', 'lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserSettingsQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'notificationPreferences', 'unsubscribedFrom', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen', 'subscribedToChangelog', 'subscribedToDPA', 'subscribedToInviteAccepted', 'subscribedToPrivacyLegalUpdates', 'subscribedToUnreadNotificationsReminder', 'showFullUserNames', 'archivedAt', 'calendarHash'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWebhooksQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.enabled', 'nodes.allPublicTeams', 'nodes.resourceTypes', 'nodes.archivedAt', 'nodes.label', 'nodes.url', 'nodes.secret'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWebhookQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'enabled', 'allPublicTeams', 'resourceTypes', 'archivedAt', 'label', 'url', 'secret'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWorkflowStatesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.color', 'nodes.position', 'nodes.type', 'nodes.archivedAt', 'nodes.description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWorkflowStateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'color', 'position', 'type', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault', 'archivedAt', 'description'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApiKeyCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'apiKey.id', 'apiKey.createdAt', 'apiKey.updatedAt', 'apiKey.label', 'apiKey.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingApiKeyDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentUnsyncSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkURLMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkGitLabMRMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkGitHubIssueMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkGitHubPRMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkZendeskMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkDiscordMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkFrontMutationRequest::get(), 0, '*', 'lastSyncId', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkIntercomMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkJiraIssueMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.title', 'entity.url', 'entity.metadata', 'entity.groupBySource', 'entity.archivedAt', 'entity.subtitle', 'entity.source', 'entity.sourceType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAttachmentDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailUserAccountAuthChallengeMutationRequest::get(), 0, '*', 'success', 'authType'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailTokenUserAccountAuthMutationRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingSamlTokenUserAccountAuthMutationRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGoogleUserAccountAuthMutationRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCreateOrganizationFromOnboardingMutationRequest::get(), 0, '*', 'organization.id', 'organization.name', 'organization.urlKey', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.samlEnabled', 'organization.allowedAuthServices', 'organization.scimEnabled', 'organization.serviceId', 'organization.userCount', 'organization.logoUrl', 'organization.deletionRequestedAt', 'organization.samlSettings', 'user.id', 'user.name', 'user.displayName', 'user.email', 'user.active', 'user.userAccountId', 'user.avatarUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingJoinOrganizationFromOnboardingMutationRequest::get(), 0, '*', 'organization.id', 'organization.name', 'organization.urlKey', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.samlEnabled', 'organization.allowedAuthServices', 'organization.scimEnabled', 'organization.serviceId', 'organization.userCount', 'organization.logoUrl', 'organization.deletionRequestedAt', 'organization.samlSettings', 'user.id', 'user.name', 'user.displayName', 'user.email', 'user.active', 'user.userAccountId', 'user.avatarUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingLeaveOrganizationMutationRequest::get(), 0, '*', 'organization.id', 'organization.name', 'organization.urlKey', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.samlEnabled', 'organization.allowedAuthServices', 'organization.scimEnabled', 'organization.serviceId', 'organization.userCount', 'organization.logoUrl', 'organization.deletionRequestedAt', 'organization.samlSettings', 'user.id', 'user.name', 'user.displayName', 'user.email', 'user.active', 'user.userAccountId', 'user.avatarUrl'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingLogoutMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingLogoutSessionMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingLogoutAllSessionsMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingLogoutOtherSessionsMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentResolveMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCommentUnresolveMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingContactCreateMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingContactSalesCreateMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'customView.id', 'customView.createdAt', 'customView.updatedAt', 'customView.name', 'customView.filters', 'customView.filterData', 'customView.shared', 'customView.modelName', 'customView.archivedAt', 'customView.description', 'customView.icon', 'customView.color', 'customView.projectFilterData', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'customView.id', 'customView.createdAt', 'customView.updatedAt', 'customView.name', 'customView.filters', 'customView.filterData', 'customView.shared', 'customView.modelName', 'customView.archivedAt', 'customView.description', 'customView.icon', 'customView.color', 'customView.projectFilterData', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCustomViewDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCycleCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'cycle.id', 'cycle.createdAt', 'cycle.updatedAt', 'cycle.number', 'cycle.startsAt', 'cycle.endsAt', 'cycle.issueCountHistory', 'cycle.completedIssueCountHistory', 'cycle.scopeHistory', 'cycle.completedScopeHistory', 'cycle.inProgressScopeHistory', 'cycle.progress', 'cycle.archivedAt', 'cycle.name', 'cycle.description', 'cycle.completedAt', 'cycle.autoArchivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCycleUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'cycle.id', 'cycle.createdAt', 'cycle.updatedAt', 'cycle.number', 'cycle.startsAt', 'cycle.endsAt', 'cycle.issueCountHistory', 'cycle.completedIssueCountHistory', 'cycle.scopeHistory', 'cycle.completedScopeHistory', 'cycle.inProgressScopeHistory', 'cycle.progress', 'cycle.archivedAt', 'cycle.name', 'cycle.description', 'cycle.completedAt', 'cycle.autoArchivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCycleArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.startsAt', 'entity.endsAt', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.progress', 'entity.archivedAt', 'entity.name', 'entity.description', 'entity.completedAt', 'entity.autoArchivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCycleShiftAllMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'cycle.id', 'cycle.createdAt', 'cycle.updatedAt', 'cycle.number', 'cycle.startsAt', 'cycle.endsAt', 'cycle.issueCountHistory', 'cycle.completedIssueCountHistory', 'cycle.scopeHistory', 'cycle.completedScopeHistory', 'cycle.inProgressScopeHistory', 'cycle.progress', 'cycle.archivedAt', 'cycle.name', 'cycle.description', 'cycle.completedAt', 'cycle.autoArchivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingDocumentCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'document.id', 'document.createdAt', 'document.updatedAt', 'document.title', 'document.slugId', 'document.sortOrder', 'document.archivedAt', 'document.icon', 'document.color', 'document.content', 'document.contentState', 'document.contentData', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingDocumentUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'document.id', 'document.createdAt', 'document.updatedAt', 'document.title', 'document.slugId', 'document.sortOrder', 'document.archivedAt', 'document.icon', 'document.color', 'document.content', 'document.contentState', 'document.contentData', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingDocumentDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'emailIntakeAddress.id', 'emailIntakeAddress.createdAt', 'emailIntakeAddress.updatedAt', 'emailIntakeAddress.address', 'emailIntakeAddress.enabled', 'emailIntakeAddress.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressRotateMutationRequest::get(), 0, '*', 'lastSyncId', 'emailIntakeAddress.id', 'emailIntakeAddress.createdAt', 'emailIntakeAddress.updatedAt', 'emailIntakeAddress.address', 'emailIntakeAddress.enabled', 'emailIntakeAddress.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'emailIntakeAddress.id', 'emailIntakeAddress.createdAt', 'emailIntakeAddress.updatedAt', 'emailIntakeAddress.address', 'emailIntakeAddress.enabled', 'emailIntakeAddress.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmailUnsubscribeMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmojiCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'emoji.id', 'emoji.createdAt', 'emoji.updatedAt', 'emoji.name', 'emoji.url', 'emoji.source', 'emoji.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingEmojiDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiativeToProject.id', 'initiativeToProject.createdAt', 'initiativeToProject.updatedAt', 'initiativeToProject.sortOrder', 'initiativeToProject.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiativeToProject.id', 'initiativeToProject.createdAt', 'initiativeToProject.updatedAt', 'initiativeToProject.sortOrder', 'initiativeToProject.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiative.id', 'initiative.createdAt', 'initiative.updatedAt', 'initiative.name', 'initiative.slugId', 'initiative.sortOrder', 'initiative.archivedAt', 'initiative.description', 'initiative.color', 'initiative.targetDate', 'initiative.targetDateResolution', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiative.id', 'initiative.createdAt', 'initiative.updatedAt', 'initiative.name', 'initiative.slugId', 'initiative.sortOrder', 'initiative.archivedAt', 'initiative.description', 'initiative.color', 'initiative.targetDate', 'initiative.targetDateResolution', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color', 'entity.targetDate', 'entity.targetDateResolution'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color', 'entity.targetDate', 'entity.targetDateResolution'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingInitiativeDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingFavoriteCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'favorite.id', 'favorite.createdAt', 'favorite.updatedAt', 'favorite.type', 'favorite.sortOrder', 'favorite.archivedAt', 'favorite.folderName', 'favorite.projectTab', 'favorite.predefinedViewType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingFavoriteUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'favorite.id', 'favorite.createdAt', 'favorite.updatedAt', 'favorite.type', 'favorite.sortOrder', 'favorite.archivedAt', 'favorite.folderName', 'favorite.projectTab', 'favorite.predefinedViewType', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingFavoriteDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingFileUploadMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'uploadFile.filename', 'uploadFile.contentType', 'uploadFile.size', 'uploadFile.uploadUrl', 'uploadFile.assetUrl', 'uploadFile.metaData'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingImportFileUploadMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'uploadFile.filename', 'uploadFile.contentType', 'uploadFile.size', 'uploadFile.uploadUrl', 'uploadFile.assetUrl', 'uploadFile.metaData'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingImageUploadFromUrlMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'url'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGitAutomationStateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'gitAutomationState.id', 'gitAutomationState.createdAt', 'gitAutomationState.updatedAt', 'gitAutomationState.event', 'gitAutomationState.archivedAt', 'gitAutomationState.branchPattern', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGitAutomationStateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'gitAutomationState.id', 'gitAutomationState.createdAt', 'gitAutomationState.updatedAt', 'gitAutomationState.event', 'gitAutomationState.archivedAt', 'gitAutomationState.branchPattern', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGitAutomationStateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGitAutomationTargetBranchCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'targetBranch.id', 'targetBranch.createdAt', 'targetBranch.updatedAt', 'targetBranch.branchPattern', 'targetBranch.isRegex', 'targetBranch.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGitAutomationTargetBranchUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'targetBranch.id', 'targetBranch.createdAt', 'targetBranch.updatedAt', 'targetBranch.branchPattern', 'targetBranch.isRegex', 'targetBranch.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingGitAutomationTargetBranchDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationRequestMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationGithubCommitCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'webhookSecret', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationGithubConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationGitlabConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingAirbyteIntegrationConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationGoogleCalendarPersonalConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingJiraIntegrationConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationJiraUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationJiraPersonalMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationGitHubPersonalMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationIntercomMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationIntercomDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationIntercomSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationDiscordMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationOpsgenieConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationPagerDutyConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationUpdateSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackAsksMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackPersonalMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationAsksConnectChannelMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'mapping.id', 'mapping.name', 'mapping.isPrivate', 'mapping.isShared', 'mapping.botAdded', 'mapping.autoCreateOnMessage', 'mapping.autoCreateOnEmoji', 'mapping.autoCreateOnBotMention', 'mapping.autoCreateTemplateId', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackPostMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'nudgeToConnectMainSlackIntegration', 'nudgeToUpdateMainSlackIntegration'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackProjectPostMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'nudgeToConnectMainSlackIntegration', 'nudgeToUpdateMainSlackIntegration'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'nudgeToConnectMainSlackIntegration', 'nudgeToUpdateMainSlackIntegration'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackImportEmojisMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationFigmaMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationGoogleSheetsMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRefreshGoogleSheetsDataMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationSentryConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationFrontMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationZendeskMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationLoomMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationsSettingsCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'integrationsSettings.id', 'integrationsSettings.createdAt', 'integrationsSettings.updatedAt', 'integrationsSettings.archivedAt', 'integrationsSettings.slackIssueCreated', 'integrationsSettings.slackIssueNewComment', 'integrationsSettings.slackIssueStatusChangedDone', 'integrationsSettings.slackIssueStatusChangedAll', 'integrationsSettings.slackProjectUpdateCreated', 'integrationsSettings.slackProjectUpdateCreatedToTeam', 'integrationsSettings.slackProjectUpdateCreatedToWorkspace', 'integrationsSettings.slackIssueAddedToTriage', 'integrationsSettings.slackIssueSlaHighRisk', 'integrationsSettings.slackIssueSlaBreached', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationsSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'integrationsSettings.id', 'integrationsSettings.createdAt', 'integrationsSettings.updatedAt', 'integrationsSettings.archivedAt', 'integrationsSettings.slackIssueCreated', 'integrationsSettings.slackIssueNewComment', 'integrationsSettings.slackIssueStatusChangedDone', 'integrationsSettings.slackIssueStatusChangedAll', 'integrationsSettings.slackProjectUpdateCreated', 'integrationsSettings.slackProjectUpdateCreatedToTeam', 'integrationsSettings.slackProjectUpdateCreatedToWorkspace', 'integrationsSettings.slackIssueAddedToTriage', 'integrationsSettings.slackIssueSlaHighRisk', 'integrationsSettings.slackIssueSlaBreached', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'integrationTemplate.id', 'integrationTemplate.createdAt', 'integrationTemplate.updatedAt', 'integrationTemplate.archivedAt', 'integrationTemplate.foreignEntityId', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateGithubMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateJiraMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateCSVJiraMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateClubhouseMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateAsanaMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportProcessMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueImportUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueLabelCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueLabel.id', 'issueLabel.createdAt', 'issueLabel.updatedAt', 'issueLabel.name', 'issueLabel.color', 'issueLabel.isGroup', 'issueLabel.archivedAt', 'issueLabel.description', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueLabelUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueLabel.id', 'issueLabel.createdAt', 'issueLabel.updatedAt', 'issueLabel.name', 'issueLabel.color', 'issueLabel.isGroup', 'issueLabel.archivedAt', 'issueLabel.description', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueLabelDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueRelationCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueRelation.id', 'issueRelation.createdAt', 'issueRelation.updatedAt', 'issueRelation.type', 'issueRelation.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueRelationUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueRelation.id', 'issueRelation.createdAt', 'issueRelation.updatedAt', 'issueRelation.type', 'issueRelation.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueRelationDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueBatchUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'issues.id', 'issues.createdAt', 'issues.updatedAt', 'issues.number', 'issues.title', 'issues.priority', 'issues.boardOrder', 'issues.sortOrder', 'issues.labelIds', 'issues.previousIdentifiers', 'issues.priorityLabel', 'issues.identifier', 'issues.url', 'issues.branchName', 'issues.customerTicketCount', 'issues.archivedAt', 'issues.estimate', 'issues.startedAt', 'issues.completedAt', 'issues.startedTriageAt', 'issues.triagedAt', 'issues.canceledAt', 'issues.autoClosedAt', 'issues.autoArchivedAt', 'issues.dueDate', 'issues.slaStartedAt', 'issues.slaBreachesAt', 'issues.trashed', 'issues.snoozedUntilAt', 'issues.subIssueSortOrder', 'issues.integrationSourceType', 'issues.description', 'issues.descriptionData', 'issues.descriptionState', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.title', 'entity.priority', 'entity.boardOrder', 'entity.sortOrder', 'entity.labelIds', 'entity.previousIdentifiers', 'entity.priorityLabel', 'entity.identifier', 'entity.url', 'entity.branchName', 'entity.customerTicketCount', 'entity.archivedAt', 'entity.estimate', 'entity.startedAt', 'entity.completedAt', 'entity.startedTriageAt', 'entity.triagedAt', 'entity.canceledAt', 'entity.autoClosedAt', 'entity.autoArchivedAt', 'entity.dueDate', 'entity.slaStartedAt', 'entity.slaBreachesAt', 'entity.trashed', 'entity.snoozedUntilAt', 'entity.subIssueSortOrder', 'entity.integrationSourceType', 'entity.description', 'entity.descriptionData', 'entity.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.title', 'entity.priority', 'entity.boardOrder', 'entity.sortOrder', 'entity.labelIds', 'entity.previousIdentifiers', 'entity.priorityLabel', 'entity.identifier', 'entity.url', 'entity.branchName', 'entity.customerTicketCount', 'entity.archivedAt', 'entity.estimate', 'entity.startedAt', 'entity.completedAt', 'entity.startedTriageAt', 'entity.triagedAt', 'entity.canceledAt', 'entity.autoClosedAt', 'entity.autoArchivedAt', 'entity.dueDate', 'entity.slaStartedAt', 'entity.slaBreachesAt', 'entity.trashed', 'entity.snoozedUntilAt', 'entity.subIssueSortOrder', 'entity.integrationSourceType', 'entity.description', 'entity.descriptionData', 'entity.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.title', 'entity.priority', 'entity.boardOrder', 'entity.sortOrder', 'entity.labelIds', 'entity.previousIdentifiers', 'entity.priorityLabel', 'entity.identifier', 'entity.url', 'entity.branchName', 'entity.customerTicketCount', 'entity.archivedAt', 'entity.estimate', 'entity.startedAt', 'entity.completedAt', 'entity.startedTriageAt', 'entity.triagedAt', 'entity.canceledAt', 'entity.autoClosedAt', 'entity.autoArchivedAt', 'entity.dueDate', 'entity.slaStartedAt', 'entity.slaBreachesAt', 'entity.trashed', 'entity.snoozedUntilAt', 'entity.subIssueSortOrder', 'entity.integrationSourceType', 'entity.description', 'entity.descriptionData', 'entity.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueAddLabelMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueRemoveLabelMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueReminderMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueSubscribeMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueUnsubscribeMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingIssueDescriptionUpdateFromFrontMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'notification', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationMarkReadAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationMarkUnreadAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationSnoozeAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationUnsnoozeAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationArchiveAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'notificationSubscription', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'notificationSubscription', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainClaimMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainVerifyMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationDomain.id', 'organizationDomain.createdAt', 'organizationDomain.updatedAt', 'organizationDomain.name', 'organizationDomain.verified', 'organizationDomain.authType', 'organizationDomain.archivedAt', 'organizationDomain.verificationEmail', 'organizationDomain.claimed', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationDomain.id', 'organizationDomain.createdAt', 'organizationDomain.updatedAt', 'organizationDomain.name', 'organizationDomain.verified', 'organizationDomain.authType', 'organizationDomain.archivedAt', 'organizationDomain.verificationEmail', 'organizationDomain.claimed', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationInvite.id', 'organizationInvite.createdAt', 'organizationInvite.updatedAt', 'organizationInvite.email', 'organizationInvite.role', 'organizationInvite.external', 'organizationInvite.metadata', 'organizationInvite.archivedAt', 'organizationInvite.acceptedAt', 'organizationInvite.expiresAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationInvite.id', 'organizationInvite.createdAt', 'organizationInvite.updatedAt', 'organizationInvite.email', 'organizationInvite.role', 'organizationInvite.external', 'organizationInvite.metadata', 'organizationInvite.archivedAt', 'organizationInvite.acceptedAt', 'organizationInvite.expiresAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingResendOrganizationInviteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'organization.id', 'organization.createdAt', 'organization.updatedAt', 'organization.name', 'organization.urlKey', 'organization.periodUploadVolume', 'organization.gitLinkbackMessagesEnabled', 'organization.gitPublicLinkbackMessagesEnabled', 'organization.roadmapEnabled', 'organization.projectUpdatesReminderFrequency', 'organization.projectUpdateRemindersDay', 'organization.projectUpdateRemindersHour', 'organization.fiscalYearStartMonth', 'organization.samlEnabled', 'organization.scimEnabled', 'organization.allowedAuthServices', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.slaDayCount', 'organization.userCount', 'organization.createdIssueCount', 'organization.archivedAt', 'organization.logoUrl', 'organization.gitBranchFormat', 'organization.samlSettings', 'organization.deletionRequestedAt', 'organization.trialEndsAt', 'organization.allowMembersToInvite'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDeleteChallengeMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationDeleteMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationCancelDeleteMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingOrganizationStartPlusTrialMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectLinkCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectLink.id', 'projectLink.createdAt', 'projectLink.updatedAt', 'projectLink.url', 'projectLink.label', 'projectLink.sortOrder', 'projectLink.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectLinkUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectLink.id', 'projectLink.createdAt', 'projectLink.updatedAt', 'projectLink.url', 'projectLink.label', 'projectLink.sortOrder', 'projectLink.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectLinkDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectMilestone.id', 'projectMilestone.createdAt', 'projectMilestone.updatedAt', 'projectMilestone.name', 'projectMilestone.sortOrder', 'projectMilestone.archivedAt', 'projectMilestone.targetDate', 'projectMilestone.description', 'projectMilestone.descriptionData', 'projectMilestone.descriptionState', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectMilestone.id', 'projectMilestone.createdAt', 'projectMilestone.updatedAt', 'projectMilestone.name', 'projectMilestone.sortOrder', 'projectMilestone.archivedAt', 'projectMilestone.targetDate', 'projectMilestone.description', 'projectMilestone.descriptionData', 'projectMilestone.descriptionState', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.description', 'entity.slugId', 'entity.color', 'entity.sortOrder', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.url', 'entity.progress', 'entity.scope', 'entity.state', 'entity.archivedAt', 'entity.icon', 'entity.projectUpdateRemindersPausedUntilAt', 'entity.startDate', 'entity.startDateResolution', 'entity.targetDate', 'entity.targetDateResolution', 'entity.startedAt', 'entity.pausedAt', 'entity.completedAt', 'entity.canceledAt', 'entity.autoArchivedAt', 'entity.trashed', 'entity.content', 'entity.contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.description', 'entity.slugId', 'entity.color', 'entity.sortOrder', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.url', 'entity.progress', 'entity.scope', 'entity.state', 'entity.archivedAt', 'entity.icon', 'entity.projectUpdateRemindersPausedUntilAt', 'entity.startDate', 'entity.startDateResolution', 'entity.targetDate', 'entity.targetDateResolution', 'entity.startedAt', 'entity.pausedAt', 'entity.completedAt', 'entity.canceledAt', 'entity.autoArchivedAt', 'entity.trashed', 'entity.content', 'entity.contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.description', 'entity.slugId', 'entity.color', 'entity.sortOrder', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.url', 'entity.progress', 'entity.scope', 'entity.state', 'entity.archivedAt', 'entity.icon', 'entity.projectUpdateRemindersPausedUntilAt', 'entity.startDate', 'entity.startDateResolution', 'entity.targetDate', 'entity.targetDateResolution', 'entity.startedAt', 'entity.pausedAt', 'entity.completedAt', 'entity.canceledAt', 'entity.autoArchivedAt', 'entity.trashed', 'entity.content', 'entity.contentState'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateInteractionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdateInteraction.id', 'projectUpdateInteraction.createdAt', 'projectUpdateInteraction.updatedAt', 'projectUpdateInteraction.readAt', 'projectUpdateInteraction.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingProjectUpdateMarkAsReadMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'success', 'interaction.id', 'interaction.createdAt', 'interaction.updatedAt', 'interaction.readAt', 'interaction.archivedAt'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCreateProjectUpdateReminderMutationRequest::get(), 0, '*', 'lastSyncId', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingPushSubscriptionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingPushSubscriptionDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingReactionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'reaction.id', 'reaction.createdAt', 'reaction.updatedAt', 'reaction.emoji', 'reaction.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingReactionDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingCreateCsvExportReportMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmap.id', 'roadmap.createdAt', 'roadmap.updatedAt', 'roadmap.name', 'roadmap.slugId', 'roadmap.sortOrder', 'roadmap.archivedAt', 'roadmap.description', 'roadmap.color', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmap.id', 'roadmap.createdAt', 'roadmap.updatedAt', 'roadmap.name', 'roadmap.slugId', 'roadmap.sortOrder', 'roadmap.archivedAt', 'roadmap.description', 'roadmap.color', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmapToProject.id', 'roadmapToProject.createdAt', 'roadmapToProject.updatedAt', 'roadmapToProject.sortOrder', 'roadmapToProject.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmapToProject.id', 'roadmapToProject.createdAt', 'roadmapToProject.updatedAt', 'roadmapToProject.sortOrder', 'roadmapToProject.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamKeyDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamMembershipCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'teamMembership.id', 'teamMembership.createdAt', 'teamMembership.updatedAt', 'teamMembership.sortOrder', 'teamMembership.archivedAt', 'teamMembership.owner'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamMembershipUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'teamMembership.id', 'teamMembership.createdAt', 'teamMembership.updatedAt', 'teamMembership.sortOrder', 'teamMembership.archivedAt', 'teamMembership.owner'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamMembershipDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.key', 'entity.cyclesEnabled', 'entity.cycleStartDay', 'entity.cycleDuration', 'entity.cycleCooldownTime', 'entity.cycleIssueAutoAssignStarted', 'entity.cycleIssueAutoAssignCompleted', 'entity.cycleLockToActive', 'entity.upcomingCycleCount', 'entity.timezone', 'entity.inviteHash', 'entity.issueEstimationType', 'entity.issueOrderingNoPriorityFirst', 'entity.issueEstimationAllowZero', 'entity.setIssueSortOrderOnStateChange', 'entity.issueEstimationExtended', 'entity.defaultIssueEstimate', 'entity.triageEnabled', 'entity.requirePriorityToLeaveTriage', 'entity.private', 'entity.groupIssueHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.autoArchivePeriod', 'entity.cycleCalenderUrl', 'entity.issueCount', 'entity.issueSortOrderDefaultToBottom', 'entity.archivedAt', 'entity.description', 'entity.icon', 'entity.color', 'entity.defaultTemplateForMembersId', 'entity.defaultTemplateForNonMembersId', 'entity.autoClosePeriod', 'entity.autoCloseStateId', 'entity.joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTeamCyclesDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTemplateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'template.id', 'template.createdAt', 'template.updatedAt', 'template.type', 'template.name', 'template.templateData', 'template.archivedAt', 'template.description', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTemplateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'template.id', 'template.createdAt', 'template.updatedAt', 'template.type', 'template.name', 'template.templateData', 'template.archivedAt', 'template.description', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTemplateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeScheduleCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeScheduleUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeScheduleUpsertExternalMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeScheduleDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTimeScheduleRefreshIntegrationScheduleMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'triageResponsibility.id', 'triageResponsibility.createdAt', 'triageResponsibility.updatedAt', 'triageResponsibility.action', 'triageResponsibility.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'triageResponsibility.id', 'triageResponsibility.createdAt', 'triageResponsibility.updatedAt', 'triageResponsibility.action', 'triageResponsibility.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserDiscordConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserExternalUserDisconnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserPromoteAdminMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserDemoteAdminMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserPromoteMemberMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserDemoteMemberMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserSuspendMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserUnsuspendMutationRequest::get(), 0, '*', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'userSettings.id', 'userSettings.createdAt', 'userSettings.updatedAt', 'userSettings.notificationPreferences', 'userSettings.unsubscribedFrom', 'userSettings.subscribedToChangelog', 'userSettings.subscribedToDPA', 'userSettings.subscribedToInviteAccepted', 'userSettings.subscribedToPrivacyLegalUpdates', 'userSettings.subscribedToUnreadNotificationsReminder', 'userSettings.showFullUserNames', 'userSettings.archivedAt', 'userSettings.calendarHash', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserSettingsFlagIncrementMutationRequest::get(), 0, '*', 'lastSyncId', 'flag', 'value', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserSettingsFlagsResetMutationRequest::get(), 0, '*', 'lastSyncId', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingUserFlagUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'flag', 'value', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingViewPreferencesCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'viewPreferences.id', 'viewPreferences.createdAt', 'viewPreferences.updatedAt', 'viewPreferences.type', 'viewPreferences.viewType', 'viewPreferences.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingViewPreferencesUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'viewPreferences.id', 'viewPreferences.createdAt', 'viewPreferences.updatedAt', 'viewPreferences.type', 'viewPreferences.viewType', 'viewPreferences.archivedAt', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingViewPreferencesDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWebhookCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'webhook.id', 'webhook.createdAt', 'webhook.updatedAt', 'webhook.enabled', 'webhook.allPublicTeams', 'webhook.resourceTypes', 'webhook.archivedAt', 'webhook.label', 'webhook.url', 'webhook.secret', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWebhookUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'webhook.id', 'webhook.createdAt', 'webhook.updatedAt', 'webhook.enabled', 'webhook.allPublicTeams', 'webhook.resourceTypes', 'webhook.archivedAt', 'webhook.label', 'webhook.url', 'webhook.secret', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWebhookDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWorkflowStateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'workflowState.id', 'workflowState.createdAt', 'workflowState.updatedAt', 'workflowState.name', 'workflowState.color', 'workflowState.position', 'workflowState.type', 'workflowState.archivedAt', 'workflowState.description', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWorkflowStateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'workflowState.id', 'workflowState.createdAt', 'workflowState.updatedAt', 'workflowState.name', 'workflowState.color', 'workflowState.position', 'workflowState.type', 'workflowState.archivedAt', 'workflowState.description', 'success'); -expectedArguments(\Glhd\Linearavel\Requests\Pending\PendingWorkflowStateArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.color', 'entity.position', 'entity.type', 'entity.archivedAt', 'entity.description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingApiKeysQueryRequest::get(), 0, '*', 'edges.cursor', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.label', 'nodes.archivedAt', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationInfoQueryRequest::get(), 0, '*', 'id', 'clientId', 'name', 'developer', 'developerUrl', 'description', 'imageUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationInfoByIdsQueryRequest::get(), 0, '*', 'id', 'clientId', 'name', 'developer', 'developerUrl', 'description', 'imageUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationInfoWithMembershipsByIdsQueryRequest::get(), 0, '*', 'name', 'scope', 'appId', 'clientId', 'webhooksEnabled', 'totalMembers', 'memberships.userId', 'memberships.createdAt', 'imageUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationWithAuthorizationQueryRequest::get(), 0, '*', 'id', 'clientId', 'name', 'developer', 'developerUrl', 'isAuthorized', 'createdByLinear', 'webhooksEnabled', 'description', 'imageUrl', 'approvalErrorCode'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAuthorizedApplicationsQueryRequest::get(), 0, '*', 'name', 'scope', 'appId', 'clientId', 'webhooksEnabled', 'imageUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingWorkspaceAuthorizedApplicationsQueryRequest::get(), 0, '*', 'name', 'scope', 'appId', 'clientId', 'webhooksEnabled', 'totalMembers', 'memberships.userId', 'memberships.createdAt', 'imageUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.url', 'nodes.metadata', 'nodes.groupBySource', 'nodes.archivedAt', 'nodes.subtitle', 'nodes.source', 'nodes.sourceType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'title', 'url', 'metadata', 'groupBySource', 'archivedAt', 'subtitle', 'source', 'sourceType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentsForURLQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.url', 'nodes.metadata', 'nodes.groupBySource', 'nodes.archivedAt', 'nodes.subtitle', 'nodes.source', 'nodes.sourceType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentIssueQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'title', 'priority', 'boardOrder', 'sortOrder', 'labelIds', 'previousIdentifiers', 'priorityLabel', 'identifier', 'url', 'branchName', 'customerTicketCount', 'archivedAt', 'estimate', 'startedAt', 'completedAt', 'startedTriageAt', 'triagedAt', 'canceledAt', 'autoClosedAt', 'autoArchivedAt', 'dueDate', 'slaStartedAt', 'slaBreachesAt', 'trashed', 'snoozedUntilAt', 'subIssueSortOrder', 'integrationSourceType', 'description', 'descriptionData', 'descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentSourcesQueryRequest::get(), 0, '*', 'sources'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAuditEntryTypesQueryRequest::get(), 0, '*', 'type', 'description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAuditEntriesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.type', 'nodes.archivedAt', 'nodes.actorId', 'nodes.ip', 'nodes.countryCode', 'nodes.metadata', 'nodes.requestInformation'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAvailableUsersQueryRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAuthenticationSessionsQueryRequest::get(), 0, '*', 'id', 'type', 'countryCodes', 'createdAt', 'updatedAt', 'name', 'isCurrentSession', 'ip', 'locationCountry', 'locationCountryCode', 'locationCity', 'userAgent', 'browserType', 'lastActiveAt', 'location', 'operatingSystem', 'client'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingSsoUrlFromEmailQueryRequest::get(), 0, '*', 'success', 'samlSsoUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCommentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.body', 'nodes.bodyData', 'nodes.reactionData', 'nodes.url', 'nodes.archivedAt', 'nodes.resolvedAt', 'nodes.editedAt', 'nodes.quotedText', 'nodes.summaryText'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCommentQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'body', 'bodyData', 'reactionData', 'url', 'archivedAt', 'resolvedAt', 'editedAt', 'quotedText', 'summaryText'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.filters', 'nodes.filterData', 'nodes.shared', 'nodes.modelName', 'nodes.archivedAt', 'nodes.description', 'nodes.icon', 'nodes.color', 'nodes.projectFilterData'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'filters', 'filterData', 'shared', 'modelName', 'archivedAt', 'description', 'icon', 'color', 'projectFilterData'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewDetailsSuggestionQueryRequest::get(), 0, '*', 'name', 'description', 'icon'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewHasSubscribersQueryRequest::get(), 0, '*', 'hasSubscribers'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCyclesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.startsAt', 'nodes.endsAt', 'nodes.issueCountHistory', 'nodes.completedIssueCountHistory', 'nodes.scopeHistory', 'nodes.completedScopeHistory', 'nodes.inProgressScopeHistory', 'nodes.progress', 'nodes.archivedAt', 'nodes.name', 'nodes.description', 'nodes.completedAt', 'nodes.autoArchivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingCycleQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'startsAt', 'endsAt', 'issueCountHistory', 'completedIssueCountHistory', 'scopeHistory', 'completedScopeHistory', 'inProgressScopeHistory', 'progress', 'archivedAt', 'name', 'description', 'completedAt', 'autoArchivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingDocumentContentHistoryQueryRequest::get(), 0, '*', 'success', 'history.id', 'history.createdAt', 'history.contentDataSnapshotAt', 'history.contentData', 'history.actorIds'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingDocumentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.slugId', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.icon', 'nodes.color', 'nodes.content', 'nodes.contentState', 'nodes.contentData'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingDocumentQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'title', 'slugId', 'sortOrder', 'archivedAt', 'icon', 'color', 'content', 'contentState', 'contentData'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingEmojisQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.url', 'nodes.source', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingEmojiQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'url', 'source', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingExternalUsersQueryRequest::get(), 0, '*', 'edges.cursor', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.displayName', 'nodes.organization.id', 'nodes.organization.createdAt', 'nodes.organization.updatedAt', 'nodes.organization.name', 'nodes.organization.urlKey', 'nodes.organization.periodUploadVolume', 'nodes.organization.gitLinkbackMessagesEnabled', 'nodes.organization.gitPublicLinkbackMessagesEnabled', 'nodes.organization.roadmapEnabled', 'nodes.organization.projectUpdatesReminderFrequency', 'nodes.organization.projectUpdateRemindersDay', 'nodes.organization.projectUpdateRemindersHour', 'nodes.organization.fiscalYearStartMonth', 'nodes.organization.samlEnabled', 'nodes.organization.scimEnabled', 'nodes.organization.allowedAuthServices', 'nodes.organization.previousUrlKeys', 'nodes.organization.releaseChannel', 'nodes.organization.slaDayCount', 'nodes.organization.users', 'nodes.organization.teams', 'nodes.organization.integrations', 'nodes.organization.userCount', 'nodes.organization.createdIssueCount', 'nodes.organization.templates', 'nodes.organization.labels', 'nodes.organization.archivedAt', 'nodes.organization.logoUrl', 'nodes.organization.gitBranchFormat', 'nodes.organization.samlSettings', 'nodes.organization.deletionRequestedAt', 'nodes.organization.trialEndsAt', 'nodes.organization.allowMembersToInvite', 'nodes.organization.subscription', 'nodes.archivedAt', 'nodes.email', 'nodes.avatarUrl', 'nodes.lastSeen', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingExternalUserQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'displayName', 'organization.id', 'organization.createdAt', 'organization.updatedAt', 'organization.name', 'organization.urlKey', 'organization.periodUploadVolume', 'organization.gitLinkbackMessagesEnabled', 'organization.gitPublicLinkbackMessagesEnabled', 'organization.roadmapEnabled', 'organization.projectUpdatesReminderFrequency', 'organization.projectUpdateRemindersDay', 'organization.projectUpdateRemindersHour', 'organization.fiscalYearStartMonth', 'organization.samlEnabled', 'organization.scimEnabled', 'organization.allowedAuthServices', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.slaDayCount', 'organization.userCount', 'organization.createdIssueCount', 'organization.archivedAt', 'organization.logoUrl', 'organization.gitBranchFormat', 'organization.samlSettings', 'organization.deletionRequestedAt', 'organization.trialEndsAt', 'organization.allowMembersToInvite', 'archivedAt', 'email', 'avatarUrl', 'lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativeToProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.sortOrder', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativeToProjectQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'sortOrder', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.slugId', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.description', 'nodes.color', 'nodes.targetDate', 'nodes.targetDateResolution'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativeQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'slugId', 'sortOrder', 'archivedAt', 'description', 'color', 'targetDate', 'targetDateResolution'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingFavoritesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.type', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.folderName', 'nodes.projectTab', 'nodes.predefinedViewType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingFavoriteQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'sortOrder', 'archivedAt', 'folderName', 'projectTab', 'predefinedViewType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.service', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'service', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationHasScopesQueryRequest::get(), 0, '*', 'hasAllScopes', 'missingScopes'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdatesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.body', 'nodes.health', 'nodes.isDiffHidden', 'nodes.bodyData', 'nodes.url', 'nodes.archivedAt', 'nodes.editedAt', 'nodes.infoSnapshot', 'nodes.diff', 'nodes.diffMarkdown'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationsSettingsQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'archivedAt', 'slackIssueCreated', 'slackIssueNewComment', 'slackIssueStatusChangedDone', 'slackIssueStatusChangedAll', 'slackProjectUpdateCreated', 'slackProjectUpdateCreatedToTeam', 'slackProjectUpdateCreatedToWorkspace', 'slackIssueAddedToTriage', 'slackIssueSlaHighRisk', 'slackIssueSlaBreached'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationTemplatesQueryRequest::get(), 0, '*', 'edges.cursor', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.template.id', 'nodes.template.createdAt', 'nodes.template.updatedAt', 'nodes.template.type', 'nodes.template.name', 'nodes.template.templateData', 'nodes.template.archivedAt', 'nodes.template.description', 'nodes.template.organization', 'nodes.template.team', 'nodes.template.creator', 'nodes.template.lastUpdatedBy', 'nodes.integration.id', 'nodes.integration.createdAt', 'nodes.integration.updatedAt', 'nodes.integration.service', 'nodes.integration.organization', 'nodes.integration.creator', 'nodes.integration.archivedAt', 'nodes.integration.team', 'nodes.archivedAt', 'nodes.foreignEntityId', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationTemplateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'template.id', 'template.createdAt', 'template.updatedAt', 'template.type', 'template.name', 'template.templateData', 'template.archivedAt', 'template.description', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'archivedAt', 'foreignEntityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueImportFinishGithubOAuthQueryRequest::get(), 0, '*', 'token', 'organizations.id', 'organizations.login', 'organizations.isPersonal'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueImportCheckCSVQueryRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueLabelsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.color', 'nodes.isGroup', 'nodes.archivedAt', 'nodes.description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueLabelQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'color', 'isGroup', 'archivedAt', 'description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueRelationsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.type', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueRelationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssuesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'title', 'priority', 'boardOrder', 'sortOrder', 'labelIds', 'previousIdentifiers', 'priorityLabel', 'identifier', 'url', 'branchName', 'customerTicketCount', 'archivedAt', 'estimate', 'startedAt', 'completedAt', 'startedTriageAt', 'triagedAt', 'canceledAt', 'autoClosedAt', 'autoArchivedAt', 'dueDate', 'slaStartedAt', 'slaBreachesAt', 'trashed', 'snoozedUntilAt', 'subIssueSortOrder', 'integrationSourceType', 'description', 'descriptionData', 'descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueSearchQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueVcsBranchSearchQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'number', 'title', 'priority', 'boardOrder', 'sortOrder', 'labelIds', 'previousIdentifiers', 'priorityLabel', 'identifier', 'url', 'branchName', 'customerTicketCount', 'archivedAt', 'estimate', 'startedAt', 'completedAt', 'startedTriageAt', 'triagedAt', 'canceledAt', 'autoClosedAt', 'autoArchivedAt', 'dueDate', 'slaStartedAt', 'slaBreachesAt', 'trashed', 'snoozedUntilAt', 'subIssueSortOrder', 'integrationSourceType', 'description', 'descriptionData', 'descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueFigmaFileKeySearchQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssuePriorityValuesQueryRequest::get(), 0, '*', 'priority', 'label'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingIssueFilterSuggestionQueryRequest::get(), 0, '*', 'filter'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingNotificationsQueryRequest::get(), 0, '*', 'edges.node', 'edges.cursor', 'nodes', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingNotificationSubscriptionsQueryRequest::get(), 0, '*', 'edges.node', 'edges.cursor', 'nodes', 'pageInfo.hasPreviousPage', 'pageInfo.hasNextPage', 'pageInfo.startCursor', 'pageInfo.endCursor'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationDomainClaimRequestQueryRequest::get(), 0, '*', 'verificationString'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationInvitesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.email', 'nodes.role', 'nodes.external', 'nodes.metadata', 'nodes.archivedAt', 'nodes.acceptedAt', 'nodes.expiresAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationInviteQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'email', 'role', 'external', 'metadata', 'archivedAt', 'acceptedAt', 'expiresAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'urlKey', 'periodUploadVolume', 'gitLinkbackMessagesEnabled', 'gitPublicLinkbackMessagesEnabled', 'roadmapEnabled', 'projectUpdatesReminderFrequency', 'projectUpdateRemindersDay', 'projectUpdateRemindersHour', 'fiscalYearStartMonth', 'samlEnabled', 'scimEnabled', 'allowedAuthServices', 'previousUrlKeys', 'releaseChannel', 'slaDayCount', 'userCount', 'createdIssueCount', 'archivedAt', 'logoUrl', 'gitBranchFormat', 'samlSettings', 'deletionRequestedAt', 'trialEndsAt', 'allowMembersToInvite', 'subscription.id', 'subscription.createdAt', 'subscription.updatedAt', 'subscription.type', 'subscription.seats', 'subscription.archivedAt', 'subscription.seatsMinimum', 'subscription.seatsMaximum', 'subscription.collectionMethod', 'subscription.canceledAt', 'subscription.pendingChangeType', 'subscription.nextBillingAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationExistsQueryRequest::get(), 0, '*', 'success', 'exists'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingArchivedTeamsQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'key', 'cyclesEnabled', 'cycleStartDay', 'cycleDuration', 'cycleCooldownTime', 'cycleIssueAutoAssignStarted', 'cycleIssueAutoAssignCompleted', 'cycleLockToActive', 'upcomingCycleCount', 'timezone', 'inviteHash', 'issueEstimationType', 'issueOrderingNoPriorityFirst', 'issueEstimationAllowZero', 'setIssueSortOrderOnStateChange', 'issueEstimationExtended', 'defaultIssueEstimate', 'triageEnabled', 'requirePriorityToLeaveTriage', 'private', 'groupIssueHistory', 'slackNewIssue', 'slackIssueComments', 'slackIssueStatuses', 'autoArchivePeriod', 'cycleCalenderUrl', 'issueCount', 'issueSortOrderDefaultToBottom', 'archivedAt', 'description', 'icon', 'color', 'defaultTemplateForMembersId', 'defaultTemplateForNonMembersId', 'autoClosePeriod', 'autoCloseStateId', 'joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectLinksQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.url', 'nodes.label', 'nodes.sortOrder', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectLinkQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'url', 'label', 'sortOrder', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectMilestonesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.targetDate', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectMilestoneQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState', 'sortOrder', 'archivedAt', 'targetDate', 'description', 'descriptionData', 'descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.description', 'nodes.slugId', 'nodes.color', 'nodes.sortOrder', 'nodes.issueCountHistory', 'nodes.completedIssueCountHistory', 'nodes.scopeHistory', 'nodes.completedScopeHistory', 'nodes.inProgressScopeHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.url', 'nodes.progress', 'nodes.scope', 'nodes.state', 'nodes.archivedAt', 'nodes.icon', 'nodes.projectUpdateRemindersPausedUntilAt', 'nodes.startDate', 'nodes.startDateResolution', 'nodes.targetDate', 'nodes.targetDateResolution', 'nodes.startedAt', 'nodes.pausedAt', 'nodes.completedAt', 'nodes.canceledAt', 'nodes.autoArchivedAt', 'nodes.trashed', 'nodes.content', 'nodes.contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'description', 'slugId', 'color', 'sortOrder', 'issueCountHistory', 'completedIssueCountHistory', 'scopeHistory', 'completedScopeHistory', 'inProgressScopeHistory', 'slackNewIssue', 'slackIssueComments', 'slackIssueStatuses', 'url', 'progress', 'scope', 'state', 'archivedAt', 'icon', 'projectUpdateRemindersPausedUntilAt', 'startDate', 'startDateResolution', 'targetDate', 'targetDateResolution', 'startedAt', 'pausedAt', 'completedAt', 'canceledAt', 'autoArchivedAt', 'trashed', 'content', 'contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectFilterSuggestionQueryRequest::get(), 0, '*', 'filter'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdateInteractionsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.readAt', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdateInteractionQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'readAt', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'body', 'health', 'isDiffHidden', 'bodyData', 'url', 'archivedAt', 'editedAt', 'infoSnapshot', 'diff', 'diffMarkdown'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingPushSubscriptionTestQueryRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingRateLimitStatusQueryRequest::get(), 0, '*', 'kind', 'limits.type', 'limits.requestedAmount', 'limits.allowedAmount', 'limits.period', 'limits.remainingAmount', 'limits.reset', 'identifier'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.slugId', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.description', 'nodes.color'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'slugId', 'sortOrder', 'archivedAt', 'description', 'color'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapToProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.sortOrder', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapToProjectQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState', 'roadmap.id', 'roadmap.createdAt', 'roadmap.updatedAt', 'roadmap.name', 'roadmap.slugId', 'roadmap.sortOrder', 'roadmap.archivedAt', 'roadmap.description', 'roadmap.color', 'sortOrder', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingSearchDocumentsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.title', 'nodes.slugId', 'nodes.sortOrder', 'nodes.metadata', 'nodes.archivedAt', 'nodes.icon', 'nodes.color', 'nodes.content', 'nodes.contentState', 'nodes.contentData', 'totalCount'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingSearchProjectsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.description', 'nodes.slugId', 'nodes.color', 'nodes.sortOrder', 'nodes.issueCountHistory', 'nodes.completedIssueCountHistory', 'nodes.scopeHistory', 'nodes.completedScopeHistory', 'nodes.inProgressScopeHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.url', 'nodes.progress', 'nodes.scope', 'nodes.state', 'nodes.metadata', 'nodes.archivedAt', 'nodes.icon', 'nodes.projectUpdateRemindersPausedUntilAt', 'nodes.startDate', 'nodes.startDateResolution', 'nodes.targetDate', 'nodes.targetDateResolution', 'nodes.startedAt', 'nodes.pausedAt', 'nodes.completedAt', 'nodes.canceledAt', 'nodes.autoArchivedAt', 'nodes.trashed', 'nodes.content', 'nodes.contentState', 'totalCount'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingSearchIssuesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.number', 'nodes.title', 'nodes.priority', 'nodes.boardOrder', 'nodes.sortOrder', 'nodes.labelIds', 'nodes.previousIdentifiers', 'nodes.priorityLabel', 'nodes.identifier', 'nodes.url', 'nodes.branchName', 'nodes.customerTicketCount', 'nodes.metadata', 'nodes.archivedAt', 'nodes.estimate', 'nodes.startedAt', 'nodes.completedAt', 'nodes.startedTriageAt', 'nodes.triagedAt', 'nodes.canceledAt', 'nodes.autoClosedAt', 'nodes.autoArchivedAt', 'nodes.dueDate', 'nodes.slaStartedAt', 'nodes.slaBreachesAt', 'nodes.trashed', 'nodes.snoozedUntilAt', 'nodes.subIssueSortOrder', 'nodes.integrationSourceType', 'nodes.description', 'nodes.descriptionData', 'nodes.descriptionState', 'totalCount'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTeamMembershipsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.sortOrder', 'nodes.archivedAt', 'nodes.owner'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTeamMembershipQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'sortOrder', 'archivedAt', 'owner'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTeamsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.key', 'nodes.cyclesEnabled', 'nodes.cycleStartDay', 'nodes.cycleDuration', 'nodes.cycleCooldownTime', 'nodes.cycleIssueAutoAssignStarted', 'nodes.cycleIssueAutoAssignCompleted', 'nodes.cycleLockToActive', 'nodes.upcomingCycleCount', 'nodes.timezone', 'nodes.inviteHash', 'nodes.issueEstimationType', 'nodes.issueOrderingNoPriorityFirst', 'nodes.issueEstimationAllowZero', 'nodes.setIssueSortOrderOnStateChange', 'nodes.issueEstimationExtended', 'nodes.defaultIssueEstimate', 'nodes.triageEnabled', 'nodes.requirePriorityToLeaveTriage', 'nodes.private', 'nodes.groupIssueHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.autoArchivePeriod', 'nodes.cycleCalenderUrl', 'nodes.issueCount', 'nodes.issueSortOrderDefaultToBottom', 'nodes.archivedAt', 'nodes.description', 'nodes.icon', 'nodes.color', 'nodes.defaultTemplateForMembersId', 'nodes.defaultTemplateForNonMembersId', 'nodes.autoClosePeriod', 'nodes.autoCloseStateId', 'nodes.joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingAdministrableTeamsQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.key', 'nodes.cyclesEnabled', 'nodes.cycleStartDay', 'nodes.cycleDuration', 'nodes.cycleCooldownTime', 'nodes.cycleIssueAutoAssignStarted', 'nodes.cycleIssueAutoAssignCompleted', 'nodes.cycleLockToActive', 'nodes.upcomingCycleCount', 'nodes.timezone', 'nodes.inviteHash', 'nodes.issueEstimationType', 'nodes.issueOrderingNoPriorityFirst', 'nodes.issueEstimationAllowZero', 'nodes.setIssueSortOrderOnStateChange', 'nodes.issueEstimationExtended', 'nodes.defaultIssueEstimate', 'nodes.triageEnabled', 'nodes.requirePriorityToLeaveTriage', 'nodes.private', 'nodes.groupIssueHistory', 'nodes.slackNewIssue', 'nodes.slackIssueComments', 'nodes.slackIssueStatuses', 'nodes.autoArchivePeriod', 'nodes.cycleCalenderUrl', 'nodes.issueCount', 'nodes.issueSortOrderDefaultToBottom', 'nodes.archivedAt', 'nodes.description', 'nodes.icon', 'nodes.color', 'nodes.defaultTemplateForMembersId', 'nodes.defaultTemplateForNonMembersId', 'nodes.autoClosePeriod', 'nodes.autoCloseStateId', 'nodes.joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTeamQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'key', 'cyclesEnabled', 'cycleStartDay', 'cycleDuration', 'cycleCooldownTime', 'cycleIssueAutoAssignStarted', 'cycleIssueAutoAssignCompleted', 'cycleLockToActive', 'upcomingCycleCount', 'timezone', 'inviteHash', 'issueEstimationType', 'issueOrderingNoPriorityFirst', 'issueEstimationAllowZero', 'setIssueSortOrderOnStateChange', 'issueEstimationExtended', 'defaultIssueEstimate', 'triageEnabled', 'requirePriorityToLeaveTriage', 'private', 'groupIssueHistory', 'slackNewIssue', 'slackIssueComments', 'slackIssueStatuses', 'autoArchivePeriod', 'cycleCalenderUrl', 'issueCount', 'issueSortOrderDefaultToBottom', 'archivedAt', 'description', 'icon', 'color', 'defaultTemplateForMembersId', 'defaultTemplateForNonMembersId', 'autoClosePeriod', 'autoCloseStateId', 'joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTemplatesQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'name', 'templateData', 'archivedAt', 'description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTemplateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'name', 'templateData', 'archivedAt', 'description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTemplatesForIntegrationQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'type', 'name', 'templateData', 'archivedAt', 'description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTimeSchedulesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.archivedAt', 'nodes.externalId', 'nodes.externalUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTimeScheduleQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'entries.startsAt', 'entries.endsAt', 'entries.userId', 'entries.userEmail', 'organization.id', 'organization.createdAt', 'organization.updatedAt', 'organization.name', 'organization.urlKey', 'organization.periodUploadVolume', 'organization.gitLinkbackMessagesEnabled', 'organization.gitPublicLinkbackMessagesEnabled', 'organization.roadmapEnabled', 'organization.projectUpdatesReminderFrequency', 'organization.projectUpdateRemindersDay', 'organization.projectUpdateRemindersHour', 'organization.fiscalYearStartMonth', 'organization.samlEnabled', 'organization.scimEnabled', 'organization.allowedAuthServices', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.slaDayCount', 'organization.userCount', 'organization.createdIssueCount', 'organization.archivedAt', 'organization.logoUrl', 'organization.gitBranchFormat', 'organization.samlSettings', 'organization.deletionRequestedAt', 'organization.trialEndsAt', 'organization.allowMembersToInvite', 'archivedAt', 'externalId', 'externalUrl', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTriageResponsibilitiesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.action', 'nodes.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingTriageResponsibilityQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'action', 'archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingUsersQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.displayName', 'nodes.email', 'nodes.inviteHash', 'nodes.guest', 'nodes.active', 'nodes.url', 'nodes.createdIssueCount', 'nodes.isMe', 'nodes.admin', 'nodes.archivedAt', 'nodes.avatarUrl', 'nodes.disableReason', 'nodes.calendarHash', 'nodes.description', 'nodes.statusEmoji', 'nodes.statusLabel', 'nodes.statusUntilAt', 'nodes.timezone', 'nodes.lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingUserQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'displayName', 'email', 'inviteHash', 'guest', 'active', 'url', 'createdIssueCount', 'isMe', 'admin', 'archivedAt', 'avatarUrl', 'disableReason', 'calendarHash', 'description', 'statusEmoji', 'statusLabel', 'statusUntilAt', 'timezone', 'lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingViewerQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'displayName', 'email', 'inviteHash', 'guest', 'active', 'url', 'createdIssueCount', 'isMe', 'admin', 'archivedAt', 'avatarUrl', 'disableReason', 'calendarHash', 'description', 'statusEmoji', 'statusLabel', 'statusUntilAt', 'timezone', 'lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingUserSettingsQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'notificationPreferences', 'unsubscribedFrom', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen', 'subscribedToChangelog', 'subscribedToDPA', 'subscribedToInviteAccepted', 'subscribedToPrivacyLegalUpdates', 'subscribedToUnreadNotificationsReminder', 'showFullUserNames', 'archivedAt', 'calendarHash'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingWebhooksQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.enabled', 'nodes.allPublicTeams', 'nodes.resourceTypes', 'nodes.archivedAt', 'nodes.label', 'nodes.url', 'nodes.secret'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingWebhookQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'enabled', 'allPublicTeams', 'resourceTypes', 'archivedAt', 'label', 'url', 'secret'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingWorkflowStatesQueryRequest::get(), 0, '*', 'nodes.id', 'nodes.createdAt', 'nodes.updatedAt', 'nodes.name', 'nodes.color', 'nodes.position', 'nodes.type', 'nodes.archivedAt', 'nodes.description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Queries\PendingWorkflowStateQueryRequest::get(), 0, '*', 'id', 'createdAt', 'updatedAt', 'name', 'color', 'position', 'type', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault', 'archivedAt', 'description'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingApiKeyCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'apiKey.id', 'apiKey.createdAt', 'apiKey.updatedAt', 'apiKey.label', 'apiKey.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingApiKeyDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentUnsyncSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkURLMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkGitLabMRMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkGitHubIssueMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkGitHubPRMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkZendeskMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkDiscordMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkFrontMutationRequest::get(), 0, '*', 'lastSyncId', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkIntercomMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkJiraIssueMutationRequest::get(), 0, '*', 'lastSyncId', 'attachment.id', 'attachment.createdAt', 'attachment.updatedAt', 'attachment.title', 'attachment.url', 'attachment.metadata', 'attachment.groupBySource', 'attachment.archivedAt', 'attachment.subtitle', 'attachment.source', 'attachment.sourceType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.title', 'entity.url', 'entity.metadata', 'entity.groupBySource', 'entity.archivedAt', 'entity.subtitle', 'entity.source', 'entity.sourceType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailUserAccountAuthChallengeMutationRequest::get(), 0, '*', 'success', 'authType'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailTokenUserAccountAuthMutationRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingSamlTokenUserAccountAuthMutationRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGoogleUserAccountAuthMutationRequest::get(), 0, '*', 'id', 'email', 'users.id', 'users.name', 'users.displayName', 'users.email', 'users.active', 'users.userAccountId', 'users.avatarUrl', 'allowDomainAccess', 'availableOrganizations.id', 'availableOrganizations.name', 'availableOrganizations.urlKey', 'availableOrganizations.previousUrlKeys', 'availableOrganizations.releaseChannel', 'availableOrganizations.samlEnabled', 'availableOrganizations.allowedAuthServices', 'availableOrganizations.scimEnabled', 'availableOrganizations.serviceId', 'availableOrganizations.userCount', 'availableOrganizations.logoUrl', 'availableOrganizations.deletionRequestedAt', 'availableOrganizations.samlSettings', 'lockedOrganizations.id', 'lockedOrganizations.name', 'lockedOrganizations.urlKey', 'lockedOrganizations.previousUrlKeys', 'lockedOrganizations.releaseChannel', 'lockedOrganizations.samlEnabled', 'lockedOrganizations.allowedAuthServices', 'lockedOrganizations.scimEnabled', 'lockedOrganizations.serviceId', 'lockedOrganizations.userCount', 'lockedOrganizations.logoUrl', 'lockedOrganizations.deletionRequestedAt', 'lockedOrganizations.samlSettings', 'lastUsedOrganizationId', 'token'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCreateOrganizationFromOnboardingMutationRequest::get(), 0, '*', 'organization.id', 'organization.name', 'organization.urlKey', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.samlEnabled', 'organization.allowedAuthServices', 'organization.scimEnabled', 'organization.serviceId', 'organization.userCount', 'organization.logoUrl', 'organization.deletionRequestedAt', 'organization.samlSettings', 'user.id', 'user.name', 'user.displayName', 'user.email', 'user.active', 'user.userAccountId', 'user.avatarUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingJoinOrganizationFromOnboardingMutationRequest::get(), 0, '*', 'organization.id', 'organization.name', 'organization.urlKey', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.samlEnabled', 'organization.allowedAuthServices', 'organization.scimEnabled', 'organization.serviceId', 'organization.userCount', 'organization.logoUrl', 'organization.deletionRequestedAt', 'organization.samlSettings', 'user.id', 'user.name', 'user.displayName', 'user.email', 'user.active', 'user.userAccountId', 'user.avatarUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingLeaveOrganizationMutationRequest::get(), 0, '*', 'organization.id', 'organization.name', 'organization.urlKey', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.samlEnabled', 'organization.allowedAuthServices', 'organization.scimEnabled', 'organization.serviceId', 'organization.userCount', 'organization.logoUrl', 'organization.deletionRequestedAt', 'organization.samlSettings', 'user.id', 'user.name', 'user.displayName', 'user.email', 'user.active', 'user.userAccountId', 'user.avatarUrl'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutSessionMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutAllSessionsMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutOtherSessionsMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentResolveMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentUnresolveMutationRequest::get(), 0, '*', 'lastSyncId', 'comment.id', 'comment.createdAt', 'comment.updatedAt', 'comment.body', 'comment.bodyData', 'comment.reactionData', 'comment.url', 'comment.archivedAt', 'comment.resolvedAt', 'comment.editedAt', 'comment.quotedText', 'comment.summaryText', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingContactCreateMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingContactSalesCreateMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCustomViewCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'customView.id', 'customView.createdAt', 'customView.updatedAt', 'customView.name', 'customView.filters', 'customView.filterData', 'customView.shared', 'customView.modelName', 'customView.archivedAt', 'customView.description', 'customView.icon', 'customView.color', 'customView.projectFilterData', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCustomViewUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'customView.id', 'customView.createdAt', 'customView.updatedAt', 'customView.name', 'customView.filters', 'customView.filterData', 'customView.shared', 'customView.modelName', 'customView.archivedAt', 'customView.description', 'customView.icon', 'customView.color', 'customView.projectFilterData', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCustomViewDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'cycle.id', 'cycle.createdAt', 'cycle.updatedAt', 'cycle.number', 'cycle.startsAt', 'cycle.endsAt', 'cycle.issueCountHistory', 'cycle.completedIssueCountHistory', 'cycle.scopeHistory', 'cycle.completedScopeHistory', 'cycle.inProgressScopeHistory', 'cycle.progress', 'cycle.archivedAt', 'cycle.name', 'cycle.description', 'cycle.completedAt', 'cycle.autoArchivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'cycle.id', 'cycle.createdAt', 'cycle.updatedAt', 'cycle.number', 'cycle.startsAt', 'cycle.endsAt', 'cycle.issueCountHistory', 'cycle.completedIssueCountHistory', 'cycle.scopeHistory', 'cycle.completedScopeHistory', 'cycle.inProgressScopeHistory', 'cycle.progress', 'cycle.archivedAt', 'cycle.name', 'cycle.description', 'cycle.completedAt', 'cycle.autoArchivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.startsAt', 'entity.endsAt', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.progress', 'entity.archivedAt', 'entity.name', 'entity.description', 'entity.completedAt', 'entity.autoArchivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleShiftAllMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'cycle.id', 'cycle.createdAt', 'cycle.updatedAt', 'cycle.number', 'cycle.startsAt', 'cycle.endsAt', 'cycle.issueCountHistory', 'cycle.completedIssueCountHistory', 'cycle.scopeHistory', 'cycle.completedScopeHistory', 'cycle.inProgressScopeHistory', 'cycle.progress', 'cycle.archivedAt', 'cycle.name', 'cycle.description', 'cycle.completedAt', 'cycle.autoArchivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingDocumentCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'document.id', 'document.createdAt', 'document.updatedAt', 'document.title', 'document.slugId', 'document.sortOrder', 'document.archivedAt', 'document.icon', 'document.color', 'document.content', 'document.contentState', 'document.contentData', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingDocumentUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'document.id', 'document.createdAt', 'document.updatedAt', 'document.title', 'document.slugId', 'document.sortOrder', 'document.archivedAt', 'document.icon', 'document.color', 'document.content', 'document.contentState', 'document.contentData', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingDocumentDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'emailIntakeAddress.id', 'emailIntakeAddress.createdAt', 'emailIntakeAddress.updatedAt', 'emailIntakeAddress.address', 'emailIntakeAddress.enabled', 'emailIntakeAddress.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressRotateMutationRequest::get(), 0, '*', 'lastSyncId', 'emailIntakeAddress.id', 'emailIntakeAddress.createdAt', 'emailIntakeAddress.updatedAt', 'emailIntakeAddress.address', 'emailIntakeAddress.enabled', 'emailIntakeAddress.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'emailIntakeAddress.id', 'emailIntakeAddress.createdAt', 'emailIntakeAddress.updatedAt', 'emailIntakeAddress.address', 'emailIntakeAddress.enabled', 'emailIntakeAddress.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailUnsubscribeMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmojiCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'emoji.id', 'emoji.createdAt', 'emoji.updatedAt', 'emoji.name', 'emoji.url', 'emoji.source', 'emoji.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingEmojiDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeToProjectCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiativeToProject.id', 'initiativeToProject.createdAt', 'initiativeToProject.updatedAt', 'initiativeToProject.sortOrder', 'initiativeToProject.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeToProjectUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiativeToProject.id', 'initiativeToProject.createdAt', 'initiativeToProject.updatedAt', 'initiativeToProject.sortOrder', 'initiativeToProject.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeToProjectDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiative.id', 'initiative.createdAt', 'initiative.updatedAt', 'initiative.name', 'initiative.slugId', 'initiative.sortOrder', 'initiative.archivedAt', 'initiative.description', 'initiative.color', 'initiative.targetDate', 'initiative.targetDateResolution', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'initiative.id', 'initiative.createdAt', 'initiative.updatedAt', 'initiative.name', 'initiative.slugId', 'initiative.sortOrder', 'initiative.archivedAt', 'initiative.description', 'initiative.color', 'initiative.targetDate', 'initiative.targetDateResolution', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color', 'entity.targetDate', 'entity.targetDateResolution'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color', 'entity.targetDate', 'entity.targetDateResolution'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingFavoriteCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'favorite.id', 'favorite.createdAt', 'favorite.updatedAt', 'favorite.type', 'favorite.sortOrder', 'favorite.archivedAt', 'favorite.folderName', 'favorite.projectTab', 'favorite.predefinedViewType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingFavoriteUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'favorite.id', 'favorite.createdAt', 'favorite.updatedAt', 'favorite.type', 'favorite.sortOrder', 'favorite.archivedAt', 'favorite.folderName', 'favorite.projectTab', 'favorite.predefinedViewType', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingFavoriteDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingFileUploadMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'uploadFile.filename', 'uploadFile.contentType', 'uploadFile.size', 'uploadFile.uploadUrl', 'uploadFile.assetUrl', 'uploadFile.metaData'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingImportFileUploadMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'uploadFile.filename', 'uploadFile.contentType', 'uploadFile.size', 'uploadFile.uploadUrl', 'uploadFile.assetUrl', 'uploadFile.metaData'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingImageUploadFromUrlMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'url'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationStateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'gitAutomationState.id', 'gitAutomationState.createdAt', 'gitAutomationState.updatedAt', 'gitAutomationState.event', 'gitAutomationState.archivedAt', 'gitAutomationState.branchPattern', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationStateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'gitAutomationState.id', 'gitAutomationState.createdAt', 'gitAutomationState.updatedAt', 'gitAutomationState.event', 'gitAutomationState.archivedAt', 'gitAutomationState.branchPattern', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationStateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationTargetBranchCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'targetBranch.id', 'targetBranch.createdAt', 'targetBranch.updatedAt', 'targetBranch.branchPattern', 'targetBranch.isRegex', 'targetBranch.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationTargetBranchUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'targetBranch.id', 'targetBranch.createdAt', 'targetBranch.updatedAt', 'targetBranch.branchPattern', 'targetBranch.isRegex', 'targetBranch.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationTargetBranchDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationRequestMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGithubCommitCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'webhookSecret', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGithubConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGitlabConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingAirbyteIntegrationConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGoogleCalendarPersonalConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingJiraIntegrationConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationJiraUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationJiraPersonalMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGitHubPersonalMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationIntercomMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationIntercomDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationIntercomSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationDiscordMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationOpsgenieConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationPagerDutyConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationUpdateSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackAsksMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackPersonalMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationAsksConnectChannelMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'mapping.id', 'mapping.name', 'mapping.isPrivate', 'mapping.isShared', 'mapping.botAdded', 'mapping.autoCreateOnMessage', 'mapping.autoCreateOnEmoji', 'mapping.autoCreateOnBotMention', 'mapping.autoCreateTemplateId', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackPostMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'nudgeToConnectMainSlackIntegration', 'nudgeToUpdateMainSlackIntegration'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackProjectPostMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'nudgeToConnectMainSlackIntegration', 'nudgeToUpdateMainSlackIntegration'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'addBot', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt', 'nudgeToConnectMainSlackIntegration', 'nudgeToUpdateMainSlackIntegration'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackImportEmojisMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationFigmaMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGoogleSheetsMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRefreshGoogleSheetsDataMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSentryConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationFrontMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationZendeskMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationLoomMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'integration.id', 'integration.createdAt', 'integration.updatedAt', 'integration.service', 'integration.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationsSettingsCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'integrationsSettings.id', 'integrationsSettings.createdAt', 'integrationsSettings.updatedAt', 'integrationsSettings.archivedAt', 'integrationsSettings.slackIssueCreated', 'integrationsSettings.slackIssueNewComment', 'integrationsSettings.slackIssueStatusChangedDone', 'integrationsSettings.slackIssueStatusChangedAll', 'integrationsSettings.slackProjectUpdateCreated', 'integrationsSettings.slackProjectUpdateCreatedToTeam', 'integrationsSettings.slackProjectUpdateCreatedToWorkspace', 'integrationsSettings.slackIssueAddedToTriage', 'integrationsSettings.slackIssueSlaHighRisk', 'integrationsSettings.slackIssueSlaBreached', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationsSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'integrationsSettings.id', 'integrationsSettings.createdAt', 'integrationsSettings.updatedAt', 'integrationsSettings.archivedAt', 'integrationsSettings.slackIssueCreated', 'integrationsSettings.slackIssueNewComment', 'integrationsSettings.slackIssueStatusChangedDone', 'integrationsSettings.slackIssueStatusChangedAll', 'integrationsSettings.slackProjectUpdateCreated', 'integrationsSettings.slackProjectUpdateCreatedToTeam', 'integrationsSettings.slackProjectUpdateCreatedToWorkspace', 'integrationsSettings.slackIssueAddedToTriage', 'integrationsSettings.slackIssueSlaHighRisk', 'integrationsSettings.slackIssueSlaBreached', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationTemplateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'integrationTemplate.id', 'integrationTemplate.createdAt', 'integrationTemplate.updatedAt', 'integrationTemplate.archivedAt', 'integrationTemplate.foreignEntityId', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationTemplateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateGithubMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateJiraMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateCSVJiraMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateClubhouseMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateAsanaMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportProcessMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issueImport.id', 'issueImport.createdAt', 'issueImport.updatedAt', 'issueImport.creatorId', 'issueImport.service', 'issueImport.status', 'issueImport.archivedAt', 'issueImport.teamName', 'issueImport.mapping', 'issueImport.error', 'issueImport.progress', 'issueImport.csvFileUrl', 'issueImport.errorMetadata'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueLabelCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueLabel.id', 'issueLabel.createdAt', 'issueLabel.updatedAt', 'issueLabel.name', 'issueLabel.color', 'issueLabel.isGroup', 'issueLabel.archivedAt', 'issueLabel.description', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueLabelUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueLabel.id', 'issueLabel.createdAt', 'issueLabel.updatedAt', 'issueLabel.name', 'issueLabel.color', 'issueLabel.isGroup', 'issueLabel.archivedAt', 'issueLabel.description', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueLabelDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRelationCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueRelation.id', 'issueRelation.createdAt', 'issueRelation.updatedAt', 'issueRelation.type', 'issueRelation.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRelationUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'issueRelation.id', 'issueRelation.createdAt', 'issueRelation.updatedAt', 'issueRelation.type', 'issueRelation.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRelationDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueBatchUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'issues.id', 'issues.createdAt', 'issues.updatedAt', 'issues.number', 'issues.title', 'issues.priority', 'issues.boardOrder', 'issues.sortOrder', 'issues.labelIds', 'issues.previousIdentifiers', 'issues.priorityLabel', 'issues.identifier', 'issues.url', 'issues.branchName', 'issues.customerTicketCount', 'issues.archivedAt', 'issues.estimate', 'issues.startedAt', 'issues.completedAt', 'issues.startedTriageAt', 'issues.triagedAt', 'issues.canceledAt', 'issues.autoClosedAt', 'issues.autoArchivedAt', 'issues.dueDate', 'issues.slaStartedAt', 'issues.slaBreachesAt', 'issues.trashed', 'issues.snoozedUntilAt', 'issues.subIssueSortOrder', 'issues.integrationSourceType', 'issues.description', 'issues.descriptionData', 'issues.descriptionState', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.title', 'entity.priority', 'entity.boardOrder', 'entity.sortOrder', 'entity.labelIds', 'entity.previousIdentifiers', 'entity.priorityLabel', 'entity.identifier', 'entity.url', 'entity.branchName', 'entity.customerTicketCount', 'entity.archivedAt', 'entity.estimate', 'entity.startedAt', 'entity.completedAt', 'entity.startedTriageAt', 'entity.triagedAt', 'entity.canceledAt', 'entity.autoClosedAt', 'entity.autoArchivedAt', 'entity.dueDate', 'entity.slaStartedAt', 'entity.slaBreachesAt', 'entity.trashed', 'entity.snoozedUntilAt', 'entity.subIssueSortOrder', 'entity.integrationSourceType', 'entity.description', 'entity.descriptionData', 'entity.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.title', 'entity.priority', 'entity.boardOrder', 'entity.sortOrder', 'entity.labelIds', 'entity.previousIdentifiers', 'entity.priorityLabel', 'entity.identifier', 'entity.url', 'entity.branchName', 'entity.customerTicketCount', 'entity.archivedAt', 'entity.estimate', 'entity.startedAt', 'entity.completedAt', 'entity.startedTriageAt', 'entity.triagedAt', 'entity.canceledAt', 'entity.autoClosedAt', 'entity.autoArchivedAt', 'entity.dueDate', 'entity.slaStartedAt', 'entity.slaBreachesAt', 'entity.trashed', 'entity.snoozedUntilAt', 'entity.subIssueSortOrder', 'entity.integrationSourceType', 'entity.description', 'entity.descriptionData', 'entity.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.number', 'entity.title', 'entity.priority', 'entity.boardOrder', 'entity.sortOrder', 'entity.labelIds', 'entity.previousIdentifiers', 'entity.priorityLabel', 'entity.identifier', 'entity.url', 'entity.branchName', 'entity.customerTicketCount', 'entity.archivedAt', 'entity.estimate', 'entity.startedAt', 'entity.completedAt', 'entity.startedTriageAt', 'entity.triagedAt', 'entity.canceledAt', 'entity.autoClosedAt', 'entity.autoArchivedAt', 'entity.dueDate', 'entity.slaStartedAt', 'entity.slaBreachesAt', 'entity.trashed', 'entity.snoozedUntilAt', 'entity.subIssueSortOrder', 'entity.integrationSourceType', 'entity.description', 'entity.descriptionData', 'entity.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueAddLabelMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRemoveLabelMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueReminderMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueSubscribeMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueUnsubscribeMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueDescriptionUpdateFromFrontMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'issue.id', 'issue.createdAt', 'issue.updatedAt', 'issue.number', 'issue.title', 'issue.priority', 'issue.boardOrder', 'issue.sortOrder', 'issue.labelIds', 'issue.previousIdentifiers', 'issue.priorityLabel', 'issue.identifier', 'issue.url', 'issue.branchName', 'issue.customerTicketCount', 'issue.archivedAt', 'issue.estimate', 'issue.startedAt', 'issue.completedAt', 'issue.startedTriageAt', 'issue.triagedAt', 'issue.canceledAt', 'issue.autoClosedAt', 'issue.autoArchivedAt', 'issue.dueDate', 'issue.slaStartedAt', 'issue.slaBreachesAt', 'issue.trashed', 'issue.snoozedUntilAt', 'issue.subIssueSortOrder', 'issue.integrationSourceType', 'issue.description', 'issue.descriptionData', 'issue.descriptionState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'notification', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationMarkReadAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationMarkUnreadAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSnoozeAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationUnsnoozeAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationArchiveAllMutationRequest::get(), 0, '*', 'lastSyncId', 'notifications', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSubscriptionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'notificationSubscription', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSubscriptionUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'notificationSubscription', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSubscriptionDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainClaimMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainVerifyMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationDomain.id', 'organizationDomain.createdAt', 'organizationDomain.updatedAt', 'organizationDomain.name', 'organizationDomain.verified', 'organizationDomain.authType', 'organizationDomain.archivedAt', 'organizationDomain.verificationEmail', 'organizationDomain.claimed', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationDomain.id', 'organizationDomain.createdAt', 'organizationDomain.updatedAt', 'organizationDomain.name', 'organizationDomain.verified', 'organizationDomain.authType', 'organizationDomain.archivedAt', 'organizationDomain.verificationEmail', 'organizationDomain.claimed', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationInviteCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationInvite.id', 'organizationInvite.createdAt', 'organizationInvite.updatedAt', 'organizationInvite.email', 'organizationInvite.role', 'organizationInvite.external', 'organizationInvite.metadata', 'organizationInvite.archivedAt', 'organizationInvite.acceptedAt', 'organizationInvite.expiresAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationInviteUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'organizationInvite.id', 'organizationInvite.createdAt', 'organizationInvite.updatedAt', 'organizationInvite.email', 'organizationInvite.role', 'organizationInvite.external', 'organizationInvite.metadata', 'organizationInvite.archivedAt', 'organizationInvite.acceptedAt', 'organizationInvite.expiresAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingResendOrganizationInviteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationInviteDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'organization.id', 'organization.createdAt', 'organization.updatedAt', 'organization.name', 'organization.urlKey', 'organization.periodUploadVolume', 'organization.gitLinkbackMessagesEnabled', 'organization.gitPublicLinkbackMessagesEnabled', 'organization.roadmapEnabled', 'organization.projectUpdatesReminderFrequency', 'organization.projectUpdateRemindersDay', 'organization.projectUpdateRemindersHour', 'organization.fiscalYearStartMonth', 'organization.samlEnabled', 'organization.scimEnabled', 'organization.allowedAuthServices', 'organization.previousUrlKeys', 'organization.releaseChannel', 'organization.slaDayCount', 'organization.userCount', 'organization.createdIssueCount', 'organization.archivedAt', 'organization.logoUrl', 'organization.gitBranchFormat', 'organization.samlSettings', 'organization.deletionRequestedAt', 'organization.trialEndsAt', 'organization.allowMembersToInvite'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDeleteChallengeMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDeleteMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationCancelDeleteMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationStartPlusTrialMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectLinkCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectLink.id', 'projectLink.createdAt', 'projectLink.updatedAt', 'projectLink.url', 'projectLink.label', 'projectLink.sortOrder', 'projectLink.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectLinkUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectLink.id', 'projectLink.createdAt', 'projectLink.updatedAt', 'projectLink.url', 'projectLink.label', 'projectLink.sortOrder', 'projectLink.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectLinkDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectMilestoneCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectMilestone.id', 'projectMilestone.createdAt', 'projectMilestone.updatedAt', 'projectMilestone.name', 'projectMilestone.sortOrder', 'projectMilestone.archivedAt', 'projectMilestone.targetDate', 'projectMilestone.description', 'projectMilestone.descriptionData', 'projectMilestone.descriptionState', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectMilestoneUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectMilestone.id', 'projectMilestone.createdAt', 'projectMilestone.updatedAt', 'projectMilestone.name', 'projectMilestone.sortOrder', 'projectMilestone.archivedAt', 'projectMilestone.targetDate', 'projectMilestone.description', 'projectMilestone.descriptionData', 'projectMilestone.descriptionState', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectMilestoneDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'project.id', 'project.createdAt', 'project.updatedAt', 'project.name', 'project.description', 'project.slugId', 'project.color', 'project.sortOrder', 'project.issueCountHistory', 'project.completedIssueCountHistory', 'project.scopeHistory', 'project.completedScopeHistory', 'project.inProgressScopeHistory', 'project.slackNewIssue', 'project.slackIssueComments', 'project.slackIssueStatuses', 'project.url', 'project.progress', 'project.scope', 'project.state', 'project.archivedAt', 'project.icon', 'project.projectUpdateRemindersPausedUntilAt', 'project.startDate', 'project.startDateResolution', 'project.targetDate', 'project.targetDateResolution', 'project.startedAt', 'project.pausedAt', 'project.completedAt', 'project.canceledAt', 'project.autoArchivedAt', 'project.trashed', 'project.content', 'project.contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.description', 'entity.slugId', 'entity.color', 'entity.sortOrder', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.url', 'entity.progress', 'entity.scope', 'entity.state', 'entity.archivedAt', 'entity.icon', 'entity.projectUpdateRemindersPausedUntilAt', 'entity.startDate', 'entity.startDateResolution', 'entity.targetDate', 'entity.targetDateResolution', 'entity.startedAt', 'entity.pausedAt', 'entity.completedAt', 'entity.canceledAt', 'entity.autoArchivedAt', 'entity.trashed', 'entity.content', 'entity.contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.description', 'entity.slugId', 'entity.color', 'entity.sortOrder', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.url', 'entity.progress', 'entity.scope', 'entity.state', 'entity.archivedAt', 'entity.icon', 'entity.projectUpdateRemindersPausedUntilAt', 'entity.startDate', 'entity.startDateResolution', 'entity.targetDate', 'entity.targetDateResolution', 'entity.startedAt', 'entity.pausedAt', 'entity.completedAt', 'entity.canceledAt', 'entity.autoArchivedAt', 'entity.trashed', 'entity.content', 'entity.contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.description', 'entity.slugId', 'entity.color', 'entity.sortOrder', 'entity.issueCountHistory', 'entity.completedIssueCountHistory', 'entity.scopeHistory', 'entity.completedScopeHistory', 'entity.inProgressScopeHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.url', 'entity.progress', 'entity.scope', 'entity.state', 'entity.archivedAt', 'entity.icon', 'entity.projectUpdateRemindersPausedUntilAt', 'entity.startDate', 'entity.startDateResolution', 'entity.targetDate', 'entity.targetDateResolution', 'entity.startedAt', 'entity.pausedAt', 'entity.completedAt', 'entity.canceledAt', 'entity.autoArchivedAt', 'entity.trashed', 'entity.content', 'entity.contentState'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateInteractionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdateInteraction.id', 'projectUpdateInteraction.createdAt', 'projectUpdateInteraction.updatedAt', 'projectUpdateInteraction.readAt', 'projectUpdateInteraction.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateMarkAsReadMutationRequest::get(), 0, '*', 'lastSyncId', 'projectUpdate.id', 'projectUpdate.createdAt', 'projectUpdate.updatedAt', 'projectUpdate.body', 'projectUpdate.health', 'projectUpdate.isDiffHidden', 'projectUpdate.bodyData', 'projectUpdate.url', 'projectUpdate.archivedAt', 'projectUpdate.editedAt', 'projectUpdate.infoSnapshot', 'projectUpdate.diff', 'projectUpdate.diffMarkdown', 'success', 'interaction.id', 'interaction.createdAt', 'interaction.updatedAt', 'interaction.readAt', 'interaction.archivedAt'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCreateProjectUpdateReminderMutationRequest::get(), 0, '*', 'lastSyncId', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingPushSubscriptionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingPushSubscriptionDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingReactionCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'reaction.id', 'reaction.createdAt', 'reaction.updatedAt', 'reaction.emoji', 'reaction.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingReactionDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingCreateCsvExportReportMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmap.id', 'roadmap.createdAt', 'roadmap.updatedAt', 'roadmap.name', 'roadmap.slugId', 'roadmap.sortOrder', 'roadmap.archivedAt', 'roadmap.description', 'roadmap.color', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmap.id', 'roadmap.createdAt', 'roadmap.updatedAt', 'roadmap.name', 'roadmap.slugId', 'roadmap.sortOrder', 'roadmap.archivedAt', 'roadmap.description', 'roadmap.color', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.slugId', 'entity.sortOrder', 'entity.archivedAt', 'entity.description', 'entity.color'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapToProjectCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmapToProject.id', 'roadmapToProject.createdAt', 'roadmapToProject.updatedAt', 'roadmapToProject.sortOrder', 'roadmapToProject.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapToProjectUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'roadmapToProject.id', 'roadmapToProject.createdAt', 'roadmapToProject.updatedAt', 'roadmapToProject.sortOrder', 'roadmapToProject.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapToProjectDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamKeyDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamMembershipCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'teamMembership.id', 'teamMembership.createdAt', 'teamMembership.updatedAt', 'teamMembership.sortOrder', 'teamMembership.archivedAt', 'teamMembership.owner'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamMembershipUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'teamMembership.id', 'teamMembership.createdAt', 'teamMembership.updatedAt', 'teamMembership.sortOrder', 'teamMembership.archivedAt', 'teamMembership.owner'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamMembershipDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamUnarchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.key', 'entity.cyclesEnabled', 'entity.cycleStartDay', 'entity.cycleDuration', 'entity.cycleCooldownTime', 'entity.cycleIssueAutoAssignStarted', 'entity.cycleIssueAutoAssignCompleted', 'entity.cycleLockToActive', 'entity.upcomingCycleCount', 'entity.timezone', 'entity.inviteHash', 'entity.issueEstimationType', 'entity.issueOrderingNoPriorityFirst', 'entity.issueEstimationAllowZero', 'entity.setIssueSortOrderOnStateChange', 'entity.issueEstimationExtended', 'entity.defaultIssueEstimate', 'entity.triageEnabled', 'entity.requirePriorityToLeaveTriage', 'entity.private', 'entity.groupIssueHistory', 'entity.slackNewIssue', 'entity.slackIssueComments', 'entity.slackIssueStatuses', 'entity.autoArchivePeriod', 'entity.cycleCalenderUrl', 'entity.issueCount', 'entity.issueSortOrderDefaultToBottom', 'entity.archivedAt', 'entity.description', 'entity.icon', 'entity.color', 'entity.defaultTemplateForMembersId', 'entity.defaultTemplateForNonMembersId', 'entity.autoClosePeriod', 'entity.autoCloseStateId', 'entity.joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamCyclesDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'team.id', 'team.createdAt', 'team.updatedAt', 'team.name', 'team.key', 'team.cyclesEnabled', 'team.cycleStartDay', 'team.cycleDuration', 'team.cycleCooldownTime', 'team.cycleIssueAutoAssignStarted', 'team.cycleIssueAutoAssignCompleted', 'team.cycleLockToActive', 'team.upcomingCycleCount', 'team.timezone', 'team.inviteHash', 'team.issueEstimationType', 'team.issueOrderingNoPriorityFirst', 'team.issueEstimationAllowZero', 'team.setIssueSortOrderOnStateChange', 'team.issueEstimationExtended', 'team.defaultIssueEstimate', 'team.triageEnabled', 'team.requirePriorityToLeaveTriage', 'team.private', 'team.groupIssueHistory', 'team.slackNewIssue', 'team.slackIssueComments', 'team.slackIssueStatuses', 'team.autoArchivePeriod', 'team.cycleCalenderUrl', 'team.issueCount', 'team.issueSortOrderDefaultToBottom', 'team.archivedAt', 'team.description', 'team.icon', 'team.color', 'team.defaultTemplateForMembersId', 'team.defaultTemplateForNonMembersId', 'team.autoClosePeriod', 'team.autoCloseStateId', 'team.joinByDefault'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTemplateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'template.id', 'template.createdAt', 'template.updatedAt', 'template.type', 'template.name', 'template.templateData', 'template.archivedAt', 'template.description', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTemplateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'template.id', 'template.createdAt', 'template.updatedAt', 'template.type', 'template.name', 'template.templateData', 'template.archivedAt', 'template.description', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTemplateDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleUpsertExternalMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleRefreshIntegrationScheduleMutationRequest::get(), 0, '*', 'lastSyncId', 'timeSchedule.id', 'timeSchedule.createdAt', 'timeSchedule.updatedAt', 'timeSchedule.name', 'timeSchedule.archivedAt', 'timeSchedule.externalId', 'timeSchedule.externalUrl', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTriageResponsibilityCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'triageResponsibility.id', 'triageResponsibility.createdAt', 'triageResponsibility.updatedAt', 'triageResponsibility.action', 'triageResponsibility.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTriageResponsibilityUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'triageResponsibility.id', 'triageResponsibility.createdAt', 'triageResponsibility.updatedAt', 'triageResponsibility.action', 'triageResponsibility.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingTriageResponsibilityDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserDiscordConnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserExternalUserDisconnectMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'user.id', 'user.createdAt', 'user.updatedAt', 'user.name', 'user.displayName', 'user.email', 'user.inviteHash', 'user.guest', 'user.active', 'user.url', 'user.createdIssueCount', 'user.isMe', 'user.admin', 'user.archivedAt', 'user.avatarUrl', 'user.disableReason', 'user.calendarHash', 'user.description', 'user.statusEmoji', 'user.statusLabel', 'user.statusUntilAt', 'user.timezone', 'user.lastSeen'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserPromoteAdminMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserDemoteAdminMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserPromoteMemberMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserDemoteMemberMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSuspendMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserUnsuspendMutationRequest::get(), 0, '*', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSettingsUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'userSettings.id', 'userSettings.createdAt', 'userSettings.updatedAt', 'userSettings.notificationPreferences', 'userSettings.unsubscribedFrom', 'userSettings.subscribedToChangelog', 'userSettings.subscribedToDPA', 'userSettings.subscribedToInviteAccepted', 'userSettings.subscribedToPrivacyLegalUpdates', 'userSettings.subscribedToUnreadNotificationsReminder', 'userSettings.showFullUserNames', 'userSettings.archivedAt', 'userSettings.calendarHash', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSettingsFlagIncrementMutationRequest::get(), 0, '*', 'lastSyncId', 'flag', 'value', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSettingsFlagsResetMutationRequest::get(), 0, '*', 'lastSyncId', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingUserFlagUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'flag', 'value', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingViewPreferencesCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'viewPreferences.id', 'viewPreferences.createdAt', 'viewPreferences.updatedAt', 'viewPreferences.type', 'viewPreferences.viewType', 'viewPreferences.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingViewPreferencesUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'viewPreferences.id', 'viewPreferences.createdAt', 'viewPreferences.updatedAt', 'viewPreferences.type', 'viewPreferences.viewType', 'viewPreferences.archivedAt', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingViewPreferencesDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingWebhookCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'webhook.id', 'webhook.createdAt', 'webhook.updatedAt', 'webhook.enabled', 'webhook.allPublicTeams', 'webhook.resourceTypes', 'webhook.archivedAt', 'webhook.label', 'webhook.url', 'webhook.secret', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingWebhookUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'webhook.id', 'webhook.createdAt', 'webhook.updatedAt', 'webhook.enabled', 'webhook.allPublicTeams', 'webhook.resourceTypes', 'webhook.archivedAt', 'webhook.label', 'webhook.url', 'webhook.secret', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingWebhookDeleteMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entityId'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingWorkflowStateCreateMutationRequest::get(), 0, '*', 'lastSyncId', 'workflowState.id', 'workflowState.createdAt', 'workflowState.updatedAt', 'workflowState.name', 'workflowState.color', 'workflowState.position', 'workflowState.type', 'workflowState.archivedAt', 'workflowState.description', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingWorkflowStateUpdateMutationRequest::get(), 0, '*', 'lastSyncId', 'workflowState.id', 'workflowState.createdAt', 'workflowState.updatedAt', 'workflowState.name', 'workflowState.color', 'workflowState.position', 'workflowState.type', 'workflowState.archivedAt', 'workflowState.description', 'success'); +expectedArguments(\Glhd\Linearavel\Requests\Pending\Mutations\PendingWorkflowStateArchiveMutationRequest::get(), 0, '*', 'lastSyncId', 'success', 'entity.id', 'entity.createdAt', 'entity.updatedAt', 'entity.name', 'entity.color', 'entity.position', 'entity.type', 'entity.archivedAt', 'entity.description'); diff --git a/CHANGELOG.md b/CHANGELOG.md index dc8fdd2c..9169cfe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,37 @@ format. This project adheres to [Semantic Versioning](https://semver.org/spec/v2 ## [Unreleased] +### Added + +- GraphQL variables for every query and mutation argument, so enums, dates, lists and nested input objects are sent correctly. +- `LinearRequestException`, thrown when Linear reports GraphQL errors (which arrive with a `200` status code). +- Support for GraphQL union types: each union becomes an interface that its member types implement, and responses resolve to the member named by `__typename`. +- A daily workflow that rebuilds the package from the live Linear schema and tags a release when the schema changes. +- `composer fetch-schema` to pull the live schema, and `linear:next-version` to work out the release that follows a schema change. +- `.gitattributes`, so tests, the workbench and the schema are left out of the distributed package. + +### Changed + +- Pending requests are now namespaced by kind, e.g. `Requests\Pending\Queries\PendingIssuesQueryRequest`. +- Requires PHP 8.2+, Laravel 11+ and `spatie/laravel-data` 4.11+. +- `LinearResponse::resolve()` returns `object` rather than `Data|Collection`, so union responses can narrow it to their interface. + +### Fixed + +- List arguments were written as GraphQL objects (`ids: {0: "a"}`) instead of lists. +- Enum arguments were written as objects instead of bare GraphQL enum names. +- Date arguments were written as a dump of the `DateTime` internals. +- `false`, `0` and `''` were silently dropped from input objects. +- `GithubRepo` and `GitHubRepo` collided, because PHP class names are case-insensitive. The second is now generated as `GithubRepo2`. +- Scalar list properties failed to hydrate under `spatie/laravel-data` 4.3 and newer. +- Input classes were generated with a name that did not match their file, and relied on PHP CS Fixer to rename them. +- `organizationInviteDetails` referred to a class that did not exist. +- The lowest supported `saloonphp/saloon` did not have `MockClient::destroyGlobal()`, so the floor is now 3.5. + +### Removed + +- `Glhd\Linearavel\Support\Client`, superseded by the Saloon connector. + ## [0.0.3] - 2024-06-26 ## [0.0.2] - 2024-06-25 diff --git a/README.md b/README.md index d71fef93..2d53ed64 100644 --- a/README.md +++ b/README.md @@ -35,29 +35,49 @@ Linearavel is a fully-featured Linear SDK for PHP and Laravel. +Every query, mutation, input and data object in this package is generated by walking +Linear's GraphQL schema and building the matching PHP syntax tree, so the PHP API +matches the GraphQL API one for one. A scheduled job rebuilds the package whenever +Linear changes their schema. + ## Installation ```shell composer require glhd/linearavel ``` +Then add your API key to your `.env` file: + +```dotenv +LINEAR_API_KEY=lin_api_... +``` + +You can create a key under **Settings → Security & access → Personal API keys** in +Linear. To publish the config file: + +```shell +php artisan vendor:publish --tag=linearavel-config +``` + ## Usage -Linear uses GraphQL which tends not to be particularly compatible with how PHP -applications interact with APIs. This package attempts to bridge that gap—making -API calls feel fluent but still exposing all the power of the Linear API. +Linear uses GraphQL, which tends not to be particularly compatible with how PHP +applications interact with APIs. This package bridges that gap—making API calls feel +fluent while still exposing all the power of the Linear API. -A typical API call will look something like: +### Queries + +A typical API call looks something like: ```php +use Glhd\Linearavel\Facades\Linear; + $viewer = Linear::viewer() // "viewer" is the name of the GraphQL query ->with('organization', 'id', 'name') // `with` lets you quickly retrieve nested fields ->get('id', 'name', 'active', 'avatarUrl', 'timezone'); // `get` defines the fields to retrieve ``` -Calling `get()` will give you the query results directly. You can also call `response()` to get -a `LinearResponse`—a custom [Saloon](https://docs.saloon.dev/) object that exposes things like `status()` and `headers()` -as well as letting you `resolve()` the response into a fully-typed Linear data object. +Calling `get()` gives you the query results directly: ```php assert($viewer instanceof Glhd\Linearavel\Data\User); @@ -65,3 +85,127 @@ assert($viewer->name === 'Chris Morrell'); assert($viewer->organization instanceof Glhd\Linearavel\Data\Organization); assert($viewer->organization->name === 'InterNACHI'); ``` + +Call `get()` with no arguments to fetch a sensible default set of fields, or pass `'*'` +alongside your own to get the defaults plus extras. + +There is also a `linear()` helper, if you prefer it to the facade: + +```php +$teams = linear()->teams(first: 10)->get(); +``` + +### Filtering and ordering + +Query arguments are typed, so your editor can tell you what each query accepts: + +```php +use Glhd\Linearavel\Data\Enums\PaginationOrderBy; +use Glhd\Linearavel\Requests\Inputs\DateComparatorInput; +use Glhd\Linearavel\Requests\Inputs\IssueFilterInput; + +$issues = linear() + ->issues( + filter: new IssueFilterInput( + createdAt: new DateComparatorInput(gt: now()->subWeek()), + ), + orderBy: PaginationOrderBy::updatedAt, + first: 50, + ) + ->get(); +``` + +Arguments are sent as GraphQL variables rather than being written into the query +string, so enums, dates, lists and nested input objects all serialize correctly. + +### Mutations + +Mutations follow the same shape, with a `Mutation` suffix on the method name: + +```php +use Glhd\Linearavel\Requests\Inputs\IssueCreateInput; + +$result = linear() + ->issueCreateMutation(new IssueCreateInput( + teamId: $team->id, + title: 'Something is broken', + description: 'It broke.', + )) + ->get('success', 'issue.id', 'issue.identifier', 'issue.url'); + +assert($result->success === true); +echo $result->issue->url; +``` + +### Responses + +Instead of `get()`, call `response()` to get a `LinearResponse`—a custom +[Saloon](https://docs.saloon.dev/) object that exposes things like `status()` and +`headers()`, and that you can `resolve()` into a fully-typed Linear data object. + +```php +$response = linear()->viewer()->response('id', 'name'); + +$response->status(); // 200 +$response->header('X-RateLimit-Requests-Remaining'); +$response->resolve(); // Glhd\Linearavel\Data\User +``` + +### Errors + +Linear reports GraphQL errors with a `200` status code, so this package inspects the +response body as well as the status. Any request that comes back with errors throws a +`LinearRequestException`: + +```php +use Glhd\Linearavel\Exceptions\LinearRequestException; + +try { + linear()->issue($id)->get(); +} catch (LinearRequestException $exception) { + $exception->messages(); // Collection of human-readable messages + $exception->codes(); // Collection of Linear error codes, e.g. "RATELIMITED" + $exception->errors(); // The raw GraphQL errors + $exception->getResponse(); // The Saloon response +} +``` + +### Union types + +A handful of Linear queries return a union. Those resolve to whichever member type +came back, and every member implements an interface named after the union: + +```php +use Glhd\Linearavel\Data\Contracts\OrganizationInviteDetailsPayload; +use Glhd\Linearavel\Data\OrganizationInviteFullDetailsPayload; + +$details = linear()->organizationInviteDetails($id)->get(); + +assert($details instanceof OrganizationInviteDetailsPayload); + +if ($details instanceof OrganizationInviteFullDetailsPayload) { + echo $details->organizationName; +} +``` + +## Keeping up with Linear + +The `local.graphql` file in this repository is Linear's schema, and everything under +`src/Data`, `src/Requests` and `src/Responses` is generated from it. A scheduled +workflow fetches the live schema every day and, when it changes, rebuilds the package +and tags a release. Removed or narrowed schema types move the minor version; additions +move the patch version. + +To rebuild locally: + +```shell +LINEAR_API_KEY=lin_api_... composer fetch-schema +composer generate-data +composer fix-style +``` + +## Contributing + +Generated code should never be edited by hand—change the transformers under +`src/Support/CodeGeneration` and re-run `composer generate-data` instead. Run the test +suite with `composer test` and the style checks with `composer check-style`. diff --git a/composer.json b/composer.json index efb5ada7..708ac0a2 100755 --- a/composer.json +++ b/composer.json @@ -1,8 +1,12 @@ { "name": "glhd/linearavel", - "description": "", + "description": "A fully-typed Linear API SDK for PHP and Laravel, generated from Linear's GraphQL schema.", "keywords": [ - "laravel" + "laravel", + "linear", + "graphql", + "sdk", + "api" ], "authors": [ { @@ -13,19 +17,20 @@ "type": "library", "license": "MIT", "require": { - "illuminate/support": "^9|^10|11.x-dev|dev-master", + "php": "^8.2", "ext-json": "*", + "illuminate/support": "^11.0|^12.0|^13.0", "guzzlehttp/guzzle": "^7.8", - "spatie/laravel-data": ">=4.0.0, <4.3.0", - "webonyx/graphql-php": "^15.10", "nikic/php-parser": "^5.0", - "saloonphp/saloon": "^3.0" + "saloonphp/saloon": "^3.5", + "spatie/laravel-data": "^4.11", + "webonyx/graphql-php": "^15.10" }, "require-dev": { - "orchestra/testbench": "^6.24|^7.10|^8|9.x-dev|10.x-dev|dev-master", "friendsofphp/php-cs-fixer": "^3.34", "mockery/mockery": "^1.6", - "phpunit/phpunit": "^10.3" + "orchestra/testbench": "^9.2|^10.0|^11.0", + "phpunit/phpunit": "^10.3|^11.0|^12.0" }, "autoload": { "psr-4": { @@ -60,11 +65,12 @@ "@php vendor/bin/testbench serve" ], "lint": [ - "@php vendor/bin/phpstan analyse" + "@check-style" ], "test": [ "@php vendor/bin/phpunit" - ] + ], + "fetch-schema": "@php vendor/bin/testbench linear:schema --ansi" }, "extra": { "laravel": { diff --git a/src/Connectors/LinearConnector.php b/src/Connectors/LinearConnector.php index 8c606127..232b525c 100644 --- a/src/Connectors/LinearConnector.php +++ b/src/Connectors/LinearConnector.php @@ -2,31 +2,58 @@ namespace Glhd\Linearavel\Connectors; +use Glhd\Linearavel\Exceptions\LinearRequestException; use Saloon\Contracts\Authenticator; use Saloon\Http\Auth\TokenAuthenticator; use Saloon\Http\Connector; +use Saloon\Http\Response; +use Throwable; class LinearConnector extends Connector { use QueriesLinear; use MutatesLinear; - + public function __construct( protected string $api_key, protected string $base_url = 'https://api.linear.app/graphql', ) { } - + public function resolveBaseUrl(): string { return $this->base_url; } - + + /** + * Linear returns GraphQL errors with a 200 status code, so we have to look + * at the body to know whether a request actually succeeded. + */ + public function hasRequestFailed(Response $response): ?bool + { + if ($response->serverError() || $response->clientError()) { + return true; + } + + return count($this->graphQlErrors($response)) > 0; + } + + public function getRequestException(Response $response, ?Throwable $senderException): ?Throwable + { + $errors = $this->graphQlErrors($response); + + if (count($errors)) { + return new LinearRequestException($response, $errors, $senderException); + } + + return null; + } + protected function defaultAuth(): ?Authenticator { return new TokenAuthenticator($this->api_key, prefix: ''); } - + protected function defaultHeaders(): array { return [ @@ -34,4 +61,16 @@ protected function defaultHeaders(): array 'Accept' => 'application/json', ]; } + + /** @return array> */ + protected function graphQlErrors(Response $response): array + { + try { + $errors = $response->json('errors'); + } catch (Throwable) { + return []; + } + + return is_array($errors) ? $errors : []; + } } diff --git a/src/Connectors/MutatesLinear.php b/src/Connectors/MutatesLinear.php index 1deeb52a..9f6d68ce 100644 --- a/src/Connectors/MutatesLinear.php +++ b/src/Connectors/MutatesLinear.php @@ -98,241 +98,241 @@ use Glhd\Linearavel\Requests\Inputs\WebhookUpdateInput; use Glhd\Linearavel\Requests\Inputs\WorkflowStateCreateInput; use Glhd\Linearavel\Requests\Inputs\WorkflowStateUpdateInput; -use Glhd\Linearavel\Requests\Pending\PendingAirbyteIntegrationConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingApiKeyCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingApiKeyDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkDiscordMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkFrontMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkGitHubIssueMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkGitHubPRMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkGitLabMRMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkIntercomMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkJiraIssueMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkSlackMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkURLMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentLinkZendeskMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentUnsyncSlackMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentResolveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentUnresolveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingContactCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingContactSalesCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCreateCsvExportReportMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCreateOrganizationFromOnboardingMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCreateProjectUpdateReminderMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCycleArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCycleCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCycleShiftAllMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingCycleUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingDocumentCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingDocumentDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingDocumentUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressRotateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailIntakeAddressUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailTokenUserAccountAuthMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailUnsubscribeMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmailUserAccountAuthChallengeMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmojiCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmojiDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingFavoriteCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingFavoriteDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingFavoriteUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingFileUploadMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGitAutomationStateCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGitAutomationStateDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGitAutomationStateUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGitAutomationTargetBranchCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGitAutomationTargetBranchDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGitAutomationTargetBranchUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingGoogleUserAccountAuthMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingImageUploadFromUrlMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingImportFileUploadMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeUnarchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationAsksConnectChannelMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationDiscordMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationFigmaMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationFrontMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationGithubCommitCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationGithubConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationGitHubPersonalMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationGitlabConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationGoogleCalendarPersonalConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationGoogleSheetsMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationIntercomDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationIntercomMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationIntercomSettingsUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationJiraPersonalMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationJiraUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationLoomMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationOpsgenieConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationPagerDutyConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationRequestMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSentryConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSettingsUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackAsksMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackImportEmojisMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackPersonalMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackPostMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationSlackProjectPostMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationsSettingsCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationsSettingsUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplateCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplateDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationUpdateSlackMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationZendeskMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueAddLabelMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueBatchUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueDescriptionUpdateFromFrontMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateAsanaMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateClubhouseMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateCSVJiraMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateGithubMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportCreateJiraMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportProcessMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueLabelCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueLabelDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueLabelUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueRelationCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueRelationDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueRelationUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueReminderMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueRemoveLabelMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueSubscribeMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueUnarchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueUnsubscribeMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingJiraIntegrationConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingJoinOrganizationFromOnboardingMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingLeaveOrganizationMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingLogoutAllSessionsMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingLogoutMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingLogoutOtherSessionsMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingLogoutSessionMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationArchiveAllMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationMarkReadAllMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationMarkUnreadAllMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationSnoozeAllMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationUnarchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationUnsnoozeAllMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationCancelDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDeleteChallengeMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainClaimMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainVerifyMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationStartPlusTrialMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectLinkCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectLinkDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectLinkUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUnarchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateInteractionCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateMarkAsReadMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingPushSubscriptionCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingPushSubscriptionDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingReactionCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingReactionDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRefreshGoogleSheetsDataMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingResendOrganizationInviteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapUnarchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingSamlTokenUserAccountAuthMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamCyclesDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamKeyDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamMembershipCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamMembershipDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamMembershipUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamUnarchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTemplateCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTemplateDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTemplateUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeScheduleCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeScheduleDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeScheduleRefreshIntegrationScheduleMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeScheduleUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeScheduleUpsertExternalMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserDemoteAdminMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserDemoteMemberMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserDiscordConnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserExternalUserDisconnectMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserFlagUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserPromoteAdminMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserPromoteMemberMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserSettingsFlagIncrementMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserSettingsFlagsResetMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserSettingsUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserSuspendMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserUnsuspendMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingViewPreferencesCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingViewPreferencesDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingViewPreferencesUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingWebhookCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingWebhookDeleteMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingWebhookUpdateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingWorkflowStateArchiveMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingWorkflowStateCreateMutationRequest; -use Glhd\Linearavel\Requests\Pending\PendingWorkflowStateUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAirbyteIntegrationConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingApiKeyCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingApiKeyDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkDiscordMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkFrontMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkGitHubIssueMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkGitHubPRMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkGitLabMRMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkIntercomMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkJiraIssueMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkSlackMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkURLMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentLinkZendeskMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentUnsyncSlackMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingAttachmentUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentResolveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentUnresolveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCommentUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingContactCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingContactSalesCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCreateCsvExportReportMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCreateOrganizationFromOnboardingMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCreateProjectUpdateReminderMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCustomViewCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCustomViewDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCustomViewUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleShiftAllMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingCycleUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingDocumentCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingDocumentDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingDocumentUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressRotateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailIntakeAddressUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailTokenUserAccountAuthMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailUnsubscribeMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmailUserAccountAuthChallengeMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmojiCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingEmojiDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingFavoriteCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingFavoriteDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingFavoriteUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingFileUploadMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationStateCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationStateDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationStateUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationTargetBranchCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationTargetBranchDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGitAutomationTargetBranchUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingGoogleUserAccountAuthMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingImageUploadFromUrlMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingImportFileUploadMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeToProjectCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeToProjectDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeToProjectUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeUnarchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingInitiativeUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationAsksConnectChannelMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationDiscordMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationFigmaMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationFrontMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGithubCommitCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGithubConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGitHubPersonalMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGitlabConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGoogleCalendarPersonalConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationGoogleSheetsMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationIntercomDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationIntercomMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationIntercomSettingsUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationJiraPersonalMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationJiraUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationLoomMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationOpsgenieConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationPagerDutyConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationRequestMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSentryConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSettingsUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackAsksMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackImportEmojisMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackPersonalMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackPostMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationSlackProjectPostMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationsSettingsCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationsSettingsUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationTemplateCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationTemplateDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationUpdateSlackMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIntegrationZendeskMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueAddLabelMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueBatchUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueDescriptionUpdateFromFrontMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateAsanaMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateClubhouseMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateCSVJiraMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateGithubMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportCreateJiraMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportProcessMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueImportUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueLabelCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueLabelDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueLabelUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRelationCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRelationDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRelationUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueReminderMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueRemoveLabelMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueSubscribeMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueUnarchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueUnsubscribeMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingIssueUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingJiraIntegrationConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingJoinOrganizationFromOnboardingMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingLeaveOrganizationMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutAllSessionsMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutOtherSessionsMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingLogoutSessionMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationArchiveAllMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationMarkReadAllMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationMarkUnreadAllMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSnoozeAllMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSubscriptionCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSubscriptionDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationSubscriptionUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationUnarchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationUnsnoozeAllMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingNotificationUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationCancelDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDeleteChallengeMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainClaimMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationDomainVerifyMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationInviteCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationInviteDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationInviteUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationStartPlusTrialMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingOrganizationUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectLinkCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectLinkDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectLinkUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectMilestoneCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectMilestoneDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectMilestoneUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUnarchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateInteractionCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateMarkAsReadMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingProjectUpdateUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingPushSubscriptionCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingPushSubscriptionDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingReactionCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingReactionDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRefreshGoogleSheetsDataMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingResendOrganizationInviteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapToProjectCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapToProjectDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapToProjectUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapUnarchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingRoadmapUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingSamlTokenUserAccountAuthMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamCyclesDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamKeyDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamMembershipCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamMembershipDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamMembershipUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamUnarchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTeamUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTemplateCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTemplateDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTemplateUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleRefreshIntegrationScheduleMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTimeScheduleUpsertExternalMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTriageResponsibilityCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTriageResponsibilityDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingTriageResponsibilityUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserDemoteAdminMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserDemoteMemberMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserDiscordConnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserExternalUserDisconnectMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserFlagUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserPromoteAdminMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserPromoteMemberMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSettingsFlagIncrementMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSettingsFlagsResetMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSettingsUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserSuspendMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserUnsuspendMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingUserUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingViewPreferencesCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingViewPreferencesDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingViewPreferencesUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingWebhookCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingWebhookDeleteMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingWebhookUpdateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingWorkflowStateArchiveMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingWorkflowStateCreateMutationRequest; +use Glhd\Linearavel\Requests\Pending\Mutations\PendingWorkflowStateUpdateMutationRequest; trait MutatesLinear { @@ -340,1400 +340,1172 @@ public function apiKeyCreateMutation(ApiKeyCreateInput $input): PendingApiKeyCre { return new PendingApiKeyCreateMutationRequest($this, ['input' => $input]); } - + public function apiKeyDeleteMutation(string $id): PendingApiKeyDeleteMutationRequest { return new PendingApiKeyDeleteMutationRequest($this, ['id' => $id]); } - + public function attachmentCreateMutation(AttachmentCreateInput $input): PendingAttachmentCreateMutationRequest { return new PendingAttachmentCreateMutationRequest($this, ['input' => $input]); } - + public function attachmentUpdateMutation(AttachmentUpdateInput $input, string $id): PendingAttachmentUpdateMutationRequest { return new PendingAttachmentUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function attachmentUnsyncSlackMutation(string $id): PendingAttachmentUnsyncSlackMutationRequest { return new PendingAttachmentUnsyncSlackMutationRequest($this, ['id' => $id]); } - - public function attachmentLinkURLMutation( - string $url, - string $issueId, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkURLMutationRequest { - return new PendingAttachmentLinkURLMutationRequest($this, [ - 'url' => $url, - 'issueId' => $issueId, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - - public function attachmentLinkGitLabMRMutation( - string $issueId, - string $url, - string $projectPathWithNamespace, - float $number, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkGitLabMRMutationRequest { - return new PendingAttachmentLinkGitLabMRMutationRequest($this, [ - 'issueId' => $issueId, - 'url' => $url, - 'projectPathWithNamespace' => $projectPathWithNamespace, - 'number' => $number, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - - public function attachmentLinkGitHubIssueMutation( - string $issueId, - string $url, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkGitHubIssueMutationRequest { - return new PendingAttachmentLinkGitHubIssueMutationRequest($this, [ - 'issueId' => $issueId, - 'url' => $url, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - - public function attachmentLinkGitHubPRMutation( - string $issueId, - string $url, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null, - ?string $owner = null, - ?string $repo = null, - ?float $number = null - ): PendingAttachmentLinkGitHubPRMutationRequest { - return new PendingAttachmentLinkGitHubPRMutationRequest($this, [ - 'issueId' => $issueId, - 'url' => $url, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - 'owner' => $owner, - 'repo' => $repo, - 'number' => $number, - ]); - } - - public function attachmentLinkZendeskMutation( - string $ticketId, - string $issueId, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkZendeskMutationRequest { - return new PendingAttachmentLinkZendeskMutationRequest($this, [ - 'ticketId' => $ticketId, - 'issueId' => $issueId, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - - public function attachmentLinkDiscordMutation( - string $issueId, - string $channelId, - string $messageId, - string $url, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkDiscordMutationRequest { - return new PendingAttachmentLinkDiscordMutationRequest($this, [ - 'issueId' => $issueId, - 'channelId' => $channelId, - 'messageId' => $messageId, - 'url' => $url, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - - public function attachmentLinkSlackMutation( - string $channel, - string $latest, - string $issueId, - string $url, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $ts = null, - ?string $id = null - ): PendingAttachmentLinkSlackMutationRequest { - return new PendingAttachmentLinkSlackMutationRequest($this, [ - 'channel' => $channel, - 'latest' => $latest, - 'issueId' => $issueId, - 'url' => $url, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'ts' => $ts, - 'id' => $id, - ]); - } - - public function attachmentLinkFrontMutation( - string $conversationId, - string $issueId, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkFrontMutationRequest { - return new PendingAttachmentLinkFrontMutationRequest($this, [ - 'conversationId' => $conversationId, - 'issueId' => $issueId, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - - public function attachmentLinkIntercomMutation( - string $conversationId, - string $issueId, - ?string $createAsUser = null, - ?string $displayIconUrl = null, - ?string $title = null, - ?string $id = null - ): PendingAttachmentLinkIntercomMutationRequest { - return new PendingAttachmentLinkIntercomMutationRequest($this, [ - 'conversationId' => $conversationId, - 'issueId' => $issueId, - 'createAsUser' => $createAsUser, - 'displayIconUrl' => $displayIconUrl, - 'title' => $title, - 'id' => $id, - ]); - } - + + public function attachmentLinkURLMutation(string $url, string $issueId, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkURLMutationRequest + { + return new PendingAttachmentLinkURLMutationRequest($this, ['url' => $url, 'issueId' => $issueId, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + + public function attachmentLinkGitLabMRMutation(string $issueId, string $url, string $projectPathWithNamespace, float $number, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkGitLabMRMutationRequest + { + return new PendingAttachmentLinkGitLabMRMutationRequest($this, ['issueId' => $issueId, 'url' => $url, 'projectPathWithNamespace' => $projectPathWithNamespace, 'number' => $number, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + + public function attachmentLinkGitHubIssueMutation(string $issueId, string $url, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkGitHubIssueMutationRequest + { + return new PendingAttachmentLinkGitHubIssueMutationRequest($this, ['issueId' => $issueId, 'url' => $url, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + + public function attachmentLinkGitHubPRMutation(string $issueId, string $url, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null, ?string $owner = null, ?string $repo = null, ?float $number = null): PendingAttachmentLinkGitHubPRMutationRequest + { + return new PendingAttachmentLinkGitHubPRMutationRequest($this, ['issueId' => $issueId, 'url' => $url, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id, 'owner' => $owner, 'repo' => $repo, 'number' => $number]); + } + + public function attachmentLinkZendeskMutation(string $ticketId, string $issueId, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkZendeskMutationRequest + { + return new PendingAttachmentLinkZendeskMutationRequest($this, ['ticketId' => $ticketId, 'issueId' => $issueId, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + + public function attachmentLinkDiscordMutation(string $issueId, string $channelId, string $messageId, string $url, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkDiscordMutationRequest + { + return new PendingAttachmentLinkDiscordMutationRequest($this, ['issueId' => $issueId, 'channelId' => $channelId, 'messageId' => $messageId, 'url' => $url, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + + public function attachmentLinkSlackMutation(string $channel, string $latest, string $issueId, string $url, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $ts = null, ?string $id = null): PendingAttachmentLinkSlackMutationRequest + { + return new PendingAttachmentLinkSlackMutationRequest($this, ['channel' => $channel, 'latest' => $latest, 'issueId' => $issueId, 'url' => $url, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'ts' => $ts, 'id' => $id]); + } + + public function attachmentLinkFrontMutation(string $conversationId, string $issueId, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkFrontMutationRequest + { + return new PendingAttachmentLinkFrontMutationRequest($this, ['conversationId' => $conversationId, 'issueId' => $issueId, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + + public function attachmentLinkIntercomMutation(string $conversationId, string $issueId, ?string $createAsUser = null, ?string $displayIconUrl = null, ?string $title = null, ?string $id = null): PendingAttachmentLinkIntercomMutationRequest + { + return new PendingAttachmentLinkIntercomMutationRequest($this, ['conversationId' => $conversationId, 'issueId' => $issueId, 'createAsUser' => $createAsUser, 'displayIconUrl' => $displayIconUrl, 'title' => $title, 'id' => $id]); + } + public function attachmentLinkJiraIssueMutation(string $issueId, string $jiraIssueId): PendingAttachmentLinkJiraIssueMutationRequest { return new PendingAttachmentLinkJiraIssueMutationRequest($this, ['issueId' => $issueId, 'jiraIssueId' => $jiraIssueId]); } - + public function attachmentArchiveMutation(string $id): PendingAttachmentArchiveMutationRequest { return new PendingAttachmentArchiveMutationRequest($this, ['id' => $id]); } - + public function attachmentDeleteMutation(string $id): PendingAttachmentDeleteMutationRequest { return new PendingAttachmentDeleteMutationRequest($this, ['id' => $id]); } - + public function emailUserAccountAuthChallengeMutation(EmailUserAccountAuthChallengeInput $input): PendingEmailUserAccountAuthChallengeMutationRequest { return new PendingEmailUserAccountAuthChallengeMutationRequest($this, ['input' => $input]); } - + public function emailTokenUserAccountAuthMutation(TokenUserAccountAuthInput $input): PendingEmailTokenUserAccountAuthMutationRequest { return new PendingEmailTokenUserAccountAuthMutationRequest($this, ['input' => $input]); } - + public function samlTokenUserAccountAuthMutation(TokenUserAccountAuthInput $input): PendingSamlTokenUserAccountAuthMutationRequest { return new PendingSamlTokenUserAccountAuthMutationRequest($this, ['input' => $input]); } - + public function googleUserAccountAuthMutation(GoogleUserAccountAuthInput $input): PendingGoogleUserAccountAuthMutationRequest { return new PendingGoogleUserAccountAuthMutationRequest($this, ['input' => $input]); } - + public function createOrganizationFromOnboardingMutation(CreateOrganizationInput $input, ?OnboardingCustomerSurveyInput $survey = null): PendingCreateOrganizationFromOnboardingMutationRequest { return new PendingCreateOrganizationFromOnboardingMutationRequest($this, ['input' => $input, 'survey' => $survey]); } - + public function joinOrganizationFromOnboardingMutation(JoinOrganizationInput $input): PendingJoinOrganizationFromOnboardingMutationRequest { return new PendingJoinOrganizationFromOnboardingMutationRequest($this, ['input' => $input]); } - + public function leaveOrganizationMutation(string $organizationId): PendingLeaveOrganizationMutationRequest { return new PendingLeaveOrganizationMutationRequest($this, ['organizationId' => $organizationId]); } - + public function logoutMutation(): PendingLogoutMutationRequest { return new PendingLogoutMutationRequest($this, []); } - + public function logoutSessionMutation(string $sessionId): PendingLogoutSessionMutationRequest { return new PendingLogoutSessionMutationRequest($this, ['sessionId' => $sessionId]); } - + public function logoutAllSessionsMutation(): PendingLogoutAllSessionsMutationRequest { return new PendingLogoutAllSessionsMutationRequest($this, []); } - + public function logoutOtherSessionsMutation(): PendingLogoutOtherSessionsMutationRequest { return new PendingLogoutOtherSessionsMutationRequest($this, []); } - + public function commentCreateMutation(CommentCreateInput $input): PendingCommentCreateMutationRequest { return new PendingCommentCreateMutationRequest($this, ['input' => $input]); } - + public function commentUpdateMutation(CommentUpdateInput $input, string $id): PendingCommentUpdateMutationRequest { return new PendingCommentUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function commentDeleteMutation(string $id): PendingCommentDeleteMutationRequest { return new PendingCommentDeleteMutationRequest($this, ['id' => $id]); } - + public function commentResolveMutation(string $id, ?string $resolvingCommentId = null): PendingCommentResolveMutationRequest { return new PendingCommentResolveMutationRequest($this, ['id' => $id, 'resolvingCommentId' => $resolvingCommentId]); } - + public function commentUnresolveMutation(string $id): PendingCommentUnresolveMutationRequest { return new PendingCommentUnresolveMutationRequest($this, ['id' => $id]); } - + public function contactCreateMutation(ContactCreateInput $input): PendingContactCreateMutationRequest { return new PendingContactCreateMutationRequest($this, ['input' => $input]); } - + public function contactSalesCreateMutation(ContactSalesCreateInput $input): PendingContactSalesCreateMutationRequest { return new PendingContactSalesCreateMutationRequest($this, ['input' => $input]); } - + public function customViewCreateMutation(CustomViewCreateInput $input): PendingCustomViewCreateMutationRequest { return new PendingCustomViewCreateMutationRequest($this, ['input' => $input]); } - + public function customViewUpdateMutation(CustomViewUpdateInput $input, string $id): PendingCustomViewUpdateMutationRequest { return new PendingCustomViewUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function customViewDeleteMutation(string $id): PendingCustomViewDeleteMutationRequest { return new PendingCustomViewDeleteMutationRequest($this, ['id' => $id]); } - + public function cycleCreateMutation(CycleCreateInput $input): PendingCycleCreateMutationRequest { return new PendingCycleCreateMutationRequest($this, ['input' => $input]); } - + public function cycleUpdateMutation(CycleUpdateInput $input, string $id): PendingCycleUpdateMutationRequest { return new PendingCycleUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function cycleArchiveMutation(string $id): PendingCycleArchiveMutationRequest { return new PendingCycleArchiveMutationRequest($this, ['id' => $id]); } - + public function cycleShiftAllMutation(CycleShiftAllInput $input): PendingCycleShiftAllMutationRequest { return new PendingCycleShiftAllMutationRequest($this, ['input' => $input]); } - + public function documentCreateMutation(DocumentCreateInput $input): PendingDocumentCreateMutationRequest { return new PendingDocumentCreateMutationRequest($this, ['input' => $input]); } - + public function documentUpdateMutation(DocumentUpdateInput $input, string $id): PendingDocumentUpdateMutationRequest { return new PendingDocumentUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function documentDeleteMutation(string $id): PendingDocumentDeleteMutationRequest { return new PendingDocumentDeleteMutationRequest($this, ['id' => $id]); } - + public function emailIntakeAddressCreateMutation(EmailIntakeAddressCreateInput $input): PendingEmailIntakeAddressCreateMutationRequest { return new PendingEmailIntakeAddressCreateMutationRequest($this, ['input' => $input]); } - + public function emailIntakeAddressRotateMutation(string $id): PendingEmailIntakeAddressRotateMutationRequest { return new PendingEmailIntakeAddressRotateMutationRequest($this, ['id' => $id]); } - + public function emailIntakeAddressUpdateMutation(EmailIntakeAddressUpdateInput $input, string $id): PendingEmailIntakeAddressUpdateMutationRequest { return new PendingEmailIntakeAddressUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function emailIntakeAddressDeleteMutation(string $id): PendingEmailIntakeAddressDeleteMutationRequest { return new PendingEmailIntakeAddressDeleteMutationRequest($this, ['id' => $id]); } - + public function emailUnsubscribeMutation(EmailUnsubscribeInput $input): PendingEmailUnsubscribeMutationRequest { return new PendingEmailUnsubscribeMutationRequest($this, ['input' => $input]); } - + public function emojiCreateMutation(EmojiCreateInput $input): PendingEmojiCreateMutationRequest { return new PendingEmojiCreateMutationRequest($this, ['input' => $input]); } - + public function emojiDeleteMutation(string $id): PendingEmojiDeleteMutationRequest { return new PendingEmojiDeleteMutationRequest($this, ['id' => $id]); } - + public function initiativeToProjectCreateMutation(InitiativeToProjectCreateInput $input): PendingInitiativeToProjectCreateMutationRequest { return new PendingInitiativeToProjectCreateMutationRequest($this, ['input' => $input]); } - + public function initiativeToProjectUpdateMutation(InitiativeToProjectUpdateInput $input, string $id): PendingInitiativeToProjectUpdateMutationRequest { return new PendingInitiativeToProjectUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function initiativeToProjectDeleteMutation(string $id): PendingInitiativeToProjectDeleteMutationRequest { return new PendingInitiativeToProjectDeleteMutationRequest($this, ['id' => $id]); } - + public function initiativeCreateMutation(InitiativeCreateInput $input): PendingInitiativeCreateMutationRequest { return new PendingInitiativeCreateMutationRequest($this, ['input' => $input]); } - + public function initiativeUpdateMutation(InitiativeUpdateInput $input, string $id): PendingInitiativeUpdateMutationRequest { return new PendingInitiativeUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function initiativeArchiveMutation(string $id): PendingInitiativeArchiveMutationRequest { return new PendingInitiativeArchiveMutationRequest($this, ['id' => $id]); } - + public function initiativeUnarchiveMutation(string $id): PendingInitiativeUnarchiveMutationRequest { return new PendingInitiativeUnarchiveMutationRequest($this, ['id' => $id]); } - + public function initiativeDeleteMutation(string $id): PendingInitiativeDeleteMutationRequest { return new PendingInitiativeDeleteMutationRequest($this, ['id' => $id]); } - + public function favoriteCreateMutation(FavoriteCreateInput $input): PendingFavoriteCreateMutationRequest { return new PendingFavoriteCreateMutationRequest($this, ['input' => $input]); } - + public function favoriteUpdateMutation(FavoriteUpdateInput $input, string $id): PendingFavoriteUpdateMutationRequest { return new PendingFavoriteUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function favoriteDeleteMutation(string $id): PendingFavoriteDeleteMutationRequest { return new PendingFavoriteDeleteMutationRequest($this, ['id' => $id]); } - + public function fileUploadMutation(int $size, string $contentType, string $filename, ?string $metaData = null, ?bool $makePublic = null): PendingFileUploadMutationRequest { return new PendingFileUploadMutationRequest($this, ['size' => $size, 'contentType' => $contentType, 'filename' => $filename, 'metaData' => $metaData, 'makePublic' => $makePublic]); } - + public function importFileUploadMutation(int $size, string $contentType, string $filename, ?string $metaData = null): PendingImportFileUploadMutationRequest { return new PendingImportFileUploadMutationRequest($this, ['size' => $size, 'contentType' => $contentType, 'filename' => $filename, 'metaData' => $metaData]); } - + public function imageUploadFromUrlMutation(string $url): PendingImageUploadFromUrlMutationRequest { return new PendingImageUploadFromUrlMutationRequest($this, ['url' => $url]); } - + public function gitAutomationStateCreateMutation(GitAutomationStateCreateInput $input): PendingGitAutomationStateCreateMutationRequest { return new PendingGitAutomationStateCreateMutationRequest($this, ['input' => $input]); } - + public function gitAutomationStateUpdateMutation(GitAutomationStateUpdateInput $input, string $id): PendingGitAutomationStateUpdateMutationRequest { return new PendingGitAutomationStateUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function gitAutomationStateDeleteMutation(string $id): PendingGitAutomationStateDeleteMutationRequest { return new PendingGitAutomationStateDeleteMutationRequest($this, ['id' => $id]); } - + public function gitAutomationTargetBranchCreateMutation(GitAutomationTargetBranchCreateInput $input): PendingGitAutomationTargetBranchCreateMutationRequest { return new PendingGitAutomationTargetBranchCreateMutationRequest($this, ['input' => $input]); } - + public function gitAutomationTargetBranchUpdateMutation(GitAutomationTargetBranchUpdateInput $input, string $id): PendingGitAutomationTargetBranchUpdateMutationRequest { return new PendingGitAutomationTargetBranchUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function gitAutomationTargetBranchDeleteMutation(string $id): PendingGitAutomationTargetBranchDeleteMutationRequest { return new PendingGitAutomationTargetBranchDeleteMutationRequest($this, ['id' => $id]); } - + public function integrationRequestMutation(IntegrationRequestInput $input): PendingIntegrationRequestMutationRequest { return new PendingIntegrationRequestMutationRequest($this, ['input' => $input]); } - + public function integrationSettingsUpdateMutation(IntegrationSettingsInput $input, string $id): PendingIntegrationSettingsUpdateMutationRequest { return new PendingIntegrationSettingsUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function integrationGithubCommitCreateMutation(): PendingIntegrationGithubCommitCreateMutationRequest { return new PendingIntegrationGithubCommitCreateMutationRequest($this, []); } - + public function integrationGithubConnectMutation(string $installationId): PendingIntegrationGithubConnectMutationRequest { return new PendingIntegrationGithubConnectMutationRequest($this, ['installationId' => $installationId]); } - + public function integrationGitlabConnectMutation(string $gitlabUrl, string $accessToken): PendingIntegrationGitlabConnectMutationRequest { return new PendingIntegrationGitlabConnectMutationRequest($this, ['gitlabUrl' => $gitlabUrl, 'accessToken' => $accessToken]); } - + public function airbyteIntegrationConnectMutation(AirbyteConfigurationInput $input): PendingAirbyteIntegrationConnectMutationRequest { return new PendingAirbyteIntegrationConnectMutationRequest($this, ['input' => $input]); } - + public function integrationGoogleCalendarPersonalConnectMutation(string $code): PendingIntegrationGoogleCalendarPersonalConnectMutationRequest { return new PendingIntegrationGoogleCalendarPersonalConnectMutationRequest($this, ['code' => $code]); } - + public function jiraIntegrationConnectMutation(JiraConfigurationInput $input): PendingJiraIntegrationConnectMutationRequest { return new PendingJiraIntegrationConnectMutationRequest($this, ['input' => $input]); } - + public function integrationJiraUpdateMutation(JiraUpdateInput $input): PendingIntegrationJiraUpdateMutationRequest { return new PendingIntegrationJiraUpdateMutationRequest($this, ['input' => $input]); } - + public function integrationJiraPersonalMutation(?string $code = null, ?string $accessToken = null): PendingIntegrationJiraPersonalMutationRequest { return new PendingIntegrationJiraPersonalMutationRequest($this, ['code' => $code, 'accessToken' => $accessToken]); } - + public function integrationGitHubPersonalMutation(string $code): PendingIntegrationGitHubPersonalMutationRequest { return new PendingIntegrationGitHubPersonalMutationRequest($this, ['code' => $code]); } - + public function integrationIntercomMutation(string $redirectUri, string $code, ?string $domainUrl = null): PendingIntegrationIntercomMutationRequest { return new PendingIntegrationIntercomMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code, 'domainUrl' => $domainUrl]); } - + public function integrationIntercomDeleteMutation(): PendingIntegrationIntercomDeleteMutationRequest { return new PendingIntegrationIntercomDeleteMutationRequest($this, []); } - + public function integrationIntercomSettingsUpdateMutation(IntercomSettingsInput $input): PendingIntegrationIntercomSettingsUpdateMutationRequest { return new PendingIntegrationIntercomSettingsUpdateMutationRequest($this, ['input' => $input]); } - + public function integrationDiscordMutation(string $redirectUri, string $code): PendingIntegrationDiscordMutationRequest { return new PendingIntegrationDiscordMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationOpsgenieConnectMutation(string $apiKey): PendingIntegrationOpsgenieConnectMutationRequest { return new PendingIntegrationOpsgenieConnectMutationRequest($this, ['apiKey' => $apiKey]); } - + public function integrationOpsgenieRefreshScheduleMappingsMutation(): PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest { return new PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest($this, []); } - + public function integrationPagerDutyConnectMutation(string $code, string $redirectUri): PendingIntegrationPagerDutyConnectMutationRequest { return new PendingIntegrationPagerDutyConnectMutationRequest($this, ['code' => $code, 'redirectUri' => $redirectUri]); } - + public function integrationPagerDutyRefreshScheduleMappingsMutation(): PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest { return new PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest($this, []); } - + public function integrationUpdateSlackMutation(string $redirectUri, string $code): PendingIntegrationUpdateSlackMutationRequest { return new PendingIntegrationUpdateSlackMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationSlackMutation(string $redirectUri, string $code, ?bool $shouldUseV2Auth = null): PendingIntegrationSlackMutationRequest { return new PendingIntegrationSlackMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code, 'shouldUseV2Auth' => $shouldUseV2Auth]); } - + public function integrationSlackAsksMutation(string $redirectUri, string $code): PendingIntegrationSlackAsksMutationRequest { return new PendingIntegrationSlackAsksMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationSlackPersonalMutation(string $redirectUri, string $code): PendingIntegrationSlackPersonalMutationRequest { return new PendingIntegrationSlackPersonalMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationAsksConnectChannelMutation(string $redirectUri, string $code): PendingIntegrationAsksConnectChannelMutationRequest { return new PendingIntegrationAsksConnectChannelMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationSlackPostMutation(string $redirectUri, string $teamId, string $code, ?bool $shouldUseV2Auth = null): PendingIntegrationSlackPostMutationRequest { return new PendingIntegrationSlackPostMutationRequest($this, ['redirectUri' => $redirectUri, 'teamId' => $teamId, 'code' => $code, 'shouldUseV2Auth' => $shouldUseV2Auth]); } - + public function integrationSlackProjectPostMutation(string $service, string $redirectUri, string $projectId, string $code): PendingIntegrationSlackProjectPostMutationRequest { return new PendingIntegrationSlackProjectPostMutationRequest($this, ['service' => $service, 'redirectUri' => $redirectUri, 'projectId' => $projectId, 'code' => $code]); } - + public function integrationSlackOrgProjectUpdatesPostMutation(string $redirectUri, string $code): PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest { return new PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationSlackImportEmojisMutation(string $redirectUri, string $code): PendingIntegrationSlackImportEmojisMutationRequest { return new PendingIntegrationSlackImportEmojisMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationFigmaMutation(string $redirectUri, string $code): PendingIntegrationFigmaMutationRequest { return new PendingIntegrationFigmaMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationGoogleSheetsMutation(string $code): PendingIntegrationGoogleSheetsMutationRequest { return new PendingIntegrationGoogleSheetsMutationRequest($this, ['code' => $code]); } - + public function refreshGoogleSheetsDataMutation(string $id): PendingRefreshGoogleSheetsDataMutationRequest { return new PendingRefreshGoogleSheetsDataMutationRequest($this, ['id' => $id]); } - + public function integrationSentryConnectMutation(string $organizationSlug, string $code, string $installationId): PendingIntegrationSentryConnectMutationRequest { return new PendingIntegrationSentryConnectMutationRequest($this, ['organizationSlug' => $organizationSlug, 'code' => $code, 'installationId' => $installationId]); } - + public function integrationFrontMutation(string $redirectUri, string $code): PendingIntegrationFrontMutationRequest { return new PendingIntegrationFrontMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function integrationZendeskMutation(string $subdomain, string $code, string $scope, string $redirectUri): PendingIntegrationZendeskMutationRequest { return new PendingIntegrationZendeskMutationRequest($this, ['subdomain' => $subdomain, 'code' => $code, 'scope' => $scope, 'redirectUri' => $redirectUri]); } - + public function integrationLoomMutation(): PendingIntegrationLoomMutationRequest { return new PendingIntegrationLoomMutationRequest($this, []); } - + public function integrationDeleteMutation(string $id): PendingIntegrationDeleteMutationRequest { return new PendingIntegrationDeleteMutationRequest($this, ['id' => $id]); } - + public function integrationArchiveMutation(string $id): PendingIntegrationArchiveMutationRequest { return new PendingIntegrationArchiveMutationRequest($this, ['id' => $id]); } - + public function integrationsSettingsCreateMutation(IntegrationsSettingsCreateInput $input): PendingIntegrationsSettingsCreateMutationRequest { return new PendingIntegrationsSettingsCreateMutationRequest($this, ['input' => $input]); } - + public function integrationsSettingsUpdateMutation(IntegrationsSettingsUpdateInput $input, string $id): PendingIntegrationsSettingsUpdateMutationRequest { return new PendingIntegrationsSettingsUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function integrationTemplateCreateMutation(IntegrationTemplateCreateInput $input): PendingIntegrationTemplateCreateMutationRequest { return new PendingIntegrationTemplateCreateMutationRequest($this, ['input' => $input]); } - + public function integrationTemplateDeleteMutation(string $id): PendingIntegrationTemplateDeleteMutationRequest { return new PendingIntegrationTemplateDeleteMutationRequest($this, ['id' => $id]); } - - public function issueImportCreateGithubMutation( - string $githubToken, - string $githubRepoName, - string $githubRepoOwner, - ?string $organizationId = null, - ?string $teamId = null, - ?string $teamName = null, - ?bool $githubShouldImportOrgProjects = null, - ?bool $instantProcess = null, - ?bool $includeClosedIssues = null, - ?string $id = null - ): PendingIssueImportCreateGithubMutationRequest { - return new PendingIssueImportCreateGithubMutationRequest($this, [ - 'githubToken' => $githubToken, - 'githubRepoName' => $githubRepoName, - 'githubRepoOwner' => $githubRepoOwner, - 'organizationId' => $organizationId, - 'teamId' => $teamId, - 'teamName' => $teamName, - 'githubShouldImportOrgProjects' => $githubShouldImportOrgProjects, - 'instantProcess' => $instantProcess, - 'includeClosedIssues' => $includeClosedIssues, - 'id' => $id, - ]); - } - - public function issueImportCreateJiraMutation( - string $jiraToken, - string $jiraProject, - string $jiraEmail, - string $jiraHostname, - ?string $organizationId = null, - ?string $teamId = null, - ?string $teamName = null, - ?bool $instantProcess = null, - ?bool $includeClosedIssues = null, - ?string $id = null - ): PendingIssueImportCreateJiraMutationRequest { - return new PendingIssueImportCreateJiraMutationRequest($this, [ - 'jiraToken' => $jiraToken, - 'jiraProject' => $jiraProject, - 'jiraEmail' => $jiraEmail, - 'jiraHostname' => $jiraHostname, - 'organizationId' => $organizationId, - 'teamId' => $teamId, - 'teamName' => $teamName, - 'instantProcess' => $instantProcess, - 'includeClosedIssues' => $includeClosedIssues, - 'id' => $id, - ]); - } - - public function issueImportCreateCSVJiraMutation( - string $csvUrl, - ?string $organizationId = null, - ?string $teamId = null, - ?string $teamName = null, - ?string $jiraHostname = null, - ?string $jiraToken = null, - ?string $jiraEmail = null - ): PendingIssueImportCreateCSVJiraMutationRequest { - return new PendingIssueImportCreateCSVJiraMutationRequest($this, [ - 'csvUrl' => $csvUrl, - 'organizationId' => $organizationId, - 'teamId' => $teamId, - 'teamName' => $teamName, - 'jiraHostname' => $jiraHostname, - 'jiraToken' => $jiraToken, - 'jiraEmail' => $jiraEmail, - ]); - } - - public function issueImportCreateClubhouseMutation( - string $clubhouseToken, - string $clubhouseGroupName, - ?string $organizationId = null, - ?string $teamId = null, - ?string $teamName = null, - ?bool $instantProcess = null, - ?bool $includeClosedIssues = null, - ?string $id = null - ): PendingIssueImportCreateClubhouseMutationRequest { - return new PendingIssueImportCreateClubhouseMutationRequest($this, [ - 'clubhouseToken' => $clubhouseToken, - 'clubhouseGroupName' => $clubhouseGroupName, - 'organizationId' => $organizationId, - 'teamId' => $teamId, - 'teamName' => $teamName, - 'instantProcess' => $instantProcess, - 'includeClosedIssues' => $includeClosedIssues, - 'id' => $id, - ]); - } - - public function issueImportCreateAsanaMutation( - string $asanaToken, - string $asanaTeamName, - ?string $organizationId = null, - ?string $teamId = null, - ?string $teamName = null, - ?bool $instantProcess = null, - ?bool $includeClosedIssues = null, - ?string $id = null - ): PendingIssueImportCreateAsanaMutationRequest { - return new PendingIssueImportCreateAsanaMutationRequest($this, [ - 'asanaToken' => $asanaToken, - 'asanaTeamName' => $asanaTeamName, - 'organizationId' => $organizationId, - 'teamId' => $teamId, - 'teamName' => $teamName, - 'instantProcess' => $instantProcess, - 'includeClosedIssues' => $includeClosedIssues, - 'id' => $id, - ]); - } - + + public function issueImportCreateGithubMutation(string $githubToken, string $githubRepoName, string $githubRepoOwner, ?string $organizationId = null, ?string $teamId = null, ?string $teamName = null, ?bool $githubShouldImportOrgProjects = null, ?bool $instantProcess = null, ?bool $includeClosedIssues = null, ?string $id = null): PendingIssueImportCreateGithubMutationRequest + { + return new PendingIssueImportCreateGithubMutationRequest($this, ['githubToken' => $githubToken, 'githubRepoName' => $githubRepoName, 'githubRepoOwner' => $githubRepoOwner, 'organizationId' => $organizationId, 'teamId' => $teamId, 'teamName' => $teamName, 'githubShouldImportOrgProjects' => $githubShouldImportOrgProjects, 'instantProcess' => $instantProcess, 'includeClosedIssues' => $includeClosedIssues, 'id' => $id]); + } + + public function issueImportCreateJiraMutation(string $jiraToken, string $jiraProject, string $jiraEmail, string $jiraHostname, ?string $organizationId = null, ?string $teamId = null, ?string $teamName = null, ?bool $instantProcess = null, ?bool $includeClosedIssues = null, ?string $id = null): PendingIssueImportCreateJiraMutationRequest + { + return new PendingIssueImportCreateJiraMutationRequest($this, ['jiraToken' => $jiraToken, 'jiraProject' => $jiraProject, 'jiraEmail' => $jiraEmail, 'jiraHostname' => $jiraHostname, 'organizationId' => $organizationId, 'teamId' => $teamId, 'teamName' => $teamName, 'instantProcess' => $instantProcess, 'includeClosedIssues' => $includeClosedIssues, 'id' => $id]); + } + + public function issueImportCreateCSVJiraMutation(string $csvUrl, ?string $organizationId = null, ?string $teamId = null, ?string $teamName = null, ?string $jiraHostname = null, ?string $jiraToken = null, ?string $jiraEmail = null): PendingIssueImportCreateCSVJiraMutationRequest + { + return new PendingIssueImportCreateCSVJiraMutationRequest($this, ['csvUrl' => $csvUrl, 'organizationId' => $organizationId, 'teamId' => $teamId, 'teamName' => $teamName, 'jiraHostname' => $jiraHostname, 'jiraToken' => $jiraToken, 'jiraEmail' => $jiraEmail]); + } + + public function issueImportCreateClubhouseMutation(string $clubhouseToken, string $clubhouseGroupName, ?string $organizationId = null, ?string $teamId = null, ?string $teamName = null, ?bool $instantProcess = null, ?bool $includeClosedIssues = null, ?string $id = null): PendingIssueImportCreateClubhouseMutationRequest + { + return new PendingIssueImportCreateClubhouseMutationRequest($this, ['clubhouseToken' => $clubhouseToken, 'clubhouseGroupName' => $clubhouseGroupName, 'organizationId' => $organizationId, 'teamId' => $teamId, 'teamName' => $teamName, 'instantProcess' => $instantProcess, 'includeClosedIssues' => $includeClosedIssues, 'id' => $id]); + } + + public function issueImportCreateAsanaMutation(string $asanaToken, string $asanaTeamName, ?string $organizationId = null, ?string $teamId = null, ?string $teamName = null, ?bool $instantProcess = null, ?bool $includeClosedIssues = null, ?string $id = null): PendingIssueImportCreateAsanaMutationRequest + { + return new PendingIssueImportCreateAsanaMutationRequest($this, ['asanaToken' => $asanaToken, 'asanaTeamName' => $asanaTeamName, 'organizationId' => $organizationId, 'teamId' => $teamId, 'teamName' => $teamName, 'instantProcess' => $instantProcess, 'includeClosedIssues' => $includeClosedIssues, 'id' => $id]); + } + public function issueImportDeleteMutation(string $issueImportId): PendingIssueImportDeleteMutationRequest { return new PendingIssueImportDeleteMutationRequest($this, ['issueImportId' => $issueImportId]); } - + public function issueImportProcessMutation(string $mapping, string $issueImportId): PendingIssueImportProcessMutationRequest { return new PendingIssueImportProcessMutationRequest($this, ['mapping' => $mapping, 'issueImportId' => $issueImportId]); } - + public function issueImportUpdateMutation(IssueImportUpdateInput $input, string $id): PendingIssueImportUpdateMutationRequest { return new PendingIssueImportUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function issueLabelCreateMutation(IssueLabelCreateInput $input, ?bool $replaceTeamLabels = null): PendingIssueLabelCreateMutationRequest { return new PendingIssueLabelCreateMutationRequest($this, ['input' => $input, 'replaceTeamLabels' => $replaceTeamLabels]); } - + public function issueLabelUpdateMutation(IssueLabelUpdateInput $input, string $id): PendingIssueLabelUpdateMutationRequest { return new PendingIssueLabelUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function issueLabelDeleteMutation(string $id): PendingIssueLabelDeleteMutationRequest { return new PendingIssueLabelDeleteMutationRequest($this, ['id' => $id]); } - + public function issueRelationCreateMutation(IssueRelationCreateInput $input): PendingIssueRelationCreateMutationRequest { return new PendingIssueRelationCreateMutationRequest($this, ['input' => $input]); } - + public function issueRelationUpdateMutation(IssueRelationUpdateInput $input, string $id): PendingIssueRelationUpdateMutationRequest { return new PendingIssueRelationUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function issueRelationDeleteMutation(string $id): PendingIssueRelationDeleteMutationRequest { return new PendingIssueRelationDeleteMutationRequest($this, ['id' => $id]); } - + public function issueCreateMutation(IssueCreateInput $input): PendingIssueCreateMutationRequest { return new PendingIssueCreateMutationRequest($this, ['input' => $input]); } - + public function issueUpdateMutation(IssueUpdateInput $input, string $id): PendingIssueUpdateMutationRequest { return new PendingIssueUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function issueBatchUpdateMutation(IssueUpdateInput $input, iterable $ids): PendingIssueBatchUpdateMutationRequest { return new PendingIssueBatchUpdateMutationRequest($this, ['input' => $input, 'ids' => $ids]); } - + public function issueArchiveMutation(string $id, ?bool $trash = null): PendingIssueArchiveMutationRequest { return new PendingIssueArchiveMutationRequest($this, ['id' => $id, 'trash' => $trash]); } - + public function issueUnarchiveMutation(string $id): PendingIssueUnarchiveMutationRequest { return new PendingIssueUnarchiveMutationRequest($this, ['id' => $id]); } - + public function issueDeleteMutation(string $id): PendingIssueDeleteMutationRequest { return new PendingIssueDeleteMutationRequest($this, ['id' => $id]); } - + public function issueAddLabelMutation(string $labelId, string $id): PendingIssueAddLabelMutationRequest { return new PendingIssueAddLabelMutationRequest($this, ['labelId' => $labelId, 'id' => $id]); } - + public function issueRemoveLabelMutation(string $labelId, string $id): PendingIssueRemoveLabelMutationRequest { return new PendingIssueRemoveLabelMutationRequest($this, ['labelId' => $labelId, 'id' => $id]); } - + public function issueReminderMutation(DateTimeInterface $reminderAt, string $id): PendingIssueReminderMutationRequest { return new PendingIssueReminderMutationRequest($this, ['reminderAt' => $reminderAt, 'id' => $id]); } - + public function issueSubscribeMutation(string $id, ?string $userId = null): PendingIssueSubscribeMutationRequest { return new PendingIssueSubscribeMutationRequest($this, ['id' => $id, 'userId' => $userId]); } - + public function issueUnsubscribeMutation(string $id, ?string $userId = null): PendingIssueUnsubscribeMutationRequest { return new PendingIssueUnsubscribeMutationRequest($this, ['id' => $id, 'userId' => $userId]); } - + public function issueDescriptionUpdateFromFrontMutation(string $description, string $id): PendingIssueDescriptionUpdateFromFrontMutationRequest { return new PendingIssueDescriptionUpdateFromFrontMutationRequest($this, ['description' => $description, 'id' => $id]); } - + public function notificationUpdateMutation(NotificationUpdateInput $input, string $id): PendingNotificationUpdateMutationRequest { return new PendingNotificationUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function notificationMarkReadAllMutation(DateTimeInterface $readAt, NotificationEntityInput $input): PendingNotificationMarkReadAllMutationRequest { return new PendingNotificationMarkReadAllMutationRequest($this, ['readAt' => $readAt, 'input' => $input]); } - + public function notificationMarkUnreadAllMutation(NotificationEntityInput $input): PendingNotificationMarkUnreadAllMutationRequest { return new PendingNotificationMarkUnreadAllMutationRequest($this, ['input' => $input]); } - + public function notificationSnoozeAllMutation(DateTimeInterface $snoozedUntilAt, NotificationEntityInput $input): PendingNotificationSnoozeAllMutationRequest { return new PendingNotificationSnoozeAllMutationRequest($this, ['snoozedUntilAt' => $snoozedUntilAt, 'input' => $input]); } - + public function notificationUnsnoozeAllMutation(DateTimeInterface $unsnoozedAt, NotificationEntityInput $input): PendingNotificationUnsnoozeAllMutationRequest { return new PendingNotificationUnsnoozeAllMutationRequest($this, ['unsnoozedAt' => $unsnoozedAt, 'input' => $input]); } - + public function notificationArchiveMutation(string $id): PendingNotificationArchiveMutationRequest { return new PendingNotificationArchiveMutationRequest($this, ['id' => $id]); } - + public function notificationArchiveAllMutation(NotificationEntityInput $input): PendingNotificationArchiveAllMutationRequest { return new PendingNotificationArchiveAllMutationRequest($this, ['input' => $input]); } - + public function notificationUnarchiveMutation(string $id): PendingNotificationUnarchiveMutationRequest { return new PendingNotificationUnarchiveMutationRequest($this, ['id' => $id]); } - + public function notificationSubscriptionCreateMutation(NotificationSubscriptionCreateInput $input): PendingNotificationSubscriptionCreateMutationRequest { return new PendingNotificationSubscriptionCreateMutationRequest($this, ['input' => $input]); } - + public function notificationSubscriptionUpdateMutation(NotificationSubscriptionUpdateInput $input, string $id): PendingNotificationSubscriptionUpdateMutationRequest { return new PendingNotificationSubscriptionUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function notificationSubscriptionDeleteMutation(string $id): PendingNotificationSubscriptionDeleteMutationRequest { return new PendingNotificationSubscriptionDeleteMutationRequest($this, ['id' => $id]); } - + public function organizationDomainClaimMutation(string $id): PendingOrganizationDomainClaimMutationRequest { return new PendingOrganizationDomainClaimMutationRequest($this, ['id' => $id]); } - + public function organizationDomainVerifyMutation(OrganizationDomainVerificationInput $input): PendingOrganizationDomainVerifyMutationRequest { return new PendingOrganizationDomainVerifyMutationRequest($this, ['input' => $input]); } - + public function organizationDomainCreateMutation(OrganizationDomainCreateInput $input, ?bool $triggerEmailVerification = null): PendingOrganizationDomainCreateMutationRequest { return new PendingOrganizationDomainCreateMutationRequest($this, ['input' => $input, 'triggerEmailVerification' => $triggerEmailVerification]); } - + public function organizationDomainDeleteMutation(string $id): PendingOrganizationDomainDeleteMutationRequest { return new PendingOrganizationDomainDeleteMutationRequest($this, ['id' => $id]); } - + public function organizationInviteCreateMutation(OrganizationInviteCreateInput $input): PendingOrganizationInviteCreateMutationRequest { return new PendingOrganizationInviteCreateMutationRequest($this, ['input' => $input]); } - + public function organizationInviteUpdateMutation(OrganizationInviteUpdateInput $input, string $id): PendingOrganizationInviteUpdateMutationRequest { return new PendingOrganizationInviteUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function resendOrganizationInviteMutation(string $id): PendingResendOrganizationInviteMutationRequest { return new PendingResendOrganizationInviteMutationRequest($this, ['id' => $id]); } - + public function organizationInviteDeleteMutation(string $id): PendingOrganizationInviteDeleteMutationRequest { return new PendingOrganizationInviteDeleteMutationRequest($this, ['id' => $id]); } - + public function organizationUpdateMutation(OrganizationUpdateInput $input): PendingOrganizationUpdateMutationRequest { return new PendingOrganizationUpdateMutationRequest($this, ['input' => $input]); } - + public function organizationDeleteChallengeMutation(): PendingOrganizationDeleteChallengeMutationRequest { return new PendingOrganizationDeleteChallengeMutationRequest($this, []); } - + public function organizationDeleteMutation(DeleteOrganizationInput $input): PendingOrganizationDeleteMutationRequest { return new PendingOrganizationDeleteMutationRequest($this, ['input' => $input]); } - + public function organizationCancelDeleteMutation(): PendingOrganizationCancelDeleteMutationRequest { return new PendingOrganizationCancelDeleteMutationRequest($this, []); } - + public function organizationStartPlusTrialMutation(): PendingOrganizationStartPlusTrialMutationRequest { return new PendingOrganizationStartPlusTrialMutationRequest($this, []); } - + public function projectLinkCreateMutation(ProjectLinkCreateInput $input): PendingProjectLinkCreateMutationRequest { return new PendingProjectLinkCreateMutationRequest($this, ['input' => $input]); } - + public function projectLinkUpdateMutation(ProjectLinkUpdateInput $input, string $id): PendingProjectLinkUpdateMutationRequest { return new PendingProjectLinkUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function projectLinkDeleteMutation(string $id): PendingProjectLinkDeleteMutationRequest { return new PendingProjectLinkDeleteMutationRequest($this, ['id' => $id]); } - + public function projectMilestoneCreateMutation(ProjectMilestoneCreateInput $input): PendingProjectMilestoneCreateMutationRequest { return new PendingProjectMilestoneCreateMutationRequest($this, ['input' => $input]); } - + public function projectMilestoneUpdateMutation(ProjectMilestoneUpdateInput $input, string $id): PendingProjectMilestoneUpdateMutationRequest { return new PendingProjectMilestoneUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function projectMilestoneDeleteMutation(string $id): PendingProjectMilestoneDeleteMutationRequest { return new PendingProjectMilestoneDeleteMutationRequest($this, ['id' => $id]); } - + public function projectCreateMutation(ProjectCreateInput $input, ?bool $connectSlackChannel = null): PendingProjectCreateMutationRequest { return new PendingProjectCreateMutationRequest($this, ['input' => $input, 'connectSlackChannel' => $connectSlackChannel]); } - + public function projectUpdateMutation(ProjectUpdateInput $input, string $id): PendingProjectUpdateMutationRequest { return new PendingProjectUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function projectDeleteMutation(string $id): PendingProjectDeleteMutationRequest { return new PendingProjectDeleteMutationRequest($this, ['id' => $id]); } - + public function projectArchiveMutation(string $id, ?bool $trash = null): PendingProjectArchiveMutationRequest { return new PendingProjectArchiveMutationRequest($this, ['id' => $id, 'trash' => $trash]); } - + public function projectUnarchiveMutation(string $id): PendingProjectUnarchiveMutationRequest { return new PendingProjectUnarchiveMutationRequest($this, ['id' => $id]); } - + public function projectUpdateInteractionCreateMutation(ProjectUpdateInteractionCreateInput $input): PendingProjectUpdateInteractionCreateMutationRequest { return new PendingProjectUpdateInteractionCreateMutationRequest($this, ['input' => $input]); } - + public function projectUpdateCreateMutation(ProjectUpdateCreateInput $input): PendingProjectUpdateCreateMutationRequest { return new PendingProjectUpdateCreateMutationRequest($this, ['input' => $input]); } - + public function projectUpdateUpdateMutation(ProjectUpdateUpdateInput $input, string $id): PendingProjectUpdateUpdateMutationRequest { return new PendingProjectUpdateUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function projectUpdateDeleteMutation(string $id): PendingProjectUpdateDeleteMutationRequest { return new PendingProjectUpdateDeleteMutationRequest($this, ['id' => $id]); } - + public function projectUpdateMarkAsReadMutation(string $id): PendingProjectUpdateMarkAsReadMutationRequest { return new PendingProjectUpdateMarkAsReadMutationRequest($this, ['id' => $id]); } - + public function createProjectUpdateReminderMutation(string $projectId, ?string $userId = null): PendingCreateProjectUpdateReminderMutationRequest { return new PendingCreateProjectUpdateReminderMutationRequest($this, ['projectId' => $projectId, 'userId' => $userId]); } - + public function pushSubscriptionCreateMutation(PushSubscriptionCreateInput $input): PendingPushSubscriptionCreateMutationRequest { return new PendingPushSubscriptionCreateMutationRequest($this, ['input' => $input]); } - + public function pushSubscriptionDeleteMutation(string $id): PendingPushSubscriptionDeleteMutationRequest { return new PendingPushSubscriptionDeleteMutationRequest($this, ['id' => $id]); } - + public function reactionCreateMutation(ReactionCreateInput $input): PendingReactionCreateMutationRequest { return new PendingReactionCreateMutationRequest($this, ['input' => $input]); } - + public function reactionDeleteMutation(string $id): PendingReactionDeleteMutationRequest { return new PendingReactionDeleteMutationRequest($this, ['id' => $id]); } - + public function createCsvExportReportMutation(?iterable $includePrivateTeamIds = null): PendingCreateCsvExportReportMutationRequest { return new PendingCreateCsvExportReportMutationRequest($this, ['includePrivateTeamIds' => $includePrivateTeamIds]); } - + public function roadmapCreateMutation(RoadmapCreateInput $input): PendingRoadmapCreateMutationRequest { return new PendingRoadmapCreateMutationRequest($this, ['input' => $input]); } - + public function roadmapUpdateMutation(RoadmapUpdateInput $input, string $id): PendingRoadmapUpdateMutationRequest { return new PendingRoadmapUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function roadmapArchiveMutation(string $id): PendingRoadmapArchiveMutationRequest { return new PendingRoadmapArchiveMutationRequest($this, ['id' => $id]); } - + public function roadmapUnarchiveMutation(string $id): PendingRoadmapUnarchiveMutationRequest { return new PendingRoadmapUnarchiveMutationRequest($this, ['id' => $id]); } - + public function roadmapDeleteMutation(string $id): PendingRoadmapDeleteMutationRequest { return new PendingRoadmapDeleteMutationRequest($this, ['id' => $id]); } - + public function roadmapToProjectCreateMutation(RoadmapToProjectCreateInput $input): PendingRoadmapToProjectCreateMutationRequest { return new PendingRoadmapToProjectCreateMutationRequest($this, ['input' => $input]); } - + public function roadmapToProjectUpdateMutation(RoadmapToProjectUpdateInput $input, string $id): PendingRoadmapToProjectUpdateMutationRequest { return new PendingRoadmapToProjectUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function roadmapToProjectDeleteMutation(string $id): PendingRoadmapToProjectDeleteMutationRequest { return new PendingRoadmapToProjectDeleteMutationRequest($this, ['id' => $id]); } - + public function teamKeyDeleteMutation(string $id): PendingTeamKeyDeleteMutationRequest { return new PendingTeamKeyDeleteMutationRequest($this, ['id' => $id]); } - + public function teamMembershipCreateMutation(TeamMembershipCreateInput $input): PendingTeamMembershipCreateMutationRequest { return new PendingTeamMembershipCreateMutationRequest($this, ['input' => $input]); } - + public function teamMembershipUpdateMutation(TeamMembershipUpdateInput $input, string $id): PendingTeamMembershipUpdateMutationRequest { return new PendingTeamMembershipUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function teamMembershipDeleteMutation(string $id): PendingTeamMembershipDeleteMutationRequest { return new PendingTeamMembershipDeleteMutationRequest($this, ['id' => $id]); } - + public function teamCreateMutation(TeamCreateInput $input, ?string $copySettingsFromTeamId = null): PendingTeamCreateMutationRequest { return new PendingTeamCreateMutationRequest($this, ['input' => $input, 'copySettingsFromTeamId' => $copySettingsFromTeamId]); } - + public function teamUpdateMutation(TeamUpdateInput $input, string $id): PendingTeamUpdateMutationRequest { return new PendingTeamUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function teamDeleteMutation(string $id): PendingTeamDeleteMutationRequest { return new PendingTeamDeleteMutationRequest($this, ['id' => $id]); } - + public function teamUnarchiveMutation(string $id): PendingTeamUnarchiveMutationRequest { return new PendingTeamUnarchiveMutationRequest($this, ['id' => $id]); } - + public function teamCyclesDeleteMutation(string $id): PendingTeamCyclesDeleteMutationRequest { return new PendingTeamCyclesDeleteMutationRequest($this, ['id' => $id]); } - + public function templateCreateMutation(TemplateCreateInput $input): PendingTemplateCreateMutationRequest { return new PendingTemplateCreateMutationRequest($this, ['input' => $input]); } - + public function templateUpdateMutation(TemplateUpdateInput $input, string $id): PendingTemplateUpdateMutationRequest { return new PendingTemplateUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function templateDeleteMutation(string $id): PendingTemplateDeleteMutationRequest { return new PendingTemplateDeleteMutationRequest($this, ['id' => $id]); } - + public function timeScheduleCreateMutation(TimeScheduleCreateInput $input): PendingTimeScheduleCreateMutationRequest { return new PendingTimeScheduleCreateMutationRequest($this, ['input' => $input]); } - + public function timeScheduleUpdateMutation(TimeScheduleUpdateInput $input, string $id): PendingTimeScheduleUpdateMutationRequest { return new PendingTimeScheduleUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function timeScheduleUpsertExternalMutation(TimeScheduleUpdateInput $input, string $externalId): PendingTimeScheduleUpsertExternalMutationRequest { return new PendingTimeScheduleUpsertExternalMutationRequest($this, ['input' => $input, 'externalId' => $externalId]); } - + public function timeScheduleDeleteMutation(string $id): PendingTimeScheduleDeleteMutationRequest { return new PendingTimeScheduleDeleteMutationRequest($this, ['id' => $id]); } - + public function timeScheduleRefreshIntegrationScheduleMutation(string $id): PendingTimeScheduleRefreshIntegrationScheduleMutationRequest { return new PendingTimeScheduleRefreshIntegrationScheduleMutationRequest($this, ['id' => $id]); } - + public function triageResponsibilityCreateMutation(TriageResponsibilityCreateInput $input): PendingTriageResponsibilityCreateMutationRequest { return new PendingTriageResponsibilityCreateMutationRequest($this, ['input' => $input]); } - + public function triageResponsibilityUpdateMutation(TriageResponsibilityUpdateInput $input, string $id): PendingTriageResponsibilityUpdateMutationRequest { return new PendingTriageResponsibilityUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function triageResponsibilityDeleteMutation(string $id): PendingTriageResponsibilityDeleteMutationRequest { return new PendingTriageResponsibilityDeleteMutationRequest($this, ['id' => $id]); } - + public function userUpdateMutation(UserUpdateInput $input, string $id): PendingUserUpdateMutationRequest { return new PendingUserUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function userDiscordConnectMutation(string $redirectUri, string $code): PendingUserDiscordConnectMutationRequest { return new PendingUserDiscordConnectMutationRequest($this, ['redirectUri' => $redirectUri, 'code' => $code]); } - + public function userExternalUserDisconnectMutation(string $service): PendingUserExternalUserDisconnectMutationRequest { return new PendingUserExternalUserDisconnectMutationRequest($this, ['service' => $service]); } - + public function userPromoteAdminMutation(string $id): PendingUserPromoteAdminMutationRequest { return new PendingUserPromoteAdminMutationRequest($this, ['id' => $id]); } - + public function userDemoteAdminMutation(string $id): PendingUserDemoteAdminMutationRequest { return new PendingUserDemoteAdminMutationRequest($this, ['id' => $id]); } - + public function userPromoteMemberMutation(string $id): PendingUserPromoteMemberMutationRequest { return new PendingUserPromoteMemberMutationRequest($this, ['id' => $id]); } - + public function userDemoteMemberMutation(string $id): PendingUserDemoteMemberMutationRequest { return new PendingUserDemoteMemberMutationRequest($this, ['id' => $id]); } - + public function userSuspendMutation(string $id): PendingUserSuspendMutationRequest { return new PendingUserSuspendMutationRequest($this, ['id' => $id]); } - + public function userUnsuspendMutation(string $id): PendingUserUnsuspendMutationRequest { return new PendingUserUnsuspendMutationRequest($this, ['id' => $id]); } - + public function userSettingsUpdateMutation(UserSettingsUpdateInput $input, string $id): PendingUserSettingsUpdateMutationRequest { return new PendingUserSettingsUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function userSettingsFlagIncrementMutation(string $flag): PendingUserSettingsFlagIncrementMutationRequest { return new PendingUserSettingsFlagIncrementMutationRequest($this, ['flag' => $flag]); } - + public function userSettingsFlagsResetMutation(?iterable $flags = null): PendingUserSettingsFlagsResetMutationRequest { return new PendingUserSettingsFlagsResetMutationRequest($this, ['flags' => $flags]); } - + public function userFlagUpdateMutation(UserFlagUpdateOperation $operation, UserFlagType $flag): PendingUserFlagUpdateMutationRequest { return new PendingUserFlagUpdateMutationRequest($this, ['operation' => $operation, 'flag' => $flag]); } - + public function viewPreferencesCreateMutation(ViewPreferencesCreateInput $input): PendingViewPreferencesCreateMutationRequest { return new PendingViewPreferencesCreateMutationRequest($this, ['input' => $input]); } - + public function viewPreferencesUpdateMutation(ViewPreferencesUpdateInput $input, string $id): PendingViewPreferencesUpdateMutationRequest { return new PendingViewPreferencesUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function viewPreferencesDeleteMutation(string $id): PendingViewPreferencesDeleteMutationRequest { return new PendingViewPreferencesDeleteMutationRequest($this, ['id' => $id]); } - + public function webhookCreateMutation(WebhookCreateInput $input): PendingWebhookCreateMutationRequest { return new PendingWebhookCreateMutationRequest($this, ['input' => $input]); } - + public function webhookUpdateMutation(WebhookUpdateInput $input, string $id): PendingWebhookUpdateMutationRequest { return new PendingWebhookUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function webhookDeleteMutation(string $id): PendingWebhookDeleteMutationRequest { return new PendingWebhookDeleteMutationRequest($this, ['id' => $id]); } - + public function workflowStateCreateMutation(WorkflowStateCreateInput $input): PendingWorkflowStateCreateMutationRequest { return new PendingWorkflowStateCreateMutationRequest($this, ['input' => $input]); } - + public function workflowStateUpdateMutation(WorkflowStateUpdateInput $input, string $id): PendingWorkflowStateUpdateMutationRequest { return new PendingWorkflowStateUpdateMutationRequest($this, ['input' => $input, 'id' => $id]); } - + public function workflowStateArchiveMutation(string $id): PendingWorkflowStateArchiveMutationRequest { return new PendingWorkflowStateArchiveMutationRequest($this, ['id' => $id]); diff --git a/src/Connectors/QueriesLinear.php b/src/Connectors/QueriesLinear.php index f45f11a4..6453e3dc 100644 --- a/src/Connectors/QueriesLinear.php +++ b/src/Connectors/QueriesLinear.php @@ -17,114 +17,114 @@ use Glhd\Linearavel\Requests\Inputs\TeamFilterInput; use Glhd\Linearavel\Requests\Inputs\UserFilterInput; use Glhd\Linearavel\Requests\Inputs\WorkflowStateFilterInput; -use Glhd\Linearavel\Requests\Pending\PendingAdministrableTeamsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingApiKeysQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingApplicationInfoByIdsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingApplicationInfoQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingApplicationInfoWithMembershipsByIdsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingApplicationWithAuthorizationQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingArchivedTeamsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentIssueQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentsForURLQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentSourcesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAttachmentsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAuditEntriesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAuditEntryTypesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAuthenticationSessionsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAuthorizedApplicationsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingAvailableUsersQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCommentsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewDetailsSuggestionQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewHasSubscribersQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCustomViewsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCycleQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingCyclesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingDocumentContentHistoryQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingDocumentQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingDocumentsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmojiQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingEmojisQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingExternalUserQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingExternalUsersQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingFavoriteQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingFavoritesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingInitiativeToProjectsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationHasScopesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationsSettingsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplateQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIntegrationTemplatesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueFigmaFileKeySearchQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueFilterSuggestionQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportCheckCSVQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueImportFinishGithubOAuthQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueLabelQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueLabelsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssuePriorityValuesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueRelationQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueRelationsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueSearchQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssuesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingIssueVcsBranchSearchQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingNotificationSubscriptionsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationDomainClaimRequestQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationExistsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteDetailsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationInviteQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationInvitesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingOrganizationQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectFilterSuggestionQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectLinkQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectLinksQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectMilestoneQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectMilestonesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateInteractionQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateInteractionsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdateQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingProjectUpdatesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingPushSubscriptionTestQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingRateLimitStatusQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingRoadmapToProjectsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingSearchDocumentsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingSearchIssuesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingSearchProjectsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingSsoUrlFromEmailQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamMembershipQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamMembershipsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTeamsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTemplateQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTemplatesForIntegrationQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTemplatesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeScheduleQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTimeSchedulesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilitiesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingTriageResponsibilityQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingUserSettingsQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingUsersQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingViewerQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingWebhookQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingWebhooksQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingWorkflowStateQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingWorkflowStatesQueryRequest; -use Glhd\Linearavel\Requests\Pending\PendingWorkspaceAuthorizedApplicationsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAdministrableTeamsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingApiKeysQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationInfoByIdsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationInfoQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationInfoWithMembershipsByIdsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingApplicationWithAuthorizationQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingArchivedTeamsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentIssueQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentsForURLQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentSourcesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAttachmentsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAuditEntriesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAuditEntryTypesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAuthenticationSessionsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAuthorizedApplicationsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingAvailableUsersQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCommentQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCommentsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewDetailsSuggestionQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewHasSubscribersQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCustomViewsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCycleQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingCyclesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingDocumentContentHistoryQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingDocumentQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingDocumentsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingEmojiQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingEmojisQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingExternalUserQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingExternalUsersQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingFavoriteQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingFavoritesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativeQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativeToProjectQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingInitiativeToProjectsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationHasScopesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationsSettingsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationTemplateQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIntegrationTemplatesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueFigmaFileKeySearchQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueFilterSuggestionQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueImportCheckCSVQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueImportFinishGithubOAuthQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueLabelQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueLabelsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssuePriorityValuesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueRelationQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueRelationsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueSearchQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssuesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingIssueVcsBranchSearchQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingNotificationQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingNotificationsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingNotificationSubscriptionQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingNotificationSubscriptionsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationDomainClaimRequestQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationExistsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationInviteDetailsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationInviteQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationInvitesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingOrganizationQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectFilterSuggestionQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectLinkQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectLinksQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectMilestoneQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectMilestonesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdateInteractionQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdateInteractionsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdateQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingProjectUpdatesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingPushSubscriptionTestQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingRateLimitStatusQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapToProjectQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingRoadmapToProjectsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingSearchDocumentsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingSearchIssuesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingSearchProjectsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingSsoUrlFromEmailQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTeamMembershipQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTeamMembershipsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTeamQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTeamsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTemplateQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTemplatesForIntegrationQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTemplatesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTimeScheduleQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTimeSchedulesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTriageResponsibilitiesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingTriageResponsibilityQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingUserQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingUserSettingsQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingUsersQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingViewerQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingWebhookQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingWebhooksQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingWorkflowStateQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingWorkflowStatesQueryRequest; +use Glhd\Linearavel\Requests\Pending\Queries\PendingWorkspaceAuthorizedApplicationsQueryRequest; trait QueriesLinear { @@ -137,17 +137,11 @@ trait QueriesLinear * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingApiKeysQueryRequest */ - public function apiKeys( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingApiKeysQueryRequest { + public function apiKeys(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingApiKeysQueryRequest + { return new PendingApiKeysQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $clientId the client ID of the application * @returns PendingApplicationInfoQueryRequest @@ -156,7 +150,7 @@ public function applicationInfo(string $clientId): PendingApplicationInfoQueryRe { return new PendingApplicationInfoQueryRequest($this, ['clientId' => $clientId]); } - + /** * @param iterable $ids the IDs of the applications * @returns PendingApplicationInfoByIdsQueryRequest @@ -165,7 +159,7 @@ public function applicationInfoByIds(iterable $ids): PendingApplicationInfoByIds { return new PendingApplicationInfoByIdsQueryRequest($this, ['ids' => $ids]); } - + /** * @param iterable $clientIds the client IDs to look up * @returns PendingApplicationInfoWithMembershipsByIdsQueryRequest @@ -174,7 +168,7 @@ public function applicationInfoWithMembershipsByIds(iterable $clientIds): Pendin { return new PendingApplicationInfoWithMembershipsByIdsQueryRequest($this, ['clientIds' => $clientIds]); } - + /** * @param ?string $actor actor mode used for the authorization * @param ?string $redirectUri redirect URI for the application @@ -186,7 +180,7 @@ public function applicationWithAuthorization(iterable $scope, string $clientId, { return new PendingApplicationWithAuthorizationQueryRequest($this, ['scope' => $scope, 'clientId' => $clientId, 'actor' => $actor, 'redirectUri' => $redirectUri]); } - + /** * @returns PendingAuthorizedApplicationsQueryRequest */ @@ -194,7 +188,7 @@ public function authorizedApplications(): PendingAuthorizedApplicationsQueryRequ { return new PendingAuthorizedApplicationsQueryRequest($this, []); } - + /** * @returns PendingWorkspaceAuthorizedApplicationsQueryRequest */ @@ -202,7 +196,7 @@ public function workspaceAuthorizedApplications(): PendingWorkspaceAuthorizedApp { return new PendingWorkspaceAuthorizedApplicationsQueryRequest($this, []); } - + /** * @param ?AttachmentFilterInput $filter filter returned attachments * @param ?string $before a cursor to be used with last for backward pagination @@ -213,26 +207,11 @@ public function workspaceAuthorizedApplications(): PendingWorkspaceAuthorizedApp * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingAttachmentsQueryRequest */ - public function attachments( - ?AttachmentFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingAttachmentsQueryRequest { - return new PendingAttachmentsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function attachments(?AttachmentFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingAttachmentsQueryRequest + { + return new PendingAttachmentsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingAttachmentQueryRequest @@ -241,7 +220,7 @@ public function attachment(string $id): PendingAttachmentQueryRequest { return new PendingAttachmentQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -252,26 +231,11 @@ public function attachment(string $id): PendingAttachmentQueryRequest * @param string $url the attachment URL * @returns PendingAttachmentsForURLQueryRequest */ - public function attachmentsForURL( - string $url, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingAttachmentsForURLQueryRequest { - return new PendingAttachmentsForURLQueryRequest($this, [ - 'url' => $url, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function attachmentsForURL(string $url, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingAttachmentsForURLQueryRequest + { + return new PendingAttachmentsForURLQueryRequest($this, ['url' => $url, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id `id` of the attachment for which you'll want to get the issue for. [Deprecated] `url` as the `id` parameter. * @returns PendingAttachmentIssueQueryRequest @@ -280,7 +244,7 @@ public function attachmentIssue(string $id): PendingAttachmentIssueQueryRequest { return new PendingAttachmentIssueQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $teamId (optional) if provided will only return attachment sources for the given team * @returns PendingAttachmentSourcesQueryRequest @@ -289,7 +253,7 @@ public function attachmentSources(?string $teamId = null): PendingAttachmentSour { return new PendingAttachmentSourcesQueryRequest($this, ['teamId' => $teamId]); } - + /** * @returns PendingAuditEntryTypesQueryRequest */ @@ -297,7 +261,7 @@ public function auditEntryTypes(): PendingAuditEntryTypesQueryRequest { return new PendingAuditEntryTypesQueryRequest($this, []); } - + /** * @param ?AuditEntryFilterInput $filter filter returned audit entries * @param ?string $before a cursor to be used with last for backward pagination @@ -308,26 +272,11 @@ public function auditEntryTypes(): PendingAuditEntryTypesQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingAuditEntriesQueryRequest */ - public function auditEntries( - ?AuditEntryFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingAuditEntriesQueryRequest { - return new PendingAuditEntriesQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function auditEntries(?AuditEntryFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingAuditEntriesQueryRequest + { + return new PendingAuditEntriesQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @returns PendingAvailableUsersQueryRequest */ @@ -335,7 +284,7 @@ public function availableUsers(): PendingAvailableUsersQueryRequest { return new PendingAvailableUsersQueryRequest($this, []); } - + /** * @returns PendingAuthenticationSessionsQueryRequest */ @@ -343,7 +292,7 @@ public function authenticationSessions(): PendingAuthenticationSessionsQueryRequ { return new PendingAuthenticationSessionsQueryRequest($this, []); } - + /** * @param ?bool $isDesktop whether the client is the desktop app * @param string $email email to query the SSO login URL by @@ -353,7 +302,7 @@ public function ssoUrlFromEmail(string $email, ?bool $isDesktop = null): Pending { return new PendingSsoUrlFromEmailQueryRequest($this, ['email' => $email, 'isDesktop' => $isDesktop]); } - + /** * @param ?CommentFilterInput $filter filter returned comments * @param ?string $before a cursor to be used with last for backward pagination @@ -364,26 +313,11 @@ public function ssoUrlFromEmail(string $email, ?bool $isDesktop = null): Pending * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingCommentsQueryRequest */ - public function comments( - ?CommentFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingCommentsQueryRequest { - return new PendingCommentsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function comments(?CommentFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingCommentsQueryRequest + { + return new PendingCommentsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param ?string $id the identifier of the comment to retrieve * @param ?string $issueId [Deprecated] The issue for which to find the comment @@ -394,7 +328,7 @@ public function comment(?string $id = null, ?string $issueId = null, ?string $ha { return new PendingCommentQueryRequest($this, ['id' => $id, 'issueId' => $issueId, 'hash' => $hash]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -404,17 +338,11 @@ public function comment(?string $id = null, ?string $issueId = null, ?string $ha * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingCustomViewsQueryRequest */ - public function customViews( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingCustomViewsQueryRequest { + public function customViews(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingCustomViewsQueryRequest + { return new PendingCustomViewsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingCustomViewQueryRequest @@ -423,7 +351,7 @@ public function customView(string $id): PendingCustomViewQueryRequest { return new PendingCustomViewQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $modelName * @param string $filter @@ -433,7 +361,7 @@ public function customViewDetailsSuggestion(string $filter, ?string $modelName = { return new PendingCustomViewDetailsSuggestionQueryRequest($this, ['filter' => $filter, 'modelName' => $modelName]); } - + /** * @param string $id the identifier of the custom view * @returns PendingCustomViewHasSubscribersQueryRequest @@ -442,7 +370,7 @@ public function customViewHasSubscribers(string $id): PendingCustomViewHasSubscr { return new PendingCustomViewHasSubscribersQueryRequest($this, ['id' => $id]); } - + /** * @param ?CycleFilterInput $filter filter returned users * @param ?string $before a cursor to be used with last for backward pagination @@ -453,26 +381,11 @@ public function customViewHasSubscribers(string $id): PendingCustomViewHasSubscr * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingCyclesQueryRequest */ - public function cycles( - ?CycleFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingCyclesQueryRequest { - return new PendingCyclesQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function cycles(?CycleFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingCyclesQueryRequest + { + return new PendingCyclesQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingCycleQueryRequest @@ -481,7 +394,7 @@ public function cycle(string $id): PendingCycleQueryRequest { return new PendingCycleQueryRequest($this, ['id' => $id]); } - + /** * @param string $id * @returns PendingDocumentContentHistoryQueryRequest @@ -490,7 +403,7 @@ public function documentContentHistory(string $id): PendingDocumentContentHistor { return new PendingDocumentContentHistoryQueryRequest($this, ['id' => $id]); } - + /** * @param ?DocumentFilterInput $filter filter returned documents * @param ?string $before a cursor to be used with last for backward pagination @@ -501,26 +414,11 @@ public function documentContentHistory(string $id): PendingDocumentContentHistor * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingDocumentsQueryRequest */ - public function documents( - ?DocumentFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingDocumentsQueryRequest { - return new PendingDocumentsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function documents(?DocumentFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingDocumentsQueryRequest + { + return new PendingDocumentsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingDocumentQueryRequest @@ -529,7 +427,7 @@ public function document(string $id): PendingDocumentQueryRequest { return new PendingDocumentQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -539,17 +437,11 @@ public function document(string $id): PendingDocumentQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingEmojisQueryRequest */ - public function emojis( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingEmojisQueryRequest { + public function emojis(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingEmojisQueryRequest + { return new PendingEmojisQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id the identifier or the name of the emoji to retrieve * @returns PendingEmojiQueryRequest @@ -558,7 +450,7 @@ public function emoji(string $id): PendingEmojiQueryRequest { return new PendingEmojiQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -568,17 +460,11 @@ public function emoji(string $id): PendingEmojiQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingExternalUsersQueryRequest */ - public function externalUsers( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingExternalUsersQueryRequest { + public function externalUsers(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingExternalUsersQueryRequest + { return new PendingExternalUsersQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id the identifier of the external user to retrieve * @returns PendingExternalUserQueryRequest @@ -587,7 +473,7 @@ public function externalUser(string $id): PendingExternalUserQueryRequest { return new PendingExternalUserQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -597,24 +483,11 @@ public function externalUser(string $id): PendingExternalUserQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingInitiativeToProjectsQueryRequest */ - public function initiativeToProjects( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingInitiativeToProjectsQueryRequest { - return new PendingInitiativeToProjectsQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function initiativeToProjects(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingInitiativeToProjectsQueryRequest + { + return new PendingInitiativeToProjectsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingInitiativeToProjectQueryRequest @@ -623,7 +496,7 @@ public function initiativeToProject(string $id): PendingInitiativeToProjectQuery { return new PendingInitiativeToProjectQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -633,17 +506,11 @@ public function initiativeToProject(string $id): PendingInitiativeToProjectQuery * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingInitiativesQueryRequest */ - public function initiatives( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingInitiativesQueryRequest { + public function initiatives(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingInitiativesQueryRequest + { return new PendingInitiativesQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingInitiativeQueryRequest @@ -652,7 +519,7 @@ public function initiative(string $id): PendingInitiativeQueryRequest { return new PendingInitiativeQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -662,17 +529,11 @@ public function initiative(string $id): PendingInitiativeQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingFavoritesQueryRequest */ - public function favorites( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingFavoritesQueryRequest { + public function favorites(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingFavoritesQueryRequest + { return new PendingFavoritesQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingFavoriteQueryRequest @@ -681,7 +542,7 @@ public function favorite(string $id): PendingFavoriteQueryRequest { return new PendingFavoriteQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -691,17 +552,11 @@ public function favorite(string $id): PendingFavoriteQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingIntegrationsQueryRequest */ - public function integrations( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingIntegrationsQueryRequest { + public function integrations(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingIntegrationsQueryRequest + { return new PendingIntegrationsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingIntegrationQueryRequest @@ -710,7 +565,7 @@ public function integration(string $id): PendingIntegrationQueryRequest { return new PendingIntegrationQueryRequest($this, ['id' => $id]); } - + /** * @param iterable $scopes required scopes * @param string $integrationId the integration ID @@ -720,7 +575,7 @@ public function integrationHasScopes(iterable $scopes, string $integrationId): P { return new PendingIntegrationHasScopesQueryRequest($this, ['scopes' => $scopes, 'integrationId' => $integrationId]); } - + /** * @param ?ProjectUpdateFilterInput $filter filter returned project updates * @param ?string $before a cursor to be used with last for backward pagination @@ -731,26 +586,11 @@ public function integrationHasScopes(iterable $scopes, string $integrationId): P * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingProjectUpdatesQueryRequest */ - public function projectUpdates( - ?ProjectUpdateFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingProjectUpdatesQueryRequest { - return new PendingProjectUpdatesQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function projectUpdates(?ProjectUpdateFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingProjectUpdatesQueryRequest + { + return new PendingProjectUpdatesQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingIntegrationsSettingsQueryRequest @@ -759,7 +599,7 @@ public function integrationsSettings(string $id): PendingIntegrationsSettingsQue { return new PendingIntegrationsSettingsQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -769,24 +609,11 @@ public function integrationsSettings(string $id): PendingIntegrationsSettingsQue * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingIntegrationTemplatesQueryRequest */ - public function integrationTemplates( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingIntegrationTemplatesQueryRequest { - return new PendingIntegrationTemplatesQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function integrationTemplates(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingIntegrationTemplatesQueryRequest + { + return new PendingIntegrationTemplatesQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingIntegrationTemplateQueryRequest @@ -795,7 +622,7 @@ public function integrationTemplate(string $id): PendingIntegrationTemplateQuery { return new PendingIntegrationTemplateQueryRequest($this, ['id' => $id]); } - + /** * @param string $code OAuth code * @returns PendingIssueImportFinishGithubOAuthQueryRequest @@ -804,7 +631,7 @@ public function issueImportFinishGithubOAuth(string $code): PendingIssueImportFi { return new PendingIssueImportFinishGithubOAuthQueryRequest($this, ['code' => $code]); } - + /** * @param string $csvUrl CSV storage url * @param string $service the service the CSV containing data from @@ -814,7 +641,7 @@ public function issueImportCheckCSV(string $csvUrl, string $service): PendingIss { return new PendingIssueImportCheckCSVQueryRequest($this, ['csvUrl' => $csvUrl, 'service' => $service]); } - + /** * @param ?IssueLabelFilterInput $filter filter returned issue labels * @param ?string $before a cursor to be used with last for backward pagination @@ -825,26 +652,11 @@ public function issueImportCheckCSV(string $csvUrl, string $service): PendingIss * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingIssueLabelsQueryRequest */ - public function issueLabels( - ?IssueLabelFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingIssueLabelsQueryRequest { - return new PendingIssueLabelsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function issueLabels(?IssueLabelFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingIssueLabelsQueryRequest + { + return new PendingIssueLabelsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingIssueLabelQueryRequest @@ -853,7 +665,7 @@ public function issueLabel(string $id): PendingIssueLabelQueryRequest { return new PendingIssueLabelQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -863,17 +675,11 @@ public function issueLabel(string $id): PendingIssueLabelQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingIssueRelationsQueryRequest */ - public function issueRelations( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingIssueRelationsQueryRequest { + public function issueRelations(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingIssueRelationsQueryRequest + { return new PendingIssueRelationsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingIssueRelationQueryRequest @@ -882,7 +688,7 @@ public function issueRelation(string $id): PendingIssueRelationQueryRequest { return new PendingIssueRelationQueryRequest($this, ['id' => $id]); } - + /** * @param ?IssueFilterInput $filter filter returned issues * @param ?string $before a cursor to be used with last for backward pagination @@ -894,28 +700,11 @@ public function issueRelation(string $id): PendingIssueRelationQueryRequest * @param ?iterable $sort [INTERNAL] Sort returned issues * @returns PendingIssuesQueryRequest */ - public function issues( - ?IssueFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null, - ?iterable $sort = null - ): PendingIssuesQueryRequest { - return new PendingIssuesQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - 'sort' => $sort, - ]); - } - + public function issues(?IssueFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null, ?iterable $sort = null): PendingIssuesQueryRequest + { + return new PendingIssuesQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy, 'sort' => $sort]); + } + /** * @param string $id * @returns PendingIssueQueryRequest @@ -924,7 +713,7 @@ public function issue(string $id): PendingIssueQueryRequest { return new PendingIssueQueryRequest($this, ['id' => $id]); } - + /** * @param ?IssueFilterInput $filter filter returned issues * @param ?string $before a cursor to be used with last for backward pagination @@ -936,28 +725,11 @@ public function issue(string $id): PendingIssueQueryRequest * @param ?string $query [Deprecated] Search string to look for * @returns PendingIssueSearchQueryRequest */ - public function issueSearch( - ?IssueFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null, - ?string $query = null - ): PendingIssueSearchQueryRequest { - return new PendingIssueSearchQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - 'query' => $query, - ]); - } - + public function issueSearch(?IssueFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null, ?string $query = null): PendingIssueSearchQueryRequest + { + return new PendingIssueSearchQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy, 'query' => $query]); + } + /** * @param string $branchName the VCS branch name to search for * @returns PendingIssueVcsBranchSearchQueryRequest @@ -966,7 +738,7 @@ public function issueVcsBranchSearch(string $branchName): PendingIssueVcsBranchS { return new PendingIssueVcsBranchSearchQueryRequest($this, ['branchName' => $branchName]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -977,26 +749,11 @@ public function issueVcsBranchSearch(string $branchName): PendingIssueVcsBranchS * @param string $fileKey the Figma file key * @returns PendingIssueFigmaFileKeySearchQueryRequest */ - public function issueFigmaFileKeySearch( - string $fileKey, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingIssueFigmaFileKeySearchQueryRequest { - return new PendingIssueFigmaFileKeySearchQueryRequest($this, [ - 'fileKey' => $fileKey, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function issueFigmaFileKeySearch(string $fileKey, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingIssueFigmaFileKeySearchQueryRequest + { + return new PendingIssueFigmaFileKeySearchQueryRequest($this, ['fileKey' => $fileKey, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @returns PendingIssuePriorityValuesQueryRequest */ @@ -1004,7 +761,7 @@ public function issuePriorityValues(): PendingIssuePriorityValuesQueryRequest { return new PendingIssuePriorityValuesQueryRequest($this, []); } - + /** * @param ?string $projectId The ID of the project if filtering a project view * @param string $prompt @@ -1014,7 +771,7 @@ public function issueFilterSuggestion(string $prompt, ?string $projectId = null) { return new PendingIssueFilterSuggestionQueryRequest($this, ['prompt' => $prompt, 'projectId' => $projectId]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1024,17 +781,11 @@ public function issueFilterSuggestion(string $prompt, ?string $projectId = null) * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingNotificationsQueryRequest */ - public function notifications( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingNotificationsQueryRequest { + public function notifications(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingNotificationsQueryRequest + { return new PendingNotificationsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingNotificationQueryRequest @@ -1043,7 +794,7 @@ public function notification(string $id): PendingNotificationQueryRequest { return new PendingNotificationQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1053,24 +804,11 @@ public function notification(string $id): PendingNotificationQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingNotificationSubscriptionsQueryRequest */ - public function notificationSubscriptions( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingNotificationSubscriptionsQueryRequest { - return new PendingNotificationSubscriptionsQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function notificationSubscriptions(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingNotificationSubscriptionsQueryRequest + { + return new PendingNotificationSubscriptionsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingNotificationSubscriptionQueryRequest @@ -1079,7 +817,7 @@ public function notificationSubscription(string $id): PendingNotificationSubscri { return new PendingNotificationSubscriptionQueryRequest($this, ['id' => $id]); } - + /** * @param string $id the ID of the organization domain to claim * @returns PendingOrganizationDomainClaimRequestQueryRequest @@ -1088,7 +826,7 @@ public function organizationDomainClaimRequest(string $id): PendingOrganizationD { return new PendingOrganizationDomainClaimRequestQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1098,24 +836,11 @@ public function organizationDomainClaimRequest(string $id): PendingOrganizationD * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingOrganizationInvitesQueryRequest */ - public function organizationInvites( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingOrganizationInvitesQueryRequest { - return new PendingOrganizationInvitesQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function organizationInvites(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingOrganizationInvitesQueryRequest + { + return new PendingOrganizationInvitesQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingOrganizationInviteQueryRequest @@ -1124,7 +849,7 @@ public function organizationInvite(string $id): PendingOrganizationInviteQueryRe { return new PendingOrganizationInviteQueryRequest($this, ['id' => $id]); } - + /** * @param string $id * @returns PendingOrganizationInviteDetailsQueryRequest @@ -1133,7 +858,7 @@ public function organizationInviteDetails(string $id): PendingOrganizationInvite { return new PendingOrganizationInviteDetailsQueryRequest($this, ['id' => $id]); } - + /** * @returns PendingOrganizationQueryRequest */ @@ -1141,7 +866,7 @@ public function organization(): PendingOrganizationQueryRequest { return new PendingOrganizationQueryRequest($this, []); } - + /** * @param string $urlKey * @returns PendingOrganizationExistsQueryRequest @@ -1150,7 +875,7 @@ public function organizationExists(string $urlKey): PendingOrganizationExistsQue { return new PendingOrganizationExistsQueryRequest($this, ['urlKey' => $urlKey]); } - + /** * @returns PendingArchivedTeamsQueryRequest */ @@ -1158,7 +883,7 @@ public function archivedTeams(): PendingArchivedTeamsQueryRequest { return new PendingArchivedTeamsQueryRequest($this, []); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1168,17 +893,11 @@ public function archivedTeams(): PendingArchivedTeamsQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingProjectLinksQueryRequest */ - public function projectLinks( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingProjectLinksQueryRequest { + public function projectLinks(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingProjectLinksQueryRequest + { return new PendingProjectLinksQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingProjectLinkQueryRequest @@ -1187,7 +906,7 @@ public function projectLink(string $id): PendingProjectLinkQueryRequest { return new PendingProjectLinkQueryRequest($this, ['id' => $id]); } - + /** * @param ?ProjectMilestoneFilterInput $filter filter returned project milestones * @param ?string $before a cursor to be used with last for backward pagination @@ -1198,26 +917,11 @@ public function projectLink(string $id): PendingProjectLinkQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingProjectMilestonesQueryRequest */ - public function projectMilestones( - ?ProjectMilestoneFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingProjectMilestonesQueryRequest { - return new PendingProjectMilestonesQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function projectMilestones(?ProjectMilestoneFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingProjectMilestonesQueryRequest + { + return new PendingProjectMilestonesQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingProjectMilestoneQueryRequest @@ -1226,7 +930,7 @@ public function projectMilestone(string $id): PendingProjectMilestoneQueryReques { return new PendingProjectMilestoneQueryRequest($this, ['id' => $id]); } - + /** * @param ?ProjectFilterInput $filter filter returned projects * @param ?string $before a cursor to be used with last for backward pagination @@ -1237,26 +941,11 @@ public function projectMilestone(string $id): PendingProjectMilestoneQueryReques * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingProjectsQueryRequest */ - public function projects( - ?ProjectFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingProjectsQueryRequest { - return new PendingProjectsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function projects(?ProjectFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingProjectsQueryRequest + { + return new PendingProjectsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingProjectQueryRequest @@ -1265,7 +954,7 @@ public function project(string $id): PendingProjectQueryRequest { return new PendingProjectQueryRequest($this, ['id' => $id]); } - + /** * @param string $prompt * @returns PendingProjectFilterSuggestionQueryRequest @@ -1274,7 +963,7 @@ public function projectFilterSuggestion(string $prompt): PendingProjectFilterSug { return new PendingProjectFilterSuggestionQueryRequest($this, ['prompt' => $prompt]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1284,24 +973,11 @@ public function projectFilterSuggestion(string $prompt): PendingProjectFilterSug * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingProjectUpdateInteractionsQueryRequest */ - public function projectUpdateInteractions( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingProjectUpdateInteractionsQueryRequest { - return new PendingProjectUpdateInteractionsQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function projectUpdateInteractions(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingProjectUpdateInteractionsQueryRequest + { + return new PendingProjectUpdateInteractionsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id the identifier of the project update interaction to retrieve * @returns PendingProjectUpdateInteractionQueryRequest @@ -1310,7 +986,7 @@ public function projectUpdateInteraction(string $id): PendingProjectUpdateIntera { return new PendingProjectUpdateInteractionQueryRequest($this, ['id' => $id]); } - + /** * @param string $id the identifier of the project update to retrieve * @returns PendingProjectUpdateQueryRequest @@ -1319,7 +995,7 @@ public function projectUpdate(string $id): PendingProjectUpdateQueryRequest { return new PendingProjectUpdateQueryRequest($this, ['id' => $id]); } - + /** * @param ?bool $targetMobile whether to send to mobile devices * @param ?SendStrategy $sendStrategy the send strategy to use @@ -1329,7 +1005,7 @@ public function pushSubscriptionTest(?bool $targetMobile = null, ?SendStrategy $ { return new PendingPushSubscriptionTestQueryRequest($this, ['targetMobile' => $targetMobile, 'sendStrategy' => $sendStrategy]); } - + /** * @returns PendingRateLimitStatusQueryRequest */ @@ -1337,7 +1013,7 @@ public function rateLimitStatus(): PendingRateLimitStatusQueryRequest { return new PendingRateLimitStatusQueryRequest($this, []); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1347,17 +1023,11 @@ public function rateLimitStatus(): PendingRateLimitStatusQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingRoadmapsQueryRequest */ - public function roadmaps( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingRoadmapsQueryRequest { + public function roadmaps(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingRoadmapsQueryRequest + { return new PendingRoadmapsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id * @returns PendingRoadmapQueryRequest @@ -1366,7 +1036,7 @@ public function roadmap(string $id): PendingRoadmapQueryRequest { return new PendingRoadmapQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1376,24 +1046,11 @@ public function roadmap(string $id): PendingRoadmapQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingRoadmapToProjectsQueryRequest */ - public function roadmapToProjects( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingRoadmapToProjectsQueryRequest { - return new PendingRoadmapToProjectsQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function roadmapToProjects(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingRoadmapToProjectsQueryRequest + { + return new PendingRoadmapToProjectsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingRoadmapToProjectQueryRequest @@ -1402,7 +1059,7 @@ public function roadmapToProject(string $id): PendingRoadmapToProjectQueryReques { return new PendingRoadmapToProjectQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1416,32 +1073,11 @@ public function roadmapToProject(string $id): PendingRoadmapToProjectQueryReques * @param ?string $teamId UUID of a team to use as a boost * @returns PendingSearchDocumentsQueryRequest */ - public function searchDocuments( - string $term, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null, - ?float $snippetSize = null, - ?bool $includeComments = null, - ?string $teamId = null - ): PendingSearchDocumentsQueryRequest { - return new PendingSearchDocumentsQueryRequest($this, [ - 'term' => $term, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - 'snippetSize' => $snippetSize, - 'includeComments' => $includeComments, - 'teamId' => $teamId, - ]); - } - + public function searchDocuments(string $term, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null, ?float $snippetSize = null, ?bool $includeComments = null, ?string $teamId = null): PendingSearchDocumentsQueryRequest + { + return new PendingSearchDocumentsQueryRequest($this, ['term' => $term, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy, 'snippetSize' => $snippetSize, 'includeComments' => $includeComments, 'teamId' => $teamId]); + } + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1455,32 +1091,11 @@ public function searchDocuments( * @param ?string $teamId UUID of a team to use as a boost * @returns PendingSearchProjectsQueryRequest */ - public function searchProjects( - string $term, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null, - ?float $snippetSize = null, - ?bool $includeComments = null, - ?string $teamId = null - ): PendingSearchProjectsQueryRequest { - return new PendingSearchProjectsQueryRequest($this, [ - 'term' => $term, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - 'snippetSize' => $snippetSize, - 'includeComments' => $includeComments, - 'teamId' => $teamId, - ]); - } - + public function searchProjects(string $term, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null, ?float $snippetSize = null, ?bool $includeComments = null, ?string $teamId = null): PendingSearchProjectsQueryRequest + { + return new PendingSearchProjectsQueryRequest($this, ['term' => $term, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy, 'snippetSize' => $snippetSize, 'includeComments' => $includeComments, 'teamId' => $teamId]); + } + /** * @param ?IssueFilterInput $filter filter returned issues * @param ?string $before a cursor to be used with last for backward pagination @@ -1495,34 +1110,11 @@ public function searchProjects( * @param ?string $teamId UUID of a team to use as a boost * @returns PendingSearchIssuesQueryRequest */ - public function searchIssues( - string $term, - ?IssueFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null, - ?float $snippetSize = null, - ?bool $includeComments = null, - ?string $teamId = null - ): PendingSearchIssuesQueryRequest { - return new PendingSearchIssuesQueryRequest($this, [ - 'term' => $term, - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - 'snippetSize' => $snippetSize, - 'includeComments' => $includeComments, - 'teamId' => $teamId, - ]); - } - + public function searchIssues(string $term, ?IssueFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null, ?float $snippetSize = null, ?bool $includeComments = null, ?string $teamId = null): PendingSearchIssuesQueryRequest + { + return new PendingSearchIssuesQueryRequest($this, ['term' => $term, 'filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy, 'snippetSize' => $snippetSize, 'includeComments' => $includeComments, 'teamId' => $teamId]); + } + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1532,24 +1124,11 @@ public function searchIssues( * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingTeamMembershipsQueryRequest */ - public function teamMemberships( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingTeamMembershipsQueryRequest { - return new PendingTeamMembershipsQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function teamMemberships(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingTeamMembershipsQueryRequest + { + return new PendingTeamMembershipsQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingTeamMembershipQueryRequest @@ -1558,7 +1137,7 @@ public function teamMembership(string $id): PendingTeamMembershipQueryRequest { return new PendingTeamMembershipQueryRequest($this, ['id' => $id]); } - + /** * @param ?TeamFilterInput $filter filter returned teams * @param ?string $before a cursor to be used with last for backward pagination @@ -1569,26 +1148,11 @@ public function teamMembership(string $id): PendingTeamMembershipQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingTeamsQueryRequest */ - public function teams( - ?TeamFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingTeamsQueryRequest { - return new PendingTeamsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function teams(?TeamFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingTeamsQueryRequest + { + return new PendingTeamsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param ?TeamFilterInput $filter filter returned teams * @param ?string $before a cursor to be used with last for backward pagination @@ -1599,26 +1163,11 @@ public function teams( * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingAdministrableTeamsQueryRequest */ - public function administrableTeams( - ?TeamFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingAdministrableTeamsQueryRequest { - return new PendingAdministrableTeamsQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function administrableTeams(?TeamFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingAdministrableTeamsQueryRequest + { + return new PendingAdministrableTeamsQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingTeamQueryRequest @@ -1627,7 +1176,7 @@ public function team(string $id): PendingTeamQueryRequest { return new PendingTeamQueryRequest($this, ['id' => $id]); } - + /** * @returns PendingTemplatesQueryRequest */ @@ -1635,7 +1184,7 @@ public function templates(): PendingTemplatesQueryRequest { return new PendingTemplatesQueryRequest($this, []); } - + /** * @param string $id the identifier of the template to retrieve * @returns PendingTemplateQueryRequest @@ -1644,7 +1193,7 @@ public function template(string $id): PendingTemplateQueryRequest { return new PendingTemplateQueryRequest($this, ['id' => $id]); } - + /** * @param string $integrationType the type of integration for which to return associated templates * @returns PendingTemplatesForIntegrationQueryRequest @@ -1653,7 +1202,7 @@ public function templatesForIntegration(string $integrationType): PendingTemplat { return new PendingTemplatesForIntegrationQueryRequest($this, ['integrationType' => $integrationType]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1663,17 +1212,11 @@ public function templatesForIntegration(string $integrationType): PendingTemplat * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingTimeSchedulesQueryRequest */ - public function timeSchedules( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingTimeSchedulesQueryRequest { + public function timeSchedules(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingTimeSchedulesQueryRequest + { return new PendingTimeSchedulesQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id the identifier of the time schedule to retrieve * @returns PendingTimeScheduleQueryRequest @@ -1682,7 +1225,7 @@ public function timeSchedule(string $id): PendingTimeScheduleQueryRequest { return new PendingTimeScheduleQueryRequest($this, ['id' => $id]); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1692,24 +1235,11 @@ public function timeSchedule(string $id): PendingTimeScheduleQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingTriageResponsibilitiesQueryRequest */ - public function triageResponsibilities( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingTriageResponsibilitiesQueryRequest { - return new PendingTriageResponsibilitiesQueryRequest($this, [ - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function triageResponsibilities(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingTriageResponsibilitiesQueryRequest + { + return new PendingTriageResponsibilitiesQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id the identifier of the triage responsibility to retrieve * @returns PendingTriageResponsibilityQueryRequest @@ -1718,7 +1248,7 @@ public function triageResponsibility(string $id): PendingTriageResponsibilityQue { return new PendingTriageResponsibilityQueryRequest($this, ['id' => $id]); } - + /** * @param ?UserFilterInput $filter filter returned users * @param ?bool $includeDisabled should query return disabled/suspended users (default: false) @@ -1730,28 +1260,11 @@ public function triageResponsibility(string $id): PendingTriageResponsibilityQue * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingUsersQueryRequest */ - public function users( - ?UserFilterInput $filter = null, - ?bool $includeDisabled = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingUsersQueryRequest { - return new PendingUsersQueryRequest($this, [ - 'filter' => $filter, - 'includeDisabled' => $includeDisabled, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function users(?UserFilterInput $filter = null, ?bool $includeDisabled = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingUsersQueryRequest + { + return new PendingUsersQueryRequest($this, ['filter' => $filter, 'includeDisabled' => $includeDisabled, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id The identifier of the user to retrieve. To retrieve the authenticated user, use `viewer` query. * @returns PendingUserQueryRequest @@ -1760,7 +1273,7 @@ public function user(string $id): PendingUserQueryRequest { return new PendingUserQueryRequest($this, ['id' => $id]); } - + /** * @returns PendingViewerQueryRequest */ @@ -1768,7 +1281,7 @@ public function viewer(): PendingViewerQueryRequest { return new PendingViewerQueryRequest($this, []); } - + /** * @returns PendingUserSettingsQueryRequest */ @@ -1776,7 +1289,7 @@ public function userSettings(): PendingUserSettingsQueryRequest { return new PendingUserSettingsQueryRequest($this, []); } - + /** * @param ?string $before a cursor to be used with last for backward pagination * @param ?string $after A cursor to be used with first for forward pagination @@ -1786,17 +1299,11 @@ public function userSettings(): PendingUserSettingsQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingWebhooksQueryRequest */ - public function webhooks( - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingWebhooksQueryRequest { + public function webhooks(?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingWebhooksQueryRequest + { return new PendingWebhooksQueryRequest($this, ['before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); } - + /** * @param string $id the identifier of the webhook to retrieve * @returns PendingWebhookQueryRequest @@ -1805,7 +1312,7 @@ public function webhook(string $id): PendingWebhookQueryRequest { return new PendingWebhookQueryRequest($this, ['id' => $id]); } - + /** * @param ?WorkflowStateFilterInput $filter filter returned workflow states * @param ?string $before a cursor to be used with last for backward pagination @@ -1816,26 +1323,11 @@ public function webhook(string $id): PendingWebhookQueryRequest * @param ?PaginationOrderBy $orderBy By which field should the pagination order by. Available options are createdAt (default) and updatedAt. * @returns PendingWorkflowStatesQueryRequest */ - public function workflowStates( - ?WorkflowStateFilterInput $filter = null, - ?string $before = null, - ?string $after = null, - ?int $first = null, - ?int $last = null, - ?bool $includeArchived = null, - ?PaginationOrderBy $orderBy = null - ): PendingWorkflowStatesQueryRequest { - return new PendingWorkflowStatesQueryRequest($this, [ - 'filter' => $filter, - 'before' => $before, - 'after' => $after, - 'first' => $first, - 'last' => $last, - 'includeArchived' => $includeArchived, - 'orderBy' => $orderBy, - ]); - } - + public function workflowStates(?WorkflowStateFilterInput $filter = null, ?string $before = null, ?string $after = null, ?int $first = null, ?int $last = null, ?bool $includeArchived = null, ?PaginationOrderBy $orderBy = null): PendingWorkflowStatesQueryRequest + { + return new PendingWorkflowStatesQueryRequest($this, ['filter' => $filter, 'before' => $before, 'after' => $after, 'first' => $first, 'last' => $last, 'includeArchived' => $includeArchived, 'orderBy' => $orderBy]); + } + /** * @param string $id * @returns PendingWorkflowStateQueryRequest diff --git a/src/Data/ActorBot.php b/src/Data/ActorBot.php index 115e0635..34bc7dd0 100644 --- a/src/Data/ActorBot.php +++ b/src/Data/ActorBot.php @@ -8,13 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/ActorBot */ class ActorBot extends Data { - public function __construct( - public Optional|string $type, - public Optional|string|null $id, - public Optional|string|null $subType, - public Optional|string|null $name, - public Optional|string|null $userDisplayName, - public Optional|string|null $avatarUrl - ) { + public function __construct(public Optional|string $type, public Optional|string|null $id, public Optional|string|null $subType, public Optional|string|null $name, public Optional|string|null $userDisplayName, public Optional|string|null $avatarUrl) + { } } diff --git a/src/Data/Application.php b/src/Data/Application.php index 46966612..79ed910e 100644 --- a/src/Data/Application.php +++ b/src/Data/Application.php @@ -8,14 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/Application */ class Application extends Data { - public function __construct( - public Optional|string $id, - public Optional|string $clientId, - public Optional|string $name, - public Optional|string $developer, - public Optional|string $developerUrl, - public Optional|string|null $description, - public Optional|string|null $imageUrl - ) { + public function __construct(public Optional|string $id, public Optional|string $clientId, public Optional|string $name, public Optional|string $developer, public Optional|string $developerUrl, public Optional|string|null $description, public Optional|string|null $imageUrl) + { } } diff --git a/src/Data/AsksChannelConnectPayload.php b/src/Data/AsksChannelConnectPayload.php index b89382c0..9f19876d 100644 --- a/src/Data/AsksChannelConnectPayload.php +++ b/src/Data/AsksChannelConnectPayload.php @@ -8,12 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/AsksChannelConnectPayload */ class AsksChannelConnectPayload extends Data { - public function __construct( - public Optional|float $lastSyncId, - public Optional|bool $success, - public Optional|SlackChannelNameMapping $mapping, - public Optional|bool $addBot, - public Optional|Integration|null $integration - ) { + public function __construct(public Optional|float $lastSyncId, public Optional|bool $success, public Optional|SlackChannelNameMapping $mapping, public Optional|bool $addBot, public Optional|Integration|null $integration) + { } } diff --git a/src/Data/AuthMembership.php b/src/Data/AuthMembership.php index c05687c7..7e2319d9 100644 --- a/src/Data/AuthMembership.php +++ b/src/Data/AuthMembership.php @@ -10,7 +10,10 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/AuthMembership */ class AuthMembership extends Data { - public function __construct(public Optional|string $userId, #[LinearDate] public Optional|CarbonImmutable $createdAt) - { + public function __construct( + public Optional|string $userId, + #[LinearDate] + public Optional|CarbonImmutable $createdAt + ) { } } diff --git a/src/Data/AuthOauthClient.php b/src/Data/AuthOauthClient.php index 51d3610c..3c47136a 100644 --- a/src/Data/AuthOauthClient.php +++ b/src/Data/AuthOauthClient.php @@ -5,6 +5,8 @@ use Carbon\CarbonImmutable; use Glhd\Linearavel\Data\Casts\LinearDate; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -19,6 +21,7 @@ public function __construct( public Optional|string $developerUrl, public Optional|string $clientSecret, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $redirectUris, public Optional|bool $publicEnabled, public Optional|string $creatorId, diff --git a/src/Data/AuthOauthClientWithMemberships.php b/src/Data/AuthOauthClientWithMemberships.php index 421ffe79..2b01ced3 100644 --- a/src/Data/AuthOauthClientWithMemberships.php +++ b/src/Data/AuthOauthClientWithMemberships.php @@ -3,6 +3,8 @@ namespace Glhd\Linearavel\Data; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -12,6 +14,7 @@ class AuthOauthClientWithMemberships extends Data public function __construct( public Optional|string $name, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scope, public Optional|string $appId, public Optional|string $clientId, diff --git a/src/Data/AuthOauthClientWithScope.php b/src/Data/AuthOauthClientWithScope.php index 09a1c152..0370d626 100644 --- a/src/Data/AuthOauthClientWithScope.php +++ b/src/Data/AuthOauthClientWithScope.php @@ -3,6 +3,8 @@ namespace Glhd\Linearavel\Data; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -12,6 +14,7 @@ class AuthOauthClientWithScope extends Data public function __construct( public Optional|string $name, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scope, public Optional|string $appId, public Optional|string $clientId, diff --git a/src/Data/AuthOrganization.php b/src/Data/AuthOrganization.php index 0bb95e7c..ca9cee9a 100644 --- a/src/Data/AuthOrganization.php +++ b/src/Data/AuthOrganization.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Enums\ReleaseChannel; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -17,10 +19,12 @@ public function __construct( public Optional|string $name, public Optional|string $urlKey, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $previousUrlKeys, public Optional|ReleaseChannel $releaseChannel, public Optional|bool $samlEnabled, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $allowedAuthServices, public Optional|bool $scimEnabled, public Optional|string $serviceId, diff --git a/src/Data/AuthOrganizationDomain.php b/src/Data/AuthOrganizationDomain.php index e455bc30..09f33401 100644 --- a/src/Data/AuthOrganizationDomain.php +++ b/src/Data/AuthOrganizationDomain.php @@ -9,13 +9,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/AuthOrganizationDomain */ class AuthOrganizationDomain extends Data { - public function __construct( - public Optional|string $id, - public Optional|string $organizationId, - public Optional|string $name, - public Optional|bool $verified, - public Optional|OrganizationDomainAuthType $authType, - public Optional|bool|null $claimed - ) { + public function __construct(public Optional|string $id, public Optional|string $organizationId, public Optional|string $name, public Optional|bool $verified, public Optional|OrganizationDomainAuthType $authType, public Optional|bool|null $claimed) + { } } diff --git a/src/Data/AuthOrganizationInvite.php b/src/Data/AuthOrganizationInvite.php index 3cee6b8f..3cacff9c 100644 --- a/src/Data/AuthOrganizationInvite.php +++ b/src/Data/AuthOrganizationInvite.php @@ -10,7 +10,10 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/AuthOrganizationInvite */ class AuthOrganizationInvite extends Data { - public function __construct(public Optional|string $id, #[LinearDate] public Optional|CarbonImmutable|null $expiresAt) - { + public function __construct( + public Optional|string $id, + #[LinearDate] + public Optional|CarbonImmutable|null $expiresAt + ) { } } diff --git a/src/Data/AuthUser.php b/src/Data/AuthUser.php index 49ecd409..e2299d2b 100644 --- a/src/Data/AuthUser.php +++ b/src/Data/AuthUser.php @@ -8,15 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/AuthUser */ class AuthUser extends Data { - public function __construct( - public Optional|string $id, - public Optional|string $name, - public Optional|string $displayName, - public Optional|string $email, - public Optional|bool $active, - public Optional|string $userAccountId, - public Optional|AuthOrganization $organization, - public Optional|string|null $avatarUrl - ) { + public function __construct(public Optional|string $id, public Optional|string $name, public Optional|string $displayName, public Optional|string $email, public Optional|bool $active, public Optional|string $userAccountId, public Optional|AuthOrganization $organization, public Optional|string|null $avatarUrl) + { } } diff --git a/src/Data/AuthenticationSession.php b/src/Data/AuthenticationSession.php index 8ed2574e..a6714139 100644 --- a/src/Data/AuthenticationSession.php +++ b/src/Data/AuthenticationSession.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Enums\AuthenticationSessionType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -16,6 +18,7 @@ public function __construct( public Optional|string $id, public Optional|AuthenticationSessionType $type, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $countryCodes, #[LinearDate] public Optional|CarbonImmutable $createdAt, diff --git a/src/Data/AuthenticationSessionResponse.php b/src/Data/AuthenticationSessionResponse.php index 13591b38..c52ca9f5 100644 --- a/src/Data/AuthenticationSessionResponse.php +++ b/src/Data/AuthenticationSessionResponse.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Enums\AuthenticationSessionType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -16,6 +18,7 @@ public function __construct( public Optional|string $id, public Optional|AuthenticationSessionType $type, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $countryCodes, #[LinearDate] public Optional|CarbonImmutable $createdAt, diff --git a/src/Data/AuthorizedApplication.php b/src/Data/AuthorizedApplication.php index 0b71a9c3..dc4166c8 100644 --- a/src/Data/AuthorizedApplication.php +++ b/src/Data/AuthorizedApplication.php @@ -3,6 +3,8 @@ namespace Glhd\Linearavel\Data; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -12,6 +14,7 @@ class AuthorizedApplication extends Data public function __construct( public Optional|string $name, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scope, public Optional|string $appId, public Optional|string $clientId, diff --git a/src/Data/AuthorizedApplicationBase.php b/src/Data/AuthorizedApplicationBase.php index 4e37b545..e5485623 100644 --- a/src/Data/AuthorizedApplicationBase.php +++ b/src/Data/AuthorizedApplicationBase.php @@ -3,6 +3,8 @@ namespace Glhd\Linearavel\Data; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -12,6 +14,7 @@ class AuthorizedApplicationBase extends Data public function __construct( public Optional|string $name, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scope, public Optional|string $appId, public Optional|string $clientId, diff --git a/src/Data/Contracts/OrganizationInviteDetailsPayload.php b/src/Data/Contracts/OrganizationInviteDetailsPayload.php new file mode 100644 index 00000000..9ecc615b --- /dev/null +++ b/src/Data/Contracts/OrganizationInviteDetailsPayload.php @@ -0,0 +1,8 @@ + */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notificationSubscriptionTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/Cycle.php b/src/Data/Cycle.php index 66cc419f..37f240b3 100644 --- a/src/Data/Cycle.php +++ b/src/Data/Cycle.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Contracts\Node; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -24,14 +26,19 @@ public function __construct( #[LinearDate] public Optional|CarbonImmutable $endsAt, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $issueCountHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $completedIssueCountHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scopeHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $completedScopeHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $inProgressScopeHistory, public Optional|Team $team, public Optional|IssueConnection $issues, diff --git a/src/Data/CycleNotificationSubscription.php b/src/Data/CycleNotificationSubscription.php index 84b1a76c..9ce8b0fc 100644 --- a/src/Data/CycleNotificationSubscription.php +++ b/src/Data/CycleNotificationSubscription.php @@ -10,6 +10,8 @@ use Glhd\Linearavel\Data\Enums\ContextViewType; use Glhd\Linearavel\Data\Enums\UserContextViewType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,6 +28,7 @@ public function __construct( public Optional|Cycle $cycle, public Optional|bool $active, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notificationSubscriptionTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/DocumentContentHistory.php b/src/Data/DocumentContentHistory.php index fc80c6f7..04064cd8 100644 --- a/src/Data/DocumentContentHistory.php +++ b/src/Data/DocumentContentHistory.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Contracts\Node; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -20,6 +22,7 @@ public function __construct( public Optional|CarbonImmutable $updatedAt, public Optional|DocumentContent $documentContent, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $actorIds, #[LinearDate] public Optional|CarbonImmutable $contentDataSnapshotAt, diff --git a/src/Data/DocumentContentHistoryType.php b/src/Data/DocumentContentHistoryType.php index f58c77bb..4f889e64 100644 --- a/src/Data/DocumentContentHistoryType.php +++ b/src/Data/DocumentContentHistoryType.php @@ -5,6 +5,8 @@ use Carbon\CarbonImmutable; use Glhd\Linearavel\Data\Casts\LinearDate; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -19,6 +21,7 @@ public function __construct( public Optional|CarbonImmutable $contentDataSnapshotAt, public Optional|string $contentData, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection|null $actorIds ) { } diff --git a/src/Data/FrontSettings.php b/src/Data/FrontSettings.php index 31b29357..750f35d3 100644 --- a/src/Data/FrontSettings.php +++ b/src/Data/FrontSettings.php @@ -8,12 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/FrontSettings */ class FrontSettings extends Data { - public function __construct( - public Optional|bool|null $sendNoteOnStatusChange, - public Optional|bool|null $sendNoteOnComment, - public Optional|bool|null $automateTicketReopeningOnCompletion, - public Optional|bool|null $automateTicketReopeningOnCancellation, - public Optional|bool|null $automateTicketReopeningOnComment - ) { + public function __construct(public Optional|bool|null $sendNoteOnStatusChange, public Optional|bool|null $sendNoteOnComment, public Optional|bool|null $automateTicketReopeningOnCompletion, public Optional|bool|null $automateTicketReopeningOnCancellation, public Optional|bool|null $automateTicketReopeningOnComment) + { } } diff --git a/src/Data/GitHubRepo.php b/src/Data/GitHubRepo.php index f7b6388d..5797e837 100644 --- a/src/Data/GitHubRepo.php +++ b/src/Data/GitHubRepo.php @@ -5,10 +5,10 @@ use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; -/** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/GithubRepo */ +/** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/GitHubRepo */ class GitHubRepo extends Data { - public function __construct(public Optional|string $id, public Optional|string $name) + public function __construct(public Optional|string $fullName, public Optional|float $id) { } } diff --git a/src/Data/GithubOrg.php b/src/Data/GithubOrg.php index 577a045c..d0bf1696 100644 --- a/src/Data/GithubOrg.php +++ b/src/Data/GithubOrg.php @@ -12,7 +12,7 @@ class GithubOrg extends Data public function __construct( public Optional|string $id, public Optional|string $login, - /** @var Collection */ + /** @var Collection */ public Optional|Collection $repositories, public Optional|bool|null $isPersonal ) { diff --git a/src/Data/GithubRepo2.php b/src/Data/GithubRepo2.php new file mode 100644 index 00000000..8ffa8710 --- /dev/null +++ b/src/Data/GithubRepo2.php @@ -0,0 +1,17 @@ + */ + #[WithCast(EnumerableCast::class)] public Optional|Collection|null $missingScopes ) { } diff --git a/src/Data/IntegrationSettings.php b/src/Data/IntegrationSettings.php index 2c8866e8..e263d685 100644 --- a/src/Data/IntegrationSettings.php +++ b/src/Data/IntegrationSettings.php @@ -8,25 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/IntegrationSettings */ class IntegrationSettings extends Data { - public function __construct( - public Optional|SlackSettings|null $slack, - public Optional|SlackAsksSettings|null $slackAsks, - public Optional|SlackPostSettings|null $slackPost, - public Optional|SlackPostSettings|null $slackProjectPost, - public Optional|SlackPostSettings|null $slackOrgProjectUpdatesPost, - public Optional|GoogleSheetsSettings|null $googleSheets, - public Optional|GitHubSettings|null $gitHub, - public Optional|GitHubPersonalSettings|null $gitHubPersonal, - public Optional|GitLabSettings|null $gitLab, - public Optional|SentrySettings|null $sentry, - public Optional|ZendeskSettings|null $zendesk, - public Optional|IntercomSettings|null $intercom, - public Optional|FrontSettings|null $front, - public Optional|JiraSettings|null $jira, - public Optional|NotionSettings|null $notion, - public Optional|OpsgenieSettings|null $opsgenie, - public Optional|PagerDutySettings|null $pagerDuty, - public Optional|JiraPersonalSettings|null $jiraPersonal - ) { + public function __construct(public Optional|SlackSettings|null $slack, public Optional|SlackAsksSettings|null $slackAsks, public Optional|SlackPostSettings|null $slackPost, public Optional|SlackPostSettings|null $slackProjectPost, public Optional|SlackPostSettings|null $slackOrgProjectUpdatesPost, public Optional|GoogleSheetsSettings|null $googleSheets, public Optional|GitHubSettings|null $gitHub, public Optional|GitHubPersonalSettings|null $gitHubPersonal, public Optional|GitLabSettings|null $gitLab, public Optional|SentrySettings|null $sentry, public Optional|ZendeskSettings|null $zendesk, public Optional|IntercomSettings|null $intercom, public Optional|FrontSettings|null $front, public Optional|JiraSettings|null $jira, public Optional|NotionSettings|null $notion, public Optional|OpsgenieSettings|null $opsgenie, public Optional|PagerDutySettings|null $pagerDuty, public Optional|JiraPersonalSettings|null $jiraPersonal) + { } } diff --git a/src/Data/IntercomSettings.php b/src/Data/IntercomSettings.php index dd798d28..1568c9f9 100644 --- a/src/Data/IntercomSettings.php +++ b/src/Data/IntercomSettings.php @@ -8,12 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/IntercomSettings */ class IntercomSettings extends Data { - public function __construct( - public Optional|bool|null $sendNoteOnStatusChange, - public Optional|bool|null $sendNoteOnComment, - public Optional|bool|null $automateTicketReopeningOnCompletion, - public Optional|bool|null $automateTicketReopeningOnCancellation, - public Optional|bool|null $automateTicketReopeningOnComment - ) { + public function __construct(public Optional|bool|null $sendNoteOnStatusChange, public Optional|bool|null $sendNoteOnComment, public Optional|bool|null $automateTicketReopeningOnCompletion, public Optional|bool|null $automateTicketReopeningOnCancellation, public Optional|bool|null $automateTicketReopeningOnComment) + { } } diff --git a/src/Data/Issue.php b/src/Data/Issue.php index ff9eb29c..3b148872 100644 --- a/src/Data/Issue.php +++ b/src/Data/Issue.php @@ -7,6 +7,8 @@ use Glhd\Linearavel\Data\Contracts\Node; use Glhd\Linearavel\Data\Enums\IntegrationService; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -25,9 +27,11 @@ public function __construct( public Optional|float $boardOrder, public Optional|float $sortOrder, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $labelIds, public Optional|Team $team, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $previousIdentifiers, public Optional|WorkflowState $state, public Optional|string $priorityLabel, diff --git a/src/Data/IssueHistory.php b/src/Data/IssueHistory.php index 638a29af..da5f53b3 100644 --- a/src/Data/IssueHistory.php +++ b/src/Data/IssueHistory.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Contracts\Node; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -62,8 +64,10 @@ public function __construct( public Optional|Attachment|null $attachment, public Optional|string|null $attachmentId, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection|null $addedLabelIds, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection|null $removedLabelIds, /** @var Collection */ public Optional|Collection|null $relationChanges, diff --git a/src/Data/IssueNotification.php b/src/Data/IssueNotification.php index ae1b49d2..947133a2 100644 --- a/src/Data/IssueNotification.php +++ b/src/Data/IssueNotification.php @@ -9,6 +9,8 @@ use Glhd\Linearavel\Data\Contracts\Notification; use Glhd\Linearavel\Data\Contracts\NotificationSubscription; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -41,6 +43,7 @@ public function __construct( public Optional|string|null $reactionEmoji, public Optional|Comment|null $comment, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection|null $subscriptions ) { } diff --git a/src/Data/IssueSearchResult.php b/src/Data/IssueSearchResult.php index f8a97bc5..37a93557 100644 --- a/src/Data/IssueSearchResult.php +++ b/src/Data/IssueSearchResult.php @@ -7,6 +7,8 @@ use Glhd\Linearavel\Data\Contracts\Node; use Glhd\Linearavel\Data\Enums\IntegrationService; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -25,9 +27,11 @@ public function __construct( public Optional|float $boardOrder, public Optional|float $sortOrder, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $labelIds, public Optional|Team $team, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $previousIdentifiers, public Optional|WorkflowState $state, public Optional|string $priorityLabel, diff --git a/src/Data/LabelNotificationSubscription.php b/src/Data/LabelNotificationSubscription.php index 27733582..dea08dc3 100644 --- a/src/Data/LabelNotificationSubscription.php +++ b/src/Data/LabelNotificationSubscription.php @@ -10,6 +10,8 @@ use Glhd\Linearavel\Data\Enums\ContextViewType; use Glhd\Linearavel\Data\Enums\UserContextViewType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,6 +28,7 @@ public function __construct( public Optional|IssueLabel $label, public Optional|bool $active, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notificationSubscriptionTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/NotificationBatchActionPayload.php b/src/Data/NotificationBatchActionPayload.php index 221909e9..f2a47ef6 100644 --- a/src/Data/NotificationBatchActionPayload.php +++ b/src/Data/NotificationBatchActionPayload.php @@ -4,6 +4,8 @@ use Glhd\Linearavel\Data\Contracts\Notification; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -13,6 +15,7 @@ class NotificationBatchActionPayload extends Data public function __construct( public Optional|float $lastSyncId, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notifications, public Optional|bool $success ) { diff --git a/src/Data/NotificationConnection.php b/src/Data/NotificationConnection.php index e518f8dc..f4bd2b31 100644 --- a/src/Data/NotificationConnection.php +++ b/src/Data/NotificationConnection.php @@ -5,6 +5,8 @@ use Glhd\Linearavel\Data\Contracts\Notification; use Glhd\Linearavel\Data\Wrappers\Connection; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Optional; /** @@ -17,6 +19,7 @@ public function __construct( /** @var Collection */ public Optional|Collection $edges, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $nodes, public Optional|PageInfo $pageInfo ) { diff --git a/src/Data/NotificationSubscriptionConnection.php b/src/Data/NotificationSubscriptionConnection.php index a54a24b2..402f6555 100644 --- a/src/Data/NotificationSubscriptionConnection.php +++ b/src/Data/NotificationSubscriptionConnection.php @@ -5,6 +5,8 @@ use Glhd\Linearavel\Data\Contracts\NotificationSubscription; use Glhd\Linearavel\Data\Wrappers\Connection; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Optional; /** @@ -17,6 +19,7 @@ public function __construct( /** @var Collection */ public Optional|Collection $edges, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $nodes, public Optional|PageInfo $pageInfo ) { diff --git a/src/Data/OauthClient.php b/src/Data/OauthClient.php index faa70875..16f19a33 100644 --- a/src/Data/OauthClient.php +++ b/src/Data/OauthClient.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Contracts\Node; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -24,11 +26,13 @@ public function __construct( public Optional|string $developerUrl, public Optional|string $clientSecret, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $redirectUris, public Optional|bool $publicEnabled, public Optional|User $creator, public Optional|Organization $organization, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $webhookResourceTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/OauthClientApproval.php b/src/Data/OauthClientApproval.php index 71d28883..a759198c 100644 --- a/src/Data/OauthClientApproval.php +++ b/src/Data/OauthClientApproval.php @@ -7,6 +7,8 @@ use Glhd\Linearavel\Data\Contracts\Node; use Glhd\Linearavel\Data\Enums\OAuthClientApprovalStatus; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -23,6 +25,7 @@ public function __construct( public Optional|string $requesterId, public Optional|OAuthClientApprovalStatus $status, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scopes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/OpsgenieSettings.php b/src/Data/OpsgenieSettings.php index 4fd8193b..6a11afac 100644 --- a/src/Data/OpsgenieSettings.php +++ b/src/Data/OpsgenieSettings.php @@ -10,7 +10,9 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/OpsgenieSettings */ class OpsgenieSettings extends Data { - public function __construct(#[LinearDate] public Optional|CarbonImmutable $apiFailedWithUnauthorizedErrorAt) - { + public function __construct( + #[LinearDate] + public Optional|CarbonImmutable $apiFailedWithUnauthorizedErrorAt + ) { } } diff --git a/src/Data/Organization.php b/src/Data/Organization.php index 35c2160c..69c57c36 100644 --- a/src/Data/Organization.php +++ b/src/Data/Organization.php @@ -10,6 +10,8 @@ use Glhd\Linearavel\Data\Enums\ReleaseChannel; use Glhd\Linearavel\Data\Enums\SLADayCountType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -35,8 +37,10 @@ public function __construct( public Optional|bool $samlEnabled, public Optional|bool $scimEnabled, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $allowedAuthServices, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $previousUrlKeys, public Optional|ReleaseChannel $releaseChannel, public Optional|SLADayCountType $slaDayCount, diff --git a/src/Data/OrganizationAcceptedOrExpiredInviteDetailsPayload.php b/src/Data/OrganizationAcceptedOrExpiredInviteDetailsPayload.php index 29e8e55c..346baf54 100644 --- a/src/Data/OrganizationAcceptedOrExpiredInviteDetailsPayload.php +++ b/src/Data/OrganizationAcceptedOrExpiredInviteDetailsPayload.php @@ -2,12 +2,13 @@ namespace Glhd\Linearavel\Data; +use Glhd\Linearavel\Data\Contracts\OrganizationInviteDetailsPayload; use Glhd\Linearavel\Data\Enums\OrganizationInviteStatus; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/OrganizationAcceptedOrExpiredInviteDetailsPayload */ -class OrganizationAcceptedOrExpiredInviteDetailsPayload extends Data +class OrganizationAcceptedOrExpiredInviteDetailsPayload extends Data implements OrganizationInviteDetailsPayload { public function __construct(public Optional|OrganizationInviteStatus $status) { diff --git a/src/Data/OrganizationInviteFullDetailsPayload.php b/src/Data/OrganizationInviteFullDetailsPayload.php index fff6e478..207826d1 100644 --- a/src/Data/OrganizationInviteFullDetailsPayload.php +++ b/src/Data/OrganizationInviteFullDetailsPayload.php @@ -4,13 +4,14 @@ use Carbon\CarbonImmutable; use Glhd\Linearavel\Data\Casts\LinearDate; +use Glhd\Linearavel\Data\Contracts\OrganizationInviteDetailsPayload; use Glhd\Linearavel\Data\Enums\OrganizationInviteStatus; use Glhd\Linearavel\Data\Enums\UserRoleType; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/OrganizationInviteFullDetailsPayload */ -class OrganizationInviteFullDetailsPayload extends Data +class OrganizationInviteFullDetailsPayload extends Data implements OrganizationInviteDetailsPayload { public function __construct( public Optional|OrganizationInviteStatus $status, diff --git a/src/Data/PagerDutySettings.php b/src/Data/PagerDutySettings.php index 4bd2f327..5c492d14 100644 --- a/src/Data/PagerDutySettings.php +++ b/src/Data/PagerDutySettings.php @@ -10,7 +10,9 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/PagerDutySettings */ class PagerDutySettings extends Data { - public function __construct(#[LinearDate] public Optional|CarbonImmutable $apiFailedWithUnauthorizedErrorAt) - { + public function __construct( + #[LinearDate] + public Optional|CarbonImmutable $apiFailedWithUnauthorizedErrorAt + ) { } } diff --git a/src/Data/Project.php b/src/Data/Project.php index 8be33608..514330b7 100644 --- a/src/Data/Project.php +++ b/src/Data/Project.php @@ -7,6 +7,8 @@ use Glhd\Linearavel\Data\Contracts\Node; use Glhd\Linearavel\Data\Enums\DateResolutionType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,14 +28,19 @@ public function __construct( public Optional|ProjectStatus $status, public Optional|float $sortOrder, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $issueCountHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $completedIssueCountHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scopeHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $completedScopeHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $inProgressScopeHistory, public Optional|bool $slackNewIssue, public Optional|bool $slackIssueComments, diff --git a/src/Data/ProjectNotificationSubscription.php b/src/Data/ProjectNotificationSubscription.php index 84e65339..c0910d07 100644 --- a/src/Data/ProjectNotificationSubscription.php +++ b/src/Data/ProjectNotificationSubscription.php @@ -10,6 +10,8 @@ use Glhd\Linearavel\Data\Enums\ContextViewType; use Glhd\Linearavel\Data\Enums\UserContextViewType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,6 +28,7 @@ public function __construct( public Optional|Project $project, public Optional|bool $active, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notificationSubscriptionTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/ProjectSearchResult.php b/src/Data/ProjectSearchResult.php index 8a95c8e3..563d2be0 100644 --- a/src/Data/ProjectSearchResult.php +++ b/src/Data/ProjectSearchResult.php @@ -7,6 +7,8 @@ use Glhd\Linearavel\Data\Contracts\Node; use Glhd\Linearavel\Data\Enums\DateResolutionType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,14 +28,19 @@ public function __construct( public Optional|ProjectStatus $status, public Optional|float $sortOrder, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $issueCountHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $completedIssueCountHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scopeHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $completedScopeHistory, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $inProgressScopeHistory, public Optional|bool $slackNewIssue, public Optional|bool $slackIssueComments, diff --git a/src/Data/RateLimitResultPayload.php b/src/Data/RateLimitResultPayload.php index 784aa0f2..f540a327 100644 --- a/src/Data/RateLimitResultPayload.php +++ b/src/Data/RateLimitResultPayload.php @@ -8,13 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/RateLimitResultPayload */ class RateLimitResultPayload extends Data { - public function __construct( - public Optional|string $type, - public Optional|float $requestedAmount, - public Optional|float $allowedAmount, - public Optional|float $period, - public Optional|float $remainingAmount, - public Optional|float $reset - ) { + public function __construct(public Optional|string $type, public Optional|float $requestedAmount, public Optional|float $allowedAmount, public Optional|float $period, public Optional|float $remainingAmount, public Optional|float $reset) + { } } diff --git a/src/Data/SlackChannelConnectPayload.php b/src/Data/SlackChannelConnectPayload.php index 74a22f9f..956879c1 100644 --- a/src/Data/SlackChannelConnectPayload.php +++ b/src/Data/SlackChannelConnectPayload.php @@ -8,13 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/SlackChannelConnectPayload */ class SlackChannelConnectPayload extends Data { - public function __construct( - public Optional|float $lastSyncId, - public Optional|bool $success, - public Optional|bool $addBot, - public Optional|Integration|null $integration, - public Optional|bool|null $nudgeToConnectMainSlackIntegration, - public Optional|bool|null $nudgeToUpdateMainSlackIntegration - ) { + public function __construct(public Optional|float $lastSyncId, public Optional|bool $success, public Optional|bool $addBot, public Optional|Integration|null $integration, public Optional|bool|null $nudgeToConnectMainSlackIntegration, public Optional|bool|null $nudgeToUpdateMainSlackIntegration) + { } } diff --git a/src/Data/TeamNotificationSubscription.php b/src/Data/TeamNotificationSubscription.php index a89b8593..6a2eb8f1 100644 --- a/src/Data/TeamNotificationSubscription.php +++ b/src/Data/TeamNotificationSubscription.php @@ -10,6 +10,8 @@ use Glhd\Linearavel\Data\Enums\ContextViewType; use Glhd\Linearavel\Data\Enums\UserContextViewType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,6 +28,7 @@ public function __construct( public Optional|Team $team, public Optional|bool $active, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notificationSubscriptionTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/TriageResponsibilityManualSelection.php b/src/Data/TriageResponsibilityManualSelection.php index 860893a9..7a04814b 100644 --- a/src/Data/TriageResponsibilityManualSelection.php +++ b/src/Data/TriageResponsibilityManualSelection.php @@ -3,6 +3,8 @@ namespace Glhd\Linearavel\Data; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -11,6 +13,7 @@ class TriageResponsibilityManualSelection extends Data { public function __construct( /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $userIds, public Optional|int|null $assignmentIndex ) { diff --git a/src/Data/UserAuthorizedApplication.php b/src/Data/UserAuthorizedApplication.php index 932eeb41..155a822e 100644 --- a/src/Data/UserAuthorizedApplication.php +++ b/src/Data/UserAuthorizedApplication.php @@ -8,18 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/UserAuthorizedApplication */ class UserAuthorizedApplication extends Data { - public function __construct( - public Optional|string $id, - public Optional|string $clientId, - public Optional|string $name, - public Optional|string $developer, - public Optional|string $developerUrl, - public Optional|bool $isAuthorized, - public Optional|bool $createdByLinear, - public Optional|bool $webhooksEnabled, - public Optional|string|null $description, - public Optional|string|null $imageUrl, - public Optional|string|null $approvalErrorCode - ) { + public function __construct(public Optional|string $id, public Optional|string $clientId, public Optional|string $name, public Optional|string $developer, public Optional|string $developerUrl, public Optional|bool $isAuthorized, public Optional|bool $createdByLinear, public Optional|bool $webhooksEnabled, public Optional|string|null $description, public Optional|string|null $imageUrl, public Optional|string|null $approvalErrorCode) + { } } diff --git a/src/Data/UserNotificationSubscription.php b/src/Data/UserNotificationSubscription.php index a6e032a5..c45ee63e 100644 --- a/src/Data/UserNotificationSubscription.php +++ b/src/Data/UserNotificationSubscription.php @@ -10,6 +10,8 @@ use Glhd\Linearavel\Data\Enums\ContextViewType; use Glhd\Linearavel\Data\Enums\UserContextViewType; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -26,6 +28,7 @@ public function __construct( public Optional|User $user, public Optional|bool $active, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $notificationSubscriptionTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/UserSettings.php b/src/Data/UserSettings.php index 2db29c21..bf5efa15 100644 --- a/src/Data/UserSettings.php +++ b/src/Data/UserSettings.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Contracts\Node; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -20,6 +22,7 @@ public function __construct( public Optional|CarbonImmutable $updatedAt, public Optional|string $notificationPreferences, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $unsubscribedFrom, public Optional|User $user, public Optional|bool $subscribedToChangelog, diff --git a/src/Data/Webhook.php b/src/Data/Webhook.php index 93367b78..f88ef5f5 100644 --- a/src/Data/Webhook.php +++ b/src/Data/Webhook.php @@ -6,6 +6,8 @@ use Glhd\Linearavel\Data\Casts\LinearDate; use Glhd\Linearavel\Data\Contracts\Node; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -21,6 +23,7 @@ public function __construct( public Optional|bool $enabled, public Optional|bool $allPublicTeams, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $resourceTypes, #[LinearDate] public Optional|CarbonImmutable|null $archivedAt, diff --git a/src/Data/WorkspaceAuthorizedApplication.php b/src/Data/WorkspaceAuthorizedApplication.php index d35ec294..efbfc4a8 100644 --- a/src/Data/WorkspaceAuthorizedApplication.php +++ b/src/Data/WorkspaceAuthorizedApplication.php @@ -3,6 +3,8 @@ namespace Glhd\Linearavel\Data; use Illuminate\Support\Collection; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Data; use Spatie\LaravelData\Optional; @@ -12,6 +14,7 @@ class WorkspaceAuthorizedApplication extends Data public function __construct( public Optional|string $name, /** @var Collection */ + #[WithCast(EnumerableCast::class)] public Optional|Collection $scope, public Optional|string $appId, public Optional|string $clientId, diff --git a/src/Data/ZendeskSettings.php b/src/Data/ZendeskSettings.php index 68796997..c9a02bd1 100644 --- a/src/Data/ZendeskSettings.php +++ b/src/Data/ZendeskSettings.php @@ -8,15 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/objects/ZendeskSettings */ class ZendeskSettings extends Data { - public function __construct( - public Optional|string $subdomain, - public Optional|string $url, - public Optional|bool|null $sendNoteOnStatusChange, - public Optional|bool|null $sendNoteOnComment, - public Optional|bool|null $automateTicketReopeningOnCompletion, - public Optional|bool|null $automateTicketReopeningOnCancellation, - public Optional|bool|null $automateTicketReopeningOnComment, - public Optional|string|null $botUserId - ) { + public function __construct(public Optional|string $subdomain, public Optional|string $url, public Optional|bool|null $sendNoteOnStatusChange, public Optional|bool|null $sendNoteOnComment, public Optional|bool|null $automateTicketReopeningOnCompletion, public Optional|bool|null $automateTicketReopeningOnCancellation, public Optional|bool|null $automateTicketReopeningOnComment, public Optional|string|null $botUserId) + { } } diff --git a/src/Exceptions/LinearRequestException.php b/src/Exceptions/LinearRequestException.php new file mode 100644 index 00000000..d84953d6 --- /dev/null +++ b/src/Exceptions/LinearRequestException.php @@ -0,0 +1,59 @@ +> */ + protected array $errors; + + public function __construct(Response $response, array $errors, ?Throwable $previous = null) + { + $this->errors = $errors; + + parent::__construct($response, static::summarize($errors), 0, $previous); + } + + /** @return array> The raw GraphQL errors */ + public function errors(): array + { + return $this->errors; + } + + /** @return Collection */ + public function messages(): Collection + { + return collect($this->errors) + ->map(fn($error) => data_get($error, 'extensions.userPresentableMessage') ?: data_get($error, 'message')) + ->filter() + ->values(); + } + + /** The Linear error codes, e.g. `AUTHENTICATION_ERROR` or `RATELIMITED`. */ + public function codes(): Collection + { + return collect($this->errors) + ->map(fn($error) => data_get($error, 'extensions.code')) + ->filter() + ->values(); + } + + protected static function summarize(array $errors): string + { + $messages = collect($errors) + ->map(fn($error) => data_get($error, 'message')) + ->filter() + ->implode('; '); + + return $messages ?: 'The Linear API returned an unknown GraphQL error.'; + } +} diff --git a/src/Requests/Inputs/AttachmentCreateInput.php b/src/Requests/Inputs/AttachmentCreateInput.php index 6ddfbc7d..a2d08f88 100644 --- a/src/Requests/Inputs/AttachmentCreateInput.php +++ b/src/Requests/Inputs/AttachmentCreateInput.php @@ -5,18 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/AttachmentCreateInput */ class AttachmentCreateInput { - public function __construct( - public string $title, - public string $url, - public string $issueId, - public ?string $id = null, - public ?string $subtitle = null, - public ?string $iconUrl = null, - public ?string $metadata = null, - public ?bool $groupBySource = null, - public ?string $commentBody = null, - public ?string $commentBodyData = null, - public ?string $createAsUser = null - ) { + public function __construct(public string $title, public string $url, public string $issueId, public ?string $id = null, public ?string $subtitle = null, public ?string $iconUrl = null, public ?string $metadata = null, public ?bool $groupBySource = null, public ?string $commentBody = null, public ?string $commentBodyData = null, public ?string $createAsUser = null) + { } } diff --git a/src/Requests/Inputs/AuditEntryFilterInput.php b/src/Requests/Inputs/AuditEntryFilterInput.php index 46a89479..b38f4f82 100644 --- a/src/Requests/Inputs/AuditEntryFilterInput.php +++ b/src/Requests/Inputs/AuditEntryFilterInput.php @@ -5,14 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/AuditEntryFilter */ class AuditEntryFilterInput { - public function __construct( - public ?IDComparatorInput $id = null, - public ?DateComparatorInput $createdAt = null, - public ?DateComparatorInput $updatedAt = null, - public ?StringComparatorInput $type = null, - public ?StringComparatorInput $ip = null, - public ?StringComparatorInput $countryCode = null, - public ?NullableUserFilterInput $actor = null - ) { + public function __construct(public ?IDComparatorInput $id = null, public ?DateComparatorInput $createdAt = null, public ?DateComparatorInput $updatedAt = null, public ?StringComparatorInput $type = null, public ?StringComparatorInput $ip = null, public ?StringComparatorInput $countryCode = null, public ?NullableUserFilterInput $actor = null) + { } } diff --git a/src/Requests/Inputs/CommentCreateInput.php b/src/Requests/Inputs/CommentCreateInput.php index 29d8b7dd..0c954a8d 100644 --- a/src/Requests/Inputs/CommentCreateInput.php +++ b/src/Requests/Inputs/CommentCreateInput.php @@ -7,20 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/CommentCreateInput */ class CommentCreateInput { - public function __construct( - public ?string $id = null, - public ?string $body = null, - public ?string $bodyData = null, - public ?string $issueId = null, - public ?string $projectUpdateId = null, - public ?string $documentContentId = null, - public ?string $parentId = null, - public ?string $createAsUser = null, - public ?string $displayIconUrl = null, - public ?DateTimeInterface $createdAt = null, - public ?bool $doNotSubscribeToIssue = null, - public ?bool $createOnSyncedSlackThread = null, - public ?string $quotedText = null - ) { + public function __construct(public ?string $id = null, public ?string $body = null, public ?string $bodyData = null, public ?string $issueId = null, public ?string $projectUpdateId = null, public ?string $documentContentId = null, public ?string $parentId = null, public ?string $createAsUser = null, public ?string $displayIconUrl = null, public ?DateTimeInterface $createdAt = null, public ?bool $doNotSubscribeToIssue = null, public ?bool $createOnSyncedSlackThread = null, public ?string $quotedText = null) + { } } diff --git a/src/Requests/Inputs/CommentUpdateInput.php b/src/Requests/Inputs/CommentUpdateInput.php index 6242ae1a..d6c60df8 100644 --- a/src/Requests/Inputs/CommentUpdateInput.php +++ b/src/Requests/Inputs/CommentUpdateInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/CommentUpdateInput */ class CommentUpdateInput { - public function __construct( - public ?string $body = null, - public ?string $bodyData = null, - public ?string $resolvingUserId = null, - public ?string $resolvingCommentId = null, - public ?string $quotedText = null - ) { + public function __construct(public ?string $body = null, public ?string $bodyData = null, public ?string $resolvingUserId = null, public ?string $resolvingCommentId = null, public ?string $quotedText = null) + { } } diff --git a/src/Requests/Inputs/ContactCreateInput.php b/src/Requests/Inputs/ContactCreateInput.php index ab56ef43..55798454 100644 --- a/src/Requests/Inputs/ContactCreateInput.php +++ b/src/Requests/Inputs/ContactCreateInput.php @@ -5,14 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/ContactCreateInput */ class ContactCreateInput { - public function __construct( - public string $type, - public string $message, - public ?string $operatingSystem = null, - public ?string $browser = null, - public ?string $device = null, - public ?string $clientVersion = null, - public ?int $disappointmentRating = null - ) { + public function __construct(public string $type, public string $message, public ?string $operatingSystem = null, public ?string $browser = null, public ?string $device = null, public ?string $clientVersion = null, public ?int $disappointmentRating = null) + { } } diff --git a/src/Requests/Inputs/CustomViewCreateInput.php b/src/Requests/Inputs/CustomViewCreateInput.php index 2ffdf97d..bd367924 100644 --- a/src/Requests/Inputs/CustomViewCreateInput.php +++ b/src/Requests/Inputs/CustomViewCreateInput.php @@ -5,19 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/CustomViewCreateInput */ class CustomViewCreateInput { - public function __construct( - public string $name, - public ?string $id = null, - public ?string $description = null, - public ?string $icon = null, - public ?string $color = null, - public ?string $teamId = null, - public ?string $projectId = null, - public ?string $ownerId = null, - public ?string $filters = null, - public ?string $filterData = null, - public ?string $projectFilterData = null, - public ?bool $shared = null - ) { + public function __construct(public string $name, public ?string $id = null, public ?string $description = null, public ?string $icon = null, public ?string $color = null, public ?string $teamId = null, public ?string $projectId = null, public ?string $ownerId = null, public ?string $filters = null, public ?string $filterData = null, public ?string $projectFilterData = null, public ?bool $shared = null) + { } } diff --git a/src/Requests/Inputs/CustomViewUpdateInput.php b/src/Requests/Inputs/CustomViewUpdateInput.php index 5f2d3976..78557626 100644 --- a/src/Requests/Inputs/CustomViewUpdateInput.php +++ b/src/Requests/Inputs/CustomViewUpdateInput.php @@ -5,18 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/CustomViewUpdateInput */ class CustomViewUpdateInput { - public function __construct( - public ?string $name = null, - public ?string $description = null, - public ?string $icon = null, - public ?string $color = null, - public ?string $teamId = null, - public ?string $projectId = null, - public ?string $ownerId = null, - public ?string $filters = null, - public ?string $filterData = null, - public ?string $projectFilterData = null, - public ?bool $shared = null - ) { + public function __construct(public ?string $name = null, public ?string $description = null, public ?string $icon = null, public ?string $color = null, public ?string $teamId = null, public ?string $projectId = null, public ?string $ownerId = null, public ?string $filters = null, public ?string $filterData = null, public ?string $projectFilterData = null, public ?bool $shared = null) + { } } diff --git a/src/Requests/Inputs/CycleCreateInput.php b/src/Requests/Inputs/CycleCreateInput.php index 35386817..d3c89e8a 100644 --- a/src/Requests/Inputs/CycleCreateInput.php +++ b/src/Requests/Inputs/CycleCreateInput.php @@ -7,14 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/CycleCreateInput */ class CycleCreateInput { - public function __construct( - public string $teamId, - public DateTimeInterface $startsAt, - public DateTimeInterface $endsAt, - public ?string $id = null, - public ?string $name = null, - public ?string $description = null, - public ?DateTimeInterface $completedAt = null - ) { + public function __construct(public string $teamId, public DateTimeInterface $startsAt, public DateTimeInterface $endsAt, public ?string $id = null, public ?string $name = null, public ?string $description = null, public ?DateTimeInterface $completedAt = null) + { } } diff --git a/src/Requests/Inputs/CycleUpdateInput.php b/src/Requests/Inputs/CycleUpdateInput.php index b2a0b1df..f789c19c 100644 --- a/src/Requests/Inputs/CycleUpdateInput.php +++ b/src/Requests/Inputs/CycleUpdateInput.php @@ -7,12 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/CycleUpdateInput */ class CycleUpdateInput { - public function __construct( - public ?string $name = null, - public ?string $description = null, - public ?DateTimeInterface $startsAt = null, - public ?DateTimeInterface $endsAt = null, - public ?DateTimeInterface $completedAt = null - ) { + public function __construct(public ?string $name = null, public ?string $description = null, public ?DateTimeInterface $startsAt = null, public ?DateTimeInterface $endsAt = null, public ?DateTimeInterface $completedAt = null) + { } } diff --git a/src/Requests/Inputs/DocumentContentFilterInput.php b/src/Requests/Inputs/DocumentContentFilterInput.php index 185fb0eb..841ccbc1 100644 --- a/src/Requests/Inputs/DocumentContentFilterInput.php +++ b/src/Requests/Inputs/DocumentContentFilterInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/DocumentContentFilter */ class DocumentContentFilterInput { - public function __construct( - public ?IDComparatorInput $id = null, - public ?DateComparatorInput $createdAt = null, - public ?DateComparatorInput $updatedAt = null, - public ?ProjectFilterInput $project = null, - public ?DocumentFilterInput $document = null - ) { + public function __construct(public ?IDComparatorInput $id = null, public ?DateComparatorInput $createdAt = null, public ?DateComparatorInput $updatedAt = null, public ?ProjectFilterInput $project = null, public ?DocumentFilterInput $document = null) + { } } diff --git a/src/Requests/Inputs/DocumentCreateInput.php b/src/Requests/Inputs/DocumentCreateInput.php index 5f341d2e..32e67a68 100644 --- a/src/Requests/Inputs/DocumentCreateInput.php +++ b/src/Requests/Inputs/DocumentCreateInput.php @@ -5,16 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/DocumentCreateInput */ class DocumentCreateInput { - public function __construct( - public string $title, - public string $projectId, - public ?string $id = null, - public ?string $icon = null, - public ?string $color = null, - public ?string $contentData = null, - public ?string $content = null, - public ?string $lastAppliedTemplateId = null, - public ?float $sortOrder = null - ) { + public function __construct(public string $title, public string $projectId, public ?string $id = null, public ?string $icon = null, public ?string $color = null, public ?string $contentData = null, public ?string $content = null, public ?string $lastAppliedTemplateId = null, public ?float $sortOrder = null) + { } } diff --git a/src/Requests/Inputs/DocumentUpdateInput.php b/src/Requests/Inputs/DocumentUpdateInput.php index 32c514ec..0abacd7d 100644 --- a/src/Requests/Inputs/DocumentUpdateInput.php +++ b/src/Requests/Inputs/DocumentUpdateInput.php @@ -5,15 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/DocumentUpdateInput */ class DocumentUpdateInput { - public function __construct( - public ?string $title = null, - public ?string $icon = null, - public ?string $color = null, - public ?string $contentData = null, - public ?string $content = null, - public ?string $projectId = null, - public ?string $lastAppliedTemplateId = null, - public ?float $sortOrder = null - ) { + public function __construct(public ?string $title = null, public ?string $icon = null, public ?string $color = null, public ?string $contentData = null, public ?string $content = null, public ?string $projectId = null, public ?string $lastAppliedTemplateId = null, public ?float $sortOrder = null) + { } } diff --git a/src/Requests/Inputs/FavoriteCreateInput.php b/src/Requests/Inputs/FavoriteCreateInput.php index 61976da0..1e9d673a 100644 --- a/src/Requests/Inputs/FavoriteCreateInput.php +++ b/src/Requests/Inputs/FavoriteCreateInput.php @@ -7,25 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/FavoriteCreateInput */ class FavoriteCreateInput { - public function __construct( - public ?string $id = null, - public ?string $folderName = null, - public ?string $parentId = null, - public ?string $issueId = null, - public ?string $facetId = null, - public ?string $projectId = null, - public ?ProjectTab $projectTab = null, - public ?string $projectTeamId = null, - public ?string $predefinedViewType = null, - public ?string $predefinedViewTeamId = null, - public ?string $cycleId = null, - public ?string $customViewId = null, - public ?string $documentId = null, - public ?string $roadmapId = null, - public ?string $initiativeId = null, - public ?string $labelId = null, - public ?string $userId = null, - public ?float $sortOrder = null - ) { + public function __construct(public ?string $id = null, public ?string $folderName = null, public ?string $parentId = null, public ?string $issueId = null, public ?string $facetId = null, public ?string $projectId = null, public ?ProjectTab $projectTab = null, public ?string $projectTeamId = null, public ?string $predefinedViewType = null, public ?string $predefinedViewTeamId = null, public ?string $cycleId = null, public ?string $customViewId = null, public ?string $documentId = null, public ?string $roadmapId = null, public ?string $initiativeId = null, public ?string $labelId = null, public ?string $userId = null, public ?float $sortOrder = null) + { } } diff --git a/src/Requests/Inputs/FrontSettingsInput.php b/src/Requests/Inputs/FrontSettingsInput.php index 3c573073..46da4a4a 100644 --- a/src/Requests/Inputs/FrontSettingsInput.php +++ b/src/Requests/Inputs/FrontSettingsInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/FrontSettingsInput */ class FrontSettingsInput { - public function __construct( - public ?bool $sendNoteOnStatusChange = null, - public ?bool $sendNoteOnComment = null, - public ?bool $automateTicketReopeningOnCompletion = null, - public ?bool $automateTicketReopeningOnCancellation = null, - public ?bool $automateTicketReopeningOnComment = null - ) { + public function __construct(public ?bool $sendNoteOnStatusChange = null, public ?bool $sendNoteOnComment = null, public ?bool $automateTicketReopeningOnCompletion = null, public ?bool $automateTicketReopeningOnCancellation = null, public ?bool $automateTicketReopeningOnComment = null) + { } } diff --git a/src/Requests/Inputs/GitAutomationStateCreateInput.php b/src/Requests/Inputs/GitAutomationStateCreateInput.php index c0813a32..f24449d5 100644 --- a/src/Requests/Inputs/GitAutomationStateCreateInput.php +++ b/src/Requests/Inputs/GitAutomationStateCreateInput.php @@ -7,13 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/GitAutomationStateCreateInput */ class GitAutomationStateCreateInput { - public function __construct( - public string $teamId, - public GitAutomationStates $event, - public ?string $id = null, - public ?string $stateId = null, - public ?string $branchPattern = null, - public ?string $targetBranchId = null - ) { + public function __construct(public string $teamId, public GitAutomationStates $event, public ?string $id = null, public ?string $stateId = null, public ?string $branchPattern = null, public ?string $targetBranchId = null) + { } } diff --git a/src/Requests/Inputs/InitiativeCreateInput.php b/src/Requests/Inputs/InitiativeCreateInput.php index fc9b734d..f607003a 100644 --- a/src/Requests/Inputs/InitiativeCreateInput.php +++ b/src/Requests/Inputs/InitiativeCreateInput.php @@ -5,13 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/InitiativeCreateInput */ class InitiativeCreateInput { - public function __construct( - public string $name, - public ?string $id = null, - public ?string $description = null, - public ?string $ownerId = null, - public ?float $sortOrder = null, - public ?string $color = null - ) { + public function __construct(public string $name, public ?string $id = null, public ?string $description = null, public ?string $ownerId = null, public ?float $sortOrder = null, public ?string $color = null) + { } } diff --git a/src/Requests/Inputs/InitiativeUpdateInput.php b/src/Requests/Inputs/InitiativeUpdateInput.php index 18fad081..a71b6c84 100644 --- a/src/Requests/Inputs/InitiativeUpdateInput.php +++ b/src/Requests/Inputs/InitiativeUpdateInput.php @@ -5,13 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/InitiativeUpdateInput */ class InitiativeUpdateInput { - public function __construct( - public ?string $name = null, - public ?string $description = null, - public ?string $ownerId = null, - public ?float $sortOrder = null, - public ?string $color = null, - public ?string $targetDate = null - ) { + public function __construct(public ?string $name = null, public ?string $description = null, public ?string $ownerId = null, public ?float $sortOrder = null, public ?string $color = null, public ?string $targetDate = null) + { } } diff --git a/src/Requests/Inputs/IntegrationSettingsInput.php b/src/Requests/Inputs/IntegrationSettingsInput.php index 6590f085..1ef7c12d 100644 --- a/src/Requests/Inputs/IntegrationSettingsInput.php +++ b/src/Requests/Inputs/IntegrationSettingsInput.php @@ -5,25 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/IntegrationSettingsInput */ class IntegrationSettingsInput { - public function __construct( - public ?SlackSettingsInput $slack = null, - public ?SlackAsksSettingsInput $slackAsks = null, - public ?SlackPostSettingsInput $slackPost = null, - public ?SlackPostSettingsInput $slackProjectPost = null, - public ?SlackPostSettingsInput $slackOrgProjectUpdatesPost = null, - public ?GoogleSheetsSettingsInput $googleSheets = null, - public ?GitHubSettingsInput $gitHub = null, - public ?GitHubPersonalSettingsInput $gitHubPersonal = null, - public ?GitLabSettingsInput $gitLab = null, - public ?SentrySettingsInput $sentry = null, - public ?ZendeskSettingsInput $zendesk = null, - public ?IntercomSettingsInput $intercom = null, - public ?FrontSettingsInput $front = null, - public ?JiraSettingsInput $jira = null, - public ?NotionSettingsInput $notion = null, - public ?OpsgenieInput $opsgenie = null, - public ?PagerDutyInput $pagerDuty = null, - public ?JiraPersonalSettingsInput $jiraPersonal = null - ) { + public function __construct(public ?SlackSettingsInput $slack = null, public ?SlackAsksSettingsInput $slackAsks = null, public ?SlackPostSettingsInput $slackPost = null, public ?SlackPostSettingsInput $slackProjectPost = null, public ?SlackPostSettingsInput $slackOrgProjectUpdatesPost = null, public ?GoogleSheetsSettingsInput $googleSheets = null, public ?GitHubSettingsInput $gitHub = null, public ?GitHubPersonalSettingsInput $gitHubPersonal = null, public ?GitLabSettingsInput $gitLab = null, public ?SentrySettingsInput $sentry = null, public ?ZendeskSettingsInput $zendesk = null, public ?IntercomSettingsInput $intercom = null, public ?FrontSettingsInput $front = null, public ?JiraSettingsInput $jira = null, public ?NotionSettingsInput $notion = null, public ?OpsgenieInput $opsgenie = null, public ?PagerDutyInput $pagerDuty = null, public ?JiraPersonalSettingsInput $jiraPersonal = null) + { } } diff --git a/src/Requests/Inputs/IntegrationsSettingsCreateInput.php b/src/Requests/Inputs/IntegrationsSettingsCreateInput.php index aced1d99..88299177 100644 --- a/src/Requests/Inputs/IntegrationsSettingsCreateInput.php +++ b/src/Requests/Inputs/IntegrationsSettingsCreateInput.php @@ -5,20 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/IntegrationsSettingsCreateInput */ class IntegrationsSettingsCreateInput { - public function __construct( - public ?bool $slackIssueCreated = null, - public ?bool $slackIssueNewComment = null, - public ?bool $slackIssueStatusChangedDone = null, - public ?bool $slackIssueStatusChangedAll = null, - public ?bool $slackProjectUpdateCreated = null, - public ?bool $slackProjectUpdateCreatedToTeam = null, - public ?bool $slackProjectUpdateCreatedToWorkspace = null, - public ?bool $slackIssueAddedToTriage = null, - public ?bool $slackIssueSlaHighRisk = null, - public ?bool $slackIssueSlaBreached = null, - public ?string $id = null, - public ?string $teamId = null, - public ?string $projectId = null - ) { + public function __construct(public ?bool $slackIssueCreated = null, public ?bool $slackIssueNewComment = null, public ?bool $slackIssueStatusChangedDone = null, public ?bool $slackIssueStatusChangedAll = null, public ?bool $slackProjectUpdateCreated = null, public ?bool $slackProjectUpdateCreatedToTeam = null, public ?bool $slackProjectUpdateCreatedToWorkspace = null, public ?bool $slackIssueAddedToTriage = null, public ?bool $slackIssueSlaHighRisk = null, public ?bool $slackIssueSlaBreached = null, public ?string $id = null, public ?string $teamId = null, public ?string $projectId = null) + { } } diff --git a/src/Requests/Inputs/IntegrationsSettingsUpdateInput.php b/src/Requests/Inputs/IntegrationsSettingsUpdateInput.php index 47d77ad7..247776ae 100644 --- a/src/Requests/Inputs/IntegrationsSettingsUpdateInput.php +++ b/src/Requests/Inputs/IntegrationsSettingsUpdateInput.php @@ -5,17 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/IntegrationsSettingsUpdateInput */ class IntegrationsSettingsUpdateInput { - public function __construct( - public ?bool $slackIssueCreated = null, - public ?bool $slackIssueNewComment = null, - public ?bool $slackIssueStatusChangedDone = null, - public ?bool $slackIssueStatusChangedAll = null, - public ?bool $slackProjectUpdateCreated = null, - public ?bool $slackProjectUpdateCreatedToTeam = null, - public ?bool $slackProjectUpdateCreatedToWorkspace = null, - public ?bool $slackIssueAddedToTriage = null, - public ?bool $slackIssueSlaHighRisk = null, - public ?bool $slackIssueSlaBreached = null - ) { + public function __construct(public ?bool $slackIssueCreated = null, public ?bool $slackIssueNewComment = null, public ?bool $slackIssueStatusChangedDone = null, public ?bool $slackIssueStatusChangedAll = null, public ?bool $slackProjectUpdateCreated = null, public ?bool $slackProjectUpdateCreatedToTeam = null, public ?bool $slackProjectUpdateCreatedToWorkspace = null, public ?bool $slackIssueAddedToTriage = null, public ?bool $slackIssueSlaHighRisk = null, public ?bool $slackIssueSlaBreached = null) + { } } diff --git a/src/Requests/Inputs/IntercomSettingsInput.php b/src/Requests/Inputs/IntercomSettingsInput.php index f7f6bfb3..8ab218c7 100644 --- a/src/Requests/Inputs/IntercomSettingsInput.php +++ b/src/Requests/Inputs/IntercomSettingsInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/IntercomSettingsInput */ class IntercomSettingsInput { - public function __construct( - public ?bool $sendNoteOnStatusChange = null, - public ?bool $sendNoteOnComment = null, - public ?bool $automateTicketReopeningOnCompletion = null, - public ?bool $automateTicketReopeningOnCancellation = null, - public ?bool $automateTicketReopeningOnComment = null - ) { + public function __construct(public ?bool $sendNoteOnStatusChange = null, public ?bool $sendNoteOnComment = null, public ?bool $automateTicketReopeningOnCompletion = null, public ?bool $automateTicketReopeningOnCancellation = null, public ?bool $automateTicketReopeningOnComment = null) + { } } diff --git a/src/Requests/Inputs/IssueLabelCreateInput.php b/src/Requests/Inputs/IssueLabelCreateInput.php index e2487258..ae5996dc 100644 --- a/src/Requests/Inputs/IssueLabelCreateInput.php +++ b/src/Requests/Inputs/IssueLabelCreateInput.php @@ -5,13 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/IssueLabelCreateInput */ class IssueLabelCreateInput { - public function __construct( - public string $name, - public ?string $id = null, - public ?string $description = null, - public ?string $color = null, - public ?string $parentId = null, - public ?string $teamId = null - ) { + public function __construct(public string $name, public ?string $id = null, public ?string $description = null, public ?string $color = null, public ?string $parentId = null, public ?string $teamId = null) + { } } diff --git a/src/Requests/Inputs/IssueSortInput.php b/src/Requests/Inputs/IssueSortInput.php index febd8478..0907fd9d 100644 --- a/src/Requests/Inputs/IssueSortInput.php +++ b/src/Requests/Inputs/IssueSortInput.php @@ -5,23 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/IssueSortInput */ class IssueSortInput { - public function __construct( - public ?PrioritySortInput $priority = null, - public ?EstimateSortInput $estimate = null, - public ?TitleSortInput $title = null, - public ?LabelSortInput $label = null, - public ?SlaStatusSortInput $slaStatus = null, - public ?CreatedAtSortInput $createdAt = null, - public ?UpdatedAtSortInput $updatedAt = null, - public ?CompletedAtSortInput $completedAt = null, - public ?DueDateSortInput $dueDate = null, - public ?CycleSortInput $cycle = null, - public ?MilestoneSortInput $milestone = null, - public ?AssigneeSortInput $assignee = null, - public ?ProjectSortInput $project = null, - public ?TeamSortInput $team = null, - public ?ManualSortInput $manual = null, - public ?WorkflowStateSortInput $workflowState = null - ) { + public function __construct(public ?PrioritySortInput $priority = null, public ?EstimateSortInput $estimate = null, public ?TitleSortInput $title = null, public ?LabelSortInput $label = null, public ?SlaStatusSortInput $slaStatus = null, public ?CreatedAtSortInput $createdAt = null, public ?UpdatedAtSortInput $updatedAt = null, public ?CompletedAtSortInput $completedAt = null, public ?DueDateSortInput $dueDate = null, public ?CycleSortInput $cycle = null, public ?MilestoneSortInput $milestone = null, public ?AssigneeSortInput $assignee = null, public ?ProjectSortInput $project = null, public ?TeamSortInput $team = null, public ?ManualSortInput $manual = null, public ?WorkflowStateSortInput $workflowState = null) + { } } diff --git a/src/Requests/Inputs/NullableDocumentContentFilterInput.php b/src/Requests/Inputs/NullableDocumentContentFilterInput.php index 71bd3a00..a6d92746 100644 --- a/src/Requests/Inputs/NullableDocumentContentFilterInput.php +++ b/src/Requests/Inputs/NullableDocumentContentFilterInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/NullableDocumentContentFilter */ class NullableDocumentContentFilterInput { - public function __construct( - public ?IDComparatorInput $id = null, - public ?DateComparatorInput $createdAt = null, - public ?DateComparatorInput $updatedAt = null, - public ?ProjectFilterInput $project = null, - public ?DocumentFilterInput $document = null - ) { + public function __construct(public ?IDComparatorInput $id = null, public ?DateComparatorInput $createdAt = null, public ?DateComparatorInput $updatedAt = null, public ?ProjectFilterInput $project = null, public ?DocumentFilterInput $document = null) + { } } diff --git a/src/Requests/Inputs/ProjectMilestoneCreateInput.php b/src/Requests/Inputs/ProjectMilestoneCreateInput.php index 6e76296c..ac80ae06 100644 --- a/src/Requests/Inputs/ProjectMilestoneCreateInput.php +++ b/src/Requests/Inputs/ProjectMilestoneCreateInput.php @@ -5,14 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/ProjectMilestoneCreateInput */ class ProjectMilestoneCreateInput { - public function __construct( - public string $name, - public string $projectId, - public ?string $id = null, - public ?string $description = null, - public ?string $descriptionData = null, - public ?string $targetDate = null, - public ?float $sortOrder = null - ) { + public function __construct(public string $name, public string $projectId, public ?string $id = null, public ?string $description = null, public ?string $descriptionData = null, public ?string $targetDate = null, public ?float $sortOrder = null) + { } } diff --git a/src/Requests/Inputs/ProjectMilestoneUpdateInput.php b/src/Requests/Inputs/ProjectMilestoneUpdateInput.php index 5ef47756..c948b724 100644 --- a/src/Requests/Inputs/ProjectMilestoneUpdateInput.php +++ b/src/Requests/Inputs/ProjectMilestoneUpdateInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/ProjectMilestoneUpdateInput */ class ProjectMilestoneUpdateInput { - public function __construct( - public ?string $name = null, - public ?string $description = null, - public ?string $descriptionData = null, - public ?string $targetDate = null, - public ?float $sortOrder = null - ) { + public function __construct(public ?string $name = null, public ?string $description = null, public ?string $descriptionData = null, public ?string $targetDate = null, public ?float $sortOrder = null) + { } } diff --git a/src/Requests/Inputs/ProjectUpdateCreateInput.php b/src/Requests/Inputs/ProjectUpdateCreateInput.php index 130b80c3..60623a6c 100644 --- a/src/Requests/Inputs/ProjectUpdateCreateInput.php +++ b/src/Requests/Inputs/ProjectUpdateCreateInput.php @@ -7,13 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/ProjectUpdateCreateInput */ class ProjectUpdateCreateInput { - public function __construct( - public string $projectId, - public ?string $id = null, - public ?string $body = null, - public ?string $bodyData = null, - public ?ProjectUpdateHealthType $health = null, - public ?bool $isDiffHidden = null - ) { + public function __construct(public string $projectId, public ?string $id = null, public ?string $body = null, public ?string $bodyData = null, public ?ProjectUpdateHealthType $health = null, public ?bool $isDiffHidden = null) + { } } diff --git a/src/Requests/Inputs/RoadmapCreateInput.php b/src/Requests/Inputs/RoadmapCreateInput.php index 21e9f191..907dca1d 100644 --- a/src/Requests/Inputs/RoadmapCreateInput.php +++ b/src/Requests/Inputs/RoadmapCreateInput.php @@ -5,13 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/RoadmapCreateInput */ class RoadmapCreateInput { - public function __construct( - public string $name, - public ?string $id = null, - public ?string $description = null, - public ?string $ownerId = null, - public ?float $sortOrder = null, - public ?string $color = null - ) { + public function __construct(public string $name, public ?string $id = null, public ?string $description = null, public ?string $ownerId = null, public ?float $sortOrder = null, public ?string $color = null) + { } } diff --git a/src/Requests/Inputs/TeamCreateInput.php b/src/Requests/Inputs/TeamCreateInput.php index 7a91a947..6807f089 100644 --- a/src/Requests/Inputs/TeamCreateInput.php +++ b/src/Requests/Inputs/TeamCreateInput.php @@ -5,40 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/TeamCreateInput */ class TeamCreateInput { - public function __construct( - public string $name, - public ?string $id = null, - public ?string $description = null, - public ?string $key = null, - public ?string $icon = null, - public ?string $color = null, - public ?string $organizationId = null, - public ?bool $cyclesEnabled = null, - public ?float $cycleStartDay = null, - public ?int $cycleDuration = null, - public ?int $cycleCooldownTime = null, - public ?bool $cycleIssueAutoAssignStarted = null, - public ?bool $cycleIssueAutoAssignCompleted = null, - public ?bool $cycleLockToActive = null, - public ?float $upcomingCycleCount = null, - public ?bool $triageEnabled = null, - public ?bool $requirePriorityToLeaveTriage = null, - public ?string $timezone = null, - public ?bool $issueOrderingNoPriorityFirst = null, - public ?string $issueEstimationType = null, - public ?bool $issueEstimationAllowZero = null, - public ?string $setIssueSortOrderOnStateChange = null, - public ?bool $issueEstimationExtended = null, - public ?float $defaultIssueEstimate = null, - public ?bool $groupIssueHistory = null, - public ?string $defaultTemplateForMembersId = null, - public ?string $defaultTemplateForNonMembersId = null, - public ?string $defaultProjectTemplateId = null, - public ?bool $private = null, - public ?float $autoClosePeriod = null, - public ?string $autoCloseStateId = null, - public ?float $autoArchivePeriod = null, - public ?string $markedAsDuplicateWorkflowStateId = null - ) { + public function __construct(public string $name, public ?string $id = null, public ?string $description = null, public ?string $key = null, public ?string $icon = null, public ?string $color = null, public ?string $organizationId = null, public ?bool $cyclesEnabled = null, public ?float $cycleStartDay = null, public ?int $cycleDuration = null, public ?int $cycleCooldownTime = null, public ?bool $cycleIssueAutoAssignStarted = null, public ?bool $cycleIssueAutoAssignCompleted = null, public ?bool $cycleLockToActive = null, public ?float $upcomingCycleCount = null, public ?bool $triageEnabled = null, public ?bool $requirePriorityToLeaveTriage = null, public ?string $timezone = null, public ?bool $issueOrderingNoPriorityFirst = null, public ?string $issueEstimationType = null, public ?bool $issueEstimationAllowZero = null, public ?string $setIssueSortOrderOnStateChange = null, public ?bool $issueEstimationExtended = null, public ?float $defaultIssueEstimate = null, public ?bool $groupIssueHistory = null, public ?string $defaultTemplateForMembersId = null, public ?string $defaultTemplateForNonMembersId = null, public ?string $defaultProjectTemplateId = null, public ?bool $private = null, public ?float $autoClosePeriod = null, public ?string $autoCloseStateId = null, public ?float $autoArchivePeriod = null, public ?string $markedAsDuplicateWorkflowStateId = null) + { } } diff --git a/src/Requests/Inputs/TeamUpdateInput.php b/src/Requests/Inputs/TeamUpdateInput.php index 21c43260..450d9bbb 100644 --- a/src/Requests/Inputs/TeamUpdateInput.php +++ b/src/Requests/Inputs/TeamUpdateInput.php @@ -7,50 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/TeamUpdateInput */ class TeamUpdateInput { - public function __construct( - public ?string $name = null, - public ?string $description = null, - public ?string $key = null, - public ?string $icon = null, - public ?string $color = null, - public ?bool $cyclesEnabled = null, - public ?float $cycleStartDay = null, - public ?int $cycleDuration = null, - public ?int $cycleCooldownTime = null, - public ?bool $cycleIssueAutoAssignStarted = null, - public ?bool $cycleIssueAutoAssignCompleted = null, - public ?bool $cycleLockToActive = null, - public ?string $cycleEnabledStartWeek = null, - public ?DateTimeInterface $cycleEnabledStartDate = null, - public ?float $upcomingCycleCount = null, - public ?string $timezone = null, - public ?bool $issueOrderingNoPriorityFirst = null, - public ?string $issueEstimationType = null, - public ?bool $issueEstimationAllowZero = null, - public ?string $setIssueSortOrderOnStateChange = null, - public ?bool $issueEstimationExtended = null, - public ?float $defaultIssueEstimate = null, - public ?string $draftWorkflowStateId = null, - public ?string $startWorkflowStateId = null, - public ?string $reviewWorkflowStateId = null, - public ?string $mergeableWorkflowStateId = null, - public ?string $mergeWorkflowStateId = null, - public ?bool $slackNewIssue = null, - public ?bool $slackIssueComments = null, - public ?bool $slackIssueStatuses = null, - public ?bool $groupIssueHistory = null, - public ?string $defaultTemplateForMembersId = null, - public ?string $defaultTemplateForNonMembersId = null, - public ?string $defaultProjectTemplateId = null, - public ?bool $private = null, - public ?bool $triageEnabled = null, - public ?bool $requirePriorityToLeaveTriage = null, - public ?string $defaultIssueStateId = null, - public ?float $autoClosePeriod = null, - public ?string $autoCloseStateId = null, - public ?float $autoArchivePeriod = null, - public ?string $markedAsDuplicateWorkflowStateId = null, - public ?bool $joinByDefault = null - ) { + public function __construct(public ?string $name = null, public ?string $description = null, public ?string $key = null, public ?string $icon = null, public ?string $color = null, public ?bool $cyclesEnabled = null, public ?float $cycleStartDay = null, public ?int $cycleDuration = null, public ?int $cycleCooldownTime = null, public ?bool $cycleIssueAutoAssignStarted = null, public ?bool $cycleIssueAutoAssignCompleted = null, public ?bool $cycleLockToActive = null, public ?string $cycleEnabledStartWeek = null, public ?DateTimeInterface $cycleEnabledStartDate = null, public ?float $upcomingCycleCount = null, public ?string $timezone = null, public ?bool $issueOrderingNoPriorityFirst = null, public ?string $issueEstimationType = null, public ?bool $issueEstimationAllowZero = null, public ?string $setIssueSortOrderOnStateChange = null, public ?bool $issueEstimationExtended = null, public ?float $defaultIssueEstimate = null, public ?string $draftWorkflowStateId = null, public ?string $startWorkflowStateId = null, public ?string $reviewWorkflowStateId = null, public ?string $mergeableWorkflowStateId = null, public ?string $mergeWorkflowStateId = null, public ?bool $slackNewIssue = null, public ?bool $slackIssueComments = null, public ?bool $slackIssueStatuses = null, public ?bool $groupIssueHistory = null, public ?string $defaultTemplateForMembersId = null, public ?string $defaultTemplateForNonMembersId = null, public ?string $defaultProjectTemplateId = null, public ?bool $private = null, public ?bool $triageEnabled = null, public ?bool $requirePriorityToLeaveTriage = null, public ?string $defaultIssueStateId = null, public ?float $autoClosePeriod = null, public ?string $autoCloseStateId = null, public ?float $autoArchivePeriod = null, public ?string $markedAsDuplicateWorkflowStateId = null, public ?bool $joinByDefault = null) + { } } diff --git a/src/Requests/Inputs/TriageResponsibilityCreateInput.php b/src/Requests/Inputs/TriageResponsibilityCreateInput.php index e4ba65f9..c7045103 100644 --- a/src/Requests/Inputs/TriageResponsibilityCreateInput.php +++ b/src/Requests/Inputs/TriageResponsibilityCreateInput.php @@ -5,12 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/TriageResponsibilityCreateInput */ class TriageResponsibilityCreateInput { - public function __construct( - public string $teamId, - public string $action, - public ?string $id = null, - public ?TriageResponsibilityManualSelectionInput $manualSelection = null, - public ?string $timeScheduleId = null - ) { + public function __construct(public string $teamId, public string $action, public ?string $id = null, public ?TriageResponsibilityManualSelectionInput $manualSelection = null, public ?string $timeScheduleId = null) + { } } diff --git a/src/Requests/Inputs/UserUpdateInput.php b/src/Requests/Inputs/UserUpdateInput.php index 204d0c09..7d294e22 100644 --- a/src/Requests/Inputs/UserUpdateInput.php +++ b/src/Requests/Inputs/UserUpdateInput.php @@ -7,18 +7,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/UserUpdateInput */ class UserUpdateInput { - public function __construct( - public ?string $name = null, - public ?string $displayName = null, - public ?string $avatarUrl = null, - public ?bool $active = null, - public ?string $disableReason = null, - public ?bool $admin = null, - public ?string $description = null, - public ?string $statusEmoji = null, - public ?string $statusLabel = null, - public ?DateTimeInterface $statusUntilAt = null, - public ?string $timezone = null - ) { + public function __construct(public ?string $name = null, public ?string $displayName = null, public ?string $avatarUrl = null, public ?bool $active = null, public ?string $disableReason = null, public ?bool $admin = null, public ?string $description = null, public ?string $statusEmoji = null, public ?string $statusLabel = null, public ?DateTimeInterface $statusUntilAt = null, public ?string $timezone = null) + { } } diff --git a/src/Requests/Inputs/ViewPreferencesCreateInput.php b/src/Requests/Inputs/ViewPreferencesCreateInput.php index c02a8147..4bb76089 100644 --- a/src/Requests/Inputs/ViewPreferencesCreateInput.php +++ b/src/Requests/Inputs/ViewPreferencesCreateInput.php @@ -8,20 +8,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/ViewPreferencesCreateInput */ class ViewPreferencesCreateInput { - public function __construct( - public ViewPreferencesType $type, - public ViewType $viewType, - public string $preferences, - public ?string $id = null, - public ?string $insights = null, - public ?string $teamId = null, - public ?string $projectId = null, - public ?string $roadmapId = null, - public ?string $initiativeId = null, - public ?string $labelId = null, - public ?string $cycleId = null, - public ?string $customViewId = null, - public ?string $userId = null - ) { + public function __construct(public ViewPreferencesType $type, public ViewType $viewType, public string $preferences, public ?string $id = null, public ?string $insights = null, public ?string $teamId = null, public ?string $projectId = null, public ?string $roadmapId = null, public ?string $initiativeId = null, public ?string $labelId = null, public ?string $cycleId = null, public ?string $customViewId = null, public ?string $userId = null) + { } } diff --git a/src/Requests/Inputs/WorkflowStateCreateInput.php b/src/Requests/Inputs/WorkflowStateCreateInput.php index 0dc574fc..6fb149b5 100644 --- a/src/Requests/Inputs/WorkflowStateCreateInput.php +++ b/src/Requests/Inputs/WorkflowStateCreateInput.php @@ -5,14 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/WorkflowStateCreateInput */ class WorkflowStateCreateInput { - public function __construct( - public string $type, - public string $name, - public string $color, - public string $teamId, - public ?string $id = null, - public ?string $description = null, - public ?float $position = null - ) { + public function __construct(public string $type, public string $name, public string $color, public string $teamId, public ?string $id = null, public ?string $description = null, public ?float $position = null) + { } } diff --git a/src/Requests/Inputs/ZendeskSettingsInput.php b/src/Requests/Inputs/ZendeskSettingsInput.php index 465f28cb..873912a2 100644 --- a/src/Requests/Inputs/ZendeskSettingsInput.php +++ b/src/Requests/Inputs/ZendeskSettingsInput.php @@ -5,15 +5,7 @@ /** @see https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference/inputs/ZendeskSettingsInput */ class ZendeskSettingsInput { - public function __construct( - public string $subdomain, - public string $url, - public ?bool $sendNoteOnStatusChange = null, - public ?bool $sendNoteOnComment = null, - public ?bool $automateTicketReopeningOnCompletion = null, - public ?bool $automateTicketReopeningOnCancellation = null, - public ?bool $automateTicketReopeningOnComment = null, - public ?string $botUserId = null - ) { + public function __construct(public string $subdomain, public string $url, public ?bool $sendNoteOnStatusChange = null, public ?bool $sendNoteOnComment = null, public ?bool $automateTicketReopeningOnCompletion = null, public ?bool $automateTicketReopeningOnCancellation = null, public ?bool $automateTicketReopeningOnComment = null, public ?string $botUserId = null) + { } } diff --git a/src/Requests/LinearRequest.php b/src/Requests/LinearRequest.php index b961d953..782dc17d 100644 --- a/src/Requests/LinearRequest.php +++ b/src/Requests/LinearRequest.php @@ -2,6 +2,7 @@ namespace Glhd\Linearavel\Requests; +use Glhd\Linearavel\Support\GraphQueryBuilder; use Saloon\Contracts\Body\HasBody; use Saloon\Enums\Method; use Saloon\Http\Request; @@ -10,22 +11,33 @@ class LinearRequest extends Request implements HasBody { use HasJsonBody; - + protected Method $method = Method::POST; - + public function __construct( protected ?string $response, - protected string $gql, + protected GraphQueryBuilder|string $gql, + protected array $variables = [], ) { } - + public function resolveEndpoint(): string { return '/'; } - + protected function defaultBody(): array { - return ['query' => $this->gql]; + $body = ['query' => (string) $this->gql]; + + $variables = $this->gql instanceof GraphQueryBuilder + ? $this->gql->variables() + : $this->variables; + + if (count($variables)) { + $body['variables'] = $variables; + } + + return $body; } } diff --git a/src/Requests/Pending/PendingAirbyteIntegrationConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingAirbyteIntegrationConnectMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingAirbyteIntegrationConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAirbyteIntegrationConnectMutationRequest.php index 650fd658..79688922 100644 --- a/src/Requests/Pending/PendingAirbyteIntegrationConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAirbyteIntegrationConnectMutationRequest.php @@ -1,6 +1,6 @@ 'AirbyteConfigurationInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'airbyteIntegrationConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'airbyteIntegrationConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AirbyteIntegrationConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AirbyteIntegrationConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AirbyteIntegrationConnectMutationResponse::class, $query))->throw(); assert($response instanceof AirbyteIntegrationConnectMutationResponse); diff --git a/src/Requests/Pending/PendingApiKeyCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingApiKeyCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingApiKeyCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingApiKeyCreateMutationRequest.php index 71c05ece..e6b4cc47 100644 --- a/src/Requests/Pending/PendingApiKeyCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingApiKeyCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ApiKeyCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'apiKeyCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'apiKeyCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ApiKeyPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApiKeyCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApiKeyCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApiKeyCreateMutationResponse::class, $query))->throw(); assert($response instanceof ApiKeyCreateMutationResponse); diff --git a/src/Requests/Pending/PendingApiKeyDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingApiKeyDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingApiKeyDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingApiKeyDeleteMutationRequest.php index c1e3aeef..e8fd4f13 100644 --- a/src/Requests/Pending/PendingApiKeyDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingApiKeyDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'apiKeyDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'apiKeyDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApiKeyDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApiKeyDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApiKeyDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ApiKeyDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingAttachmentArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentArchiveMutationRequest.php index a97e19a7..90352251 100644 --- a/src/Requests/Pending/PendingAttachmentArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentArchiveMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingAttachmentCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentCreateMutationRequest.php index 616d23ea..058b7369 100644 --- a/src/Requests/Pending/PendingAttachmentCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentCreateMutationRequest.php @@ -1,6 +1,6 @@ 'AttachmentCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentCreateMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentCreateMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingAttachmentDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentDeleteMutationRequest.php index 31c70947..0113c994 100644 --- a/src/Requests/Pending/PendingAttachmentDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentDeleteMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkDiscordMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkDiscordMutationRequest.php similarity index 72% rename from src/Requests/Pending/PendingAttachmentLinkDiscordMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkDiscordMutationRequest.php index 365e8e3b..5715abf0 100644 --- a/src/Requests/Pending/PendingAttachmentLinkDiscordMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkDiscordMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'issueId' => 'String!', 'id' => 'String', 'channelId' => 'String!', 'messageId' => 'String!', 'url' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkDiscord', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkDiscord', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkDiscordMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkDiscordMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkDiscordMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkDiscordMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkFrontMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkFrontMutationRequest.php similarity index 74% rename from src/Requests/Pending/PendingAttachmentLinkFrontMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkFrontMutationRequest.php index f0185d37..613fd8ab 100644 --- a/src/Requests/Pending/PendingAttachmentLinkFrontMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkFrontMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'conversationId' => 'String!', 'issueId' => 'String!', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkFront', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkFront', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): FrontAttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkFrontMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkFrontMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkFrontMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkFrontMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkGitHubIssueMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkGitHubIssueMutationRequest.php similarity index 74% rename from src/Requests/Pending/PendingAttachmentLinkGitHubIssueMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkGitHubIssueMutationRequest.php index aaf59fdc..237f613a 100644 --- a/src/Requests/Pending/PendingAttachmentLinkGitHubIssueMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkGitHubIssueMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'issueId' => 'String!', 'id' => 'String', 'url' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkGitHubIssue', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkGitHubIssue', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkGitHubIssueMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkGitHubIssueMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkGitHubIssueMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkGitHubIssueMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkGitHubPRMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkGitHubPRMutationRequest.php similarity index 71% rename from src/Requests/Pending/PendingAttachmentLinkGitHubPRMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkGitHubPRMutationRequest.php index 345e845b..cd694444 100644 --- a/src/Requests/Pending/PendingAttachmentLinkGitHubPRMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkGitHubPRMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'issueId' => 'String!', 'id' => 'String', 'url' => 'String!', 'owner' => 'String', 'repo' => 'String', 'number' => 'Float']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkGitHubPR', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkGitHubPR', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkGitHubPRMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkGitHubPRMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkGitHubPRMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkGitHubPRMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkGitLabMRMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkGitLabMRMutationRequest.php similarity index 71% rename from src/Requests/Pending/PendingAttachmentLinkGitLabMRMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkGitLabMRMutationRequest.php index 946c5e59..c1e1f92a 100644 --- a/src/Requests/Pending/PendingAttachmentLinkGitLabMRMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkGitLabMRMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'issueId' => 'String!', 'id' => 'String', 'url' => 'String!', 'projectPathWithNamespace' => 'String!', 'number' => 'Float!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkGitLabMR', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkGitLabMR', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkGitLabMRMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkGitLabMRMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkGitLabMRMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkGitLabMRMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkIntercomMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkIntercomMutationRequest.php similarity index 74% rename from src/Requests/Pending/PendingAttachmentLinkIntercomMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkIntercomMutationRequest.php index d738ee23..06e60f74 100644 --- a/src/Requests/Pending/PendingAttachmentLinkIntercomMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkIntercomMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'conversationId' => 'String!', 'id' => 'String', 'issueId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkIntercom', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkIntercom', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkIntercomMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkIntercomMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkIntercomMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkIntercomMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkJiraIssueMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkJiraIssueMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingAttachmentLinkJiraIssueMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkJiraIssueMutationRequest.php index 7a70bc46..6e9357e7 100644 --- a/src/Requests/Pending/PendingAttachmentLinkJiraIssueMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkJiraIssueMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'jiraIssueId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkJiraIssue', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkJiraIssue', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkJiraIssueMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkJiraIssueMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkJiraIssueMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkJiraIssueMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkSlackMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkSlackMutationRequest.php similarity index 71% rename from src/Requests/Pending/PendingAttachmentLinkSlackMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkSlackMutationRequest.php index 9e3ac8eb..ed03093e 100644 --- a/src/Requests/Pending/PendingAttachmentLinkSlackMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkSlackMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'channel' => 'String!', 'ts' => 'String', 'latest' => 'String!', 'issueId' => 'String!', 'url' => 'String!', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkSlack', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkSlack', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkSlackMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkSlackMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkSlackMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkSlackMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkURLMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkURLMutationRequest.php similarity index 75% rename from src/Requests/Pending/PendingAttachmentLinkURLMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkURLMutationRequest.php index edcc22d3..d423782d 100644 --- a/src/Requests/Pending/PendingAttachmentLinkURLMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkURLMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'url' => 'String!', 'issueId' => 'String!', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkURL', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkURL', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkURLMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkURLMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkURLMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkURLMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentLinkZendeskMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentLinkZendeskMutationRequest.php similarity index 74% rename from src/Requests/Pending/PendingAttachmentLinkZendeskMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentLinkZendeskMutationRequest.php index 80fed15d..5439ea54 100644 --- a/src/Requests/Pending/PendingAttachmentLinkZendeskMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentLinkZendeskMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'displayIconUrl' => 'String', 'title' => 'String', 'ticketId' => 'String!', 'issueId' => 'String!', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkZendesk', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentLinkZendesk', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentLinkZendeskMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentLinkZendeskMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentLinkZendeskMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentLinkZendeskMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentUnsyncSlackMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentUnsyncSlackMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingAttachmentUnsyncSlackMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentUnsyncSlackMutationRequest.php index 71d7c6bb..2aef65f5 100644 --- a/src/Requests/Pending/PendingAttachmentUnsyncSlackMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentUnsyncSlackMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentUnsyncSlack', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentUnsyncSlack', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentUnsyncSlackMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentUnsyncSlackMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentUnsyncSlackMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentUnsyncSlackMutationResponse); diff --git a/src/Requests/Pending/PendingAttachmentUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingAttachmentUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingAttachmentUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingAttachmentUpdateMutationRequest.php index 738b8215..a83148cc 100644 --- a/src/Requests/Pending/PendingAttachmentUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingAttachmentUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'AttachmentUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'attachmentUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentUpdateMutationResponse::class, $query))->throw(); assert($response instanceof AttachmentUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingCommentCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingCommentCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingCommentCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCommentCreateMutationRequest.php index 3ff02926..68c98d4e 100644 --- a/src/Requests/Pending/PendingCommentCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCommentCreateMutationRequest.php @@ -1,6 +1,6 @@ 'CommentCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CommentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentCreateMutationResponse::class, $query))->throw(); assert($response instanceof CommentCreateMutationResponse); diff --git a/src/Requests/Pending/PendingCommentDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingCommentDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingCommentDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCommentDeleteMutationRequest.php index 12eb1cee..32580e14 100644 --- a/src/Requests/Pending/PendingCommentDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCommentDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentDeleteMutationResponse::class, $query))->throw(); assert($response instanceof CommentDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingCommentResolveMutationRequest.php b/src/Requests/Pending/Mutations/PendingCommentResolveMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingCommentResolveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCommentResolveMutationRequest.php index e3e22abd..d82027f0 100644 --- a/src/Requests/Pending/PendingCommentResolveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCommentResolveMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentResolve', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentResolve', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CommentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentResolveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentResolveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentResolveMutationResponse::class, $query))->throw(); assert($response instanceof CommentResolveMutationResponse); diff --git a/src/Requests/Pending/PendingCommentUnresolveMutationRequest.php b/src/Requests/Pending/Mutations/PendingCommentUnresolveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingCommentUnresolveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCommentUnresolveMutationRequest.php index def2e2e3..3c6a4a74 100644 --- a/src/Requests/Pending/PendingCommentUnresolveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCommentUnresolveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentUnresolve', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentUnresolve', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CommentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentUnresolveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentUnresolveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentUnresolveMutationResponse::class, $query))->throw(); assert($response instanceof CommentUnresolveMutationResponse); diff --git a/src/Requests/Pending/PendingCommentUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingCommentUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingCommentUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCommentUpdateMutationRequest.php index 1991f3f9..b609b4b8 100644 --- a/src/Requests/Pending/PendingCommentUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCommentUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'CommentUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'commentUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CommentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentUpdateMutationResponse::class, $query))->throw(); assert($response instanceof CommentUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingContactCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingContactCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingContactCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingContactCreateMutationRequest.php index 0468b2d0..e9ec8a6d 100644 --- a/src/Requests/Pending/PendingContactCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingContactCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ContactCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'contactCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'contactCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ContactPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ContactCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ContactCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ContactCreateMutationResponse::class, $query))->throw(); assert($response instanceof ContactCreateMutationResponse); diff --git a/src/Requests/Pending/PendingContactSalesCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingContactSalesCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingContactSalesCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingContactSalesCreateMutationRequest.php index a14e13c1..6be4540d 100644 --- a/src/Requests/Pending/PendingContactSalesCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingContactSalesCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ContactSalesCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'contactSalesCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'contactSalesCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ContactPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ContactSalesCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ContactSalesCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ContactSalesCreateMutationResponse::class, $query))->throw(); assert($response instanceof ContactSalesCreateMutationResponse); diff --git a/src/Requests/Pending/PendingCreateCsvExportReportMutationRequest.php b/src/Requests/Pending/Mutations/PendingCreateCsvExportReportMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingCreateCsvExportReportMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCreateCsvExportReportMutationRequest.php index c004eb71..04da03a7 100644 --- a/src/Requests/Pending/PendingCreateCsvExportReportMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCreateCsvExportReportMutationRequest.php @@ -1,6 +1,6 @@ '[String!]']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'createCsvExportReport', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'createCsvExportReport', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CreateCsvExportReportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CreateCsvExportReportMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CreateCsvExportReportMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CreateCsvExportReportMutationResponse::class, $query))->throw(); assert($response instanceof CreateCsvExportReportMutationResponse); diff --git a/src/Requests/Pending/PendingCreateOrganizationFromOnboardingMutationRequest.php b/src/Requests/Pending/Mutations/PendingCreateOrganizationFromOnboardingMutationRequest.php similarity index 77% rename from src/Requests/Pending/PendingCreateOrganizationFromOnboardingMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCreateOrganizationFromOnboardingMutationRequest.php index f10aa1ba..3c1f71e9 100644 --- a/src/Requests/Pending/PendingCreateOrganizationFromOnboardingMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCreateOrganizationFromOnboardingMutationRequest.php @@ -1,6 +1,6 @@ 'OnboardingCustomerSurvey', 'input' => 'CreateOrganizationInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'createOrganizationFromOnboarding', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'createOrganizationFromOnboarding', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CreateOrJoinOrganizationResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CreateOrganizationFromOnboardingMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CreateOrganizationFromOnboardingMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CreateOrganizationFromOnboardingMutationResponse::class, $query))->throw(); assert($response instanceof CreateOrganizationFromOnboardingMutationResponse); diff --git a/src/Requests/Pending/PendingCreateProjectUpdateReminderMutationRequest.php b/src/Requests/Pending/Mutations/PendingCreateProjectUpdateReminderMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingCreateProjectUpdateReminderMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCreateProjectUpdateReminderMutationRequest.php index 1611bbb7..d174d3d4 100644 --- a/src/Requests/Pending/PendingCreateProjectUpdateReminderMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCreateProjectUpdateReminderMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'projectId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'createProjectUpdateReminder', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'createProjectUpdateReminder', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdateReminderPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CreateProjectUpdateReminderMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CreateProjectUpdateReminderMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CreateProjectUpdateReminderMutationResponse::class, $query))->throw(); assert($response instanceof CreateProjectUpdateReminderMutationResponse); diff --git a/src/Requests/Pending/PendingCustomViewCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingCustomViewCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingCustomViewCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCustomViewCreateMutationRequest.php index acbc3263..572bfcc6 100644 --- a/src/Requests/Pending/PendingCustomViewCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCustomViewCreateMutationRequest.php @@ -1,6 +1,6 @@ 'CustomViewCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'customViewCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'customViewCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CustomViewPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewCreateMutationResponse::class, $query))->throw(); assert($response instanceof CustomViewCreateMutationResponse); diff --git a/src/Requests/Pending/PendingCustomViewDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingCustomViewDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingCustomViewDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCustomViewDeleteMutationRequest.php index 16f5d6d3..0e8555f6 100644 --- a/src/Requests/Pending/PendingCustomViewDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCustomViewDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'customViewDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'customViewDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewDeleteMutationResponse::class, $query))->throw(); assert($response instanceof CustomViewDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingCustomViewUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingCustomViewUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingCustomViewUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCustomViewUpdateMutationRequest.php index a7045a3d..0d2dd232 100644 --- a/src/Requests/Pending/PendingCustomViewUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCustomViewUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'CustomViewUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'customViewUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'customViewUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CustomViewPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewUpdateMutationResponse::class, $query))->throw(); assert($response instanceof CustomViewUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingCycleArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingCycleArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingCycleArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCycleArchiveMutationRequest.php index 371c2bb1..a05cbef7 100644 --- a/src/Requests/Pending/PendingCycleArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCycleArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CycleArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CycleArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CycleArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CycleArchiveMutationResponse::class, $query))->throw(); assert($response instanceof CycleArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingCycleCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingCycleCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingCycleCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCycleCreateMutationRequest.php index 40274733..49b16a0b 100644 --- a/src/Requests/Pending/PendingCycleCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCycleCreateMutationRequest.php @@ -1,6 +1,6 @@ 'CycleCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CyclePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CycleCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CycleCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CycleCreateMutationResponse::class, $query))->throw(); assert($response instanceof CycleCreateMutationResponse); diff --git a/src/Requests/Pending/PendingCycleShiftAllMutationRequest.php b/src/Requests/Pending/Mutations/PendingCycleShiftAllMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingCycleShiftAllMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCycleShiftAllMutationRequest.php index 8f8693a6..454d2fad 100644 --- a/src/Requests/Pending/PendingCycleShiftAllMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCycleShiftAllMutationRequest.php @@ -1,6 +1,6 @@ 'CycleShiftAllInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleShiftAll', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleShiftAll', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CyclePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CycleShiftAllMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CycleShiftAllMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CycleShiftAllMutationResponse::class, $query))->throw(); assert($response instanceof CycleShiftAllMutationResponse); diff --git a/src/Requests/Pending/PendingCycleUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingCycleUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingCycleUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingCycleUpdateMutationRequest.php index eb6017e7..129e500c 100644 --- a/src/Requests/Pending/PendingCycleUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingCycleUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'CycleUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'cycleUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CyclePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CycleUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CycleUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CycleUpdateMutationResponse::class, $query))->throw(); assert($response instanceof CycleUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingDocumentCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingDocumentCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingDocumentCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingDocumentCreateMutationRequest.php index 9781a2cc..ff4f22f6 100644 --- a/src/Requests/Pending/PendingDocumentCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingDocumentCreateMutationRequest.php @@ -1,6 +1,6 @@ 'DocumentCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'documentCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'documentCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DocumentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): DocumentCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(DocumentCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(DocumentCreateMutationResponse::class, $query))->throw(); assert($response instanceof DocumentCreateMutationResponse); diff --git a/src/Requests/Pending/PendingDocumentDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingDocumentDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingDocumentDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingDocumentDeleteMutationRequest.php index 91d1aa09..43fe4ffb 100644 --- a/src/Requests/Pending/PendingDocumentDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingDocumentDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'documentDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'documentDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): DocumentDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(DocumentDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(DocumentDeleteMutationResponse::class, $query))->throw(); assert($response instanceof DocumentDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingDocumentUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingDocumentUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingDocumentUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingDocumentUpdateMutationRequest.php index bce666be..34c8df1b 100644 --- a/src/Requests/Pending/PendingDocumentUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingDocumentUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'DocumentUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'documentUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'documentUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DocumentPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): DocumentUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(DocumentUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(DocumentUpdateMutationResponse::class, $query))->throw(); assert($response instanceof DocumentUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingEmailIntakeAddressCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingEmailIntakeAddressCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailIntakeAddressCreateMutationRequest.php index 06baff6f..cb0c6b0f 100644 --- a/src/Requests/Pending/PendingEmailIntakeAddressCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressCreateMutationRequest.php @@ -1,6 +1,6 @@ 'EmailIntakeAddressCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmailIntakeAddressPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailIntakeAddressCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailIntakeAddressCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailIntakeAddressCreateMutationResponse::class, $query))->throw(); assert($response instanceof EmailIntakeAddressCreateMutationResponse); diff --git a/src/Requests/Pending/PendingEmailIntakeAddressDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingEmailIntakeAddressDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailIntakeAddressDeleteMutationRequest.php index 97518e57..35b56c15 100644 --- a/src/Requests/Pending/PendingEmailIntakeAddressDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailIntakeAddressDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailIntakeAddressDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailIntakeAddressDeleteMutationResponse::class, $query))->throw(); assert($response instanceof EmailIntakeAddressDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingEmailIntakeAddressRotateMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressRotateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingEmailIntakeAddressRotateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailIntakeAddressRotateMutationRequest.php index 17e79ac1..534e81bd 100644 --- a/src/Requests/Pending/PendingEmailIntakeAddressRotateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressRotateMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressRotate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressRotate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmailIntakeAddressPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailIntakeAddressRotateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailIntakeAddressRotateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailIntakeAddressRotateMutationResponse::class, $query))->throw(); assert($response instanceof EmailIntakeAddressRotateMutationResponse); diff --git a/src/Requests/Pending/PendingEmailIntakeAddressUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingEmailIntakeAddressUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailIntakeAddressUpdateMutationRequest.php index e5ff934c..b39c8063 100644 --- a/src/Requests/Pending/PendingEmailIntakeAddressUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailIntakeAddressUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'EmailIntakeAddressUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailIntakeAddressUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmailIntakeAddressPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailIntakeAddressUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailIntakeAddressUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailIntakeAddressUpdateMutationResponse::class, $query))->throw(); assert($response instanceof EmailIntakeAddressUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingEmailTokenUserAccountAuthMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailTokenUserAccountAuthMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingEmailTokenUserAccountAuthMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailTokenUserAccountAuthMutationRequest.php index 43cee4bd..feeef42e 100644 --- a/src/Requests/Pending/PendingEmailTokenUserAccountAuthMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailTokenUserAccountAuthMutationRequest.php @@ -1,6 +1,6 @@ 'TokenUserAccountAuthInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailTokenUserAccountAuth', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailTokenUserAccountAuth', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AuthResolverResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailTokenUserAccountAuthMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailTokenUserAccountAuthMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailTokenUserAccountAuthMutationResponse::class, $query))->throw(); assert($response instanceof EmailTokenUserAccountAuthMutationResponse); diff --git a/src/Requests/Pending/PendingEmailUnsubscribeMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailUnsubscribeMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingEmailUnsubscribeMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailUnsubscribeMutationRequest.php index 61a3f8c3..96a46c31 100644 --- a/src/Requests/Pending/PendingEmailUnsubscribeMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailUnsubscribeMutationRequest.php @@ -1,6 +1,6 @@ 'EmailUnsubscribeInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailUnsubscribe', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailUnsubscribe', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmailUnsubscribePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailUnsubscribeMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailUnsubscribeMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailUnsubscribeMutationResponse::class, $query))->throw(); assert($response instanceof EmailUnsubscribeMutationResponse); diff --git a/src/Requests/Pending/PendingEmailUserAccountAuthChallengeMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmailUserAccountAuthChallengeMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingEmailUserAccountAuthChallengeMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmailUserAccountAuthChallengeMutationRequest.php index 1b856300..82b2c539 100644 --- a/src/Requests/Pending/PendingEmailUserAccountAuthChallengeMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmailUserAccountAuthChallengeMutationRequest.php @@ -1,6 +1,6 @@ 'EmailUserAccountAuthChallengeInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailUserAccountAuthChallenge', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emailUserAccountAuthChallenge', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmailUserAccountAuthChallengeResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmailUserAccountAuthChallengeMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmailUserAccountAuthChallengeMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmailUserAccountAuthChallengeMutationResponse::class, $query))->throw(); assert($response instanceof EmailUserAccountAuthChallengeMutationResponse); diff --git a/src/Requests/Pending/PendingEmojiCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmojiCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingEmojiCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmojiCreateMutationRequest.php index fae5d13b..85809770 100644 --- a/src/Requests/Pending/PendingEmojiCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmojiCreateMutationRequest.php @@ -1,6 +1,6 @@ 'EmojiCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emojiCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emojiCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmojiPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmojiCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmojiCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmojiCreateMutationResponse::class, $query))->throw(); assert($response instanceof EmojiCreateMutationResponse); diff --git a/src/Requests/Pending/PendingEmojiDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingEmojiDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingEmojiDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingEmojiDeleteMutationRequest.php index 9a1fe8d9..1a89f1d5 100644 --- a/src/Requests/Pending/PendingEmojiDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingEmojiDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emojiDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'emojiDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmojiDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmojiDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmojiDeleteMutationResponse::class, $query))->throw(); assert($response instanceof EmojiDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingFavoriteCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingFavoriteCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingFavoriteCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingFavoriteCreateMutationRequest.php index 848ae7b7..183e0e9d 100644 --- a/src/Requests/Pending/PendingFavoriteCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingFavoriteCreateMutationRequest.php @@ -1,6 +1,6 @@ 'FavoriteCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'favoriteCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'favoriteCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): FavoritePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): FavoriteCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(FavoriteCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(FavoriteCreateMutationResponse::class, $query))->throw(); assert($response instanceof FavoriteCreateMutationResponse); diff --git a/src/Requests/Pending/PendingFavoriteDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingFavoriteDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingFavoriteDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingFavoriteDeleteMutationRequest.php index 946633ae..9e155a9b 100644 --- a/src/Requests/Pending/PendingFavoriteDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingFavoriteDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'favoriteDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'favoriteDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): FavoriteDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(FavoriteDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(FavoriteDeleteMutationResponse::class, $query))->throw(); assert($response instanceof FavoriteDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingFavoriteUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingFavoriteUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingFavoriteUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingFavoriteUpdateMutationRequest.php index 504135ba..a1009cc1 100644 --- a/src/Requests/Pending/PendingFavoriteUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingFavoriteUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'FavoriteUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'favoriteUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'favoriteUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): FavoritePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): FavoriteUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(FavoriteUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(FavoriteUpdateMutationResponse::class, $query))->throw(); assert($response instanceof FavoriteUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingFileUploadMutationRequest.php b/src/Requests/Pending/Mutations/PendingFileUploadMutationRequest.php similarity index 76% rename from src/Requests/Pending/PendingFileUploadMutationRequest.php rename to src/Requests/Pending/Mutations/PendingFileUploadMutationRequest.php index beabf781..566340a9 100644 --- a/src/Requests/Pending/PendingFileUploadMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingFileUploadMutationRequest.php @@ -1,6 +1,6 @@ 'JSON', 'makePublic' => 'Boolean', 'size' => 'Int!', 'contentType' => 'String!', 'filename' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'fileUpload', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'fileUpload', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UploadPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): FileUploadMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(FileUploadMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(FileUploadMutationResponse::class, $query))->throw(); assert($response instanceof FileUploadMutationResponse); diff --git a/src/Requests/Pending/PendingGitAutomationStateCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingGitAutomationStateCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingGitAutomationStateCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGitAutomationStateCreateMutationRequest.php index 10d8f377..6190e6ef 100644 --- a/src/Requests/Pending/PendingGitAutomationStateCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGitAutomationStateCreateMutationRequest.php @@ -1,6 +1,6 @@ 'GitAutomationStateCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationStateCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationStateCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): GitAutomationStatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GitAutomationStateCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GitAutomationStateCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GitAutomationStateCreateMutationResponse::class, $query))->throw(); assert($response instanceof GitAutomationStateCreateMutationResponse); diff --git a/src/Requests/Pending/PendingGitAutomationStateDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingGitAutomationStateDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingGitAutomationStateDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGitAutomationStateDeleteMutationRequest.php index 37f19acb..aa4b3fc3 100644 --- a/src/Requests/Pending/PendingGitAutomationStateDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGitAutomationStateDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationStateDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationStateDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GitAutomationStateDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GitAutomationStateDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GitAutomationStateDeleteMutationResponse::class, $query))->throw(); assert($response instanceof GitAutomationStateDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingGitAutomationStateUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingGitAutomationStateUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingGitAutomationStateUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGitAutomationStateUpdateMutationRequest.php index ca4a506f..c1f03b09 100644 --- a/src/Requests/Pending/PendingGitAutomationStateUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGitAutomationStateUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'GitAutomationStateUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationStateUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationStateUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): GitAutomationStatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GitAutomationStateUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GitAutomationStateUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GitAutomationStateUpdateMutationResponse::class, $query))->throw(); assert($response instanceof GitAutomationStateUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingGitAutomationTargetBranchCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchCreateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingGitAutomationTargetBranchCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchCreateMutationRequest.php index 9ec67106..a2b45424 100644 --- a/src/Requests/Pending/PendingGitAutomationTargetBranchCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchCreateMutationRequest.php @@ -1,6 +1,6 @@ 'GitAutomationTargetBranchCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationTargetBranchCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationTargetBranchCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): GitAutomationTargetBranchPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GitAutomationTargetBranchCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GitAutomationTargetBranchCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GitAutomationTargetBranchCreateMutationResponse::class, $query))->throw(); assert($response instanceof GitAutomationTargetBranchCreateMutationResponse); diff --git a/src/Requests/Pending/PendingGitAutomationTargetBranchDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingGitAutomationTargetBranchDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchDeleteMutationRequest.php index cf433493..b9cbc0fd 100644 --- a/src/Requests/Pending/PendingGitAutomationTargetBranchDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationTargetBranchDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationTargetBranchDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GitAutomationTargetBranchDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GitAutomationTargetBranchDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GitAutomationTargetBranchDeleteMutationResponse::class, $query))->throw(); assert($response instanceof GitAutomationTargetBranchDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingGitAutomationTargetBranchUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchUpdateMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingGitAutomationTargetBranchUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchUpdateMutationRequest.php index b6647d9c..9c6242d8 100644 --- a/src/Requests/Pending/PendingGitAutomationTargetBranchUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGitAutomationTargetBranchUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'GitAutomationTargetBranchUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationTargetBranchUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'gitAutomationTargetBranchUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): GitAutomationTargetBranchPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GitAutomationTargetBranchUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GitAutomationTargetBranchUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GitAutomationTargetBranchUpdateMutationResponse::class, $query))->throw(); assert($response instanceof GitAutomationTargetBranchUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingGoogleUserAccountAuthMutationRequest.php b/src/Requests/Pending/Mutations/PendingGoogleUserAccountAuthMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingGoogleUserAccountAuthMutationRequest.php rename to src/Requests/Pending/Mutations/PendingGoogleUserAccountAuthMutationRequest.php index eb91de7a..aa68aab5 100644 --- a/src/Requests/Pending/PendingGoogleUserAccountAuthMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingGoogleUserAccountAuthMutationRequest.php @@ -1,6 +1,6 @@ 'GoogleUserAccountAuthInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'googleUserAccountAuth', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'googleUserAccountAuth', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AuthResolverResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): GoogleUserAccountAuthMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(GoogleUserAccountAuthMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(GoogleUserAccountAuthMutationResponse::class, $query))->throw(); assert($response instanceof GoogleUserAccountAuthMutationResponse); diff --git a/src/Requests/Pending/PendingImageUploadFromUrlMutationRequest.php b/src/Requests/Pending/Mutations/PendingImageUploadFromUrlMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingImageUploadFromUrlMutationRequest.php rename to src/Requests/Pending/Mutations/PendingImageUploadFromUrlMutationRequest.php index 4945ae6b..20c4f706 100644 --- a/src/Requests/Pending/PendingImageUploadFromUrlMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingImageUploadFromUrlMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'imageUploadFromUrl', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'imageUploadFromUrl', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ImageUploadFromUrlPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ImageUploadFromUrlMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ImageUploadFromUrlMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ImageUploadFromUrlMutationResponse::class, $query))->throw(); assert($response instanceof ImageUploadFromUrlMutationResponse); diff --git a/src/Requests/Pending/PendingImportFileUploadMutationRequest.php b/src/Requests/Pending/Mutations/PendingImportFileUploadMutationRequest.php similarity index 77% rename from src/Requests/Pending/PendingImportFileUploadMutationRequest.php rename to src/Requests/Pending/Mutations/PendingImportFileUploadMutationRequest.php index 7662859a..67882563 100644 --- a/src/Requests/Pending/PendingImportFileUploadMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingImportFileUploadMutationRequest.php @@ -1,6 +1,6 @@ 'JSON', 'size' => 'Int!', 'contentType' => 'String!', 'filename' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'importFileUpload', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'importFileUpload', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UploadPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ImportFileUploadMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ImportFileUploadMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ImportFileUploadMutationResponse::class, $query))->throw(); assert($response instanceof ImportFileUploadMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingInitiativeArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeArchiveMutationRequest.php index 794f2fe0..6fd08285 100644 --- a/src/Requests/Pending/PendingInitiativeArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeArchiveMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingInitiativeCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeCreateMutationRequest.php index abeb5659..835bb000 100644 --- a/src/Requests/Pending/PendingInitiativeCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeCreateMutationRequest.php @@ -1,6 +1,6 @@ 'InitiativeCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeCreateMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeCreateMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingInitiativeDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeDeleteMutationRequest.php index 986f07ff..753a409c 100644 --- a/src/Requests/Pending/PendingInitiativeDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeDeleteMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeToProjectCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeToProjectCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingInitiativeToProjectCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeToProjectCreateMutationRequest.php index cdca8386..ae3ea9b7 100644 --- a/src/Requests/Pending/PendingInitiativeToProjectCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeToProjectCreateMutationRequest.php @@ -1,6 +1,6 @@ 'InitiativeToProjectCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeToProjectCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeToProjectCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeToProjectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeToProjectCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeToProjectCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeToProjectCreateMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeToProjectCreateMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeToProjectDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeToProjectDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingInitiativeToProjectDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeToProjectDeleteMutationRequest.php index b70c4d42..d0fd196d 100644 --- a/src/Requests/Pending/PendingInitiativeToProjectDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeToProjectDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeToProjectDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeToProjectDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeToProjectDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeToProjectDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeToProjectDeleteMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeToProjectDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeToProjectUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeToProjectUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingInitiativeToProjectUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeToProjectUpdateMutationRequest.php index 65341664..a133d906 100644 --- a/src/Requests/Pending/PendingInitiativeToProjectUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeToProjectUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'InitiativeToProjectUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeToProjectUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeToProjectUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeToProjectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeToProjectUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeToProjectUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeToProjectUpdateMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeToProjectUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeUnarchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeUnarchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingInitiativeUnarchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeUnarchiveMutationRequest.php index fdce6164..bf7b2ecf 100644 --- a/src/Requests/Pending/PendingInitiativeUnarchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeUnarchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeUnarchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeUnarchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeUnarchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeUnarchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeUnarchiveMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeUnarchiveMutationResponse); diff --git a/src/Requests/Pending/PendingInitiativeUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingInitiativeUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingInitiativeUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingInitiativeUpdateMutationRequest.php index 9d65e781..442c1439 100644 --- a/src/Requests/Pending/PendingInitiativeUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingInitiativeUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'InitiativeUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'initiativeUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeUpdateMutationResponse::class, $query))->throw(); assert($response instanceof InitiativeUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIntegrationArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationArchiveMutationRequest.php index 870d9453..e4ee4fe3 100644 --- a/src/Requests/Pending/PendingIntegrationArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationArchiveMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationAsksConnectChannelMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationAsksConnectChannelMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationAsksConnectChannelMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationAsksConnectChannelMutationRequest.php index 91c6e1f8..b6d4ece0 100644 --- a/src/Requests/Pending/PendingIntegrationAsksConnectChannelMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationAsksConnectChannelMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationAsksConnectChannel', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationAsksConnectChannel', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AsksChannelConnectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationAsksConnectChannelMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationAsksConnectChannelMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationAsksConnectChannelMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationAsksConnectChannelMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIntegrationDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationDeleteMutationRequest.php index 54cf8275..b3726cf4 100644 --- a/src/Requests/Pending/PendingIntegrationDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationDiscordMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationDiscordMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationDiscordMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationDiscordMutationRequest.php index 6fcffe6e..704993a4 100644 --- a/src/Requests/Pending/PendingIntegrationDiscordMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationDiscordMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationDiscord', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationDiscord', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationDiscordMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationDiscordMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationDiscordMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationDiscordMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationFigmaMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationFigmaMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationFigmaMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationFigmaMutationRequest.php index 9b8b90ba..5880453c 100644 --- a/src/Requests/Pending/PendingIntegrationFigmaMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationFigmaMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationFigma', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationFigma', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationFigmaMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationFigmaMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationFigmaMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationFigmaMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationFrontMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationFrontMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationFrontMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationFrontMutationRequest.php index b9e2ec64..98933c5c 100644 --- a/src/Requests/Pending/PendingIntegrationFrontMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationFrontMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationFront', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationFront', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationFrontMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationFrontMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationFrontMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationFrontMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationGitHubPersonalMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationGitHubPersonalMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationGitHubPersonalMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationGitHubPersonalMutationRequest.php index afbb1d1d..d7994b8d 100644 --- a/src/Requests/Pending/PendingIntegrationGitHubPersonalMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationGitHubPersonalMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGitHubPersonal', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGitHubPersonal', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationGitHubPersonalMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationGitHubPersonalMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationGitHubPersonalMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationGitHubPersonalMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationGithubCommitCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationGithubCommitCreateMutationRequest.php similarity index 83% rename from src/Requests/Pending/PendingIntegrationGithubCommitCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationGithubCommitCreateMutationRequest.php index 69b1815b..b93f55cf 100644 --- a/src/Requests/Pending/PendingIntegrationGithubCommitCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationGithubCommitCreateMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationGithubCommitCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationGithubCommitCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationGithubCommitCreateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationGithubCommitCreateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationGithubConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationGithubConnectMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationGithubConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationGithubConnectMutationRequest.php index cd54ef35..69656bda 100644 --- a/src/Requests/Pending/PendingIntegrationGithubConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationGithubConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGithubConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGithubConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationGithubConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationGithubConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationGithubConnectMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationGithubConnectMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationGitlabConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationGitlabConnectMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIntegrationGitlabConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationGitlabConnectMutationRequest.php index abb0ddaa..b3138cde 100644 --- a/src/Requests/Pending/PendingIntegrationGitlabConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationGitlabConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'accessToken' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGitlabConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGitlabConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationGitlabConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationGitlabConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationGitlabConnectMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationGitlabConnectMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationGoogleCalendarPersonalConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationGoogleCalendarPersonalConnectMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationGoogleCalendarPersonalConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationGoogleCalendarPersonalConnectMutationRequest.php index 0272647e..ca59d759 100644 --- a/src/Requests/Pending/PendingIntegrationGoogleCalendarPersonalConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationGoogleCalendarPersonalConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGoogleCalendarPersonalConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGoogleCalendarPersonalConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationGoogleCalendarPersonalConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationGoogleCalendarPersonalConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationGoogleCalendarPersonalConnectMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationGoogleCalendarPersonalConnectMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationGoogleSheetsMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationGoogleSheetsMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationGoogleSheetsMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationGoogleSheetsMutationRequest.php index d44d4f9b..d1faa952 100644 --- a/src/Requests/Pending/PendingIntegrationGoogleSheetsMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationGoogleSheetsMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGoogleSheets', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationGoogleSheets', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationGoogleSheetsMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationGoogleSheetsMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationGoogleSheetsMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationGoogleSheetsMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationIntercomDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationIntercomDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIntegrationIntercomDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationIntercomDeleteMutationRequest.php index 9040b09d..9e852afe 100644 --- a/src/Requests/Pending/PendingIntegrationIntercomDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationIntercomDeleteMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationIntercomDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationIntercomDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationIntercomDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationIntercomDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationIntercomMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationIntercomMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingIntegrationIntercomMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationIntercomMutationRequest.php index 36121267..0b7c93ac 100644 --- a/src/Requests/Pending/PendingIntegrationIntercomMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationIntercomMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'redirectUri' => 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationIntercom', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationIntercom', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationIntercomMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationIntercomMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationIntercomMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationIntercomMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationIntercomSettingsUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationIntercomSettingsUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationIntercomSettingsUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationIntercomSettingsUpdateMutationRequest.php index 87770b8b..cd49921d 100644 --- a/src/Requests/Pending/PendingIntegrationIntercomSettingsUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationIntercomSettingsUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IntercomSettingsInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationIntercomSettingsUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationIntercomSettingsUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationIntercomSettingsUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationIntercomSettingsUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationIntercomSettingsUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationIntercomSettingsUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationJiraPersonalMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationJiraPersonalMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationJiraPersonalMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationJiraPersonalMutationRequest.php index d7abc02d..907a52e1 100644 --- a/src/Requests/Pending/PendingIntegrationJiraPersonalMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationJiraPersonalMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'accessToken' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationJiraPersonal', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationJiraPersonal', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationJiraPersonalMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationJiraPersonalMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationJiraPersonalMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationJiraPersonalMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationJiraUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationJiraUpdateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationJiraUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationJiraUpdateMutationRequest.php index 18cc62a2..a78bd225 100644 --- a/src/Requests/Pending/PendingIntegrationJiraUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationJiraUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'JiraUpdateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationJiraUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationJiraUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationJiraUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationJiraUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationJiraUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationJiraUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationLoomMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationLoomMutationRequest.php similarity index 83% rename from src/Requests/Pending/PendingIntegrationLoomMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationLoomMutationRequest.php index 5ad7fd3d..446d279c 100644 --- a/src/Requests/Pending/PendingIntegrationLoomMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationLoomMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationLoomMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationLoomMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationLoomMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationLoomMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationOpsgenieConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationOpsgenieConnectMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationOpsgenieConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationOpsgenieConnectMutationRequest.php index d7b30a66..30a6542f 100644 --- a/src/Requests/Pending/PendingIntegrationOpsgenieConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationOpsgenieConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationOpsgenieConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationOpsgenieConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationOpsgenieConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationOpsgenieConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationOpsgenieConnectMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationOpsgenieConnectMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest.php index acb22165..938830b6 100644 --- a/src/Requests/Pending/PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationOpsgenieRefreshScheduleMappingsMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationOpsgenieRefreshScheduleMappingsMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationOpsgenieRefreshScheduleMappingsMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationOpsgenieRefreshScheduleMappingsMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationOpsgenieRefreshScheduleMappingsMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationPagerDutyConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationPagerDutyConnectMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIntegrationPagerDutyConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationPagerDutyConnectMutationRequest.php index 34aeb314..cd2b56d0 100644 --- a/src/Requests/Pending/PendingIntegrationPagerDutyConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationPagerDutyConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'redirectUri' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationPagerDutyConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationPagerDutyConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationPagerDutyConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationPagerDutyConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationPagerDutyConnectMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationPagerDutyConnectMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest.php index aa0f1ab3..a35fb562 100644 --- a/src/Requests/Pending/PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationPagerDutyRefreshScheduleMappingsMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationPagerDutyRefreshScheduleMappingsMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationPagerDutyRefreshScheduleMappingsMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationPagerDutyRefreshScheduleMappingsMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationPagerDutyRefreshScheduleMappingsMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationRequestMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationRequestMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationRequestMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationRequestMutationRequest.php index 83f3bbea..717814c0 100644 --- a/src/Requests/Pending/PendingIntegrationRequestMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationRequestMutationRequest.php @@ -1,6 +1,6 @@ 'IntegrationRequestInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationRequest', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationRequest', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationRequestPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationRequestMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationRequestMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationRequestMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationRequestMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSentryConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSentryConnectMutationRequest.php similarity index 77% rename from src/Requests/Pending/PendingIntegrationSentryConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSentryConnectMutationRequest.php index e5dcc5d9..4d860a15 100644 --- a/src/Requests/Pending/PendingIntegrationSentryConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSentryConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!', 'installationId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSentryConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSentryConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSentryConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSentryConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSentryConnectMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSentryConnectMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSettingsUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSettingsUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIntegrationSettingsUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSettingsUpdateMutationRequest.php index 2453486d..929b8fce 100644 --- a/src/Requests/Pending/PendingIntegrationSettingsUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSettingsUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IntegrationSettingsInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSettingsUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSettingsUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSettingsUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSettingsUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSettingsUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSettingsUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackAsksMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackAsksMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationSlackAsksMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackAsksMutationRequest.php index de364e5e..ca6fb9a5 100644 --- a/src/Requests/Pending/PendingIntegrationSlackAsksMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackAsksMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackAsks', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackAsks', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackAsksMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackAsksMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackAsksMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackAsksMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackImportEmojisMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackImportEmojisMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIntegrationSlackImportEmojisMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackImportEmojisMutationRequest.php index 9289f85b..6d17ab03 100644 --- a/src/Requests/Pending/PendingIntegrationSlackImportEmojisMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackImportEmojisMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackImportEmojis', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackImportEmojis', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackImportEmojisMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackImportEmojisMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackImportEmojisMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackImportEmojisMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingIntegrationSlackMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackMutationRequest.php index 380a81ff..d55ca1e1 100644 --- a/src/Requests/Pending/PendingIntegrationSlackMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'redirectUri' => 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlack', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlack', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest.php index 14a34090..17692588 100644 --- a/src/Requests/Pending/PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackOrgProjectUpdatesPostMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackOrgProjectUpdatesPost', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackOrgProjectUpdatesPost', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): SlackChannelConnectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackOrgProjectUpdatesPostMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackOrgProjectUpdatesPostMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackOrgProjectUpdatesPostMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackOrgProjectUpdatesPostMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackPersonalMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackPersonalMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIntegrationSlackPersonalMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackPersonalMutationRequest.php index 6f480c86..b5ed55b4 100644 --- a/src/Requests/Pending/PendingIntegrationSlackPersonalMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackPersonalMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackPersonal', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackPersonal', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackPersonalMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackPersonalMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackPersonalMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackPersonalMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackPostMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackPostMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingIntegrationSlackPostMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackPostMutationRequest.php index e5b6dc65..4cf652b2 100644 --- a/src/Requests/Pending/PendingIntegrationSlackPostMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackPostMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'redirectUri' => 'String!', 'teamId' => 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackPost', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackPost', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): SlackChannelConnectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackPostMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackPostMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackPostMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackPostMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationSlackProjectPostMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationSlackProjectPostMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingIntegrationSlackProjectPostMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationSlackProjectPostMutationRequest.php index 0f35461e..2aa787df 100644 --- a/src/Requests/Pending/PendingIntegrationSlackProjectPostMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationSlackProjectPostMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'redirectUri' => 'String!', 'projectId' => 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackProjectPost', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationSlackProjectPost', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): SlackChannelConnectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationSlackProjectPostMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationSlackProjectPostMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationSlackProjectPostMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationSlackProjectPostMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationTemplateCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationTemplateCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationTemplateCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationTemplateCreateMutationRequest.php index 39948f80..150dae3d 100644 --- a/src/Requests/Pending/PendingIntegrationTemplateCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationTemplateCreateMutationRequest.php @@ -1,6 +1,6 @@ 'IntegrationTemplateCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationTemplateCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationTemplateCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationTemplatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationTemplateCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationTemplateCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationTemplateCreateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationTemplateCreateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationTemplateDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationTemplateDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIntegrationTemplateDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationTemplateDeleteMutationRequest.php index d0e3bb97..d3b92cb5 100644 --- a/src/Requests/Pending/PendingIntegrationTemplateDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationTemplateDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationTemplateDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationTemplateDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationTemplateDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationTemplateDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationTemplateDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationTemplateDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationUpdateSlackMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationUpdateSlackMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationUpdateSlackMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationUpdateSlackMutationRequest.php index bee7361e..113f7308 100644 --- a/src/Requests/Pending/PendingIntegrationUpdateSlackMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationUpdateSlackMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationUpdateSlack', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationUpdateSlack', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationUpdateSlackMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationUpdateSlackMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationUpdateSlackMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationUpdateSlackMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationZendeskMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationZendeskMutationRequest.php similarity index 77% rename from src/Requests/Pending/PendingIntegrationZendeskMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationZendeskMutationRequest.php index b2435187..ddc6af1c 100644 --- a/src/Requests/Pending/PendingIntegrationZendeskMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationZendeskMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!', 'scope' => 'String!', 'redirectUri' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationZendesk', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationZendesk', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationZendeskMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationZendeskMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationZendeskMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationZendeskMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationsSettingsCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationsSettingsCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationsSettingsCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationsSettingsCreateMutationRequest.php index 80c8b46b..a1cc852f 100644 --- a/src/Requests/Pending/PendingIntegrationsSettingsCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationsSettingsCreateMutationRequest.php @@ -1,6 +1,6 @@ 'IntegrationsSettingsCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationsSettingsCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationsSettingsCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationsSettingsPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationsSettingsCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationsSettingsCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationsSettingsCreateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationsSettingsCreateMutationResponse); diff --git a/src/Requests/Pending/PendingIntegrationsSettingsUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIntegrationsSettingsUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIntegrationsSettingsUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIntegrationsSettingsUpdateMutationRequest.php index e0a06ffb..100f10bc 100644 --- a/src/Requests/Pending/PendingIntegrationsSettingsUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIntegrationsSettingsUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IntegrationsSettingsUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationsSettingsUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'integrationsSettingsUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationsSettingsPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationsSettingsUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationsSettingsUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationsSettingsUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IntegrationsSettingsUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueAddLabelMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueAddLabelMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueAddLabelMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueAddLabelMutationRequest.php index 9b95850a..d5ab07e0 100644 --- a/src/Requests/Pending/PendingIssueAddLabelMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueAddLabelMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueAddLabel', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueAddLabel', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueAddLabelMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueAddLabelMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueAddLabelMutationResponse::class, $query))->throw(); assert($response instanceof IssueAddLabelMutationResponse); diff --git a/src/Requests/Pending/PendingIssueArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueArchiveMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIssueArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueArchiveMutationRequest.php index 4488ef98..ecb1fade 100644 --- a/src/Requests/Pending/PendingIssueArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueArchiveMutationResponse::class, $query))->throw(); assert($response instanceof IssueArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingIssueBatchUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueBatchUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueBatchUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueBatchUpdateMutationRequest.php index b1ae753d..ae99c06f 100644 --- a/src/Requests/Pending/PendingIssueBatchUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueBatchUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueUpdateInput!', 'ids' => '[UUID!]!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueBatchUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueBatchUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueBatchPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueBatchUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueBatchUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueBatchUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IssueBatchUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIssueCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueCreateMutationRequest.php index 472cede6..26a16b8c 100644 --- a/src/Requests/Pending/PendingIssueCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueCreateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueCreateMutationResponse::class, $query))->throw(); assert($response instanceof IssueCreateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIssueDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueDeleteMutationRequest.php index 7fa22d8d..55c53224 100644 --- a/src/Requests/Pending/PendingIssueDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IssueDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIssueDescriptionUpdateFromFrontMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueDescriptionUpdateFromFrontMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIssueDescriptionUpdateFromFrontMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueDescriptionUpdateFromFrontMutationRequest.php index eb0aedd2..12893f17 100644 --- a/src/Requests/Pending/PendingIssueDescriptionUpdateFromFrontMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueDescriptionUpdateFromFrontMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueDescriptionUpdateFromFront', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueDescriptionUpdateFromFront', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueDescriptionUpdateFromFrontMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueDescriptionUpdateFromFrontMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueDescriptionUpdateFromFrontMutationResponse::class, $query))->throw(); assert($response instanceof IssueDescriptionUpdateFromFrontMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportCreateAsanaMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportCreateAsanaMutationRequest.php similarity index 71% rename from src/Requests/Pending/PendingIssueImportCreateAsanaMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportCreateAsanaMutationRequest.php index 4d17be2c..feba4f82 100644 --- a/src/Requests/Pending/PendingIssueImportCreateAsanaMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportCreateAsanaMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'teamId' => 'String', 'teamName' => 'String', 'asanaToken' => 'String!', 'asanaTeamName' => 'String!', 'instantProcess' => 'Boolean', 'includeClosedIssues' => 'Boolean', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateAsana', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateAsana', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportCreateAsanaMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportCreateAsanaMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportCreateAsanaMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportCreateAsanaMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportCreateCSVJiraMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportCreateCSVJiraMutationRequest.php similarity index 72% rename from src/Requests/Pending/PendingIssueImportCreateCSVJiraMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportCreateCSVJiraMutationRequest.php index b21e1c1b..73840713 100644 --- a/src/Requests/Pending/PendingIssueImportCreateCSVJiraMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportCreateCSVJiraMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'teamId' => 'String', 'teamName' => 'String', 'csvUrl' => 'String!', 'jiraHostname' => 'String', 'jiraToken' => 'String', 'jiraEmail' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateCSVJira', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateCSVJira', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportCreateCSVJiraMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportCreateCSVJiraMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportCreateCSVJiraMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportCreateCSVJiraMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportCreateClubhouseMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportCreateClubhouseMutationRequest.php similarity index 70% rename from src/Requests/Pending/PendingIssueImportCreateClubhouseMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportCreateClubhouseMutationRequest.php index 14700296..b3642c05 100644 --- a/src/Requests/Pending/PendingIssueImportCreateClubhouseMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportCreateClubhouseMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'teamId' => 'String', 'teamName' => 'String', 'clubhouseToken' => 'String!', 'clubhouseGroupName' => 'String!', 'instantProcess' => 'Boolean', 'includeClosedIssues' => 'Boolean', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateClubhouse', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateClubhouse', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportCreateClubhouseMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportCreateClubhouseMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportCreateClubhouseMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportCreateClubhouseMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportCreateGithubMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportCreateGithubMutationRequest.php similarity index 67% rename from src/Requests/Pending/PendingIssueImportCreateGithubMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportCreateGithubMutationRequest.php index e616d62d..fabd526f 100644 --- a/src/Requests/Pending/PendingIssueImportCreateGithubMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportCreateGithubMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'teamId' => 'String', 'teamName' => 'String', 'githubToken' => 'String!', 'githubRepoName' => 'String!', 'githubRepoOwner' => 'String!', 'githubShouldImportOrgProjects' => 'Boolean', 'instantProcess' => 'Boolean', 'includeClosedIssues' => 'Boolean', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateGithub', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateGithub', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportCreateGithubMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportCreateGithubMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportCreateGithubMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportCreateGithubMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportCreateJiraMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportCreateJiraMutationRequest.php similarity index 68% rename from src/Requests/Pending/PendingIssueImportCreateJiraMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportCreateJiraMutationRequest.php index 53495c65..a61d8c44 100644 --- a/src/Requests/Pending/PendingIssueImportCreateJiraMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportCreateJiraMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'teamId' => 'String', 'teamName' => 'String', 'jiraToken' => 'String!', 'jiraProject' => 'String!', 'jiraEmail' => 'String!', 'jiraHostname' => 'String!', 'instantProcess' => 'Boolean', 'includeClosedIssues' => 'Boolean', 'id' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateJira', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportCreateJira', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportCreateJiraMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportCreateJiraMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportCreateJiraMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportCreateJiraMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingIssueImportDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportDeleteMutationRequest.php index ef469fb0..db46c713 100644 --- a/src/Requests/Pending/PendingIssueImportDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportDeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportProcessMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportProcessMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIssueImportProcessMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportProcessMutationRequest.php index a388d859..66a24b55 100644 --- a/src/Requests/Pending/PendingIssueImportProcessMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportProcessMutationRequest.php @@ -1,6 +1,6 @@ 'JSONObject!', 'issueImportId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportProcess', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportProcess', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportProcessMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportProcessMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportProcessMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportProcessMutationResponse); diff --git a/src/Requests/Pending/PendingIssueImportUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueImportUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIssueImportUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueImportUpdateMutationRequest.php index 2786213a..0e7a46d9 100644 --- a/src/Requests/Pending/PendingIssueImportUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueImportUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueImportUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueImportUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IssueImportUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueLabelCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueLabelCreateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIssueLabelCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueLabelCreateMutationRequest.php index 8c8bfdee..32d8cfeb 100644 --- a/src/Requests/Pending/PendingIssueLabelCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueLabelCreateMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'input' => 'IssueLabelCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueLabelCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueLabelCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueLabelPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueLabelCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueLabelCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueLabelCreateMutationResponse::class, $query))->throw(); assert($response instanceof IssueLabelCreateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueLabelDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueLabelDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIssueLabelDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueLabelDeleteMutationRequest.php index 527b3d05..75e45a61 100644 --- a/src/Requests/Pending/PendingIssueLabelDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueLabelDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueLabelDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueLabelDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueLabelDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueLabelDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueLabelDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IssueLabelDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIssueLabelUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueLabelUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIssueLabelUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueLabelUpdateMutationRequest.php index c8673528..c27628c5 100644 --- a/src/Requests/Pending/PendingIssueLabelUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueLabelUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueLabelUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueLabelUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueLabelUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueLabelPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueLabelUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueLabelUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueLabelUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IssueLabelUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueRelationCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueRelationCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueRelationCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueRelationCreateMutationRequest.php index 344b1430..19cd1d42 100644 --- a/src/Requests/Pending/PendingIssueRelationCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueRelationCreateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueRelationCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRelationCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRelationCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueRelationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueRelationCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueRelationCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueRelationCreateMutationResponse::class, $query))->throw(); assert($response instanceof IssueRelationCreateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueRelationDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueRelationDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIssueRelationDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueRelationDeleteMutationRequest.php index af34b819..0e7a6192 100644 --- a/src/Requests/Pending/PendingIssueRelationDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueRelationDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRelationDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRelationDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueRelationDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueRelationDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueRelationDeleteMutationResponse::class, $query))->throw(); assert($response instanceof IssueRelationDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingIssueRelationUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueRelationUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingIssueRelationUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueRelationUpdateMutationRequest.php index dcf3b7d5..38c38330 100644 --- a/src/Requests/Pending/PendingIssueRelationUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueRelationUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueRelationUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRelationUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRelationUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueRelationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueRelationUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueRelationUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueRelationUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IssueRelationUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingIssueReminderMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueReminderMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueReminderMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueReminderMutationRequest.php index 2e1e012f..8516ce1b 100644 --- a/src/Requests/Pending/PendingIssueReminderMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueReminderMutationRequest.php @@ -1,6 +1,6 @@ 'DateTime!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueReminder', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueReminder', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueReminderMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueReminderMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueReminderMutationResponse::class, $query))->throw(); assert($response instanceof IssueReminderMutationResponse); diff --git a/src/Requests/Pending/PendingIssueRemoveLabelMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueRemoveLabelMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueRemoveLabelMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueRemoveLabelMutationRequest.php index 34699992..df04009b 100644 --- a/src/Requests/Pending/PendingIssueRemoveLabelMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueRemoveLabelMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRemoveLabel', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueRemoveLabel', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueRemoveLabelMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueRemoveLabelMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueRemoveLabelMutationResponse::class, $query))->throw(); assert($response instanceof IssueRemoveLabelMutationResponse); diff --git a/src/Requests/Pending/PendingIssueSubscribeMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueSubscribeMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueSubscribeMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueSubscribeMutationRequest.php index d722cdb7..271186af 100644 --- a/src/Requests/Pending/PendingIssueSubscribeMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueSubscribeMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueSubscribe', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueSubscribe', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueSubscribeMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueSubscribeMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueSubscribeMutationResponse::class, $query))->throw(); assert($response instanceof IssueSubscribeMutationResponse); diff --git a/src/Requests/Pending/PendingIssueUnarchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueUnarchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingIssueUnarchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueUnarchiveMutationRequest.php index 2bdf6c08..6bdf7f9a 100644 --- a/src/Requests/Pending/PendingIssueUnarchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueUnarchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueUnarchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueUnarchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueUnarchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueUnarchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueUnarchiveMutationResponse::class, $query))->throw(); assert($response instanceof IssueUnarchiveMutationResponse); diff --git a/src/Requests/Pending/PendingIssueUnsubscribeMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueUnsubscribeMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueUnsubscribeMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueUnsubscribeMutationRequest.php index 49dbbea2..40bef09a 100644 --- a/src/Requests/Pending/PendingIssueUnsubscribeMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueUnsubscribeMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueUnsubscribe', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueUnsubscribe', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueUnsubscribeMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueUnsubscribeMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueUnsubscribeMutationResponse::class, $query))->throw(); assert($response instanceof IssueUnsubscribeMutationResponse); diff --git a/src/Requests/Pending/PendingIssueUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingIssueUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingIssueUpdateMutationRequest.php index 220c58be..22a6ea21 100644 --- a/src/Requests/Pending/PendingIssueUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingIssueUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'IssueUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'issueUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssuePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueUpdateMutationResponse::class, $query))->throw(); assert($response instanceof IssueUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingJiraIntegrationConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingJiraIntegrationConnectMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingJiraIntegrationConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingJiraIntegrationConnectMutationRequest.php index 8c8db3d6..5beac5c2 100644 --- a/src/Requests/Pending/PendingJiraIntegrationConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingJiraIntegrationConnectMutationRequest.php @@ -1,6 +1,6 @@ 'JiraConfigurationInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'jiraIntegrationConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'jiraIntegrationConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): JiraIntegrationConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(JiraIntegrationConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(JiraIntegrationConnectMutationResponse::class, $query))->throw(); assert($response instanceof JiraIntegrationConnectMutationResponse); diff --git a/src/Requests/Pending/PendingJoinOrganizationFromOnboardingMutationRequest.php b/src/Requests/Pending/Mutations/PendingJoinOrganizationFromOnboardingMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingJoinOrganizationFromOnboardingMutationRequest.php rename to src/Requests/Pending/Mutations/PendingJoinOrganizationFromOnboardingMutationRequest.php index 40294f5c..9d6c6c68 100644 --- a/src/Requests/Pending/PendingJoinOrganizationFromOnboardingMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingJoinOrganizationFromOnboardingMutationRequest.php @@ -1,6 +1,6 @@ 'JoinOrganizationInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'joinOrganizationFromOnboarding', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'joinOrganizationFromOnboarding', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CreateOrJoinOrganizationResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): JoinOrganizationFromOnboardingMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(JoinOrganizationFromOnboardingMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(JoinOrganizationFromOnboardingMutationResponse::class, $query))->throw(); assert($response instanceof JoinOrganizationFromOnboardingMutationResponse); diff --git a/src/Requests/Pending/PendingLeaveOrganizationMutationRequest.php b/src/Requests/Pending/Mutations/PendingLeaveOrganizationMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingLeaveOrganizationMutationRequest.php rename to src/Requests/Pending/Mutations/PendingLeaveOrganizationMutationRequest.php index c516327e..cf844c87 100644 --- a/src/Requests/Pending/PendingLeaveOrganizationMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingLeaveOrganizationMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'leaveOrganization', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'leaveOrganization', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CreateOrJoinOrganizationResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): LeaveOrganizationMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(LeaveOrganizationMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(LeaveOrganizationMutationResponse::class, $query))->throw(); assert($response instanceof LeaveOrganizationMutationResponse); diff --git a/src/Requests/Pending/PendingLogoutAllSessionsMutationRequest.php b/src/Requests/Pending/Mutations/PendingLogoutAllSessionsMutationRequest.php similarity index 83% rename from src/Requests/Pending/PendingLogoutAllSessionsMutationRequest.php rename to src/Requests/Pending/Mutations/PendingLogoutAllSessionsMutationRequest.php index 549f7eeb..72544ba7 100644 --- a/src/Requests/Pending/PendingLogoutAllSessionsMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingLogoutAllSessionsMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): LogoutAllSessionsMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(LogoutAllSessionsMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(LogoutAllSessionsMutationResponse::class, $query))->throw(); assert($response instanceof LogoutAllSessionsMutationResponse); diff --git a/src/Requests/Pending/PendingLogoutMutationRequest.php b/src/Requests/Pending/Mutations/PendingLogoutMutationRequest.php similarity index 84% rename from src/Requests/Pending/PendingLogoutMutationRequest.php rename to src/Requests/Pending/Mutations/PendingLogoutMutationRequest.php index 1e4ce2fe..b677090d 100644 --- a/src/Requests/Pending/PendingLogoutMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingLogoutMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): LogoutMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(LogoutMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(LogoutMutationResponse::class, $query))->throw(); assert($response instanceof LogoutMutationResponse); diff --git a/src/Requests/Pending/PendingLogoutOtherSessionsMutationRequest.php b/src/Requests/Pending/Mutations/PendingLogoutOtherSessionsMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingLogoutOtherSessionsMutationRequest.php rename to src/Requests/Pending/Mutations/PendingLogoutOtherSessionsMutationRequest.php index aac1504e..37a07e45 100644 --- a/src/Requests/Pending/PendingLogoutOtherSessionsMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingLogoutOtherSessionsMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): LogoutOtherSessionsMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(LogoutOtherSessionsMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(LogoutOtherSessionsMutationResponse::class, $query))->throw(); assert($response instanceof LogoutOtherSessionsMutationResponse); diff --git a/src/Requests/Pending/PendingLogoutSessionMutationRequest.php b/src/Requests/Pending/Mutations/PendingLogoutSessionMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingLogoutSessionMutationRequest.php rename to src/Requests/Pending/Mutations/PendingLogoutSessionMutationRequest.php index b4e5e3a2..a1453c93 100644 --- a/src/Requests/Pending/PendingLogoutSessionMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingLogoutSessionMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'logoutSession', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'logoutSession', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): LogoutResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): LogoutSessionMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(LogoutSessionMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(LogoutSessionMutationResponse::class, $query))->throw(); assert($response instanceof LogoutSessionMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationArchiveAllMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationArchiveAllMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingNotificationArchiveAllMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationArchiveAllMutationRequest.php index 072965f3..fa8a8cda 100644 --- a/src/Requests/Pending/PendingNotificationArchiveAllMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationArchiveAllMutationRequest.php @@ -1,6 +1,6 @@ 'NotificationEntityInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationArchiveAll', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationArchiveAll', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationBatchActionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationArchiveAllMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationArchiveAllMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationArchiveAllMutationResponse::class, $query))->throw(); assert($response instanceof NotificationArchiveAllMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingNotificationArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationArchiveMutationRequest.php index 0d7980cb..cc00dd82 100644 --- a/src/Requests/Pending/PendingNotificationArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationArchiveMutationResponse::class, $query))->throw(); assert($response instanceof NotificationArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationMarkReadAllMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationMarkReadAllMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingNotificationMarkReadAllMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationMarkReadAllMutationRequest.php index 6b4fb358..2efa8865 100644 --- a/src/Requests/Pending/PendingNotificationMarkReadAllMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationMarkReadAllMutationRequest.php @@ -1,6 +1,6 @@ 'DateTime!', 'input' => 'NotificationEntityInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationMarkReadAll', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationMarkReadAll', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationBatchActionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationMarkReadAllMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationMarkReadAllMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationMarkReadAllMutationResponse::class, $query))->throw(); assert($response instanceof NotificationMarkReadAllMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationMarkUnreadAllMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationMarkUnreadAllMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingNotificationMarkUnreadAllMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationMarkUnreadAllMutationRequest.php index 7edcee06..744068fe 100644 --- a/src/Requests/Pending/PendingNotificationMarkUnreadAllMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationMarkUnreadAllMutationRequest.php @@ -1,6 +1,6 @@ 'NotificationEntityInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationMarkUnreadAll', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationMarkUnreadAll', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationBatchActionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationMarkUnreadAllMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationMarkUnreadAllMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationMarkUnreadAllMutationResponse::class, $query))->throw(); assert($response instanceof NotificationMarkUnreadAllMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationSnoozeAllMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationSnoozeAllMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingNotificationSnoozeAllMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationSnoozeAllMutationRequest.php index 71c58089..67d57220 100644 --- a/src/Requests/Pending/PendingNotificationSnoozeAllMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationSnoozeAllMutationRequest.php @@ -1,6 +1,6 @@ 'DateTime!', 'input' => 'NotificationEntityInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSnoozeAll', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSnoozeAll', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationBatchActionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationSnoozeAllMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationSnoozeAllMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationSnoozeAllMutationResponse::class, $query))->throw(); assert($response instanceof NotificationSnoozeAllMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationSubscriptionCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationSubscriptionCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingNotificationSubscriptionCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationSubscriptionCreateMutationRequest.php index 8fe92320..d97972cd 100644 --- a/src/Requests/Pending/PendingNotificationSubscriptionCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationSubscriptionCreateMutationRequest.php @@ -1,6 +1,6 @@ 'NotificationSubscriptionCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSubscriptionCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSubscriptionCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationSubscriptionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationSubscriptionCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationSubscriptionCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationSubscriptionCreateMutationResponse::class, $query))->throw(); assert($response instanceof NotificationSubscriptionCreateMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationSubscriptionDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationSubscriptionDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingNotificationSubscriptionDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationSubscriptionDeleteMutationRequest.php index 8095666c..86307e08 100644 --- a/src/Requests/Pending/PendingNotificationSubscriptionDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationSubscriptionDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSubscriptionDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSubscriptionDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationSubscriptionDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationSubscriptionDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationSubscriptionDeleteMutationResponse::class, $query))->throw(); assert($response instanceof NotificationSubscriptionDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationSubscriptionUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationSubscriptionUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingNotificationSubscriptionUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationSubscriptionUpdateMutationRequest.php index bfd17105..68733790 100644 --- a/src/Requests/Pending/PendingNotificationSubscriptionUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationSubscriptionUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'NotificationSubscriptionUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSubscriptionUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationSubscriptionUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationSubscriptionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationSubscriptionUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationSubscriptionUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationSubscriptionUpdateMutationResponse::class, $query))->throw(); assert($response instanceof NotificationSubscriptionUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationUnarchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationUnarchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingNotificationUnarchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationUnarchiveMutationRequest.php index 8ae12924..1d66952f 100644 --- a/src/Requests/Pending/PendingNotificationUnarchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationUnarchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationUnarchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationUnarchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationUnarchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationUnarchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationUnarchiveMutationResponse::class, $query))->throw(); assert($response instanceof NotificationUnarchiveMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationUnsnoozeAllMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationUnsnoozeAllMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingNotificationUnsnoozeAllMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationUnsnoozeAllMutationRequest.php index 99fd1c90..e793f458 100644 --- a/src/Requests/Pending/PendingNotificationUnsnoozeAllMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationUnsnoozeAllMutationRequest.php @@ -1,6 +1,6 @@ 'DateTime!', 'input' => 'NotificationEntityInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationUnsnoozeAll', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationUnsnoozeAll', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationBatchActionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationUnsnoozeAllMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationUnsnoozeAllMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationUnsnoozeAllMutationResponse::class, $query))->throw(); assert($response instanceof NotificationUnsnoozeAllMutationResponse); diff --git a/src/Requests/Pending/PendingNotificationUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingNotificationUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingNotificationUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingNotificationUpdateMutationRequest.php index 59980f20..f1c4665a 100644 --- a/src/Requests/Pending/PendingNotificationUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingNotificationUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'NotificationUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'notificationUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationUpdateMutationResponse::class, $query))->throw(); assert($response instanceof NotificationUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationCancelDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationCancelDeleteMutationRequest.php similarity index 83% rename from src/Requests/Pending/PendingOrganizationCancelDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationCancelDeleteMutationRequest.php index dbe42148..dda7343d 100644 --- a/src/Requests/Pending/PendingOrganizationCancelDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationCancelDeleteMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationCancelDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationCancelDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationCancelDeleteMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationCancelDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationDeleteChallengeMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationDeleteChallengeMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingOrganizationDeleteChallengeMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationDeleteChallengeMutationRequest.php index 49c65372..f4ae8df5 100644 --- a/src/Requests/Pending/PendingOrganizationDeleteChallengeMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationDeleteChallengeMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDeleteChallengeMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDeleteChallengeMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDeleteChallengeMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationDeleteChallengeMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationDeleteMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingOrganizationDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationDeleteMutationRequest.php index 80a8db67..a9da31bb 100644 --- a/src/Requests/Pending/PendingOrganizationDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'DeleteOrganizationInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationDeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDeleteMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationDomainClaimMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationDomainClaimMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingOrganizationDomainClaimMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationDomainClaimMutationRequest.php index 488fce18..51893cbb 100644 --- a/src/Requests/Pending/PendingOrganizationDomainClaimMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationDomainClaimMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainClaim', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainClaim', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationDomainSimplePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDomainClaimMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDomainClaimMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDomainClaimMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationDomainClaimMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationDomainCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationDomainCreateMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingOrganizationDomainCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationDomainCreateMutationRequest.php index 41b738ca..6fd64545 100644 --- a/src/Requests/Pending/PendingOrganizationDomainCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationDomainCreateMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'input' => 'OrganizationDomainCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationDomainPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDomainCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDomainCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDomainCreateMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationDomainCreateMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationDomainDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationDomainDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingOrganizationDomainDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationDomainDeleteMutationRequest.php index 713840fd..500927a8 100644 --- a/src/Requests/Pending/PendingOrganizationDomainDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationDomainDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDomainDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDomainDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDomainDeleteMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationDomainDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationDomainVerifyMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationDomainVerifyMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingOrganizationDomainVerifyMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationDomainVerifyMutationRequest.php index 9d5239f9..cef05ada 100644 --- a/src/Requests/Pending/PendingOrganizationDomainVerifyMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationDomainVerifyMutationRequest.php @@ -1,6 +1,6 @@ 'OrganizationDomainVerificationInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainVerify', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationDomainVerify', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationDomainPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDomainVerifyMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDomainVerifyMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDomainVerifyMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationDomainVerifyMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationInviteCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationInviteCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingOrganizationInviteCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationInviteCreateMutationRequest.php index 437dc9e5..fd2ba535 100644 --- a/src/Requests/Pending/PendingOrganizationInviteCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationInviteCreateMutationRequest.php @@ -1,6 +1,6 @@ 'OrganizationInviteCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationInviteCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationInviteCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationInvitePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationInviteCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationInviteCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationInviteCreateMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationInviteCreateMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationInviteDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationInviteDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingOrganizationInviteDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationInviteDeleteMutationRequest.php index f4865324..b7c68257 100644 --- a/src/Requests/Pending/PendingOrganizationInviteDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationInviteDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationInviteDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationInviteDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationInviteDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationInviteDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationInviteDeleteMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationInviteDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationInviteUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationInviteUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingOrganizationInviteUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationInviteUpdateMutationRequest.php index 9f4c42dc..a9d3beca 100644 --- a/src/Requests/Pending/PendingOrganizationInviteUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationInviteUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'OrganizationInviteUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationInviteUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationInviteUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationInvitePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationInviteUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationInviteUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationInviteUpdateMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationInviteUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationStartPlusTrialMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationStartPlusTrialMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingOrganizationStartPlusTrialMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationStartPlusTrialMutationRequest.php index fdb903d8..1b6ecf8b 100644 --- a/src/Requests/Pending/PendingOrganizationStartPlusTrialMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationStartPlusTrialMutationRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationStartPlusTrialMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationStartPlusTrialMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationStartPlusTrialMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationStartPlusTrialMutationResponse); diff --git a/src/Requests/Pending/PendingOrganizationUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingOrganizationUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingOrganizationUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingOrganizationUpdateMutationRequest.php index 79bc51d2..dd770f68 100644 --- a/src/Requests/Pending/PendingOrganizationUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingOrganizationUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'OrganizationUpdateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'organizationUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationUpdateMutationResponse::class, $query))->throw(); assert($response instanceof OrganizationUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectArchiveMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingProjectArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectArchiveMutationRequest.php index b6921609..e8124e68 100644 --- a/src/Requests/Pending/PendingProjectArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectArchiveMutationResponse::class, $query))->throw(); assert($response instanceof ProjectArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingProjectCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectCreateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingProjectCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectCreateMutationRequest.php index fbaf8c28..5ad5b1cd 100644 --- a/src/Requests/Pending/PendingProjectCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectCreateMutationRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'input' => 'ProjectCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectCreateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectCreateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectDeleteMutationRequest.php index 1c140ed6..53beee0c 100644 --- a/src/Requests/Pending/PendingProjectDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ProjectDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingProjectLinkCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectLinkCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingProjectLinkCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectLinkCreateMutationRequest.php index a9ffc087..97897597 100644 --- a/src/Requests/Pending/PendingProjectLinkCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectLinkCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectLinkCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectLinkCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectLinkCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectLinkPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectLinkCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectLinkCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectLinkCreateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectLinkCreateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectLinkDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectLinkDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectLinkDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectLinkDeleteMutationRequest.php index 1629f160..7e46a229 100644 --- a/src/Requests/Pending/PendingProjectLinkDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectLinkDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectLinkDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectLinkDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectLinkDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectLinkDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectLinkDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ProjectLinkDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingProjectLinkUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectLinkUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingProjectLinkUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectLinkUpdateMutationRequest.php index 2e2ceb5c..69aa3bca 100644 --- a/src/Requests/Pending/PendingProjectLinkUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectLinkUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectLinkUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectLinkUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectLinkUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectLinkPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectLinkUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectLinkUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectLinkUpdateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectLinkUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectMilestoneCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectMilestoneCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingProjectMilestoneCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectMilestoneCreateMutationRequest.php index e30c82b7..e758b4b2 100644 --- a/src/Requests/Pending/PendingProjectMilestoneCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectMilestoneCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectMilestoneCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectMilestoneCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectMilestoneCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectMilestonePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectMilestoneCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectMilestoneCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectMilestoneCreateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectMilestoneCreateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectMilestoneDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectMilestoneDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingProjectMilestoneDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectMilestoneDeleteMutationRequest.php index 0d605ef6..7b30da98 100644 --- a/src/Requests/Pending/PendingProjectMilestoneDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectMilestoneDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectMilestoneDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectMilestoneDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectMilestoneDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectMilestoneDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectMilestoneDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ProjectMilestoneDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingProjectMilestoneUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectMilestoneUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingProjectMilestoneUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectMilestoneUpdateMutationRequest.php index 8dc1fdec..f66c1e53 100644 --- a/src/Requests/Pending/PendingProjectMilestoneUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectMilestoneUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectMilestoneUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectMilestoneUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectMilestoneUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectMilestonePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectMilestoneUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectMilestoneUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectMilestoneUpdateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectMilestoneUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUnarchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUnarchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectUnarchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUnarchiveMutationRequest.php index 2d9941d2..4c137d6a 100644 --- a/src/Requests/Pending/PendingProjectUnarchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUnarchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUnarchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUnarchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUnarchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUnarchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUnarchiveMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUnarchiveMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUpdateCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingProjectUpdateCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUpdateCreateMutationRequest.php index 02c1d509..8fb60cda 100644 --- a/src/Requests/Pending/PendingProjectUpdateCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUpdateCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectUpdateCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateCreateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateCreateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUpdateDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectUpdateDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUpdateDeleteMutationRequest.php index b31b3180..da2d1576 100644 --- a/src/Requests/Pending/PendingProjectUpdateDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUpdateDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateInteractionCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUpdateInteractionCreateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingProjectUpdateInteractionCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUpdateInteractionCreateMutationRequest.php index 762ebe53..35d8985b 100644 --- a/src/Requests/Pending/PendingProjectUpdateInteractionCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUpdateInteractionCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectUpdateInteractionCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateInteractionCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateInteractionCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdateInteractionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateInteractionCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateInteractionCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateInteractionCreateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateInteractionCreateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateMarkAsReadMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUpdateMarkAsReadMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectUpdateMarkAsReadMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUpdateMarkAsReadMutationRequest.php index e784a2ef..26e8abbb 100644 --- a/src/Requests/Pending/PendingProjectUpdateMarkAsReadMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUpdateMarkAsReadMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateMarkAsRead', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateMarkAsRead', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdateWithInteractionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateMarkAsReadMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateMarkAsReadMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateMarkAsReadMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateMarkAsReadMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingProjectUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUpdateMutationRequest.php index ac5bbd8a..a0a6df1a 100644 --- a/src/Requests/Pending/PendingProjectUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingProjectUpdateUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingProjectUpdateUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingProjectUpdateUpdateMutationRequest.php index 86c2e1fb..b3cb638a 100644 --- a/src/Requests/Pending/PendingProjectUpdateUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingProjectUpdateUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'ProjectUpdateUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'projectUpdateUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateUpdateMutationResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingPushSubscriptionCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingPushSubscriptionCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingPushSubscriptionCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingPushSubscriptionCreateMutationRequest.php index 87b2fe3d..c539876a 100644 --- a/src/Requests/Pending/PendingPushSubscriptionCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingPushSubscriptionCreateMutationRequest.php @@ -1,6 +1,6 @@ 'PushSubscriptionCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'pushSubscriptionCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'pushSubscriptionCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): PushSubscriptionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): PushSubscriptionCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(PushSubscriptionCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(PushSubscriptionCreateMutationResponse::class, $query))->throw(); assert($response instanceof PushSubscriptionCreateMutationResponse); diff --git a/src/Requests/Pending/PendingPushSubscriptionDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingPushSubscriptionDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingPushSubscriptionDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingPushSubscriptionDeleteMutationRequest.php index 1a20a039..d782483d 100644 --- a/src/Requests/Pending/PendingPushSubscriptionDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingPushSubscriptionDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'pushSubscriptionDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'pushSubscriptionDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): PushSubscriptionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): PushSubscriptionDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(PushSubscriptionDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(PushSubscriptionDeleteMutationResponse::class, $query))->throw(); assert($response instanceof PushSubscriptionDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingReactionCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingReactionCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingReactionCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingReactionCreateMutationRequest.php index 8ccbd03b..8402a3bd 100644 --- a/src/Requests/Pending/PendingReactionCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingReactionCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ReactionCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'reactionCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'reactionCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ReactionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ReactionCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ReactionCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ReactionCreateMutationResponse::class, $query))->throw(); assert($response instanceof ReactionCreateMutationResponse); diff --git a/src/Requests/Pending/PendingReactionDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingReactionDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingReactionDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingReactionDeleteMutationRequest.php index 4d037fad..92868097 100644 --- a/src/Requests/Pending/PendingReactionDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingReactionDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'reactionDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'reactionDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ReactionDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ReactionDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ReactionDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ReactionDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingRefreshGoogleSheetsDataMutationRequest.php b/src/Requests/Pending/Mutations/PendingRefreshGoogleSheetsDataMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingRefreshGoogleSheetsDataMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRefreshGoogleSheetsDataMutationRequest.php index f58bbe1d..86ffc7ce 100644 --- a/src/Requests/Pending/PendingRefreshGoogleSheetsDataMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRefreshGoogleSheetsDataMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'refreshGoogleSheetsData', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'refreshGoogleSheetsData', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RefreshGoogleSheetsDataMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RefreshGoogleSheetsDataMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RefreshGoogleSheetsDataMutationResponse::class, $query))->throw(); assert($response instanceof RefreshGoogleSheetsDataMutationResponse); diff --git a/src/Requests/Pending/PendingResendOrganizationInviteMutationRequest.php b/src/Requests/Pending/Mutations/PendingResendOrganizationInviteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingResendOrganizationInviteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingResendOrganizationInviteMutationRequest.php index b2d4f1c7..7ed409a9 100644 --- a/src/Requests/Pending/PendingResendOrganizationInviteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingResendOrganizationInviteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'resendOrganizationInvite', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'resendOrganizationInvite', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ResendOrganizationInviteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ResendOrganizationInviteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ResendOrganizationInviteMutationResponse::class, $query))->throw(); assert($response instanceof ResendOrganizationInviteMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingRoadmapArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapArchiveMutationRequest.php index 0e0bc084..031ff6ed 100644 --- a/src/Requests/Pending/PendingRoadmapArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapArchiveMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingRoadmapCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapCreateMutationRequest.php index d6aaf349..672e98e6 100644 --- a/src/Requests/Pending/PendingRoadmapCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapCreateMutationRequest.php @@ -1,6 +1,6 @@ 'RoadmapCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapCreateMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapCreateMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingRoadmapDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapDeleteMutationRequest.php index 34ee3181..4f429f14 100644 --- a/src/Requests/Pending/PendingRoadmapDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapDeleteMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapToProjectCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapToProjectCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingRoadmapToProjectCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapToProjectCreateMutationRequest.php index b1af7074..72867c58 100644 --- a/src/Requests/Pending/PendingRoadmapToProjectCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapToProjectCreateMutationRequest.php @@ -1,6 +1,6 @@ 'RoadmapToProjectCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapToProjectCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapToProjectCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapToProjectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapToProjectCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapToProjectCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapToProjectCreateMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapToProjectCreateMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapToProjectDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapToProjectDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingRoadmapToProjectDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapToProjectDeleteMutationRequest.php index 32bbbeea..b2c98b4e 100644 --- a/src/Requests/Pending/PendingRoadmapToProjectDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapToProjectDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapToProjectDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapToProjectDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapToProjectDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapToProjectDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapToProjectDeleteMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapToProjectDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapToProjectUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapToProjectUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingRoadmapToProjectUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapToProjectUpdateMutationRequest.php index 5565dea2..21be0bcb 100644 --- a/src/Requests/Pending/PendingRoadmapToProjectUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapToProjectUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'RoadmapToProjectUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapToProjectUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapToProjectUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapToProjectPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapToProjectUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapToProjectUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapToProjectUpdateMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapToProjectUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapUnarchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapUnarchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingRoadmapUnarchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapUnarchiveMutationRequest.php index 93a81d82..d01b0672 100644 --- a/src/Requests/Pending/PendingRoadmapUnarchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapUnarchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapUnarchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapUnarchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapUnarchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapUnarchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapUnarchiveMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapUnarchiveMutationResponse); diff --git a/src/Requests/Pending/PendingRoadmapUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingRoadmapUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingRoadmapUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingRoadmapUpdateMutationRequest.php index f7a050d2..71c65e20 100644 --- a/src/Requests/Pending/PendingRoadmapUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingRoadmapUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'RoadmapUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'roadmapUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapUpdateMutationResponse::class, $query))->throw(); assert($response instanceof RoadmapUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingSamlTokenUserAccountAuthMutationRequest.php b/src/Requests/Pending/Mutations/PendingSamlTokenUserAccountAuthMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingSamlTokenUserAccountAuthMutationRequest.php rename to src/Requests/Pending/Mutations/PendingSamlTokenUserAccountAuthMutationRequest.php index 598be55a..acb11551 100644 --- a/src/Requests/Pending/PendingSamlTokenUserAccountAuthMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingSamlTokenUserAccountAuthMutationRequest.php @@ -1,6 +1,6 @@ 'TokenUserAccountAuthInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'samlTokenUserAccountAuth', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'samlTokenUserAccountAuth', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AuthResolverResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): SamlTokenUserAccountAuthMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(SamlTokenUserAccountAuthMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(SamlTokenUserAccountAuthMutationResponse::class, $query))->throw(); assert($response instanceof SamlTokenUserAccountAuthMutationResponse); diff --git a/src/Requests/Pending/PendingTeamCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamCreateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingTeamCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamCreateMutationRequest.php index 26c7566c..5587d42e 100644 --- a/src/Requests/Pending/PendingTeamCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamCreateMutationRequest.php @@ -1,6 +1,6 @@ 'String', 'input' => 'TeamCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamCreateMutationResponse::class, $query))->throw(); assert($response instanceof TeamCreateMutationResponse); diff --git a/src/Requests/Pending/PendingTeamCyclesDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamCyclesDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTeamCyclesDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamCyclesDeleteMutationRequest.php index 7f1f3c48..a37c8574 100644 --- a/src/Requests/Pending/PendingTeamCyclesDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamCyclesDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamCyclesDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamCyclesDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamCyclesDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamCyclesDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamCyclesDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TeamCyclesDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTeamDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTeamDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamDeleteMutationRequest.php index d37715b4..729f8bed 100644 --- a/src/Requests/Pending/PendingTeamDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TeamDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTeamKeyDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamKeyDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTeamKeyDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamKeyDeleteMutationRequest.php index c6c50e06..78dba486 100644 --- a/src/Requests/Pending/PendingTeamKeyDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamKeyDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamKeyDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamKeyDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamKeyDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamKeyDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamKeyDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TeamKeyDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTeamMembershipCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamMembershipCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingTeamMembershipCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamMembershipCreateMutationRequest.php index c6d5e6f6..ab7a33f2 100644 --- a/src/Requests/Pending/PendingTeamMembershipCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamMembershipCreateMutationRequest.php @@ -1,6 +1,6 @@ 'TeamMembershipCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamMembershipCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamMembershipCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamMembershipPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamMembershipCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamMembershipCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamMembershipCreateMutationResponse::class, $query))->throw(); assert($response instanceof TeamMembershipCreateMutationResponse); diff --git a/src/Requests/Pending/PendingTeamMembershipDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamMembershipDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTeamMembershipDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamMembershipDeleteMutationRequest.php index 68052cc9..1216c3a5 100644 --- a/src/Requests/Pending/PendingTeamMembershipDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamMembershipDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamMembershipDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamMembershipDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamMembershipDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamMembershipDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamMembershipDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TeamMembershipDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTeamMembershipUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamMembershipUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingTeamMembershipUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamMembershipUpdateMutationRequest.php index 387bfb75..f8df4c3e 100644 --- a/src/Requests/Pending/PendingTeamMembershipUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamMembershipUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'TeamMembershipUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamMembershipUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamMembershipUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamMembershipPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamMembershipUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamMembershipUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamMembershipUpdateMutationResponse::class, $query))->throw(); assert($response instanceof TeamMembershipUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingTeamUnarchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamUnarchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTeamUnarchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamUnarchiveMutationRequest.php index 7d62b532..986d2ae7 100644 --- a/src/Requests/Pending/PendingTeamUnarchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamUnarchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamUnarchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamUnarchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamUnarchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamUnarchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamUnarchiveMutationResponse::class, $query))->throw(); assert($response instanceof TeamUnarchiveMutationResponse); diff --git a/src/Requests/Pending/PendingTeamUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTeamUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingTeamUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTeamUpdateMutationRequest.php index aed7d976..9835bc1e 100644 --- a/src/Requests/Pending/PendingTeamUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTeamUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'TeamUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'teamUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamUpdateMutationResponse::class, $query))->throw(); assert($response instanceof TeamUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingTemplateCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTemplateCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingTemplateCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTemplateCreateMutationRequest.php index f445904f..f966ab49 100644 --- a/src/Requests/Pending/PendingTemplateCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTemplateCreateMutationRequest.php @@ -1,6 +1,6 @@ 'TemplateCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'templateCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'templateCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TemplatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TemplateCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TemplateCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TemplateCreateMutationResponse::class, $query))->throw(); assert($response instanceof TemplateCreateMutationResponse); diff --git a/src/Requests/Pending/PendingTemplateDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTemplateDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTemplateDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTemplateDeleteMutationRequest.php index 120a1706..6d208c42 100644 --- a/src/Requests/Pending/PendingTemplateDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTemplateDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'templateDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'templateDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TemplateDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TemplateDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TemplateDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TemplateDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTemplateUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTemplateUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingTemplateUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTemplateUpdateMutationRequest.php index 85ae732d..a8776e28 100644 --- a/src/Requests/Pending/PendingTemplateUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTemplateUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'TemplateUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'templateUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'templateUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TemplatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TemplateUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TemplateUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TemplateUpdateMutationResponse::class, $query))->throw(); assert($response instanceof TemplateUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingTimeScheduleCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTimeScheduleCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingTimeScheduleCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTimeScheduleCreateMutationRequest.php index 533a38f6..7e82c4b3 100644 --- a/src/Requests/Pending/PendingTimeScheduleCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTimeScheduleCreateMutationRequest.php @@ -1,6 +1,6 @@ 'TimeScheduleCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TimeSchedulePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeScheduleCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeScheduleCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeScheduleCreateMutationResponse::class, $query))->throw(); assert($response instanceof TimeScheduleCreateMutationResponse); diff --git a/src/Requests/Pending/PendingTimeScheduleDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTimeScheduleDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingTimeScheduleDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTimeScheduleDeleteMutationRequest.php index a2b3517a..d7e97a23 100644 --- a/src/Requests/Pending/PendingTimeScheduleDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTimeScheduleDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeScheduleDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeScheduleDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeScheduleDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TimeScheduleDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTimeScheduleRefreshIntegrationScheduleMutationRequest.php b/src/Requests/Pending/Mutations/PendingTimeScheduleRefreshIntegrationScheduleMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingTimeScheduleRefreshIntegrationScheduleMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTimeScheduleRefreshIntegrationScheduleMutationRequest.php index 099829af..63d6334d 100644 --- a/src/Requests/Pending/PendingTimeScheduleRefreshIntegrationScheduleMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTimeScheduleRefreshIntegrationScheduleMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleRefreshIntegrationSchedule', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleRefreshIntegrationSchedule', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TimeSchedulePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeScheduleRefreshIntegrationScheduleMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeScheduleRefreshIntegrationScheduleMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeScheduleRefreshIntegrationScheduleMutationResponse::class, $query))->throw(); assert($response instanceof TimeScheduleRefreshIntegrationScheduleMutationResponse); diff --git a/src/Requests/Pending/PendingTimeScheduleUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTimeScheduleUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingTimeScheduleUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTimeScheduleUpdateMutationRequest.php index f4cec1c9..36357e0f 100644 --- a/src/Requests/Pending/PendingTimeScheduleUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTimeScheduleUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'TimeScheduleUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TimeSchedulePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeScheduleUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeScheduleUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeScheduleUpdateMutationResponse::class, $query))->throw(); assert($response instanceof TimeScheduleUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingTimeScheduleUpsertExternalMutationRequest.php b/src/Requests/Pending/Mutations/PendingTimeScheduleUpsertExternalMutationRequest.php similarity index 78% rename from src/Requests/Pending/PendingTimeScheduleUpsertExternalMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTimeScheduleUpsertExternalMutationRequest.php index cb968456..bd11f5ca 100644 --- a/src/Requests/Pending/PendingTimeScheduleUpsertExternalMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTimeScheduleUpsertExternalMutationRequest.php @@ -1,6 +1,6 @@ 'TimeScheduleUpdateInput!', 'externalId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleUpsertExternal', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'timeScheduleUpsertExternal', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TimeSchedulePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeScheduleUpsertExternalMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeScheduleUpsertExternalMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeScheduleUpsertExternalMutationResponse::class, $query))->throw(); assert($response instanceof TimeScheduleUpsertExternalMutationResponse); diff --git a/src/Requests/Pending/PendingTriageResponsibilityCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTriageResponsibilityCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingTriageResponsibilityCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTriageResponsibilityCreateMutationRequest.php index 03873ada..d854aa72 100644 --- a/src/Requests/Pending/PendingTriageResponsibilityCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTriageResponsibilityCreateMutationRequest.php @@ -1,6 +1,6 @@ 'TriageResponsibilityCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'triageResponsibilityCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'triageResponsibilityCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TriageResponsibilityPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TriageResponsibilityCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TriageResponsibilityCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TriageResponsibilityCreateMutationResponse::class, $query))->throw(); assert($response instanceof TriageResponsibilityCreateMutationResponse); diff --git a/src/Requests/Pending/PendingTriageResponsibilityDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingTriageResponsibilityDeleteMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingTriageResponsibilityDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTriageResponsibilityDeleteMutationRequest.php index 87ae019f..7bd8609b 100644 --- a/src/Requests/Pending/PendingTriageResponsibilityDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTriageResponsibilityDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'triageResponsibilityDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'triageResponsibilityDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TriageResponsibilityDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TriageResponsibilityDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TriageResponsibilityDeleteMutationResponse::class, $query))->throw(); assert($response instanceof TriageResponsibilityDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingTriageResponsibilityUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingTriageResponsibilityUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingTriageResponsibilityUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingTriageResponsibilityUpdateMutationRequest.php index 6701fe22..057dfa2b 100644 --- a/src/Requests/Pending/PendingTriageResponsibilityUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingTriageResponsibilityUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'TriageResponsibilityUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'triageResponsibilityUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'triageResponsibilityUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TriageResponsibilityPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TriageResponsibilityUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TriageResponsibilityUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TriageResponsibilityUpdateMutationResponse::class, $query))->throw(); assert($response instanceof TriageResponsibilityUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingUserDemoteAdminMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserDemoteAdminMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingUserDemoteAdminMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserDemoteAdminMutationRequest.php index d693e264..245231d4 100644 --- a/src/Requests/Pending/PendingUserDemoteAdminMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserDemoteAdminMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userDemoteAdmin', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userDemoteAdmin', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAdminPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserDemoteAdminMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserDemoteAdminMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserDemoteAdminMutationResponse::class, $query))->throw(); assert($response instanceof UserDemoteAdminMutationResponse); diff --git a/src/Requests/Pending/PendingUserDemoteMemberMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserDemoteMemberMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingUserDemoteMemberMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserDemoteMemberMutationRequest.php index e67a2957..4b8066ba 100644 --- a/src/Requests/Pending/PendingUserDemoteMemberMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserDemoteMemberMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userDemoteMember', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userDemoteMember', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAdminPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserDemoteMemberMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserDemoteMemberMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserDemoteMemberMutationResponse::class, $query))->throw(); assert($response instanceof UserDemoteMemberMutationResponse); diff --git a/src/Requests/Pending/PendingUserDiscordConnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserDiscordConnectMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingUserDiscordConnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserDiscordConnectMutationRequest.php index 5879091d..2ba0574e 100644 --- a/src/Requests/Pending/PendingUserDiscordConnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserDiscordConnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!', 'code' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userDiscordConnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userDiscordConnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserDiscordConnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserDiscordConnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserDiscordConnectMutationResponse::class, $query))->throw(); assert($response instanceof UserDiscordConnectMutationResponse); diff --git a/src/Requests/Pending/PendingUserExternalUserDisconnectMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserExternalUserDisconnectMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingUserExternalUserDisconnectMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserExternalUserDisconnectMutationRequest.php index 04c79759..83e83735 100644 --- a/src/Requests/Pending/PendingUserExternalUserDisconnectMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserExternalUserDisconnectMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userExternalUserDisconnect', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userExternalUserDisconnect', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserExternalUserDisconnectMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserExternalUserDisconnectMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserExternalUserDisconnectMutationResponse::class, $query))->throw(); assert($response instanceof UserExternalUserDisconnectMutationResponse); diff --git a/src/Requests/Pending/PendingUserFlagUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserFlagUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingUserFlagUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserFlagUpdateMutationRequest.php index c7e0ac67..d0f29d52 100644 --- a/src/Requests/Pending/PendingUserFlagUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserFlagUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'UserFlagUpdateOperation!', 'flag' => 'UserFlagType!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userFlagUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userFlagUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserSettingsFlagPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserFlagUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserFlagUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserFlagUpdateMutationResponse::class, $query))->throw(); assert($response instanceof UserFlagUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingUserPromoteAdminMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserPromoteAdminMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingUserPromoteAdminMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserPromoteAdminMutationRequest.php index ef9e02d7..05fc5492 100644 --- a/src/Requests/Pending/PendingUserPromoteAdminMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserPromoteAdminMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userPromoteAdmin', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userPromoteAdmin', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAdminPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserPromoteAdminMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserPromoteAdminMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserPromoteAdminMutationResponse::class, $query))->throw(); assert($response instanceof UserPromoteAdminMutationResponse); diff --git a/src/Requests/Pending/PendingUserPromoteMemberMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserPromoteMemberMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingUserPromoteMemberMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserPromoteMemberMutationRequest.php index ac551e30..3fad181c 100644 --- a/src/Requests/Pending/PendingUserPromoteMemberMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserPromoteMemberMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userPromoteMember', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userPromoteMember', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAdminPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserPromoteMemberMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserPromoteMemberMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserPromoteMemberMutationResponse::class, $query))->throw(); assert($response instanceof UserPromoteMemberMutationResponse); diff --git a/src/Requests/Pending/PendingUserSettingsFlagIncrementMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserSettingsFlagIncrementMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingUserSettingsFlagIncrementMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserSettingsFlagIncrementMutationRequest.php index 28409d00..ed5adda5 100644 --- a/src/Requests/Pending/PendingUserSettingsFlagIncrementMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserSettingsFlagIncrementMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSettingsFlagIncrement', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSettingsFlagIncrement', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserSettingsFlagPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserSettingsFlagIncrementMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserSettingsFlagIncrementMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserSettingsFlagIncrementMutationResponse::class, $query))->throw(); assert($response instanceof UserSettingsFlagIncrementMutationResponse); diff --git a/src/Requests/Pending/PendingUserSettingsFlagsResetMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserSettingsFlagsResetMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingUserSettingsFlagsResetMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserSettingsFlagsResetMutationRequest.php index 91e02eb8..45938844 100644 --- a/src/Requests/Pending/PendingUserSettingsFlagsResetMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserSettingsFlagsResetMutationRequest.php @@ -1,6 +1,6 @@ '[UserFlagType!]']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSettingsFlagsReset', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSettingsFlagsReset', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserSettingsFlagsResetPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserSettingsFlagsResetMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserSettingsFlagsResetMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserSettingsFlagsResetMutationResponse::class, $query))->throw(); assert($response instanceof UserSettingsFlagsResetMutationResponse); diff --git a/src/Requests/Pending/PendingUserSettingsUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserSettingsUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingUserSettingsUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserSettingsUpdateMutationRequest.php index a2aad584..123c26f7 100644 --- a/src/Requests/Pending/PendingUserSettingsUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserSettingsUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'UserSettingsUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSettingsUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSettingsUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserSettingsPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserSettingsUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserSettingsUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserSettingsUpdateMutationResponse::class, $query))->throw(); assert($response instanceof UserSettingsUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingUserSuspendMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserSuspendMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingUserSuspendMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserSuspendMutationRequest.php index 96e268cb..bfa4ceb1 100644 --- a/src/Requests/Pending/PendingUserSuspendMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserSuspendMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSuspend', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userSuspend', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAdminPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserSuspendMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserSuspendMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserSuspendMutationResponse::class, $query))->throw(); assert($response instanceof UserSuspendMutationResponse); diff --git a/src/Requests/Pending/PendingUserUnsuspendMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserUnsuspendMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingUserUnsuspendMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserUnsuspendMutationRequest.php index e5dd1747..003f6d4e 100644 --- a/src/Requests/Pending/PendingUserUnsuspendMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserUnsuspendMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userUnsuspend', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userUnsuspend', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAdminPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserUnsuspendMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserUnsuspendMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserUnsuspendMutationResponse::class, $query))->throw(); assert($response instanceof UserUnsuspendMutationResponse); diff --git a/src/Requests/Pending/PendingUserUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingUserUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingUserUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingUserUpdateMutationRequest.php index a892a7aa..3eeff966 100644 --- a/src/Requests/Pending/PendingUserUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingUserUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'UserUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'userUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserUpdateMutationResponse::class, $query))->throw(); assert($response instanceof UserUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingViewPreferencesCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingViewPreferencesCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingViewPreferencesCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingViewPreferencesCreateMutationRequest.php index a02077e9..9a81dbe5 100644 --- a/src/Requests/Pending/PendingViewPreferencesCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingViewPreferencesCreateMutationRequest.php @@ -1,6 +1,6 @@ 'ViewPreferencesCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'viewPreferencesCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'viewPreferencesCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ViewPreferencesPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ViewPreferencesCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ViewPreferencesCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ViewPreferencesCreateMutationResponse::class, $query))->throw(); assert($response instanceof ViewPreferencesCreateMutationResponse); diff --git a/src/Requests/Pending/PendingViewPreferencesDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingViewPreferencesDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingViewPreferencesDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingViewPreferencesDeleteMutationRequest.php index e090f0ca..20562f23 100644 --- a/src/Requests/Pending/PendingViewPreferencesDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingViewPreferencesDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'viewPreferencesDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'viewPreferencesDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ViewPreferencesDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ViewPreferencesDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ViewPreferencesDeleteMutationResponse::class, $query))->throw(); assert($response instanceof ViewPreferencesDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingViewPreferencesUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingViewPreferencesUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingViewPreferencesUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingViewPreferencesUpdateMutationRequest.php index 05eb0582..9e4c0316 100644 --- a/src/Requests/Pending/PendingViewPreferencesUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingViewPreferencesUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'ViewPreferencesUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'viewPreferencesUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'viewPreferencesUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ViewPreferencesPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ViewPreferencesUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ViewPreferencesUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ViewPreferencesUpdateMutationResponse::class, $query))->throw(); assert($response instanceof ViewPreferencesUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingWebhookCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingWebhookCreateMutationRequest.php similarity index 81% rename from src/Requests/Pending/PendingWebhookCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingWebhookCreateMutationRequest.php index 2335f841..210a5df0 100644 --- a/src/Requests/Pending/PendingWebhookCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingWebhookCreateMutationRequest.php @@ -1,6 +1,6 @@ 'WebhookCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'webhookCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'webhookCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WebhookPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WebhookCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WebhookCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WebhookCreateMutationResponse::class, $query))->throw(); assert($response instanceof WebhookCreateMutationResponse); diff --git a/src/Requests/Pending/PendingWebhookDeleteMutationRequest.php b/src/Requests/Pending/Mutations/PendingWebhookDeleteMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingWebhookDeleteMutationRequest.php rename to src/Requests/Pending/Mutations/PendingWebhookDeleteMutationRequest.php index dca68322..ba663fcc 100644 --- a/src/Requests/Pending/PendingWebhookDeleteMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingWebhookDeleteMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'webhookDelete', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'webhookDelete', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DeletePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WebhookDeleteMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WebhookDeleteMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WebhookDeleteMutationResponse::class, $query))->throw(); assert($response instanceof WebhookDeleteMutationResponse); diff --git a/src/Requests/Pending/PendingWebhookUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingWebhookUpdateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingWebhookUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingWebhookUpdateMutationRequest.php index b55d303d..5dc3117f 100644 --- a/src/Requests/Pending/PendingWebhookUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingWebhookUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'WebhookUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'webhookUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'webhookUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WebhookPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WebhookUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WebhookUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WebhookUpdateMutationResponse::class, $query))->throw(); assert($response instanceof WebhookUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingWorkflowStateArchiveMutationRequest.php b/src/Requests/Pending/Mutations/PendingWorkflowStateArchiveMutationRequest.php similarity index 82% rename from src/Requests/Pending/PendingWorkflowStateArchiveMutationRequest.php rename to src/Requests/Pending/Mutations/PendingWorkflowStateArchiveMutationRequest.php index ffff3fb1..5fe426a7 100644 --- a/src/Requests/Pending/PendingWorkflowStateArchiveMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingWorkflowStateArchiveMutationRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'workflowStateArchive', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'workflowStateArchive', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WorkflowStateArchivePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WorkflowStateArchiveMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WorkflowStateArchiveMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WorkflowStateArchiveMutationResponse::class, $query))->throw(); assert($response instanceof WorkflowStateArchiveMutationResponse); diff --git a/src/Requests/Pending/PendingWorkflowStateCreateMutationRequest.php b/src/Requests/Pending/Mutations/PendingWorkflowStateCreateMutationRequest.php similarity index 80% rename from src/Requests/Pending/PendingWorkflowStateCreateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingWorkflowStateCreateMutationRequest.php index 4b1c72f1..767c879b 100644 --- a/src/Requests/Pending/PendingWorkflowStateCreateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingWorkflowStateCreateMutationRequest.php @@ -1,6 +1,6 @@ 'WorkflowStateCreateInput!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'workflowStateCreate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'workflowStateCreate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WorkflowStatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WorkflowStateCreateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WorkflowStateCreateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WorkflowStateCreateMutationResponse::class, $query))->throw(); assert($response instanceof WorkflowStateCreateMutationResponse); diff --git a/src/Requests/Pending/PendingWorkflowStateUpdateMutationRequest.php b/src/Requests/Pending/Mutations/PendingWorkflowStateUpdateMutationRequest.php similarity index 79% rename from src/Requests/Pending/PendingWorkflowStateUpdateMutationRequest.php rename to src/Requests/Pending/Mutations/PendingWorkflowStateUpdateMutationRequest.php index ff3b0d1c..c192b9cc 100644 --- a/src/Requests/Pending/PendingWorkflowStateUpdateMutationRequest.php +++ b/src/Requests/Pending/Mutations/PendingWorkflowStateUpdateMutationRequest.php @@ -1,6 +1,6 @@ 'WorkflowStateUpdateInput!', 'id' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('mutation', 'workflowStateUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('mutation', 'workflowStateUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WorkflowStatePayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WorkflowStateUpdateMutationResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WorkflowStateUpdateMutationResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WorkflowStateUpdateMutationResponse::class, $query))->throw(); assert($response instanceof WorkflowStateUpdateMutationResponse); diff --git a/src/Requests/Pending/PendingAdministrableTeamsQueryRequest.php b/src/Requests/Pending/PendingAdministrableTeamsQueryRequest.php deleted file mode 100644 index c0202ee3..00000000 --- a/src/Requests/Pending/PendingAdministrableTeamsQueryRequest.php +++ /dev/null @@ -1,78 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): AdministrableTeamsQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(AdministrableTeamsQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof AdministrableTeamsQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingArchivedTeamsQueryRequest.php b/src/Requests/Pending/PendingArchivedTeamsQueryRequest.php deleted file mode 100644 index 68699610..00000000 --- a/src/Requests/Pending/PendingArchivedTeamsQueryRequest.php +++ /dev/null @@ -1,80 +0,0 @@ - */ - public function get(string ...$fields): Collection - { - return $this->response(...$fields)->resolve(); - } - - public function response(string ...$fields): ArchivedTeamsQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(ArchivedTeamsQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof ArchivedTeamsQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingIssueFigmaFileKeySearchQueryRequest.php b/src/Requests/Pending/PendingIssueFigmaFileKeySearchQueryRequest.php deleted file mode 100644 index 7fe973f1..00000000 --- a/src/Requests/Pending/PendingIssueFigmaFileKeySearchQueryRequest.php +++ /dev/null @@ -1,71 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): IssueFigmaFileKeySearchQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(IssueFigmaFileKeySearchQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof IssueFigmaFileKeySearchQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingIssueSearchQueryRequest.php b/src/Requests/Pending/PendingIssueSearchQueryRequest.php deleted file mode 100644 index 3f405426..00000000 --- a/src/Requests/Pending/PendingIssueSearchQueryRequest.php +++ /dev/null @@ -1,71 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): IssueSearchQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(IssueSearchQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof IssueSearchQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingIssuesQueryRequest.php b/src/Requests/Pending/PendingIssuesQueryRequest.php deleted file mode 100644 index 6f0289d8..00000000 --- a/src/Requests/Pending/PendingIssuesQueryRequest.php +++ /dev/null @@ -1,71 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): IssuesQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(IssuesQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof IssuesQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingProjectsQueryRequest.php b/src/Requests/Pending/PendingProjectsQueryRequest.php deleted file mode 100644 index d925a8c7..00000000 --- a/src/Requests/Pending/PendingProjectsQueryRequest.php +++ /dev/null @@ -1,72 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): ProjectsQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(ProjectsQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof ProjectsQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingSearchIssuesQueryRequest.php b/src/Requests/Pending/PendingSearchIssuesQueryRequest.php deleted file mode 100644 index 71c7cadc..00000000 --- a/src/Requests/Pending/PendingSearchIssuesQueryRequest.php +++ /dev/null @@ -1,73 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): SearchIssuesQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(SearchIssuesQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof SearchIssuesQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingSearchProjectsQueryRequest.php b/src/Requests/Pending/PendingSearchProjectsQueryRequest.php deleted file mode 100644 index 20e2fd29..00000000 --- a/src/Requests/Pending/PendingSearchProjectsQueryRequest.php +++ /dev/null @@ -1,74 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): SearchProjectsQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(SearchProjectsQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof SearchProjectsQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingTeamQueryRequest.php b/src/Requests/Pending/PendingTeamQueryRequest.php deleted file mode 100644 index ead1ae73..00000000 --- a/src/Requests/Pending/PendingTeamQueryRequest.php +++ /dev/null @@ -1,78 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): TeamQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(TeamQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof TeamQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/PendingTeamsQueryRequest.php b/src/Requests/Pending/PendingTeamsQueryRequest.php deleted file mode 100644 index 21b29ba7..00000000 --- a/src/Requests/Pending/PendingTeamsQueryRequest.php +++ /dev/null @@ -1,78 +0,0 @@ -response(...$fields)->resolve(); - } - - public function response(string ...$fields): TeamsQueryResponse - { - $query = $this->query->withFields($this->normalizeFields($fields)); - - $response = $this->connector->send(new LinearRequest(TeamsQueryResponse::class, (string) $query))->throw(); - - assert($response instanceof TeamsQueryResponse); - - return $response; - } -} diff --git a/src/Requests/Pending/Queries/PendingAdministrableTeamsQueryRequest.php b/src/Requests/Pending/Queries/PendingAdministrableTeamsQueryRequest.php new file mode 100644 index 00000000..bd1da518 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingAdministrableTeamsQueryRequest.php @@ -0,0 +1,38 @@ + 'TeamFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'administrableTeams', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): TeamConnection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): AdministrableTeamsQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(AdministrableTeamsQueryResponse::class, $query))->throw(); + + assert($response instanceof AdministrableTeamsQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingApiKeysQueryRequest.php b/src/Requests/Pending/Queries/PendingApiKeysQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingApiKeysQueryRequest.php rename to src/Requests/Pending/Queries/PendingApiKeysQueryRequest.php index 2a8d68b0..1813521c 100644 --- a/src/Requests/Pending/PendingApiKeysQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingApiKeysQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'apiKeys', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'apiKeys', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ApiKeyConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApiKeysQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApiKeysQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApiKeysQueryResponse::class, $query))->throw(); assert($response instanceof ApiKeysQueryResponse); diff --git a/src/Requests/Pending/PendingApplicationInfoByIdsQueryRequest.php b/src/Requests/Pending/Queries/PendingApplicationInfoByIdsQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingApplicationInfoByIdsQueryRequest.php rename to src/Requests/Pending/Queries/PendingApplicationInfoByIdsQueryRequest.php index c9ae122c..4343319f 100644 --- a/src/Requests/Pending/PendingApplicationInfoByIdsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingApplicationInfoByIdsQueryRequest.php @@ -1,6 +1,6 @@ '[String!]!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationInfoByIds', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationInfoByIds', $args, static::ARGUMENT_TYPES)); } - + /** @returns Collection */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApplicationInfoByIdsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApplicationInfoByIdsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApplicationInfoByIdsQueryResponse::class, $query))->throw(); assert($response instanceof ApplicationInfoByIdsQueryResponse); diff --git a/src/Requests/Pending/PendingApplicationInfoQueryRequest.php b/src/Requests/Pending/Queries/PendingApplicationInfoQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingApplicationInfoQueryRequest.php rename to src/Requests/Pending/Queries/PendingApplicationInfoQueryRequest.php index 3b873864..9bd26990 100644 --- a/src/Requests/Pending/PendingApplicationInfoQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingApplicationInfoQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationInfo', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationInfo', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Application { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApplicationInfoQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApplicationInfoQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApplicationInfoQueryResponse::class, $query))->throw(); assert($response instanceof ApplicationInfoQueryResponse); diff --git a/src/Requests/Pending/PendingApplicationInfoWithMembershipsByIdsQueryRequest.php b/src/Requests/Pending/Queries/PendingApplicationInfoWithMembershipsByIdsQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingApplicationInfoWithMembershipsByIdsQueryRequest.php rename to src/Requests/Pending/Queries/PendingApplicationInfoWithMembershipsByIdsQueryRequest.php index 761a2b02..c7cec911 100644 --- a/src/Requests/Pending/PendingApplicationInfoWithMembershipsByIdsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingApplicationInfoWithMembershipsByIdsQueryRequest.php @@ -1,6 +1,6 @@ '[String!]!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationInfoWithMembershipsByIds', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationInfoWithMembershipsByIds', $args, static::ARGUMENT_TYPES)); } - + /** @returns Collection */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApplicationInfoWithMembershipsByIdsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApplicationInfoWithMembershipsByIdsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApplicationInfoWithMembershipsByIdsQueryResponse::class, $query))->throw(); assert($response instanceof ApplicationInfoWithMembershipsByIdsQueryResponse); diff --git a/src/Requests/Pending/PendingApplicationWithAuthorizationQueryRequest.php b/src/Requests/Pending/Queries/PendingApplicationWithAuthorizationQueryRequest.php similarity index 79% rename from src/Requests/Pending/PendingApplicationWithAuthorizationQueryRequest.php rename to src/Requests/Pending/Queries/PendingApplicationWithAuthorizationQueryRequest.php index 403090dd..418b2e99 100644 --- a/src/Requests/Pending/PendingApplicationWithAuthorizationQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingApplicationWithAuthorizationQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'redirectUri' => 'String', 'scope' => '[String!]!', 'clientId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationWithAuthorization', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'applicationWithAuthorization', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserAuthorizedApplication { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ApplicationWithAuthorizationQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ApplicationWithAuthorizationQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ApplicationWithAuthorizationQueryResponse::class, $query))->throw(); assert($response instanceof ApplicationWithAuthorizationQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingArchivedTeamsQueryRequest.php b/src/Requests/Pending/Queries/PendingArchivedTeamsQueryRequest.php new file mode 100644 index 00000000..1074d683 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingArchivedTeamsQueryRequest.php @@ -0,0 +1,40 @@ + */ + public function get(string ...$fields): Collection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): ArchivedTeamsQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(ArchivedTeamsQueryResponse::class, $query))->throw(); + + assert($response instanceof ArchivedTeamsQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingAttachmentIssueQueryRequest.php b/src/Requests/Pending/Queries/PendingAttachmentIssueQueryRequest.php similarity index 55% rename from src/Requests/Pending/PendingAttachmentIssueQueryRequest.php rename to src/Requests/Pending/Queries/PendingAttachmentIssueQueryRequest.php index 665efd4e..97dc75de 100644 --- a/src/Requests/Pending/PendingAttachmentIssueQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAttachmentIssueQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'attachmentIssue', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'attachmentIssue', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Issue { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentIssueQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentIssueQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentIssueQueryResponse::class, $query))->throw(); assert($response instanceof AttachmentIssueQueryResponse); diff --git a/src/Requests/Pending/PendingAttachmentQueryRequest.php b/src/Requests/Pending/Queries/PendingAttachmentQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingAttachmentQueryRequest.php rename to src/Requests/Pending/Queries/PendingAttachmentQueryRequest.php index 2129a61f..a01c4119 100644 --- a/src/Requests/Pending/PendingAttachmentQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAttachmentQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'attachment', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'attachment', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Attachment { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentQueryResponse::class, $query))->throw(); assert($response instanceof AttachmentQueryResponse); diff --git a/src/Requests/Pending/PendingAttachmentSourcesQueryRequest.php b/src/Requests/Pending/Queries/PendingAttachmentSourcesQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingAttachmentSourcesQueryRequest.php rename to src/Requests/Pending/Queries/PendingAttachmentSourcesQueryRequest.php index 0b0ce2c4..445bc20e 100644 --- a/src/Requests/Pending/PendingAttachmentSourcesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAttachmentSourcesQueryRequest.php @@ -1,6 +1,6 @@ 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'attachmentSources', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'attachmentSources', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentSourcesPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentSourcesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentSourcesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentSourcesQueryResponse::class, $query))->throw(); assert($response instanceof AttachmentSourcesQueryResponse); diff --git a/src/Requests/Pending/PendingAttachmentsForURLQueryRequest.php b/src/Requests/Pending/Queries/PendingAttachmentsForURLQueryRequest.php similarity index 61% rename from src/Requests/Pending/PendingAttachmentsForURLQueryRequest.php rename to src/Requests/Pending/Queries/PendingAttachmentsForURLQueryRequest.php index 325e0fbf..7da91f7c 100644 --- a/src/Requests/Pending/PendingAttachmentsForURLQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAttachmentsForURLQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'url' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'attachmentsForURL', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'attachmentsForURL', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentsForURLQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentsForURLQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentsForURLQueryResponse::class, $query))->throw(); assert($response instanceof AttachmentsForURLQueryResponse); diff --git a/src/Requests/Pending/PendingAttachmentsQueryRequest.php b/src/Requests/Pending/Queries/PendingAttachmentsQueryRequest.php similarity index 61% rename from src/Requests/Pending/PendingAttachmentsQueryRequest.php rename to src/Requests/Pending/Queries/PendingAttachmentsQueryRequest.php index a13b5a9d..dea05037 100644 --- a/src/Requests/Pending/PendingAttachmentsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAttachmentsQueryRequest.php @@ -1,6 +1,6 @@ 'AttachmentFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'attachments', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'attachments', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AttachmentConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AttachmentsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AttachmentsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AttachmentsQueryResponse::class, $query))->throw(); assert($response instanceof AttachmentsQueryResponse); diff --git a/src/Requests/Pending/PendingAuditEntriesQueryRequest.php b/src/Requests/Pending/Queries/PendingAuditEntriesQueryRequest.php similarity index 61% rename from src/Requests/Pending/PendingAuditEntriesQueryRequest.php rename to src/Requests/Pending/Queries/PendingAuditEntriesQueryRequest.php index 599b9daf..a624fe6a 100644 --- a/src/Requests/Pending/PendingAuditEntriesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAuditEntriesQueryRequest.php @@ -1,6 +1,6 @@ 'AuditEntryFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'auditEntries', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'auditEntries', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): AuditEntryConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AuditEntriesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AuditEntriesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AuditEntriesQueryResponse::class, $query))->throw(); assert($response instanceof AuditEntriesQueryResponse); diff --git a/src/Requests/Pending/PendingAuditEntryTypesQueryRequest.php b/src/Requests/Pending/Queries/PendingAuditEntryTypesQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingAuditEntryTypesQueryRequest.php rename to src/Requests/Pending/Queries/PendingAuditEntryTypesQueryRequest.php index ba044e41..5ecd90ed 100644 --- a/src/Requests/Pending/PendingAuditEntryTypesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAuditEntryTypesQueryRequest.php @@ -1,6 +1,6 @@ */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AuditEntryTypesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AuditEntryTypesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AuditEntryTypesQueryResponse::class, $query))->throw(); assert($response instanceof AuditEntryTypesQueryResponse); diff --git a/src/Requests/Pending/PendingAuthenticationSessionsQueryRequest.php b/src/Requests/Pending/Queries/PendingAuthenticationSessionsQueryRequest.php similarity index 69% rename from src/Requests/Pending/PendingAuthenticationSessionsQueryRequest.php rename to src/Requests/Pending/Queries/PendingAuthenticationSessionsQueryRequest.php index cb966798..5452aadd 100644 --- a/src/Requests/Pending/PendingAuthenticationSessionsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAuthenticationSessionsQueryRequest.php @@ -1,6 +1,6 @@ */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AuthenticationSessionsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AuthenticationSessionsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AuthenticationSessionsQueryResponse::class, $query))->throw(); assert($response instanceof AuthenticationSessionsQueryResponse); diff --git a/src/Requests/Pending/PendingAuthorizedApplicationsQueryRequest.php b/src/Requests/Pending/Queries/PendingAuthorizedApplicationsQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingAuthorizedApplicationsQueryRequest.php rename to src/Requests/Pending/Queries/PendingAuthorizedApplicationsQueryRequest.php index d213a7e7..fdd4f890 100644 --- a/src/Requests/Pending/PendingAuthorizedApplicationsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAuthorizedApplicationsQueryRequest.php @@ -1,6 +1,6 @@ */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): AuthorizedApplicationsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AuthorizedApplicationsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AuthorizedApplicationsQueryResponse::class, $query))->throw(); assert($response instanceof AuthorizedApplicationsQueryResponse); diff --git a/src/Requests/Pending/PendingAvailableUsersQueryRequest.php b/src/Requests/Pending/Queries/PendingAvailableUsersQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingAvailableUsersQueryRequest.php rename to src/Requests/Pending/Queries/PendingAvailableUsersQueryRequest.php index bc3ad3bd..a3c22bc6 100644 --- a/src/Requests/Pending/PendingAvailableUsersQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingAvailableUsersQueryRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): AvailableUsersQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(AvailableUsersQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(AvailableUsersQueryResponse::class, $query))->throw(); assert($response instanceof AvailableUsersQueryResponse); diff --git a/src/Requests/Pending/PendingCommentQueryRequest.php b/src/Requests/Pending/Queries/PendingCommentQueryRequest.php similarity index 81% rename from src/Requests/Pending/PendingCommentQueryRequest.php rename to src/Requests/Pending/Queries/PendingCommentQueryRequest.php index 41ae9d9f..22a314e9 100644 --- a/src/Requests/Pending/PendingCommentQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCommentQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'issueId' => 'String', 'hash' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'comment', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'comment', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Comment { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentQueryResponse::class, $query))->throw(); assert($response instanceof CommentQueryResponse); diff --git a/src/Requests/Pending/PendingCommentsQueryRequest.php b/src/Requests/Pending/Queries/PendingCommentsQueryRequest.php similarity index 60% rename from src/Requests/Pending/PendingCommentsQueryRequest.php rename to src/Requests/Pending/Queries/PendingCommentsQueryRequest.php index 7a28fe9c..f18a40f9 100644 --- a/src/Requests/Pending/PendingCommentsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCommentsQueryRequest.php @@ -1,6 +1,6 @@ 'CommentFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'comments', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'comments', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CommentConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CommentsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CommentsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CommentsQueryResponse::class, $query))->throw(); assert($response instanceof CommentsQueryResponse); diff --git a/src/Requests/Pending/PendingCustomViewDetailsSuggestionQueryRequest.php b/src/Requests/Pending/Queries/PendingCustomViewDetailsSuggestionQueryRequest.php similarity index 80% rename from src/Requests/Pending/PendingCustomViewDetailsSuggestionQueryRequest.php rename to src/Requests/Pending/Queries/PendingCustomViewDetailsSuggestionQueryRequest.php index 4e1f81bf..e2719b36 100644 --- a/src/Requests/Pending/PendingCustomViewDetailsSuggestionQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCustomViewDetailsSuggestionQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'filter' => 'JSONObject!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'customViewDetailsSuggestion', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'customViewDetailsSuggestion', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CustomViewSuggestionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewDetailsSuggestionQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewDetailsSuggestionQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewDetailsSuggestionQueryResponse::class, $query))->throw(); assert($response instanceof CustomViewDetailsSuggestionQueryResponse); diff --git a/src/Requests/Pending/PendingCustomViewHasSubscribersQueryRequest.php b/src/Requests/Pending/Queries/PendingCustomViewHasSubscribersQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingCustomViewHasSubscribersQueryRequest.php rename to src/Requests/Pending/Queries/PendingCustomViewHasSubscribersQueryRequest.php index e18ffa87..655d93d4 100644 --- a/src/Requests/Pending/PendingCustomViewHasSubscribersQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCustomViewHasSubscribersQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'customViewHasSubscribers', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'customViewHasSubscribers', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CustomViewHasSubscribersPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewHasSubscribersQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewHasSubscribersQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewHasSubscribersQueryResponse::class, $query))->throw(); assert($response instanceof CustomViewHasSubscribersQueryResponse); diff --git a/src/Requests/Pending/PendingCustomViewQueryRequest.php b/src/Requests/Pending/Queries/PendingCustomViewQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingCustomViewQueryRequest.php rename to src/Requests/Pending/Queries/PendingCustomViewQueryRequest.php index 27a08241..2df1947b 100644 --- a/src/Requests/Pending/PendingCustomViewQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCustomViewQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'customView', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'customView', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CustomView { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewQueryResponse::class, $query))->throw(); assert($response instanceof CustomViewQueryResponse); diff --git a/src/Requests/Pending/PendingCustomViewsQueryRequest.php b/src/Requests/Pending/Queries/PendingCustomViewsQueryRequest.php similarity index 61% rename from src/Requests/Pending/PendingCustomViewsQueryRequest.php rename to src/Requests/Pending/Queries/PendingCustomViewsQueryRequest.php index 5d1c4be7..11c5aa73 100644 --- a/src/Requests/Pending/PendingCustomViewsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCustomViewsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'customViews', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'customViews', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CustomViewConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CustomViewsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CustomViewsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CustomViewsQueryResponse::class, $query))->throw(); assert($response instanceof CustomViewsQueryResponse); diff --git a/src/Requests/Pending/PendingCycleQueryRequest.php b/src/Requests/Pending/Queries/PendingCycleQueryRequest.php similarity index 64% rename from src/Requests/Pending/PendingCycleQueryRequest.php rename to src/Requests/Pending/Queries/PendingCycleQueryRequest.php index e48e78a9..7350c1ec 100644 --- a/src/Requests/Pending/PendingCycleQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCycleQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'cycle', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'cycle', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Cycle { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CycleQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CycleQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CycleQueryResponse::class, $query))->throw(); assert($response instanceof CycleQueryResponse); diff --git a/src/Requests/Pending/PendingCyclesQueryRequest.php b/src/Requests/Pending/Queries/PendingCyclesQueryRequest.php similarity index 54% rename from src/Requests/Pending/PendingCyclesQueryRequest.php rename to src/Requests/Pending/Queries/PendingCyclesQueryRequest.php index a85ad8f3..e63e757b 100644 --- a/src/Requests/Pending/PendingCyclesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingCyclesQueryRequest.php @@ -1,6 +1,6 @@ 'CycleFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'cycles', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'cycles', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): CycleConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): CyclesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(CyclesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(CyclesQueryResponse::class, $query))->throw(); assert($response instanceof CyclesQueryResponse); diff --git a/src/Requests/Pending/PendingDocumentContentHistoryQueryRequest.php b/src/Requests/Pending/Queries/PendingDocumentContentHistoryQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingDocumentContentHistoryQueryRequest.php rename to src/Requests/Pending/Queries/PendingDocumentContentHistoryQueryRequest.php index 73731147..ca5642dd 100644 --- a/src/Requests/Pending/PendingDocumentContentHistoryQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingDocumentContentHistoryQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'documentContentHistory', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'documentContentHistory', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DocumentContentHistoryPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): DocumentContentHistoryQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(DocumentContentHistoryQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(DocumentContentHistoryQueryResponse::class, $query))->throw(); assert($response instanceof DocumentContentHistoryQueryResponse); diff --git a/src/Requests/Pending/PendingDocumentQueryRequest.php b/src/Requests/Pending/Queries/PendingDocumentQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingDocumentQueryRequest.php rename to src/Requests/Pending/Queries/PendingDocumentQueryRequest.php index f4df7ab9..d6cc4346 100644 --- a/src/Requests/Pending/PendingDocumentQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingDocumentQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'document', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'document', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Document { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): DocumentQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(DocumentQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(DocumentQueryResponse::class, $query))->throw(); assert($response instanceof DocumentQueryResponse); diff --git a/src/Requests/Pending/PendingDocumentsQueryRequest.php b/src/Requests/Pending/Queries/PendingDocumentsQueryRequest.php similarity index 60% rename from src/Requests/Pending/PendingDocumentsQueryRequest.php rename to src/Requests/Pending/Queries/PendingDocumentsQueryRequest.php index 91a61db2..b0a8116e 100644 --- a/src/Requests/Pending/PendingDocumentsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingDocumentsQueryRequest.php @@ -1,6 +1,6 @@ 'DocumentFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'documents', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'documents', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DocumentConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): DocumentsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(DocumentsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(DocumentsQueryResponse::class, $query))->throw(); assert($response instanceof DocumentsQueryResponse); diff --git a/src/Requests/Pending/PendingEmojiQueryRequest.php b/src/Requests/Pending/Queries/PendingEmojiQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingEmojiQueryRequest.php rename to src/Requests/Pending/Queries/PendingEmojiQueryRequest.php index 2ed54385..cb80899a 100644 --- a/src/Requests/Pending/PendingEmojiQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingEmojiQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'emoji', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'emoji', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Emoji { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmojiQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmojiQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmojiQueryResponse::class, $query))->throw(); assert($response instanceof EmojiQueryResponse); diff --git a/src/Requests/Pending/PendingEmojisQueryRequest.php b/src/Requests/Pending/Queries/PendingEmojisQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingEmojisQueryRequest.php rename to src/Requests/Pending/Queries/PendingEmojisQueryRequest.php index 82d46af2..5a618adc 100644 --- a/src/Requests/Pending/PendingEmojisQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingEmojisQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'emojis', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'emojis', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): EmojiConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): EmojisQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(EmojisQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(EmojisQueryResponse::class, $query))->throw(); assert($response instanceof EmojisQueryResponse); diff --git a/src/Requests/Pending/PendingExternalUserQueryRequest.php b/src/Requests/Pending/Queries/PendingExternalUserQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingExternalUserQueryRequest.php rename to src/Requests/Pending/Queries/PendingExternalUserQueryRequest.php index 4b67659e..2f300951 100644 --- a/src/Requests/Pending/PendingExternalUserQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingExternalUserQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'externalUser', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'externalUser', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ExternalUser { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ExternalUserQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ExternalUserQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ExternalUserQueryResponse::class, $query))->throw(); assert($response instanceof ExternalUserQueryResponse); diff --git a/src/Requests/Pending/PendingExternalUsersQueryRequest.php b/src/Requests/Pending/Queries/PendingExternalUsersQueryRequest.php similarity index 77% rename from src/Requests/Pending/PendingExternalUsersQueryRequest.php rename to src/Requests/Pending/Queries/PendingExternalUsersQueryRequest.php index cf5868d6..6bcdac79 100644 --- a/src/Requests/Pending/PendingExternalUsersQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingExternalUsersQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'externalUsers', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'externalUsers', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ExternalUserConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ExternalUsersQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ExternalUsersQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ExternalUsersQueryResponse::class, $query))->throw(); assert($response instanceof ExternalUsersQueryResponse); diff --git a/src/Requests/Pending/PendingFavoriteQueryRequest.php b/src/Requests/Pending/Queries/PendingFavoriteQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingFavoriteQueryRequest.php rename to src/Requests/Pending/Queries/PendingFavoriteQueryRequest.php index 925cd2df..dd3d418d 100644 --- a/src/Requests/Pending/PendingFavoriteQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingFavoriteQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'favorite', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'favorite', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Favorite { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): FavoriteQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(FavoriteQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(FavoriteQueryResponse::class, $query))->throw(); assert($response instanceof FavoriteQueryResponse); diff --git a/src/Requests/Pending/PendingFavoritesQueryRequest.php b/src/Requests/Pending/Queries/PendingFavoritesQueryRequest.php similarity index 63% rename from src/Requests/Pending/PendingFavoritesQueryRequest.php rename to src/Requests/Pending/Queries/PendingFavoritesQueryRequest.php index 6d87f78c..dbde7d28 100644 --- a/src/Requests/Pending/PendingFavoritesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingFavoritesQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'favorites', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'favorites', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): FavoriteConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): FavoritesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(FavoritesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(FavoritesQueryResponse::class, $query))->throw(); assert($response instanceof FavoritesQueryResponse); diff --git a/src/Requests/Pending/PendingInitiativeQueryRequest.php b/src/Requests/Pending/Queries/PendingInitiativeQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingInitiativeQueryRequest.php rename to src/Requests/Pending/Queries/PendingInitiativeQueryRequest.php index ae92dbd6..ad752607 100644 --- a/src/Requests/Pending/PendingInitiativeQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingInitiativeQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'initiative', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'initiative', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Initiative { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeQueryResponse::class, $query))->throw(); assert($response instanceof InitiativeQueryResponse); diff --git a/src/Requests/Pending/PendingInitiativeToProjectQueryRequest.php b/src/Requests/Pending/Queries/PendingInitiativeToProjectQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingInitiativeToProjectQueryRequest.php rename to src/Requests/Pending/Queries/PendingInitiativeToProjectQueryRequest.php index acc7ca23..766cc1fe 100644 --- a/src/Requests/Pending/PendingInitiativeToProjectQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingInitiativeToProjectQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'initiativeToProject', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'initiativeToProject', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeToProject { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeToProjectQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeToProjectQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeToProjectQueryResponse::class, $query))->throw(); assert($response instanceof InitiativeToProjectQueryResponse); diff --git a/src/Requests/Pending/PendingInitiativeToProjectsQueryRequest.php b/src/Requests/Pending/Queries/PendingInitiativeToProjectsQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingInitiativeToProjectsQueryRequest.php rename to src/Requests/Pending/Queries/PendingInitiativeToProjectsQueryRequest.php index d9bf38fc..d3c7c3c2 100644 --- a/src/Requests/Pending/PendingInitiativeToProjectsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingInitiativeToProjectsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'initiativeToProjects', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'initiativeToProjects', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeToProjectConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativeToProjectsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativeToProjectsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativeToProjectsQueryResponse::class, $query))->throw(); assert($response instanceof InitiativeToProjectsQueryResponse); diff --git a/src/Requests/Pending/PendingInitiativesQueryRequest.php b/src/Requests/Pending/Queries/PendingInitiativesQueryRequest.php similarity index 62% rename from src/Requests/Pending/PendingInitiativesQueryRequest.php rename to src/Requests/Pending/Queries/PendingInitiativesQueryRequest.php index 0748c308..f47595c3 100644 --- a/src/Requests/Pending/PendingInitiativesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingInitiativesQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'initiatives', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'initiatives', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): InitiativeConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): InitiativesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(InitiativesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(InitiativesQueryResponse::class, $query))->throw(); assert($response instanceof InitiativesQueryResponse); diff --git a/src/Requests/Pending/PendingIntegrationHasScopesQueryRequest.php b/src/Requests/Pending/Queries/PendingIntegrationHasScopesQueryRequest.php similarity index 80% rename from src/Requests/Pending/PendingIntegrationHasScopesQueryRequest.php rename to src/Requests/Pending/Queries/PendingIntegrationHasScopesQueryRequest.php index 952a3a4b..1bb1d45d 100644 --- a/src/Requests/Pending/PendingIntegrationHasScopesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIntegrationHasScopesQueryRequest.php @@ -1,6 +1,6 @@ '[String!]!', 'integrationId' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationHasScopes', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationHasScopes', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationHasScopesPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationHasScopesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationHasScopesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationHasScopesQueryResponse::class, $query))->throw(); assert($response instanceof IntegrationHasScopesQueryResponse); diff --git a/src/Requests/Pending/PendingIntegrationQueryRequest.php b/src/Requests/Pending/Queries/PendingIntegrationQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingIntegrationQueryRequest.php rename to src/Requests/Pending/Queries/PendingIntegrationQueryRequest.php index 47d7fda2..b7892f1b 100644 --- a/src/Requests/Pending/PendingIntegrationQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIntegrationQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'integration', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'integration', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Integration { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationQueryResponse::class, $query))->throw(); assert($response instanceof IntegrationQueryResponse); diff --git a/src/Requests/Pending/PendingIntegrationTemplateQueryRequest.php b/src/Requests/Pending/Queries/PendingIntegrationTemplateQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingIntegrationTemplateQueryRequest.php rename to src/Requests/Pending/Queries/PendingIntegrationTemplateQueryRequest.php index 36959621..f2a50beb 100644 --- a/src/Requests/Pending/PendingIntegrationTemplateQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIntegrationTemplateQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationTemplate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationTemplate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationTemplate { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationTemplateQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationTemplateQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationTemplateQueryResponse::class, $query))->throw(); assert($response instanceof IntegrationTemplateQueryResponse); diff --git a/src/Requests/Pending/PendingIntegrationTemplatesQueryRequest.php b/src/Requests/Pending/Queries/PendingIntegrationTemplatesQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingIntegrationTemplatesQueryRequest.php rename to src/Requests/Pending/Queries/PendingIntegrationTemplatesQueryRequest.php index baf22d45..35f78261 100644 --- a/src/Requests/Pending/PendingIntegrationTemplatesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIntegrationTemplatesQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationTemplates', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationTemplates', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationTemplateConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationTemplatesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationTemplatesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationTemplatesQueryResponse::class, $query))->throw(); assert($response instanceof IntegrationTemplatesQueryResponse); diff --git a/src/Requests/Pending/PendingIntegrationsQueryRequest.php b/src/Requests/Pending/Queries/PendingIntegrationsQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingIntegrationsQueryRequest.php rename to src/Requests/Pending/Queries/PendingIntegrationsQueryRequest.php index e5a2c37e..693cf58b 100644 --- a/src/Requests/Pending/PendingIntegrationsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIntegrationsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'integrations', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'integrations', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationsQueryResponse::class, $query))->throw(); assert($response instanceof IntegrationsQueryResponse); diff --git a/src/Requests/Pending/PendingIntegrationsSettingsQueryRequest.php b/src/Requests/Pending/Queries/PendingIntegrationsSettingsQueryRequest.php similarity index 62% rename from src/Requests/Pending/PendingIntegrationsSettingsQueryRequest.php rename to src/Requests/Pending/Queries/PendingIntegrationsSettingsQueryRequest.php index 9a741251..eaf70cce 100644 --- a/src/Requests/Pending/PendingIntegrationsSettingsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIntegrationsSettingsQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationsSettings', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'integrationsSettings', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IntegrationsSettings { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IntegrationsSettingsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IntegrationsSettingsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IntegrationsSettingsQueryResponse::class, $query))->throw(); assert($response instanceof IntegrationsSettingsQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingIssueFigmaFileKeySearchQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueFigmaFileKeySearchQueryRequest.php new file mode 100644 index 00000000..27277659 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingIssueFigmaFileKeySearchQueryRequest.php @@ -0,0 +1,38 @@ + 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'fileKey' => 'String!']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueFigmaFileKeySearch', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): IssueConnection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): IssueFigmaFileKeySearchQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(IssueFigmaFileKeySearchQueryResponse::class, $query))->throw(); + + assert($response instanceof IssueFigmaFileKeySearchQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingIssueFilterSuggestionQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueFilterSuggestionQueryRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueFilterSuggestionQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueFilterSuggestionQueryRequest.php index 81bc3037..834986fe 100644 --- a/src/Requests/Pending/PendingIssueFilterSuggestionQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueFilterSuggestionQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'prompt' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueFilterSuggestion', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueFilterSuggestion', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueFilterSuggestionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueFilterSuggestionQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueFilterSuggestionQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueFilterSuggestionQueryResponse::class, $query))->throw(); assert($response instanceof IssueFilterSuggestionQueryResponse); diff --git a/src/Requests/Pending/PendingIssueImportCheckCSVQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueImportCheckCSVQueryRequest.php similarity index 80% rename from src/Requests/Pending/PendingIssueImportCheckCSVQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueImportCheckCSVQueryRequest.php index 7142444c..c7ced437 100644 --- a/src/Requests/Pending/PendingIssueImportCheckCSVQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueImportCheckCSVQueryRequest.php @@ -1,6 +1,6 @@ 'String!', 'service' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueImportCheckCSV', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueImportCheckCSV', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueImportCheckPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportCheckCSVQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportCheckCSVQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportCheckCSVQueryResponse::class, $query))->throw(); assert($response instanceof IssueImportCheckCSVQueryResponse); diff --git a/src/Requests/Pending/PendingIssueImportFinishGithubOAuthQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueImportFinishGithubOAuthQueryRequest.php similarity index 81% rename from src/Requests/Pending/PendingIssueImportFinishGithubOAuthQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueImportFinishGithubOAuthQueryRequest.php index bd994a64..da804ab8 100644 --- a/src/Requests/Pending/PendingIssueImportFinishGithubOAuthQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueImportFinishGithubOAuthQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueImportFinishGithubOAuth', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueImportFinishGithubOAuth', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): GithubOAuthTokenPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueImportFinishGithubOAuthQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueImportFinishGithubOAuthQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueImportFinishGithubOAuthQueryResponse::class, $query))->throw(); assert($response instanceof IssueImportFinishGithubOAuthQueryResponse); diff --git a/src/Requests/Pending/PendingIssueLabelQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueLabelQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingIssueLabelQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueLabelQueryRequest.php index 3037929f..23f1f6e1 100644 --- a/src/Requests/Pending/PendingIssueLabelQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueLabelQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueLabel', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueLabel', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueLabel { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueLabelQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueLabelQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueLabelQueryResponse::class, $query))->throw(); assert($response instanceof IssueLabelQueryResponse); diff --git a/src/Requests/Pending/PendingIssueLabelsQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueLabelsQueryRequest.php similarity index 75% rename from src/Requests/Pending/PendingIssueLabelsQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueLabelsQueryRequest.php index 482d57b2..1bcae3f2 100644 --- a/src/Requests/Pending/PendingIssueLabelsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueLabelsQueryRequest.php @@ -1,6 +1,6 @@ 'IssueLabelFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueLabels', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueLabels', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueLabelConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueLabelsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueLabelsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueLabelsQueryResponse::class, $query))->throw(); assert($response instanceof IssueLabelsQueryResponse); diff --git a/src/Requests/Pending/PendingIssuePriorityValuesQueryRequest.php b/src/Requests/Pending/Queries/PendingIssuePriorityValuesQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingIssuePriorityValuesQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssuePriorityValuesQueryRequest.php index cdd42fc2..ba816891 100644 --- a/src/Requests/Pending/PendingIssuePriorityValuesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssuePriorityValuesQueryRequest.php @@ -1,6 +1,6 @@ */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssuePriorityValuesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssuePriorityValuesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssuePriorityValuesQueryResponse::class, $query))->throw(); assert($response instanceof IssuePriorityValuesQueryResponse); diff --git a/src/Requests/Pending/PendingIssueQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueQueryRequest.php similarity index 54% rename from src/Requests/Pending/PendingIssueQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueQueryRequest.php index e73f96f6..2064225c 100644 --- a/src/Requests/Pending/PendingIssueQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issue', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issue', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Issue { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueQueryResponse::class, $query))->throw(); assert($response instanceof IssueQueryResponse); diff --git a/src/Requests/Pending/PendingIssueRelationQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueRelationQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingIssueRelationQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueRelationQueryRequest.php index 9bd1dfbe..83f4e346 100644 --- a/src/Requests/Pending/PendingIssueRelationQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueRelationQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueRelation', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueRelation', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueRelation { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueRelationQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueRelationQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueRelationQueryResponse::class, $query))->throw(); assert($response instanceof IssueRelationQueryResponse); diff --git a/src/Requests/Pending/PendingIssueRelationsQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueRelationsQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingIssueRelationsQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueRelationsQueryRequest.php index 41a8efe1..64427250 100644 --- a/src/Requests/Pending/PendingIssueRelationsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueRelationsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueRelations', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueRelations', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): IssueRelationConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueRelationsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueRelationsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueRelationsQueryResponse::class, $query))->throw(); assert($response instanceof IssueRelationsQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingIssueSearchQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueSearchQueryRequest.php new file mode 100644 index 00000000..ec28a809 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingIssueSearchQueryRequest.php @@ -0,0 +1,38 @@ + 'IssueFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'query' => 'String']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueSearch', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): IssueConnection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): IssueSearchQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(IssueSearchQueryResponse::class, $query))->throw(); + + assert($response instanceof IssueSearchQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingIssueVcsBranchSearchQueryRequest.php b/src/Requests/Pending/Queries/PendingIssueVcsBranchSearchQueryRequest.php similarity index 55% rename from src/Requests/Pending/PendingIssueVcsBranchSearchQueryRequest.php rename to src/Requests/Pending/Queries/PendingIssueVcsBranchSearchQueryRequest.php index ff39b9d6..a448aa0b 100644 --- a/src/Requests/Pending/PendingIssueVcsBranchSearchQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingIssueVcsBranchSearchQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'issueVcsBranchSearch', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'issueVcsBranchSearch', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Issue { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): IssueVcsBranchSearchQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(IssueVcsBranchSearchQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(IssueVcsBranchSearchQueryResponse::class, $query))->throw(); assert($response instanceof IssueVcsBranchSearchQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingIssuesQueryRequest.php b/src/Requests/Pending/Queries/PendingIssuesQueryRequest.php new file mode 100644 index 00000000..25d9563a --- /dev/null +++ b/src/Requests/Pending/Queries/PendingIssuesQueryRequest.php @@ -0,0 +1,38 @@ + 'IssueFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'sort' => '[IssueSortInput!]']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'issues', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): IssueConnection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): IssuesQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(IssuesQueryResponse::class, $query))->throw(); + + assert($response instanceof IssuesQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingNotificationQueryRequest.php b/src/Requests/Pending/Queries/PendingNotificationQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingNotificationQueryRequest.php rename to src/Requests/Pending/Queries/PendingNotificationQueryRequest.php index a82787a2..5455a730 100644 --- a/src/Requests/Pending/PendingNotificationQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingNotificationQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'notification', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'notification', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Notification { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationQueryResponse::class, $query))->throw(); assert($response instanceof NotificationQueryResponse); diff --git a/src/Requests/Pending/PendingNotificationSubscriptionQueryRequest.php b/src/Requests/Pending/Queries/PendingNotificationSubscriptionQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingNotificationSubscriptionQueryRequest.php rename to src/Requests/Pending/Queries/PendingNotificationSubscriptionQueryRequest.php index 9dfc9a95..7389e95d 100644 --- a/src/Requests/Pending/PendingNotificationSubscriptionQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingNotificationSubscriptionQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'notificationSubscription', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'notificationSubscription', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationSubscription { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationSubscriptionQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationSubscriptionQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationSubscriptionQueryResponse::class, $query))->throw(); assert($response instanceof NotificationSubscriptionQueryResponse); diff --git a/src/Requests/Pending/PendingNotificationSubscriptionsQueryRequest.php b/src/Requests/Pending/Queries/PendingNotificationSubscriptionsQueryRequest.php similarity index 75% rename from src/Requests/Pending/PendingNotificationSubscriptionsQueryRequest.php rename to src/Requests/Pending/Queries/PendingNotificationSubscriptionsQueryRequest.php index 44fc7571..f85972df 100644 --- a/src/Requests/Pending/PendingNotificationSubscriptionsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingNotificationSubscriptionsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'notificationSubscriptions', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'notificationSubscriptions', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationSubscriptionConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationSubscriptionsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationSubscriptionsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationSubscriptionsQueryResponse::class, $query))->throw(); assert($response instanceof NotificationSubscriptionsQueryResponse); diff --git a/src/Requests/Pending/PendingNotificationsQueryRequest.php b/src/Requests/Pending/Queries/PendingNotificationsQueryRequest.php similarity index 75% rename from src/Requests/Pending/PendingNotificationsQueryRequest.php rename to src/Requests/Pending/Queries/PendingNotificationsQueryRequest.php index 75236d5a..98f205f0 100644 --- a/src/Requests/Pending/PendingNotificationsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingNotificationsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'notifications', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'notifications', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): NotificationConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): NotificationsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(NotificationsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(NotificationsQueryResponse::class, $query))->throw(); assert($response instanceof NotificationsQueryResponse); diff --git a/src/Requests/Pending/PendingOrganizationDomainClaimRequestQueryRequest.php b/src/Requests/Pending/Queries/PendingOrganizationDomainClaimRequestQueryRequest.php similarity index 81% rename from src/Requests/Pending/PendingOrganizationDomainClaimRequestQueryRequest.php rename to src/Requests/Pending/Queries/PendingOrganizationDomainClaimRequestQueryRequest.php index 61370800..96e4e58c 100644 --- a/src/Requests/Pending/PendingOrganizationDomainClaimRequestQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingOrganizationDomainClaimRequestQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationDomainClaimRequest', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationDomainClaimRequest', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationDomainClaimPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationDomainClaimRequestQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationDomainClaimRequestQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationDomainClaimRequestQueryResponse::class, $query))->throw(); assert($response instanceof OrganizationDomainClaimRequestQueryResponse); diff --git a/src/Requests/Pending/PendingOrganizationExistsQueryRequest.php b/src/Requests/Pending/Queries/PendingOrganizationExistsQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingOrganizationExistsQueryRequest.php rename to src/Requests/Pending/Queries/PendingOrganizationExistsQueryRequest.php index 1f73f87d..42cb12fb 100644 --- a/src/Requests/Pending/PendingOrganizationExistsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingOrganizationExistsQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationExists', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationExists', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationExistsPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationExistsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationExistsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationExistsQueryResponse::class, $query))->throw(); assert($response instanceof OrganizationExistsQueryResponse); diff --git a/src/Requests/Pending/PendingOrganizationInviteDetailsQueryRequest.php b/src/Requests/Pending/Queries/PendingOrganizationInviteDetailsQueryRequest.php similarity index 50% rename from src/Requests/Pending/PendingOrganizationInviteDetailsQueryRequest.php rename to src/Requests/Pending/Queries/PendingOrganizationInviteDetailsQueryRequest.php index d6bf663e..34ef9559 100644 --- a/src/Requests/Pending/PendingOrganizationInviteDetailsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingOrganizationInviteDetailsQueryRequest.php @@ -1,9 +1,9 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationInviteDetails', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationInviteDetails', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationInviteDetailsPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationInviteDetailsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationInviteDetailsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationInviteDetailsQueryResponse::class, $query))->throw(); assert($response instanceof OrganizationInviteDetailsQueryResponse); diff --git a/src/Requests/Pending/PendingOrganizationInviteQueryRequest.php b/src/Requests/Pending/Queries/PendingOrganizationInviteQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingOrganizationInviteQueryRequest.php rename to src/Requests/Pending/Queries/PendingOrganizationInviteQueryRequest.php index d31aedcc..c5e7cbbb 100644 --- a/src/Requests/Pending/PendingOrganizationInviteQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingOrganizationInviteQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationInvite', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationInvite', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationInvite { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationInviteQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationInviteQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationInviteQueryResponse::class, $query))->throw(); assert($response instanceof OrganizationInviteQueryResponse); diff --git a/src/Requests/Pending/PendingOrganizationInvitesQueryRequest.php b/src/Requests/Pending/Queries/PendingOrganizationInvitesQueryRequest.php similarity index 63% rename from src/Requests/Pending/PendingOrganizationInvitesQueryRequest.php rename to src/Requests/Pending/Queries/PendingOrganizationInvitesQueryRequest.php index 68fca10d..62963dbf 100644 --- a/src/Requests/Pending/PendingOrganizationInvitesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingOrganizationInvitesQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationInvites', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'organizationInvites', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): OrganizationInviteConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationInvitesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationInvitesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationInvitesQueryResponse::class, $query))->throw(); assert($response instanceof OrganizationInvitesQueryResponse); diff --git a/src/Requests/Pending/PendingOrganizationQueryRequest.php b/src/Requests/Pending/Queries/PendingOrganizationQueryRequest.php similarity index 54% rename from src/Requests/Pending/PendingOrganizationQueryRequest.php rename to src/Requests/Pending/Queries/PendingOrganizationQueryRequest.php index 1fcdfcdb..e04cba81 100644 --- a/src/Requests/Pending/PendingOrganizationQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingOrganizationQueryRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): OrganizationQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(OrganizationQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(OrganizationQueryResponse::class, $query))->throw(); assert($response instanceof OrganizationQueryResponse); diff --git a/src/Requests/Pending/PendingProjectFilterSuggestionQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectFilterSuggestionQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectFilterSuggestionQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectFilterSuggestionQueryRequest.php index 3f11a60a..e1e78588 100644 --- a/src/Requests/Pending/PendingProjectFilterSuggestionQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectFilterSuggestionQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectFilterSuggestion', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectFilterSuggestion', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectFilterSuggestionPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectFilterSuggestionQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectFilterSuggestionQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectFilterSuggestionQueryResponse::class, $query))->throw(); assert($response instanceof ProjectFilterSuggestionQueryResponse); diff --git a/src/Requests/Pending/PendingProjectLinkQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectLinkQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingProjectLinkQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectLinkQueryRequest.php index 2ca7601b..71cfe8ff 100644 --- a/src/Requests/Pending/PendingProjectLinkQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectLinkQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectLink', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectLink', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectLink { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectLinkQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectLinkQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectLinkQueryResponse::class, $query))->throw(); assert($response instanceof ProjectLinkQueryResponse); diff --git a/src/Requests/Pending/PendingProjectLinksQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectLinksQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingProjectLinksQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectLinksQueryRequest.php index ff591fd7..6838a92c 100644 --- a/src/Requests/Pending/PendingProjectLinksQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectLinksQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectLinks', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectLinks', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectLinkConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectLinksQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectLinksQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectLinksQueryResponse::class, $query))->throw(); assert($response instanceof ProjectLinksQueryResponse); diff --git a/src/Requests/Pending/PendingProjectMilestoneQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectMilestoneQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingProjectMilestoneQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectMilestoneQueryRequest.php index f94c36cb..eff688a0 100644 --- a/src/Requests/Pending/PendingProjectMilestoneQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectMilestoneQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectMilestone', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectMilestone', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectMilestone { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectMilestoneQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectMilestoneQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectMilestoneQueryResponse::class, $query))->throw(); assert($response instanceof ProjectMilestoneQueryResponse); diff --git a/src/Requests/Pending/PendingProjectMilestonesQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectMilestonesQueryRequest.php similarity index 61% rename from src/Requests/Pending/PendingProjectMilestonesQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectMilestonesQueryRequest.php index 301d098b..ceb252f5 100644 --- a/src/Requests/Pending/PendingProjectMilestonesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectMilestonesQueryRequest.php @@ -1,6 +1,6 @@ 'ProjectMilestoneFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectMilestones', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectMilestones', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectMilestoneConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectMilestonesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectMilestonesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectMilestonesQueryResponse::class, $query))->throw(); assert($response instanceof ProjectMilestonesQueryResponse); diff --git a/src/Requests/Pending/PendingProjectQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectQueryRequest.php similarity index 53% rename from src/Requests/Pending/PendingProjectQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectQueryRequest.php index a68f7691..b1c63732 100644 --- a/src/Requests/Pending/PendingProjectQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'project', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'project', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Project { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectQueryResponse::class, $query))->throw(); assert($response instanceof ProjectQueryResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateInteractionQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectUpdateInteractionQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingProjectUpdateInteractionQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectUpdateInteractionQueryRequest.php index d51556f3..65dc5dc6 100644 --- a/src/Requests/Pending/PendingProjectUpdateInteractionQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectUpdateInteractionQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdateInteraction', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdateInteraction', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdateInteraction { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateInteractionQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateInteractionQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateInteractionQueryResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateInteractionQueryResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateInteractionsQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectUpdateInteractionsQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingProjectUpdateInteractionsQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectUpdateInteractionsQueryRequest.php index d4f47ae0..d235f627 100644 --- a/src/Requests/Pending/PendingProjectUpdateInteractionsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectUpdateInteractionsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdateInteractions', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdateInteractions', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdateInteractionConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateInteractionsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateInteractionsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateInteractionsQueryResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateInteractionsQueryResponse); diff --git a/src/Requests/Pending/PendingProjectUpdateQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectUpdateQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingProjectUpdateQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectUpdateQueryRequest.php index 6c5e521b..5a8db1f0 100644 --- a/src/Requests/Pending/PendingProjectUpdateQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectUpdateQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdate', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdate', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdate { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdateQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdateQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdateQueryResponse::class, $query))->throw(); assert($response instanceof ProjectUpdateQueryResponse); diff --git a/src/Requests/Pending/PendingProjectUpdatesQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectUpdatesQueryRequest.php similarity index 60% rename from src/Requests/Pending/PendingProjectUpdatesQueryRequest.php rename to src/Requests/Pending/Queries/PendingProjectUpdatesQueryRequest.php index b8911243..8696fca5 100644 --- a/src/Requests/Pending/PendingProjectUpdatesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingProjectUpdatesQueryRequest.php @@ -1,6 +1,6 @@ 'ProjectUpdateFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdates', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'projectUpdates', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): ProjectUpdateConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): ProjectUpdatesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ProjectUpdatesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ProjectUpdatesQueryResponse::class, $query))->throw(); assert($response instanceof ProjectUpdatesQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingProjectsQueryRequest.php b/src/Requests/Pending/Queries/PendingProjectsQueryRequest.php new file mode 100644 index 00000000..9b486a09 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingProjectsQueryRequest.php @@ -0,0 +1,38 @@ + 'ProjectFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'projects', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): ProjectConnection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): ProjectsQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(ProjectsQueryResponse::class, $query))->throw(); + + assert($response instanceof ProjectsQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingPushSubscriptionTestQueryRequest.php b/src/Requests/Pending/Queries/PendingPushSubscriptionTestQueryRequest.php similarity index 79% rename from src/Requests/Pending/PendingPushSubscriptionTestQueryRequest.php rename to src/Requests/Pending/Queries/PendingPushSubscriptionTestQueryRequest.php index d1f915b5..ce620c9a 100644 --- a/src/Requests/Pending/PendingPushSubscriptionTestQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingPushSubscriptionTestQueryRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'sendStrategy' => 'SendStrategy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'pushSubscriptionTest', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'pushSubscriptionTest', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): PushSubscriptionTestPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): PushSubscriptionTestQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(PushSubscriptionTestQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(PushSubscriptionTestQueryResponse::class, $query))->throw(); assert($response instanceof PushSubscriptionTestQueryResponse); diff --git a/src/Requests/Pending/PendingRateLimitStatusQueryRequest.php b/src/Requests/Pending/Queries/PendingRateLimitStatusQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingRateLimitStatusQueryRequest.php rename to src/Requests/Pending/Queries/PendingRateLimitStatusQueryRequest.php index 3b30e3af..cc017241 100644 --- a/src/Requests/Pending/PendingRateLimitStatusQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingRateLimitStatusQueryRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): RateLimitStatusQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RateLimitStatusQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RateLimitStatusQueryResponse::class, $query))->throw(); assert($response instanceof RateLimitStatusQueryResponse); diff --git a/src/Requests/Pending/PendingRoadmapQueryRequest.php b/src/Requests/Pending/Queries/PendingRoadmapQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingRoadmapQueryRequest.php rename to src/Requests/Pending/Queries/PendingRoadmapQueryRequest.php index 008eded1..5b30489f 100644 --- a/src/Requests/Pending/PendingRoadmapQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingRoadmapQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmap', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmap', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Roadmap { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapQueryResponse::class, $query))->throw(); assert($response instanceof RoadmapQueryResponse); diff --git a/src/Requests/Pending/PendingRoadmapToProjectQueryRequest.php b/src/Requests/Pending/Queries/PendingRoadmapToProjectQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingRoadmapToProjectQueryRequest.php rename to src/Requests/Pending/Queries/PendingRoadmapToProjectQueryRequest.php index a156dd0b..9001e065 100644 --- a/src/Requests/Pending/PendingRoadmapToProjectQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingRoadmapToProjectQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmapToProject', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmapToProject', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapToProject { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapToProjectQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapToProjectQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapToProjectQueryResponse::class, $query))->throw(); assert($response instanceof RoadmapToProjectQueryResponse); diff --git a/src/Requests/Pending/PendingRoadmapToProjectsQueryRequest.php b/src/Requests/Pending/Queries/PendingRoadmapToProjectsQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingRoadmapToProjectsQueryRequest.php rename to src/Requests/Pending/Queries/PendingRoadmapToProjectsQueryRequest.php index 5baa02e2..ce2fe872 100644 --- a/src/Requests/Pending/PendingRoadmapToProjectsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingRoadmapToProjectsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmapToProjects', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmapToProjects', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapToProjectConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapToProjectsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapToProjectsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapToProjectsQueryResponse::class, $query))->throw(); assert($response instanceof RoadmapToProjectsQueryResponse); diff --git a/src/Requests/Pending/PendingRoadmapsQueryRequest.php b/src/Requests/Pending/Queries/PendingRoadmapsQueryRequest.php similarity index 77% rename from src/Requests/Pending/PendingRoadmapsQueryRequest.php rename to src/Requests/Pending/Queries/PendingRoadmapsQueryRequest.php index 82ff0565..d3ab375a 100644 --- a/src/Requests/Pending/PendingRoadmapsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingRoadmapsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmaps', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'roadmaps', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): RoadmapConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): RoadmapsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(RoadmapsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(RoadmapsQueryResponse::class, $query))->throw(); assert($response instanceof RoadmapsQueryResponse); diff --git a/src/Requests/Pending/PendingSearchDocumentsQueryRequest.php b/src/Requests/Pending/Queries/PendingSearchDocumentsQueryRequest.php similarity index 57% rename from src/Requests/Pending/PendingSearchDocumentsQueryRequest.php rename to src/Requests/Pending/Queries/PendingSearchDocumentsQueryRequest.php index 0c5210ff..f47fa7c3 100644 --- a/src/Requests/Pending/PendingSearchDocumentsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingSearchDocumentsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'term' => 'String!', 'snippetSize' => 'Float', 'includeComments' => 'Boolean', 'teamId' => 'String']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'searchDocuments', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'searchDocuments', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): DocumentSearchPayload { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): SearchDocumentsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(SearchDocumentsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(SearchDocumentsQueryResponse::class, $query))->throw(); assert($response instanceof SearchDocumentsQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingSearchIssuesQueryRequest.php b/src/Requests/Pending/Queries/PendingSearchIssuesQueryRequest.php new file mode 100644 index 00000000..1fc167a0 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingSearchIssuesQueryRequest.php @@ -0,0 +1,38 @@ + 'IssueFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'term' => 'String!', 'snippetSize' => 'Float', 'includeComments' => 'Boolean', 'teamId' => 'String']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'searchIssues', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): IssueSearchPayload + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): SearchIssuesQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(SearchIssuesQueryResponse::class, $query))->throw(); + + assert($response instanceof SearchIssuesQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/Queries/PendingSearchProjectsQueryRequest.php b/src/Requests/Pending/Queries/PendingSearchProjectsQueryRequest.php new file mode 100644 index 00000000..549834f9 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingSearchProjectsQueryRequest.php @@ -0,0 +1,38 @@ + 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy', 'term' => 'String!', 'snippetSize' => 'Float', 'includeComments' => 'Boolean', 'teamId' => 'String']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'searchProjects', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): ProjectSearchPayload + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): SearchProjectsQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(SearchProjectsQueryResponse::class, $query))->throw(); + + assert($response instanceof SearchProjectsQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingSsoUrlFromEmailQueryRequest.php b/src/Requests/Pending/Queries/PendingSsoUrlFromEmailQueryRequest.php similarity index 81% rename from src/Requests/Pending/PendingSsoUrlFromEmailQueryRequest.php rename to src/Requests/Pending/Queries/PendingSsoUrlFromEmailQueryRequest.php index 1c36789c..fcad2ca4 100644 --- a/src/Requests/Pending/PendingSsoUrlFromEmailQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingSsoUrlFromEmailQueryRequest.php @@ -1,6 +1,6 @@ 'Boolean', 'email' => 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'ssoUrlFromEmail', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'ssoUrlFromEmail', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): SsoUrlFromEmailResponse { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): SsoUrlFromEmailQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(SsoUrlFromEmailQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(SsoUrlFromEmailQueryResponse::class, $query))->throw(); assert($response instanceof SsoUrlFromEmailQueryResponse); diff --git a/src/Requests/Pending/PendingTeamMembershipQueryRequest.php b/src/Requests/Pending/Queries/PendingTeamMembershipQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingTeamMembershipQueryRequest.php rename to src/Requests/Pending/Queries/PendingTeamMembershipQueryRequest.php index 2ae03743..e08c5334 100644 --- a/src/Requests/Pending/PendingTeamMembershipQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTeamMembershipQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'teamMembership', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'teamMembership', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamMembership { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamMembershipQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamMembershipQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamMembershipQueryResponse::class, $query))->throw(); assert($response instanceof TeamMembershipQueryResponse); diff --git a/src/Requests/Pending/PendingTeamMembershipsQueryRequest.php b/src/Requests/Pending/Queries/PendingTeamMembershipsQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingTeamMembershipsQueryRequest.php rename to src/Requests/Pending/Queries/PendingTeamMembershipsQueryRequest.php index 1ce686f4..a9e8c043 100644 --- a/src/Requests/Pending/PendingTeamMembershipsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTeamMembershipsQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'teamMemberships', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'teamMemberships', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TeamMembershipConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TeamMembershipsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TeamMembershipsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TeamMembershipsQueryResponse::class, $query))->throw(); assert($response instanceof TeamMembershipsQueryResponse); diff --git a/src/Requests/Pending/Queries/PendingTeamQueryRequest.php b/src/Requests/Pending/Queries/PendingTeamQueryRequest.php new file mode 100644 index 00000000..15f82f7f --- /dev/null +++ b/src/Requests/Pending/Queries/PendingTeamQueryRequest.php @@ -0,0 +1,38 @@ + 'String!']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'team', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): Team + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): TeamQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(TeamQueryResponse::class, $query))->throw(); + + assert($response instanceof TeamQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/Queries/PendingTeamsQueryRequest.php b/src/Requests/Pending/Queries/PendingTeamsQueryRequest.php new file mode 100644 index 00000000..682f79f4 --- /dev/null +++ b/src/Requests/Pending/Queries/PendingTeamsQueryRequest.php @@ -0,0 +1,38 @@ + 'TeamFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + + public function __construct(LinearConnector $connector, public array $args = []) + { + parent::__construct($connector, GraphQueryBuilder::make('query', 'teams', $args, static::ARGUMENT_TYPES)); + } + + public function get(string ...$fields): TeamConnection + { + return $this->response(...$fields)->resolve(); + } + + public function response(string ...$fields): TeamsQueryResponse + { + $query = $this->query->withFields($this->normalizeFields($fields)); + + $response = $this->connector->send(new LinearRequest(TeamsQueryResponse::class, $query))->throw(); + + assert($response instanceof TeamsQueryResponse); + + return $response; + } +} diff --git a/src/Requests/Pending/PendingTemplateQueryRequest.php b/src/Requests/Pending/Queries/PendingTemplateQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingTemplateQueryRequest.php rename to src/Requests/Pending/Queries/PendingTemplateQueryRequest.php index ce5d96f0..a941d2b7 100644 --- a/src/Requests/Pending/PendingTemplateQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTemplateQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'template', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'template', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Template { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TemplateQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TemplateQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TemplateQueryResponse::class, $query))->throw(); assert($response instanceof TemplateQueryResponse); diff --git a/src/Requests/Pending/PendingTemplatesForIntegrationQueryRequest.php b/src/Requests/Pending/Queries/PendingTemplatesForIntegrationQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingTemplatesForIntegrationQueryRequest.php rename to src/Requests/Pending/Queries/PendingTemplatesForIntegrationQueryRequest.php index 527cefde..f5e9308f 100644 --- a/src/Requests/Pending/PendingTemplatesForIntegrationQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTemplatesForIntegrationQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'templatesForIntegration', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'templatesForIntegration', $args, static::ARGUMENT_TYPES)); } - + /** @returns Collection */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TemplatesForIntegrationQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TemplatesForIntegrationQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TemplatesForIntegrationQueryResponse::class, $query))->throw(); assert($response instanceof TemplatesForIntegrationQueryResponse); diff --git a/src/Requests/Pending/PendingTemplatesQueryRequest.php b/src/Requests/Pending/Queries/PendingTemplatesQueryRequest.php similarity index 85% rename from src/Requests/Pending/PendingTemplatesQueryRequest.php rename to src/Requests/Pending/Queries/PendingTemplatesQueryRequest.php index 4add7656..305eb268 100644 --- a/src/Requests/Pending/PendingTemplatesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTemplatesQueryRequest.php @@ -1,6 +1,6 @@ */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TemplatesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TemplatesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TemplatesQueryResponse::class, $query))->throw(); assert($response instanceof TemplatesQueryResponse); diff --git a/src/Requests/Pending/PendingTimeScheduleQueryRequest.php b/src/Requests/Pending/Queries/PendingTimeScheduleQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingTimeScheduleQueryRequest.php rename to src/Requests/Pending/Queries/PendingTimeScheduleQueryRequest.php index c5309abf..8b7d1858 100644 --- a/src/Requests/Pending/PendingTimeScheduleQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTimeScheduleQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'timeSchedule', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'timeSchedule', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TimeSchedule { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeScheduleQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeScheduleQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeScheduleQueryResponse::class, $query))->throw(); assert($response instanceof TimeScheduleQueryResponse); diff --git a/src/Requests/Pending/PendingTimeSchedulesQueryRequest.php b/src/Requests/Pending/Queries/PendingTimeSchedulesQueryRequest.php similarity index 77% rename from src/Requests/Pending/PendingTimeSchedulesQueryRequest.php rename to src/Requests/Pending/Queries/PendingTimeSchedulesQueryRequest.php index ff863724..92945f7b 100644 --- a/src/Requests/Pending/PendingTimeSchedulesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTimeSchedulesQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'timeSchedules', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'timeSchedules', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TimeScheduleConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TimeSchedulesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TimeSchedulesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TimeSchedulesQueryResponse::class, $query))->throw(); assert($response instanceof TimeSchedulesQueryResponse); diff --git a/src/Requests/Pending/PendingTriageResponsibilitiesQueryRequest.php b/src/Requests/Pending/Queries/PendingTriageResponsibilitiesQueryRequest.php similarity index 76% rename from src/Requests/Pending/PendingTriageResponsibilitiesQueryRequest.php rename to src/Requests/Pending/Queries/PendingTriageResponsibilitiesQueryRequest.php index 20ad0ad7..62ef3aa4 100644 --- a/src/Requests/Pending/PendingTriageResponsibilitiesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTriageResponsibilitiesQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'triageResponsibilities', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'triageResponsibilities', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TriageResponsibilityConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TriageResponsibilitiesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TriageResponsibilitiesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TriageResponsibilitiesQueryResponse::class, $query))->throw(); assert($response instanceof TriageResponsibilitiesQueryResponse); diff --git a/src/Requests/Pending/PendingTriageResponsibilityQueryRequest.php b/src/Requests/Pending/Queries/PendingTriageResponsibilityQueryRequest.php similarity index 82% rename from src/Requests/Pending/PendingTriageResponsibilityQueryRequest.php rename to src/Requests/Pending/Queries/PendingTriageResponsibilityQueryRequest.php index d4bd70f1..3bbee562 100644 --- a/src/Requests/Pending/PendingTriageResponsibilityQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingTriageResponsibilityQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'triageResponsibility', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'triageResponsibility', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): TriageResponsibility { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): TriageResponsibilityQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(TriageResponsibilityQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(TriageResponsibilityQueryResponse::class, $query))->throw(); assert($response instanceof TriageResponsibilityQueryResponse); diff --git a/src/Requests/Pending/PendingUserQueryRequest.php b/src/Requests/Pending/Queries/PendingUserQueryRequest.php similarity index 63% rename from src/Requests/Pending/PendingUserQueryRequest.php rename to src/Requests/Pending/Queries/PendingUserQueryRequest.php index 6aedb499..f1344841 100644 --- a/src/Requests/Pending/PendingUserQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingUserQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'user', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'user', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): User { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UserQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserQueryResponse::class, $query))->throw(); assert($response instanceof UserQueryResponse); diff --git a/src/Requests/Pending/PendingUserSettingsQueryRequest.php b/src/Requests/Pending/Queries/PendingUserSettingsQueryRequest.php similarity index 64% rename from src/Requests/Pending/PendingUserSettingsQueryRequest.php rename to src/Requests/Pending/Queries/PendingUserSettingsQueryRequest.php index b1301cc8..2e712bcc 100644 --- a/src/Requests/Pending/PendingUserSettingsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingUserSettingsQueryRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): UserSettingsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UserSettingsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UserSettingsQueryResponse::class, $query))->throw(); assert($response instanceof UserSettingsQueryResponse); diff --git a/src/Requests/Pending/PendingUsersQueryRequest.php b/src/Requests/Pending/Queries/PendingUsersQueryRequest.php similarity index 51% rename from src/Requests/Pending/PendingUsersQueryRequest.php rename to src/Requests/Pending/Queries/PendingUsersQueryRequest.php index 961f3cca..9b2bdcbe 100644 --- a/src/Requests/Pending/PendingUsersQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingUsersQueryRequest.php @@ -1,6 +1,6 @@ 'UserFilter', 'includeDisabled' => 'Boolean', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'users', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'users', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): UserConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): UsersQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(UsersQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(UsersQueryResponse::class, $query))->throw(); assert($response instanceof UsersQueryResponse); diff --git a/src/Requests/Pending/PendingViewerQueryRequest.php b/src/Requests/Pending/Queries/PendingViewerQueryRequest.php similarity index 63% rename from src/Requests/Pending/PendingViewerQueryRequest.php rename to src/Requests/Pending/Queries/PendingViewerQueryRequest.php index a0aaf633..c751c93b 100644 --- a/src/Requests/Pending/PendingViewerQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingViewerQueryRequest.php @@ -1,6 +1,6 @@ response(...$fields)->resolve(); } - + public function response(string ...$fields): ViewerQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(ViewerQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(ViewerQueryResponse::class, $query))->throw(); assert($response instanceof ViewerQueryResponse); diff --git a/src/Requests/Pending/PendingWebhookQueryRequest.php b/src/Requests/Pending/Queries/PendingWebhookQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingWebhookQueryRequest.php rename to src/Requests/Pending/Queries/PendingWebhookQueryRequest.php index 208656ff..ece4d78b 100644 --- a/src/Requests/Pending/PendingWebhookQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingWebhookQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'webhook', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'webhook', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): Webhook { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WebhookQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WebhookQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WebhookQueryResponse::class, $query))->throw(); assert($response instanceof WebhookQueryResponse); diff --git a/src/Requests/Pending/PendingWebhooksQueryRequest.php b/src/Requests/Pending/Queries/PendingWebhooksQueryRequest.php similarity index 63% rename from src/Requests/Pending/PendingWebhooksQueryRequest.php rename to src/Requests/Pending/Queries/PendingWebhooksQueryRequest.php index 541ad6e4..b9be6443 100644 --- a/src/Requests/Pending/PendingWebhooksQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingWebhooksQueryRequest.php @@ -1,6 +1,6 @@ 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'webhooks', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'webhooks', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WebhookConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WebhooksQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WebhooksQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WebhooksQueryResponse::class, $query))->throw(); assert($response instanceof WebhooksQueryResponse); diff --git a/src/Requests/Pending/PendingWorkflowStateQueryRequest.php b/src/Requests/Pending/Queries/PendingWorkflowStateQueryRequest.php similarity index 83% rename from src/Requests/Pending/PendingWorkflowStateQueryRequest.php rename to src/Requests/Pending/Queries/PendingWorkflowStateQueryRequest.php index aed39848..37c32f28 100644 --- a/src/Requests/Pending/PendingWorkflowStateQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingWorkflowStateQueryRequest.php @@ -1,6 +1,6 @@ 'String!']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'workflowState', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'workflowState', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WorkflowState { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WorkflowStateQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WorkflowStateQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WorkflowStateQueryResponse::class, $query))->throw(); assert($response instanceof WorkflowStateQueryResponse); diff --git a/src/Requests/Pending/PendingWorkflowStatesQueryRequest.php b/src/Requests/Pending/Queries/PendingWorkflowStatesQueryRequest.php similarity index 75% rename from src/Requests/Pending/PendingWorkflowStatesQueryRequest.php rename to src/Requests/Pending/Queries/PendingWorkflowStatesQueryRequest.php index 6d8d7926..4e3d49c2 100644 --- a/src/Requests/Pending/PendingWorkflowStatesQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingWorkflowStatesQueryRequest.php @@ -1,6 +1,6 @@ 'WorkflowStateFilter', 'before' => 'String', 'after' => 'String', 'first' => 'Int', 'last' => 'Int', 'includeArchived' => 'Boolean', 'orderBy' => 'PaginationOrderBy']; + public function __construct(LinearConnector $connector, public array $args = []) { - parent::__construct($connector, GraphQueryBuilder::make('query', 'workflowStates', $args)); + parent::__construct($connector, GraphQueryBuilder::make('query', 'workflowStates', $args, static::ARGUMENT_TYPES)); } - + public function get(string ...$fields): WorkflowStateConnection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WorkflowStatesQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WorkflowStatesQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WorkflowStatesQueryResponse::class, $query))->throw(); assert($response instanceof WorkflowStatesQueryResponse); diff --git a/src/Requests/Pending/PendingWorkspaceAuthorizedApplicationsQueryRequest.php b/src/Requests/Pending/Queries/PendingWorkspaceAuthorizedApplicationsQueryRequest.php similarity index 84% rename from src/Requests/Pending/PendingWorkspaceAuthorizedApplicationsQueryRequest.php rename to src/Requests/Pending/Queries/PendingWorkspaceAuthorizedApplicationsQueryRequest.php index 6976bd39..f6800c63 100644 --- a/src/Requests/Pending/PendingWorkspaceAuthorizedApplicationsQueryRequest.php +++ b/src/Requests/Pending/Queries/PendingWorkspaceAuthorizedApplicationsQueryRequest.php @@ -1,6 +1,6 @@ */ public function get(string ...$fields): Collection { return $this->response(...$fields)->resolve(); } - + public function response(string ...$fields): WorkspaceAuthorizedApplicationsQueryResponse { $query = $this->query->withFields($this->normalizeFields($fields)); - $response = $this->connector->send(new LinearRequest(WorkspaceAuthorizedApplicationsQueryResponse::class, (string) $query))->throw(); + $response = $this->connector->send(new LinearRequest(WorkspaceAuthorizedApplicationsQueryResponse::class, $query))->throw(); assert($response instanceof WorkspaceAuthorizedApplicationsQueryResponse); diff --git a/src/Requests/PendingLinearRequest.php b/src/Requests/PendingLinearRequest.php index e4c26f8d..e09fc20b 100644 --- a/src/Requests/PendingLinearRequest.php +++ b/src/Requests/PendingLinearRequest.php @@ -14,6 +14,9 @@ abstract class PendingLinearRequest { protected const DEFAULT_ATTRIBUTES = []; + /** @var array Argument name to GraphQL type, e.g. `['id' => 'String!']` */ + protected const ARGUMENT_TYPES = []; + public static function make(array $args): static { return new static(app(LinearConnector::class), $args); diff --git a/src/Responses/LinearResponse.php b/src/Responses/LinearResponse.php index 777b6a8f..80182f16 100644 --- a/src/Responses/LinearResponse.php +++ b/src/Responses/LinearResponse.php @@ -4,6 +4,7 @@ use Illuminate\Support\Collection; use Illuminate\Support\Traits\ForwardsCalls; +use RuntimeException; use Saloon\Http\Response; use Spatie\LaravelData\Data; @@ -14,22 +15,65 @@ abstract class LinearResponse extends Response { use ForwardsCalls; - - protected Data|Collection|null $resolved = null; - - abstract public function resolve(): Data|Collection; - + + protected ?object $resolved = null; + + /** + * Resolve the response into the data object it represents. + * + * Generated responses narrow this to a concrete data class, a Collection, or—for + * union types—the interface shared by the union's members. The return type is + * `object` so that all three stay valid narrowings. + * + * @return Data|Collection|object + */ + abstract public function resolve(): object; + public function __get(string $name) { return data_get($this->implicitlyResolve(), $name); } - + public function __call(string $method, array $parameters): mixed { return $this->forwardCallTo($this->implicitlyResolve(), $method, $parameters); } - - protected function implicitlyResolve(): Data|Collection + + /** + * Turn a GraphQL union into the concrete data object it represents, using + * the `__typename` field to work out which member type came back. + * + * @param array|null $data + * @param array> $members GraphQL type name to data class + */ + protected function resolveUnion(?array $data, array $members): Data + { + $typename = $data['__typename'] ?? null; + + if (! isset($members[$typename])) { + throw new RuntimeException( + null === $typename + ? 'Cannot resolve a union without a "__typename" field. Request it explicitly, or use the default fields.' + : "Unexpected union member '{$typename}'. Expected one of: ".implode(', ', array_keys($members)).'.' + ); + } + + return $members[$typename]::from($data); + } + + /** + * @param array>|null $data + * @param array> $members + * @return Collection + */ + protected function resolveUnionCollection(?array $data, array $members): Collection + { + return collect($data ?? []) + ->map(fn(array $item) => $this->resolveUnion($item, $members)) + ->values(); + } + + protected function implicitlyResolve(): object { return $this->resolved ??= $this->resolve(); } diff --git a/src/Responses/Queries/NotificationQueryResponse.php b/src/Responses/Queries/NotificationQueryResponse.php index 60d687ad..eeff79b4 100644 --- a/src/Responses/Queries/NotificationQueryResponse.php +++ b/src/Responses/Queries/NotificationQueryResponse.php @@ -2,18 +2,13 @@ namespace Glhd\Linearavel\Responses\Queries; -use Glhd\Linearavel\Contracts\SkipsCodeGeneration; -use Glhd\Linearavel\Data\IssueNotification; -use Glhd\Linearavel\Data\OauthClientApprovalNotification; -use Glhd\Linearavel\Data\ProjectNotification; +use Glhd\Linearavel\Data\Contracts\Notification; use Glhd\Linearavel\Responses\LinearResponse; -use RuntimeException; -class NotificationQueryResponse extends LinearResponse implements SkipsCodeGeneration +class NotificationQueryResponse extends LinearResponse { - public function resolve(): IssueNotification|ProjectNotification|OauthClientApprovalNotification + public function resolve(): Notification { - // return Notification::from($this->json('data.notification')); - throw new RuntimeException('Not yet implemented.'); + return Notification::from($this->json('data.notification')); } } diff --git a/src/Responses/Queries/NotificationSubscriptionQueryResponse.php b/src/Responses/Queries/NotificationSubscriptionQueryResponse.php index 2999c442..e8acfcf2 100644 --- a/src/Responses/Queries/NotificationSubscriptionQueryResponse.php +++ b/src/Responses/Queries/NotificationSubscriptionQueryResponse.php @@ -2,16 +2,13 @@ namespace Glhd\Linearavel\Responses\Queries; -use Glhd\Linearavel\Contracts\SkipsCodeGeneration; +use Glhd\Linearavel\Data\Contracts\NotificationSubscription; use Glhd\Linearavel\Responses\LinearResponse; -use RuntimeException; -use Spatie\LaravelData\Data; -class NotificationSubscriptionQueryResponse extends LinearResponse implements SkipsCodeGeneration +class NotificationSubscriptionQueryResponse extends LinearResponse { - public function resolve(): Data + public function resolve(): NotificationSubscription { - // return NotificationSubscription::from($this->json('data.notificationSubscription')); - throw new RuntimeException('Not yet implemented.'); + return NotificationSubscription::from($this->json('data.notificationSubscription')); } } diff --git a/src/Responses/Queries/OrganizationInviteDetailsQueryResponse.php b/src/Responses/Queries/OrganizationInviteDetailsQueryResponse.php index 4c7d4205..a14adf87 100644 --- a/src/Responses/Queries/OrganizationInviteDetailsQueryResponse.php +++ b/src/Responses/Queries/OrganizationInviteDetailsQueryResponse.php @@ -2,14 +2,15 @@ namespace Glhd\Linearavel\Responses\Queries; -use Glhd\Linearavel\Contracts\SkipsCodeGeneration; +use Glhd\Linearavel\Data\Contracts\OrganizationInviteDetailsPayload; +use Glhd\Linearavel\Data\OrganizationAcceptedOrExpiredInviteDetailsPayload; use Glhd\Linearavel\Data\OrganizationInviteFullDetailsPayload; use Glhd\Linearavel\Responses\LinearResponse; -class OrganizationInviteDetailsQueryResponse extends LinearResponse implements SkipsCodeGeneration +class OrganizationInviteDetailsQueryResponse extends LinearResponse { - public function resolve(): OrganizationInviteFullDetailsPayload + public function resolve(): OrganizationInviteDetailsPayload { - return OrganizationInviteFullDetailsPayload::from($this->json('data.organizationInviteDetails')); + return $this->resolveUnion($this->json('data.organizationInviteDetails'), ['OrganizationInviteFullDetailsPayload' => OrganizationInviteFullDetailsPayload::class, 'OrganizationAcceptedOrExpiredInviteDetailsPayload' => OrganizationAcceptedOrExpiredInviteDetailsPayload::class]); } } diff --git a/src/Support/Client.php b/src/Support/Client.php deleted file mode 100644 index 28e5d1a3..00000000 --- a/src/Support/Client.php +++ /dev/null @@ -1,85 +0,0 @@ -fields($keys); - - $result = $this->query( - <<json('data.viewer')); - } - - /** @return Collection */ - public function teams(string ...$keys): Collection - { - $fields = $this->fields($keys); - - $result = $this->query( - <<json('data.teams.nodes'), Collection::class); - } - - protected function fields(array $keys, int $depth = 0): string - { - return collect($keys) - ->unless($depth, fn($keys) => $keys->flip()->undot()) - ->map(function($value, $key) use ($depth) { - $line = $key; - - if (is_array($value)) { - $line .= " {\n".$this->fields($value, $depth + 1)."\n}"; - } - - return $line; - }) - ->implode("\n"); - } - - protected function query(string $query): Response - { - return $this->request()->post('/', ['query' => $query])->throw(); - } - - protected function request(): PendingRequest - { - return Http::baseUrl($this->base_url) - ->withHeader('Authorization', $this->api_key) - ->asJson(); - } -} diff --git a/src/Support/CodeGeneration/DataParamTransformer.php b/src/Support/CodeGeneration/DataParamTransformer.php index 82bdda47..1f194ba7 100644 --- a/src/Support/CodeGeneration/DataParamTransformer.php +++ b/src/Support/CodeGeneration/DataParamTransformer.php @@ -7,16 +7,21 @@ use GraphQL\Language\AST\FieldDefinitionNode; use GraphQL\Language\AST\ListTypeNode; use GraphQL\Language\AST\NamedTypeNode; +use GraphQL\Language\AST\TypeNode; use Illuminate\Support\Collection; use PhpParser\Comment\Doc; +use PhpParser\Node\Arg; use PhpParser\Node\Attribute; use PhpParser\Node\AttributeGroup; +use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Expr\Variable; use PhpParser\Node\Identifier; use PhpParser\Node\Name; use PhpParser\Node\Param; use PhpParser\Node\UnionType; use PhpParser\NodeAbstract; +use Spatie\LaravelData\Attributes\WithCast; +use Spatie\LaravelData\Casts\EnumerableCast; use Spatie\LaravelData\Optional; class DataParamTransformer extends ConstructorParamTransformer @@ -47,6 +52,17 @@ protected function listType(ListTypeNode $node, bool $nullable): NodeAbstract $this->param->setDocComment(new Doc("/** @var Collection */")); $this->parent->use(Collection::class); + // Lists of data objects are hydrated by laravel-data on their own, but lists of + // scalars and enums need an explicit cast to become a Collection + if (! $this->isDataItem($node->type)) { + $this->param->attrGroups ??= []; + $this->param->attrGroups[] = new AttributeGroup([ + new Attribute($this->fqcn(WithCast::class), [ + new Arg(new ClassConstFetch($this->fqcn(EnumerableCast::class), new Identifier('class'))), + ]), + ]); + } + return new UnionType(array_filter([ new Name('Optional'), new Name('Collection'), @@ -56,6 +72,29 @@ protected function listType(ListTypeNode $node, bool $nullable): NodeAbstract ])); } + /** Will laravel-data hydrate the items of this list into data objects by itself? */ + protected function isDataItem(TypeNode $node): bool + { + $name = $this->underlyingTypeNode($node)->name->value; + + if (in_array($name, ['Boolean', 'Float', 'Int', 'String', 'ID', 'DateTime'], true)) { + return false; + } + + $transformer = $this->transformer(); + + if ($transformer->scalars->has($name)) { + return false; + } + + $fqcn = $transformer->registry->get($name); + + return $fqcn + && str_starts_with($fqcn, Taxonomy::ns('Data', prefix: true)) + && ! str_starts_with($fqcn, Taxonomy::ns('Data\\Enums', prefix: true)) + && ! str_starts_with($fqcn, Taxonomy::ns('Data\\Contracts', prefix: true)); + } + protected function namedType(NamedTypeNode $node, bool $nullable = false): NodeAbstract { if ('DateTime' === $node->name->value) { diff --git a/src/Support/CodeGeneration/DocBlock.php b/src/Support/CodeGeneration/DocBlock.php index 9f216230..ab84c2e5 100644 --- a/src/Support/CodeGeneration/DocBlock.php +++ b/src/Support/CodeGeneration/DocBlock.php @@ -27,6 +27,14 @@ public function seeDocs(string $path): static return $this->see((string) str($path)->start('/')->prepend($base)); } + /** Add a free-form line to the docblock. */ + public function note(string $note): static + { + $this->annotations[] = $note; + + return $this; + } + public function extends(string $extends, ?string $generic_type = null): static { $annotation = "@extends {$extends}"; diff --git a/src/Support/CodeGeneration/EnumTransformer.php b/src/Support/CodeGeneration/EnumTransformer.php index 82c8d430..660ed994 100644 --- a/src/Support/CodeGeneration/EnumTransformer.php +++ b/src/Support/CodeGeneration/EnumTransformer.php @@ -20,9 +20,11 @@ public function __construct( public function __invoke(WriteQueue $queue): void { + $taxonomy = Taxonomy::make($this->node); + $queue->addFromNode($this->node, [ new Namespace_(new Name(Taxonomy::ns('Data\\Enums'))), - new Enum_($this->node->name->value, [ + new Enum_((string) $taxonomy->name, [ 'scalarType' => new Identifier('string'), 'stmts' => collect($this->node->values) ->map(function(EnumValueDefinitionNode $node) { @@ -30,7 +32,7 @@ public function __invoke(WriteQueue $queue): void }) ->all(), ], [ - 'comments' => DocBlock::make()->seeDocs("enums/{$this->node->name->value}")->asAttribute(), + 'comments' => DocBlock::make()->seeDocs("enums/{$taxonomy->graphql_name}")->asAttribute(), ]), ]); } diff --git a/src/Support/CodeGeneration/HasTypeNodes.php b/src/Support/CodeGeneration/HasTypeNodes.php index 53ab2d08..7b5d5f70 100644 --- a/src/Support/CodeGeneration/HasTypeNodes.php +++ b/src/Support/CodeGeneration/HasTypeNodes.php @@ -19,13 +19,33 @@ abstract protected function fqcn(string $fqcn): Name; protected function getUnderlyingType(TypeNode $node): NodeAbstract { - $type = $node; + return $this->namedType($this->underlyingTypeNode($node)); + } + + /** Unwrap list and non-null wrappers to get at the type itself. */ + protected function underlyingTypeNode(TypeNode $node): NamedTypeNode + { + while (! ($node instanceof NamedTypeNode)) { + $node = $node->type; + } - while (! ($type instanceof NamedTypeNode)) { - $type = $type->type; + return $node; + } + + /** Walk up the parent chain to the root transformer, which holds the type registry. */ + protected function transformer(): Transformer + { + $parent = $this->parent; + + while (! $parent instanceof Transformer && isset($parent->parent)) { + $parent = $parent->parent; + } + + if (! $parent instanceof Transformer) { + throw new UnexpectedValueException('Unable to find Transformer in parent chain.'); } - return $this->namedType($type); + return $parent; } protected function isList(TypeNode $node): bool @@ -71,23 +91,15 @@ protected function typeToName(NamedTypeNode|NonNullTypeNode $node): NodeAbstract 'String', 'ID' => new Identifier('string'), 'DateTime' => $this->dateTimeType(), default => value(function() use ($node) { - $parent = $this->parent; - - while (! $parent instanceof Transformer && isset($parent->parent)) { - $parent = $parent->parent; - } - - if (! $parent instanceof Transformer) { - throw new UnexpectedValueException('Unable to find Transformer in parent chain.'); - } + $transformer = $this->transformer(); // Treat all scalars as strings for now - if ($parent->scalars->has($node->name->value)) { + if ($transformer->scalars->has($node->name->value)) { return new Identifier('string'); } return $this->fqcn( - $parent->registry->get($node->name->value) ?? (string) Taxonomy::make($node)->data() + $transformer->registry->get($node->name->value) ?? (string) Taxonomy::make($node)->data() ); }), }; diff --git a/src/Support/CodeGeneration/InputTransformer.php b/src/Support/CodeGeneration/InputTransformer.php index bacb1aa0..a1f08c2b 100644 --- a/src/Support/CodeGeneration/InputTransformer.php +++ b/src/Support/CodeGeneration/InputTransformer.php @@ -22,16 +22,18 @@ public function __construct( public function __invoke(WriteQueue $queue): void { + $taxonomy = Taxonomy::make($this->node); + // Generate the data first, since they may push items into `$uses` $params = $this->params(); $queue->addFromNode($this->node, array_filter([ new Namespace_(new Name(Taxonomy::ns('Requests\\Inputs'))), $this->uses(), - new Class_($this->node->name->value, [ + new Class_((string) $taxonomy->requestInput()->classBasename(), [ 'stmts' => [new ClassMethod('__construct', ['params' => $params])], ], [ - 'comments' => DocBlock::make()->seeDocs("inputs/{$this->node->name->value}")->asAttribute(), + 'comments' => DocBlock::make()->seeDocs("inputs/{$taxonomy->graphql_name}")->asAttribute(), ]), ])); } diff --git a/src/Support/CodeGeneration/InterfaceTransformer.php b/src/Support/CodeGeneration/InterfaceTransformer.php index 85b7b419..f905b16d 100644 --- a/src/Support/CodeGeneration/InterfaceTransformer.php +++ b/src/Support/CodeGeneration/InterfaceTransformer.php @@ -16,10 +16,12 @@ public function __construct( public function __invoke(WriteQueue $queue) { + $taxonomy = Taxonomy::make($this->node); + $queue->addFromNode($this->node, [ new Namespace_(new Name(Taxonomy::ns('Data\\Contracts'))), - new Interface_($this->node->name->value, attributes: [ - 'comments' => DocBlock::make()->seeDocs("interfaces/{$this->node->name->value}")->asAttribute(), + new Interface_((string) $taxonomy->name, attributes: [ + 'comments' => DocBlock::make()->seeDocs("interfaces/{$taxonomy->graphql_name}")->asAttribute(), ]), ]); } diff --git a/src/Support/CodeGeneration/PendingRequestTransformer.php b/src/Support/CodeGeneration/PendingRequestTransformer.php index cea6be5c..5dec9418 100644 --- a/src/Support/CodeGeneration/PendingRequestTransformer.php +++ b/src/Support/CodeGeneration/PendingRequestTransformer.php @@ -8,13 +8,14 @@ use Glhd\Linearavel\Support\GraphQueryBuilder; use Glhd\Linearavel\Support\KeyHelper; use GraphQL\Language\AST\FieldDefinitionNode; +use GraphQL\Language\AST\InputValueDefinitionNode; +use GraphQL\Language\Printer; use Illuminate\Support\Collection; use PhpParser\Builder\ClassConst; use PhpParser\Comment\Doc; use PhpParser\Node\Arg; use PhpParser\Node\Expr\Array_; use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\Cast\String_ as StringCast; use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Expr\FuncCall; use PhpParser\Node\Expr\Instanceof_; @@ -33,6 +34,7 @@ use PhpParser\Node\Stmt\Namespace_; use PhpParser\Node\Stmt\Nop; use PhpParser\Node\Stmt\Return_; +use Spatie\LaravelData\Data; use Throwable; class PendingRequestTransformer extends ClassTransformer @@ -60,6 +62,7 @@ public function __invoke(WriteQueue $queue): void new Class_((string) $class_name->classBasename(), [ 'stmts' => [ $this->attributesConstStmt(), + $this->argumentTypesConstStmt(), $this->constructorStmt(), $this->getStmt(), $this->responseStmt(), @@ -72,22 +75,85 @@ public function __invoke(WriteQueue $queue): void public function attributesConstStmt() { - try { - $all_keys = app(KeyHelper::class) - ->get(Taxonomy::make((string) $this->getUnderlyingType($this->node->type))->data()); + $keys = $this->defaultAttributes(); + + return (new ClassConst('DEFAULT_ATTRIBUTES', $keys)) + ->makeProtected() + ->getNode(); + } + + /** + * The GraphQL type of each argument, so that the query builder can send them + * as variables rather than inlining them into the query. + */ + public function argumentTypesConstStmt() + { + $types = []; + + foreach ($this->node->arguments as $argument) { + assert($argument instanceof InputValueDefinitionNode); - $keys = $all_keys - ->filter(function($key) { - $dots = substr_count($key, '.'); - return $dots === 0 || (str_starts_with($key, 'nodes.') && $dots < 2); - }) - ->values() - ->all(); - } catch (Throwable) { - $keys = []; + $types[$argument->name->value] = Printer::doPrint($argument->type); + } + + return (new ClassConst('ARGUMENT_TYPES', $types)) + ->makeProtected() + ->getNode(); + } + + protected function fqcn(string $fqcn): Name + { + $this->use($fqcn); + + return new Name(class_basename($fqcn)); + } + + /** @return array */ + protected function defaultAttributes(): array + { + $graphql_type = $this->underlyingTypeNode($this->node->type)->name->value; + + $members = $this->transformer()->unionMembers($graphql_type); + + return null === $members + ? $this->defaultAttributesForType($graphql_type) + : $this->defaultAttributesForUnion($members); + } + + /** + * Unions are queried with an inline fragment per member type, plus `__typename` + * so that the response knows which member it got back. + * + * @param array $members + * @return array + */ + protected function defaultAttributesForUnion(array $members): array + { + $keys = ['__typename']; + + foreach ($members as $member) { + foreach ($this->keysFor($member) as $key) { + $keys[] = GraphQueryBuilder::fragment($member).".{$key}"; + } } - if (isset($all_keys) && $all_keys->isNotEmpty()) { + return $keys; + } + + /** @return array */ + protected function defaultAttributesForType(string $graphql_type): array + { + $all_keys = $this->keysFor($graphql_type); + + $keys = $all_keys + ->filter(function($key) { + $dots = substr_count($key, '.'); + return $dots === 0 || (str_starts_with($key, 'nodes.') && $dots < 2); + }) + ->values() + ->all(); + + if ($all_keys->isNotEmpty()) { // First we'll try to load a larger list for auto-complete $meta_keys = $all_keys ->filter(function($key) { @@ -107,16 +173,28 @@ class: Taxonomy::make($this->node, $this->kind)->pendingRequest(), ); } - return (new ClassConst('DEFAULT_ATTRIBUTES', $keys)) - ->makeProtected() - ->getNode(); + return $keys; } - protected function fqcn(string $fqcn): Name + /** + * The field names of a GraphQL type, as far as we can tell from the data class + * we generated for it. Types we haven't written yet come back empty. + * + * @return Collection + */ + protected function keysFor(string $graphql_type): Collection { - $this->use($fqcn); + $fqcn = $this->transformer()->registry->get($graphql_type); - return new Name(class_basename($fqcn)); + if (! $fqcn || ! is_a($fqcn, Data::class, true)) { + return new Collection(); + } + + try { + return collect(app(KeyHelper::class)->get($fqcn)); + } catch (Throwable) { + return new Collection(); + } } protected function constructorStmt() @@ -146,6 +224,7 @@ class: new Name('parent'), new Arg(new String_($this->kind)), new Arg(new String_($this->node->name->value)), new Arg(new Variable('args')), + new Arg(new ClassConstFetch(new Name('static'), 'ARGUMENT_TYPES')), ]), ], ), @@ -272,7 +351,7 @@ protected function responseStmt() class: $this->fqcn(LinearRequest::class), args: [ new Arg(new ClassConstFetch($response_type, 'class')), - new Arg(new StringCast(new Variable('query'))), + new Arg(new Variable('query')), ], ), ), diff --git a/src/Support/CodeGeneration/ResponseTransformer.php b/src/Support/CodeGeneration/ResponseTransformer.php index 71c36d8f..f9d6cba8 100644 --- a/src/Support/CodeGeneration/ResponseTransformer.php +++ b/src/Support/CodeGeneration/ResponseTransformer.php @@ -7,6 +7,8 @@ use Illuminate\Support\Collection; use PhpParser\Comment\Doc; use PhpParser\Node\Arg; +use PhpParser\Node\ArrayItem; +use PhpParser\Node\Expr\Array_; use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Expr\StaticCall; @@ -64,11 +66,93 @@ protected function fqcn(string $fqcn): Name protected function resolveStmt() { + if (null !== $this->unionMembers()) { + return $this->isList($this->node->type) + ? $this->resolveUnionListStmt() + : $this->resolveUnionStmt(); + } + return $this->isList($this->node->type) ? $this->resolveListStmt() : $this->resolveObjectStmt(); } + /** @return array|null The union member type names, if this response returns a union */ + protected function unionMembers(): ?array + { + return $this->transformer()->unionMembers($this->underlyingTypeNode($this->node->type)->name->value); + } + + /** A map of GraphQL type name to the data class that represents it. */ + protected function membersMap(): Array_ + { + $items = []; + + foreach ($this->unionMembers() as $member) { + $items[] = new ArrayItem( + value: new ClassConstFetch($this->fqcn((string) Taxonomy::make($member)->data()), 'class'), + key: new String_($member), + ); + } + + return new Array_($items); + } + + protected function resolveUnionStmt() + { + return new ClassMethod('resolve', [ + 'returnType' => $this->getUnderlyingType($this->node->type), + 'flags' => 1, // public + 'stmts' => [ + new Return_( + new MethodCall( + var: new Variable('this'), + name: new Identifier('resolveUnion'), + args: [ + new Arg($this->jsonCall()), + new Arg($this->membersMap()), + ], + ), + ), + ], + ]); + } + + protected function resolveUnionListStmt() + { + return new ClassMethod('resolve', [ + 'returnType' => $this->fqcn(Collection::class), + 'flags' => 1, // public + 'stmts' => [ + new Return_( + new MethodCall( + var: new Variable('this'), + name: new Identifier('resolveUnionCollection'), + args: [ + new Arg($this->jsonCall()), + new Arg($this->membersMap()), + ], + ), + ), + ], + ], [ + 'comments' => [ + new Doc('/** @returns CollectiongetUnderlyingType($this->node->type)))->name.'> */'), + ], + ]); + } + + protected function jsonCall(): MethodCall + { + return new MethodCall( + var: new Variable('this'), + name: new Identifier('json'), + args: [ + new Arg(new String_("data.{$this->node->name->value}")), + ], + ); + } + protected function resolveListStmt() { return new ClassMethod('resolve', [ diff --git a/src/Support/CodeGeneration/SchemaComparison.php b/src/Support/CodeGeneration/SchemaComparison.php new file mode 100644 index 00000000..a7f90c1a --- /dev/null +++ b/src/Support/CodeGeneration/SchemaComparison.php @@ -0,0 +1,119 @@ + true]), + BuildSchema::build($new_sdl, options: ['assumeValid' => true]), + $old_sdl === $new_sdl, + ); + } + + public function __construct( + protected Schema $old, + protected Schema $new, + protected bool $identical, + ) { + } + + /** Did the schema change at all? */ + public function changed(): bool + { + return ! $this->identical; + } + + /** + * Anything Linear took away or made stricter. These change the shape of the + * generated code in ways that can break callers. + * + * @return Collection + */ + public function breaking(): Collection + { + return $this->describe(BreakingChangesFinder::findBreakingChanges($this->old, $this->new)); + } + + /** + * Things Linear added. New enum values and union members are listed here too, + * because they widen types that callers may be matching on exhaustively. + * + * @return Collection + */ + public function additive(): Collection + { + return $this->describe(BreakingChangesFinder::findDangerousChanges($this->old, $this->new)); + } + + /** Which part of the version number should move: `none`, `patch` or `minor`. */ + public function bump(): string + { + if (! $this->changed()) { + return static::NONE; + } + + return $this->breaking()->isNotEmpty() + ? static::MINOR + : static::PATCH; + } + + /** A short markdown summary, for release notes. */ + public function summary(): string + { + if (! $this->changed()) { + return 'No schema changes.'; + } + + $lines = []; + + if ($this->breaking()->isNotEmpty()) { + $lines[] = '### Removed or narrowed'; + $lines[] = ''; + $lines = [...$lines, ...$this->breaking()->map(fn($change) => "- {$change}")->all()]; + $lines[] = ''; + } + + if ($this->additive()->isNotEmpty()) { + $lines[] = '### Added or widened'; + $lines[] = ''; + $lines = [...$lines, ...$this->additive()->map(fn($change) => "- {$change}")->all()]; + $lines[] = ''; + } + + if (! count($lines)) { + $lines[] = 'The schema changed, but only in ways that do not affect the generated types.'; + } + + return trim(implode("\n", $lines)); + } + + /** + * @param array $changes + * @return Collection + */ + protected function describe(array $changes): Collection + { + return collect($changes) + ->map(fn(array $change) => $change['description']) + ->sort() + ->values(); + } +} diff --git a/src/Support/CodeGeneration/SchemaFetcher.php b/src/Support/CodeGeneration/SchemaFetcher.php new file mode 100644 index 00000000..7e506ee5 --- /dev/null +++ b/src/Support/CodeGeneration/SchemaFetcher.php @@ -0,0 +1,70 @@ +http ??= new Factory(); + } + + /** Fetch the live schema and return it as SDL. */ + public function sdl(): string + { + return static::print(BuildClientSchema::build($this->introspect())); + } + + /** Print a schema in the canonical form we keep in the repository. */ + public static function print($schema): string + { + return SchemaPrinter::doPrint($schema); + } + + /** @return array */ + protected function introspect(): array + { + $response = $this->http + ->baseUrl($this->base_url) + ->withHeader('Authorization', $this->api_key) + ->asJson() + ->timeout(120) + ->retry(3, 2000, throw: false) + ->post('/', [ + 'query' => Introspection::getIntrospectionQuery([ + 'descriptions' => true, + 'directiveIsRepeatable' => true, + 'specifiedByURL' => true, + ]), + ]); + + if ($response->failed()) { + throw new RuntimeException("Introspection failed with status {$response->status()}: {$response->body()}"); + } + + $json = $response->json(); + + if (isset($json['errors'])) { + throw new RuntimeException('Introspection returned errors: '.json_encode($json['errors'])); + } + + if (! isset($json['data']['__schema'])) { + throw new RuntimeException('Introspection returned no schema.'); + } + + return $json['data']; + } +} diff --git a/src/Support/CodeGeneration/Taxonomy.php b/src/Support/CodeGeneration/Taxonomy.php index e84b414d..946c0450 100644 --- a/src/Support/CodeGeneration/Taxonomy.php +++ b/src/Support/CodeGeneration/Taxonomy.php @@ -2,10 +2,16 @@ namespace Glhd\Linearavel\Support\CodeGeneration; +use GraphQL\Language\AST\DefinitionNode; +use GraphQL\Language\AST\EnumTypeDefinitionNode; use GraphQL\Language\AST\FieldDefinitionNode; +use GraphQL\Language\AST\InputObjectTypeDefinitionNode; +use GraphQL\Language\AST\InterfaceTypeDefinitionNode; +use GraphQL\Language\AST\ObjectTypeDefinitionNode; use GraphQL\Language\AST\TypeDefinitionNode; use GraphQL\Language\AST\TypeNode; use GraphQL\Language\AST\TypeSystemDefinitionNode; +use GraphQL\Language\AST\UnionTypeDefinitionNode; use Illuminate\Support\Stringable; use UnexpectedValueException; @@ -13,8 +19,20 @@ class Taxonomy { public const NS = 'Glhd\\Linearavel\\'; + /** + * GraphQL type names that need a different PHP name, because another type in + * the same namespace differs from it only by case. PHP class names are + * case-insensitive, so `GithubRepo` and `GitHubRepo` cannot coexist. + * + * @var array + */ + protected static array $aliases = []; + public Stringable $name; + /** The name of the type as it appears in the GraphQL schema. */ + public string $graphql_name; + public static function make(mixed $source, string $kind = 'query') { return new static($source, $kind); @@ -28,16 +46,74 @@ public static function ns(?string $namespace = null, bool $prefix = false): stri ->toString(); } + /** + * Work out which schema types need renaming to survive PHP's case-insensitive + * class names, and remember the new names for the rest of the run. + * + * @param iterable $definitions + */ + public static function resolveCollisions(iterable $definitions): void + { + static::$aliases = []; + + $groups = []; + + foreach ($definitions as $definition) { + if (! isset($definition->name)) { + continue; + } + + $group = match ($definition::class) { + ObjectTypeDefinitionNode::class => 'data', + EnumTypeDefinitionNode::class => 'enum', + InputObjectTypeDefinitionNode::class => 'input', + InterfaceTypeDefinitionNode::class, UnionTypeDefinitionNode::class => 'contract', + default => null, + }; + + if ($group) { + $groups[$group][] = $definition->name->value; + } + } + + foreach ($groups as $names) { + foreach (static::collisions($names) as $colliding) { + // Sorting keeps the assignment stable regardless of schema ordering + sort($colliding, SORT_STRING); + + foreach ($colliding as $index => $name) { + if ($index > 0) { + static::$aliases[$name] = $name.($index + 1); + } + } + } + } + } + + /** @return array */ + public static function aliases(): array + { + return static::$aliases; + } + public function __construct( mixed $source, public string $kind = 'query', ) { - $this->name = match (true) { - $source instanceof TypeDefinitionNode => str($source->getName()->value), - $source instanceof FieldDefinitionNode, $source instanceof TypeSystemDefinitionNode, $source instanceof TypeNode => str($source->name->value), - is_string($source) => str($source), + $this->graphql_name = match (true) { + $source instanceof TypeDefinitionNode => $source->getName()->value, + $source instanceof FieldDefinitionNode, $source instanceof TypeSystemDefinitionNode, $source instanceof TypeNode => $source->name->value, + is_string($source) => $source, default => throw new UnexpectedValueException('Cannot infer taxonomy for '.get_debug_type($source)), }; + + $this->name = str(static::$aliases[$this->graphql_name] ?? $this->graphql_name); + } + + /** Is this type's PHP name different from its GraphQL name? */ + public function renamed(): bool + { + return $this->name->toString() !== $this->graphql_name; } public function data(): Stringable @@ -70,12 +146,16 @@ public function requestInput(): Stringable public function pendingRequest(): Stringable { + $namespace = str(static::ns('Requests\\Pending', prefix: true)) + ->append(str($this->kind)->plural()->studly()) + ->finish('\\'); + return $this->name ->studly() ->prepend('Pending') ->append(str($this->kind)->singular()->studly()) ->finish('Request') - ->prepend(str(static::ns('Requests\\Pending', prefix: true))); + ->prepend($namespace); } public function response(): Stringable @@ -90,4 +170,19 @@ public function response(): Stringable ->finish('Response') ->prepend($namespace); } + + /** + * @param array $names + * @return array> Groups of names that differ only by case + */ + protected static function collisions(array $names): array + { + $by_lowercase = []; + + foreach (array_unique($names) as $name) { + $by_lowercase[strtolower($name)][] = $name; + } + + return array_values(array_filter($by_lowercase, fn($group) => count($group) > 1)); + } } diff --git a/src/Support/CodeGeneration/Transformer.php b/src/Support/CodeGeneration/Transformer.php index 897c62cb..dd41996a 100644 --- a/src/Support/CodeGeneration/Transformer.php +++ b/src/Support/CodeGeneration/Transformer.php @@ -7,47 +7,40 @@ use GraphQL\Language\AST\EnumTypeDefinitionNode; use GraphQL\Language\AST\InputObjectTypeDefinitionNode; use GraphQL\Language\AST\InterfaceTypeDefinitionNode; +use GraphQL\Language\AST\NamedTypeNode; use GraphQL\Language\AST\ObjectTypeDefinitionNode; use GraphQL\Language\AST\ScalarTypeDefinitionNode; use GraphQL\Language\AST\UnionTypeDefinitionNode; use GraphQL\Language\Parser; use Illuminate\Console\Command; use Illuminate\Support\Collection; -use PhpParser\ParserFactory; class Transformer { + /** @var Collection GraphQL type name to fully-qualified PHP class name */ public Collection $registry; + /** @var Collection */ public Collection $scalars; + /** @var Collection> Union name to its member type names */ + public Collection $unions; + + /** @var Collection> Type name to the unions it belongs to */ + public Collection $union_members; + public function __construct( protected string $filename, protected ?Command $command = null, ) { $this->registry = new Collection(); $this->scalars = new Collection(); + $this->unions = new Collection(); + $this->union_members = new Collection(); require_once __DIR__.'/helpers.php'; app(WriteQueue::class)->withCommand($this->command); - - // $debugging = true; - - if (isset($debugging)) { - $debug = <<<'PHP' - createForNewestSupportedVersion()->parse($debug); - dd($tree); - } } public function write() @@ -56,14 +49,29 @@ public function write() $schema = file_get_contents($this->filename); - collect(Parser::parse($schema)->definitions) - ->each($this->register(...)) + $definitions = collect(Parser::parse($schema)->definitions); + + // PHP class names are case-insensitive, so we need to know about every type + // in the schema before we can decide what to call any of them + Taxonomy::resolveCollisions($definitions); + + foreach (Taxonomy::aliases() as $graphql_name => $php_name) { + $this->command?->warn("Renamed '{$graphql_name}' to '{$php_name}' to avoid a class name collision."); + } + + $definitions->each($this->register(...)); + + // Generation order matters: the code we write is loaded back in as we go + // (to work out default fields, for example), so anything a class depends + // on has to exist on disk before that class is written. + $definitions + ->sortBy($this->order(...)) ->each(fn(DefinitionNode $definition) => match ($definition::class) { InterfaceTypeDefinitionNode::class => $this->interface($definition), ObjectTypeDefinitionNode::class => $this->class($definition), EnumTypeDefinitionNode::class => $this->enum($definition), InputObjectTypeDefinitionNode::class => $this->input($definition), - UnionTypeDefinitionNode::class => null, // TODO + UnionTypeDefinitionNode::class => $this->union($definition), DirectiveDefinitionNode::class => null, default => null, }); @@ -71,6 +79,22 @@ public function write() app(PhpStormMetaWriter::class)->write(); } + /** Contracts and enums first, then data objects, and finally the connector traits. */ + protected function order(DefinitionNode $node): int + { + if ($node instanceof ObjectTypeDefinitionNode && in_array($node->name->value, ['Query', 'Mutation'], true)) { + return 4; + } + + return match ($node::class) { + InterfaceTypeDefinitionNode::class, UnionTypeDefinitionNode::class => 0, + EnumTypeDefinitionNode::class => 1, + InputObjectTypeDefinitionNode::class => 2, + ObjectTypeDefinitionNode::class => 3, + default => 5, + }; + } + public function register(DefinitionNode $node): DefinitionNode { match ($node::class) { @@ -78,6 +102,7 @@ public function register(DefinitionNode $node): DefinitionNode ObjectTypeDefinitionNode::class => $this->registry->put($node->name->value, (string) Taxonomy::make($node)->data()), EnumTypeDefinitionNode::class => $this->registry->put($node->name->value, (string) Taxonomy::make($node)->enum()), InputObjectTypeDefinitionNode::class => $this->registry->put($node->name->value, (string) Taxonomy::make($node)->requestInput()), + UnionTypeDefinitionNode::class => $this->registerUnion($node), ScalarTypeDefinitionNode::class => $this->scalars->put($node->name->value, 'string'), default => null, }; @@ -85,6 +110,33 @@ public function register(DefinitionNode $node): DefinitionNode return $node; } + /** The member type names of a union, or null if this isn't a union. */ + public function unionMembers(string $name): ?array + { + return $this->unions->get($name); + } + + /** The unions that a given type belongs to. */ + public function unionsFor(string $name): array + { + return $this->union_members->get($name, []); + } + + protected function registerUnion(UnionTypeDefinitionNode $node): void + { + $this->registry->put($node->name->value, (string) Taxonomy::make($node)->contract()); + + $members = collect($node->types) + ->map(fn(NamedTypeNode $type) => $type->name->value) + ->all(); + + $this->unions->put($node->name->value, $members); + + foreach ($members as $member) { + $this->union_members->put($member, [...$this->union_members->get($member, []), $node->name->value]); + } + } + protected function interface(InterfaceTypeDefinitionNode $node): bool { InterfaceTransformer::transform($node); @@ -92,6 +144,13 @@ protected function interface(InterfaceTypeDefinitionNode $node): bool return app(WriteQueue::class)->save(); } + protected function union(UnionTypeDefinitionNode $node): bool + { + UnionTransformer::transform($node); + + return app(WriteQueue::class)->save(); + } + protected function class(ObjectTypeDefinitionNode $node): bool { match ($node->name->value) { diff --git a/src/Support/CodeGeneration/TypeTransformer.php b/src/Support/CodeGeneration/TypeTransformer.php index 080c2620..b4acaea9 100644 --- a/src/Support/CodeGeneration/TypeTransformer.php +++ b/src/Support/CodeGeneration/TypeTransformer.php @@ -26,6 +26,8 @@ public function __construct( public function __invoke(WriteQueue $queue): void { + $taxonomy = Taxonomy::make($this->node); + // Generate the data first, since they may push items into `$uses` $params = $this->params(); $extends = $this->extends(); @@ -43,14 +45,20 @@ public function __invoke(WriteQueue $queue): void $docblock->extends('Connection', $type->name); } + $docblock->seeDocs("objects/{$taxonomy->graphql_name}"); + + if ($taxonomy->renamed()) { + $docblock->note("Named for the GraphQL type `{$taxonomy->graphql_name}`."); + } + $queue->addFromNode($this->node, array_filter([ new Namespace_(new Name(Taxonomy::ns('Data'))), $this->uses(), - new Class_($this->node->name->value, [ + new Class_((string) $taxonomy->name, [ 'stmts' => [new ClassMethod('__construct', ['params' => $params, 'flags' => 1])], 'extends' => $extends, 'implements' => $implements, - ], ['comments' => $docblock->seeDocs("objects/{$this->node->name->value}")->asAttribute()]), + ], ['comments' => $docblock->asAttribute()]), ])); } @@ -83,12 +91,23 @@ protected function extends(): Name protected function implements(): array { - return collect($this->node->interfaces) - ->map(function(NamedTypeNode $node) { - $this->use((string) Taxonomy::make($node)->contract()); + $contracts = collect($this->node->interfaces) + ->map(fn(NamedTypeNode $node) => (string) Taxonomy::make($node)->contract()); + + // Union members implement a marker interface for each union they belong to + $contracts = $contracts->merge( + collect($this->parent->unionsFor($this->node->name->value)) + ->map(fn(string $union) => (string) Taxonomy::make($union)->contract()) + ); + + return $contracts + ->unique() + ->map(function(string $contract) { + $this->use($contract); - return new Name($node->name->value); + return new Name(class_basename($contract)); }) + ->values() ->all(); } } diff --git a/src/Support/CodeGeneration/UnionTransformer.php b/src/Support/CodeGeneration/UnionTransformer.php new file mode 100644 index 00000000..55914f75 --- /dev/null +++ b/src/Support/CodeGeneration/UnionTransformer.php @@ -0,0 +1,32 @@ +node); + + $queue->addFromNode($this->node, [ + new Namespace_(new Name(Taxonomy::ns('Data\\Contracts'))), + new Interface_((string) $taxonomy->name, attributes: [ + 'comments' => DocBlock::make()->seeDocs("unions/{$taxonomy->graphql_name}")->asAttribute(), + ]), + ]); + } +} diff --git a/src/Support/GraphQueryBuilder.php b/src/Support/GraphQueryBuilder.php index c9ad2f9e..04e1f974 100644 --- a/src/Support/GraphQueryBuilder.php +++ b/src/Support/GraphQueryBuilder.php @@ -7,107 +7,168 @@ class GraphQueryBuilder { use Conditionable; + + /** + * The field key that opens an inline fragment for a union or interface member. + * + * Field keys are dot-separated, so the `... on Type` syntax cannot be used + * directly. Use this instead: `GraphQueryBuilder::fragment('Issue').'.id'`. + */ + public static function fragment(string $type): string + { + return "on {$type}"; + } - public static function make(string $type, string $name, ?array $args = null): static + public static function make(string $type, string $name, ?array $args = null, array $argument_types = []): static { - return (new static($type, $name)) + return (new static($type, $name, argument_types: $argument_types)) ->when($args, fn(self $builder) => $builder->withArguments($args)); } - + + /** + * @param array $arguments + * @param array $argument_types Argument name to GraphQL type, e.g. `['id' => 'String!']` + */ public function __construct( protected string $type, protected string $name, protected array $fields = [], protected array $arguments = [], protected ?string $alias = null, + protected array $argument_types = [], ) { } - + public function withFields(array $fields, bool $overwrite = false): static { $this->fields = $overwrite ? $fields : array_merge($this->fields, $fields); - + return $this; } - + public function withArguments(array $arguments, bool $overwrite = false): static { $arguments = array_filter($arguments, fn($arg) => null !== $arg); - + $this->arguments = $overwrite ? $arguments - : array_replace_recursive($this->arguments, $arguments); - + : array_replace($this->arguments, $arguments); + return $this; } - + + /** + * Declare the GraphQL type of one or more arguments. Typed arguments are sent as + * GraphQL variables; untyped ones are inlined into the query as literals. + * + * @param array $argument_types + */ + public function withArgumentTypes(array $argument_types, bool $overwrite = false): static + { + $this->argument_types = $overwrite + ? $argument_types + : array_replace($this->argument_types, $argument_types); + + return $this; + } + + /** The `variables` payload that accompanies this query. */ + public function variables(): array + { + $variables = []; + + foreach ($this->variableDefinitions() as $name => $type) { + $variables[$name] = GraphValue::toVariable($this->arguments[$name]); + } + + return $variables; + } + public function __toString(): string { $alias = $this->alias ? " {$this->alias}" : ''; - $args = $this->formatArguments($this->arguments); + $signature = $this->formatSignature(); + $args = $this->formatArguments(); $fields = $this->formatFields($this->fields); - + return <<type}{$alias} { + {$this->type}{$alias}{$signature} { {$this->name}{$args} { {$fields} } } gql; } - - protected function formatArguments(array $arguments, int $depth = 0): string + + /** @return array Argument name to GraphQL type, for arguments we actually have values for */ + protected function variableDefinitions(): array + { + return array_intersect_key($this->argument_types, $this->arguments); + } + + protected function formatSignature(): string { - if (! count($arguments)) { + $definitions = $this->variableDefinitions(); + + if (! count($definitions)) { return ''; } - - $indent = "\t\t".(str_repeat("\t", $depth)); - - $result = collect($arguments) - ->map(function($value, $key) use ($depth, $indent) { - $line = "{$key}: "; - - if (is_object($value)) { - $value = array_filter((array) $value); - } - - if (is_array($value)) { - $line .= "{\n{$indent}\t".$this->formatArguments($value, $depth + 1)."\n{$indent}}"; - } else { - $line .= json_encode($value); - } - - return $line; - }) - ->implode(",\n{$indent}"); - - if ($depth) { - return $result; + + $parts = []; + + foreach ($definitions as $name => $type) { + $parts[] = "\${$name}: {$type}"; } - - return str_contains($result, "\n") - ? "(\n{$indent}{$result}\n\t)" - : "({$result})"; + + return '('.implode(', ', $parts).')'; } - + + protected function formatArguments(): string + { + if (! count($this->arguments)) { + return ''; + } + + $definitions = $this->variableDefinitions(); + $multiline = false; + $parts = []; + + foreach ($this->arguments as $key => $value) { + if (isset($definitions[$key])) { + $parts[] = "{$key}: \${$key}"; + continue; + } + + $literal = GraphValue::toLiteral($value); + $multiline = $multiline || str_contains($literal, "\n"); + $parts[] = "{$key}: {$literal}"; + } + + return $multiline + ? "(\n\t\t".implode(",\n\t\t", $parts)."\n\t)" + : '('.implode(', ', $parts).')'; + } + protected function formatFields(array $keys, int $depth = 0): string { $indent = "\t\t".(str_repeat("\t", $depth)); - + return collect($keys) ->unless($depth, fn($keys) => $keys->flip()->undot()) ->map(function($value, $key) use ($depth, $indent) { - $line = $key; - + // Inline fragments come through as `on TypeName` + $line = str_starts_with((string) $key, 'on ') + ? "... {$key}" + : $key; + if (is_array($value)) { $line .= " {\n{$indent}\t".$this->formatFields($value, $depth + 1)."\n{$indent}}"; } - + return $line; }) ->implode("\n{$indent}"); diff --git a/src/Support/GraphValue.php b/src/Support/GraphValue.php new file mode 100644 index 00000000..9121c7ef --- /dev/null +++ b/src/Support/GraphValue.php @@ -0,0 +1,109 @@ + $value->value, + $value instanceof UnitEnum => $value->name, + $value instanceof DateTimeInterface => $value->format(DateTimeInterface::RFC3339_EXTENDED), + $value instanceof JsonSerializable => static::toVariable($value->jsonSerialize()), + $value instanceof Arrayable => static::toVariable($value->toArray()), + $value instanceof Traversable => static::toVariable(iterator_to_array($value)), + is_object($value) => static::objectToVariable($value), + is_array($value) => static::arrayToVariable($value), + default => $value, + }; + } + + /** + * Convert a PHP value into a GraphQL literal, for arguments that are + * inlined into the query rather than passed as variables. + */ + public static function toLiteral(mixed $value, int $depth = 0): string + { + // Enum values are bare names in GraphQL—never quoted strings + if ($value instanceof UnitEnum) { + return $value->name; + } + + $value = static::toVariable($value); + + if (is_array($value)) { + return array_is_list($value) + ? static::listLiteral($value, $depth) + : static::objectLiteral($value, $depth); + } + + return json_encode($value, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); + } + + protected static function objectToVariable(object $value): array + { + return static::arrayToVariable(get_object_vars($value)); + } + + protected static function arrayToVariable(array $value): array + { + $result = []; + + foreach ($value as $key => $item) { + // Unset input properties are omitted rather than sent as explicit nulls + if (null === $item) { + continue; + } + + $result[$key] = static::toVariable($item); + } + + // Filtering can leave holes in a list, so re-index if we started with one + return array_is_list($value) + ? array_values($result) + : $result; + } + + protected static function listLiteral(array $value, int $depth): string + { + $items = array_map(fn($item) => static::toLiteral($item, $depth), $value); + + return '['.implode(', ', $items).']'; + } + + protected static function objectLiteral(array $value, int $depth): string + { + $indent = "\t\t".str_repeat("\t", $depth); + + $pairs = []; + + foreach ($value as $key => $item) { + $pairs[] = "{$key}: ".static::toLiteral($item, $depth + 1); + } + + if (! count($pairs)) { + return '{}'; + } + + return "{\n{$indent}\t".implode(",\n{$indent}\t", $pairs)."\n{$indent}}"; + } +} diff --git a/tests/Feature/ErrorHandlingTest.php b/tests/Feature/ErrorHandlingTest.php new file mode 100644 index 00000000..54604f40 --- /dev/null +++ b/tests/Feature/ErrorHandlingTest.php @@ -0,0 +1,82 @@ + [ + [ + 'message' => 'Entity not found', + 'extensions' => [ + 'code' => 'FEATURE_NOT_ACCESSIBLE', + 'userPresentableMessage' => 'That issue does not exist.', + ], + ], + ], + ], 200), + ]); + + try { + app(LinearConnector::class)->issue('missing')->get(); + $this->fail('Expected a LinearRequestException to be thrown.'); + } catch (LinearRequestException $exception) { + $this->assertStringContainsString('Entity not found', $exception->getMessage()); + $this->assertSame(['That issue does not exist.'], $exception->messages()->all()); + $this->assertSame(['FEATURE_NOT_ACCESSIBLE'], $exception->codes()->all()); + $this->assertCount(1, $exception->errors()); + } + } + + public function test_it_falls_back_to_the_raw_message_when_there_is_no_presentable_one(): void + { + MockClient::global([ + MockResponse::make(['errors' => [['message' => 'Something broke']]], 200), + ]); + + try { + app(LinearConnector::class)->issue('missing')->get(); + $this->fail('Expected a LinearRequestException to be thrown.'); + } catch (LinearRequestException $exception) { + $this->assertSame(['Something broke'], $exception->messages()->all()); + } + } + + public function test_it_still_throws_on_http_errors(): void + { + MockClient::global([MockResponse::make(['message' => 'Nope'], 401)]); + + $this->expectException(\Saloon\Exceptions\Request\RequestException::class); + + app(LinearConnector::class)->issue('missing')->get(); + } + + public function test_it_does_not_throw_when_there_are_no_errors(): void + { + MockClient::global([ + MockResponse::make(['data' => ['issue' => ['id' => 'abc', 'title' => 'Fine']]], 200), + ]); + + $issue = app(LinearConnector::class)->issue('abc')->get('id', 'title'); + + $this->assertSame('abc', $issue->id); + $this->assertSame('Fine', $issue->title); + } +} diff --git a/tests/Feature/GeneratedCodeTest.php b/tests/Feature/GeneratedCodeTest.php new file mode 100644 index 00000000..840dcbf4 --- /dev/null +++ b/tests/Feature/GeneratedCodeTest.php @@ -0,0 +1,155 @@ +classes(); + + $this->assertGreaterThan(1_000, count($classes), 'Expected the generated tree to be present.'); + + foreach ($classes as $fqcn) { + $this->assertTrue( + class_exists($fqcn) || interface_exists($fqcn) || enum_exists($fqcn) || trait_exists($fqcn), + "'{$fqcn}' does not autoload. Check that its file name matches its class name." + ); + } + } + + public function test_no_class_references_a_type_that_does_not_exist(): void + { + $missing = []; + + foreach ($this->classes() as $fqcn) { + $reflection = new ReflectionClass($fqcn); + + $types = collect($reflection->getMethods()) + ->filter(fn($method) => $method->getDeclaringClass()->getName() === $fqcn) + ->flatMap(fn($method) => [$method->getReturnType(), ...array_map(fn($p) => $p->getType(), $method->getParameters())]); + + foreach ($types as $type) { + foreach ($this->namedTypes($type) as $name) { + if (! class_exists($name) && ! interface_exists($name) && ! enum_exists($name)) { + $missing[] = "{$fqcn} refers to {$name}"; + } + } + } + } + + $this->assertSame([], $missing); + } + + public function test_every_type_in_the_schema_has_a_class(): void + { + $definitions = collect(Parser::parse(file_get_contents($this->schemaPath()))->definitions); + + Taxonomy::resolveCollisions($definitions); + + $missing = []; + + foreach ($definitions as $definition) { + if (! isset($definition->name) || in_array($definition->name->value, ['Query', 'Mutation'], true)) { + continue; + } + + $taxonomy = Taxonomy::make($definition); + + $expected = match ($definition::class) { + ObjectTypeDefinitionNode::class => (string) $taxonomy->data(), + EnumTypeDefinitionNode::class => (string) $taxonomy->enum(), + InputObjectTypeDefinitionNode::class => (string) $taxonomy->requestInput(), + InterfaceTypeDefinitionNode::class, UnionTypeDefinitionNode::class => (string) $taxonomy->contract(), + default => null, + }; + + if ($expected && ! class_exists($expected) && ! interface_exists($expected) && ! enum_exists($expected)) { + $missing[] = "{$definition->name->value} => {$expected}"; + } + } + + $this->assertSame([], $missing, 'Some schema types have no generated class. Re-run `composer generate-data`.'); + } + + public function test_no_two_files_differ_only_by_case(): void + { + $collisions = collect($this->files()) + ->groupBy(fn(string $path) => strtolower($path)) + ->filter(fn($group) => $group->count() > 1) + ->keys() + ->all(); + + $this->assertSame([], $collisions, 'PHP class names are case-insensitive, so these files cannot coexist.'); + } + + protected function schemaPath(): string + { + return dirname(__DIR__, 2).'/local.graphql'; + } + + /** @return array */ + protected function files(): array + { + $base = dirname(__DIR__, 2).'/src'; + $files = []; + + foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($base)) as $file) { + assert($file instanceof SplFileInfo); + + if ($file->isFile() && 'php' === $file->getExtension()) { + $files[] = substr($file->getPathname(), strlen($base) + 1); + } + } + + sort($files); + + return $files; + } + + /** @return array */ + protected function classes(): array + { + return collect($this->files()) + ->reject(fn(string $path) => 'helpers.php' === basename($path)) + ->map(fn(string $path) => 'Glhd\\Linearavel\\'.str_replace('/', '\\', substr($path, 0, -4))) + ->values() + ->all(); + } + + /** @return array */ + protected function namedTypes(mixed $type): array + { + if (null === $type) { + return []; + } + + $types = $type instanceof ReflectionNamedType ? [$type] : $type->getTypes(); + + return collect($types) + ->filter(fn($type) => $type instanceof ReflectionNamedType && ! $type->isBuiltin()) + ->map(fn($type) => $type->getName()) + ->reject(fn(string $name) => in_array($name, ['static', 'self', 'parent'], true)) + ->values() + ->all(); + } +} diff --git a/tests/Feature/GraphQueryBuilderTest.php b/tests/Feature/GraphQueryBuilderTest.php index 34e205e2..528e2c08 100644 --- a/tests/Feature/GraphQueryBuilderTest.php +++ b/tests/Feature/GraphQueryBuilderTest.php @@ -2,6 +2,9 @@ namespace Glhd\Linearavel\Tests\Feature; +use Carbon\CarbonImmutable; +use Glhd\Linearavel\Data\Enums\PaginationOrderBy; +use Glhd\Linearavel\Requests\Inputs\IssueCreateInput; use Glhd\Linearavel\Support\GraphQueryBuilder; use Glhd\Linearavel\Tests\TestCase; @@ -86,4 +89,145 @@ public function test_it_can_format_a_query_with_multiline_args(): void $this->assertSame($expected, (string) $builder); } + + public function test_it_sends_typed_arguments_as_variables(): void + { + $builder = GraphQueryBuilder::make('query', 'issues', ['first' => 10], ['first' => 'Int']) + ->withFields(['nodes.id']); + + $expected = <<<'GQL' + query($first: Int) { + issues(first: $first) { + nodes { + id + } + } + } + GQL; + + $this->assertSame($expected, (string) $builder); + $this->assertSame(['first' => 10], $builder->variables()); + } + + public function test_it_names_variables_in_the_alias_signature(): void + { + $builder = new GraphQueryBuilder( + type: 'query', + name: 'user', + fields: ['id'], + arguments: ['id' => 'abc'], + alias: 'FindUser', + argument_types: ['id' => 'String!'], + ); + + $expected = <<<'GQL' + query FindUser($id: String!) { + user(id: $id) { + id + } + } + GQL; + + $this->assertSame($expected, (string) $builder); + } + + public function test_it_inlines_arguments_that_have_no_declared_type(): void + { + $builder = GraphQueryBuilder::make('query', 'issues', ['first' => 10, 'includeArchived' => true], ['first' => 'Int']) + ->withFields(['nodes.id']); + + $expected = <<<'GQL' + query($first: Int) { + issues(first: $first, includeArchived: true) { + nodes { + id + } + } + } + GQL; + + $this->assertSame($expected, (string) $builder); + } + + public function test_it_sends_enums_as_their_backing_value(): void + { + $builder = GraphQueryBuilder::make( + 'query', + 'issues', + ['orderBy' => PaginationOrderBy::updatedAt], + ['orderBy' => 'PaginationOrderBy'], + ); + + $this->assertSame(['orderBy' => 'updatedAt'], $builder->variables()); + } + + public function test_it_writes_untyped_enum_arguments_as_bare_graphql_names(): void + { + $builder = GraphQueryBuilder::make('query', 'issues', ['orderBy' => PaginationOrderBy::updatedAt]) + ->withFields(['nodes.id']); + + $this->assertStringContainsString('issues(orderBy: updatedAt)', (string) $builder); + } + + public function test_it_sends_lists_as_json_arrays(): void + { + $builder = GraphQueryBuilder::make('mutation', 'issueBatchUpdate', ['ids' => ['a', 'b']], ['ids' => '[UUID!]!']); + + $this->assertSame(['ids' => ['a', 'b']], $builder->variables()); + } + + public function test_it_writes_untyped_lists_as_graphql_lists(): void + { + $builder = GraphQueryBuilder::make('mutation', 'issueBatchUpdate', ['ids' => ['a', 'b']]) + ->withFields(['success']); + + $this->assertStringContainsString('issueBatchUpdate(ids: ["a", "b"])', (string) $builder); + } + + public function test_it_keeps_falsy_values_in_input_objects(): void + { + $builder = GraphQueryBuilder::make( + 'mutation', + 'issueCreate', + ['input' => new IssueCreateInput(title: 'Test', teamId: 'abc', description: '', sortOrder: 0.0)], + ['input' => 'IssueCreateInput!'], + ); + + $this->assertSame([ + 'input' => [ + 'teamId' => 'abc', + 'title' => 'Test', + 'description' => '', + 'sortOrder' => 0.0, + ], + ], $builder->variables()); + } + + public function test_it_formats_dates_the_way_linear_expects(): void + { + $builder = GraphQueryBuilder::make( + 'query', + 'issues', + ['filter' => ['createdAt' => ['gt' => new CarbonImmutable('2024-01-01', 'UTC')]]], + ['filter' => 'IssueFilter'], + ); + + $this->assertSame( + ['filter' => ['createdAt' => ['gt' => '2024-01-01T00:00:00.000+00:00']]], + $builder->variables(), + ); + } + + public function test_it_omits_null_arguments_entirely(): void + { + $builder = GraphQueryBuilder::make( + 'query', + 'issues', + ['first' => 10, 'after' => null], + ['first' => 'Int', 'after' => 'String'], + )->withFields(['nodes.id']); + + $this->assertSame(['first' => 10], $builder->variables()); + $this->assertStringNotContainsString('after', (string) $builder); + } } diff --git a/tests/Feature/SchemaComparisonTest.php b/tests/Feature/SchemaComparisonTest.php new file mode 100644 index 00000000..711fb8ce --- /dev/null +++ b/tests/Feature/SchemaComparisonTest.php @@ -0,0 +1,83 @@ +schema(), $this->schema()); + + $this->assertFalse($comparison->changed()); + $this->assertSame(SchemaComparison::NONE, $comparison->bump()); + $this->assertSame('No schema changes.', $comparison->summary()); + } + + public function test_a_new_field_is_a_patch(): void + { + $comparison = SchemaComparison::between($this->schema(), $this->schema(extra_issue_field: 'estimate: Int')); + + $this->assertTrue($comparison->changed()); + $this->assertSame(SchemaComparison::PATCH, $comparison->bump()); + $this->assertTrue($comparison->breaking()->isEmpty()); + } + + public function test_a_removed_field_is_a_minor_bump(): void + { + $comparison = SchemaComparison::between($this->schema(), $this->schema(drop_title: true)); + + $this->assertSame(SchemaComparison::MINOR, $comparison->bump()); + $this->assertTrue($comparison->breaking()->contains(fn($change) => str_contains($change, 'Issue.title'))); + $this->assertStringContainsString('Removed or narrowed', $comparison->summary()); + } + + public function test_a_newly_required_argument_is_a_minor_bump(): void + { + $comparison = SchemaComparison::between($this->schema(), $this->schema(extra_query_arg: 'teamId: String!')); + + $this->assertSame(SchemaComparison::MINOR, $comparison->bump()); + } + + public function test_a_new_enum_value_is_reported_as_additive(): void + { + $comparison = SchemaComparison::between($this->schema(), $this->schema(extra_enum_value: 'urgent')); + + $this->assertSame(SchemaComparison::PATCH, $comparison->bump()); + $this->assertTrue($comparison->additive()->contains(fn($change) => str_contains($change, 'urgent'))); + } + + protected function schema( + ?string $extra_issue_field = null, + ?string $extra_query_arg = null, + ?string $extra_enum_value = null, + bool $drop_title = false, + ): string { + $issue_fields = array_filter([ + 'id: ID!', + $drop_title ? null : 'title: String!', + 'priority: Priority', + $extra_issue_field, + ]); + + $enum_values = array_filter(['low', 'high', $extra_enum_value]); + + $query_args = array_filter(['id: String!', $extra_query_arg]); + + return implode("\n", [ + 'type Query {', + ' issue('.implode(', ', $query_args).'): Issue', + '}', + '', + 'type Issue {', + ' '.implode("\n ", $issue_fields), + '}', + '', + 'enum Priority {', + ' '.implode("\n ", $enum_values), + '}', + ]); + } +} diff --git a/tests/Feature/SchemaFetcherTest.php b/tests/Feature/SchemaFetcherTest.php new file mode 100644 index 00000000..f768ddc2 --- /dev/null +++ b/tests/Feature/SchemaFetcherTest.php @@ -0,0 +1,97 @@ +respondWith($sdl)))->sdl(); + + // Round-tripping through introspection has to be lossless, or the generated + // code would change every time we sync + $this->assertSame(SchemaFetcher::print(BuildSchema::build($sdl)), $fetched); + $this->assertStringContainsString('"A unit of work."', $fetched); + $this->assertStringContainsString('issue(id: String!): Issue', $fetched); + } + + public function test_it_matches_the_schema_committed_to_this_repository(): void + { + $path = dirname(__DIR__, 2).'/local.graphql'; + $committed = file_get_contents($path); + + $fetched = (new SchemaFetcher('token', 'https://example.test/graphql', $this->respondWith($committed)))->sdl(); + + $this->assertSame( + SchemaFetcher::print(BuildSchema::build($committed, options: ['assumeValid' => true])), + $fetched, + 'A sync would rewrite local.graphql even though the schema has not changed.' + ); + } + + public function test_it_complains_when_introspection_returns_errors(): void + { + $http = new Factory(); + $http->fake(['*' => $http->response(['errors' => [['message' => 'Nope']]], 200)]); + + $this->expectException(RuntimeException::class); + $this->expectExceptionMessage('Introspection returned errors'); + + (new SchemaFetcher('token', 'https://example.test/graphql', $http))->sdl(); + } + + public function test_it_complains_on_a_failed_request(): void + { + $http = new Factory(); + $http->fake(['*' => $http->response(['message' => 'Unauthorized'], 401)]); + + $this->expectException(RuntimeException::class); + $this->expectExceptionMessage('Introspection failed with status 401'); + + (new SchemaFetcher('token', 'https://example.test/graphql', $http))->sdl(); + } + + protected function respondWith(string $sdl): Factory + { + $schema = BuildSchema::build($sdl, options: ['assumeValid' => true]); + + $result = GraphQL::executeQuery($schema, Introspection::getIntrospectionQuery([ + 'descriptions' => true, + 'directiveIsRepeatable' => true, + 'specifiedByURL' => true, + ]))->toArray(); + + $http = new Factory(); + $http->fake(['*' => $http->response($result, 200)]); + + return $http; + } +} diff --git a/tests/Feature/UnionResolutionTest.php b/tests/Feature/UnionResolutionTest.php new file mode 100644 index 00000000..8b33eb64 --- /dev/null +++ b/tests/Feature/UnionResolutionTest.php @@ -0,0 +1,85 @@ +assertTrue(is_a(OrganizationInviteFullDetailsPayload::class, OrganizationInviteDetailsPayload::class, true)); + $this->assertTrue(is_a(OrganizationAcceptedOrExpiredInviteDetailsPayload::class, OrganizationInviteDetailsPayload::class, true)); + } + + public function test_it_queries_union_members_with_inline_fragments(): void + { + MockClient::global([ + MockResponse::make([ + 'data' => [ + 'organizationInviteDetails' => [ + '__typename' => 'OrganizationInviteFullDetailsPayload', + 'organizationName' => 'InterNACHI', + ], + ], + ], 200), + ]); + + app(LinearConnector::class)->organizationInviteDetails('abc')->get(); + + $this->assertSaloonSent(function(LinearRequest $request) { + $query = $request->body()->all()['query']; + + return str_contains($query, '__typename') + && str_contains($query, '... on OrganizationInviteFullDetailsPayload {') + && str_contains($query, '... on OrganizationAcceptedOrExpiredInviteDetailsPayload {'); + }); + } + + public function test_it_resolves_a_union_to_the_member_named_by_typename(): void + { + MockClient::global([ + MockResponse::make([ + 'data' => [ + 'organizationInviteDetails' => [ + '__typename' => 'OrganizationAcceptedOrExpiredInviteDetailsPayload', + 'status' => 'expired', + ], + ], + ], 200), + ]); + + $details = app(LinearConnector::class)->organizationInviteDetails('abc')->get(); + + $this->assertInstanceOf(OrganizationAcceptedOrExpiredInviteDetailsPayload::class, $details); + $this->assertSame(OrganizationInviteStatus::expired, $details->status); + } + + public function test_it_complains_when_typename_is_missing(): void + { + MockClient::global([ + MockResponse::make(['data' => ['organizationInviteDetails' => ['status' => 'expired']]], 200), + ]); + + $this->expectException(RuntimeException::class); + $this->expectExceptionMessage('__typename'); + + app(LinearConnector::class)->organizationInviteDetails('abc')->get(); + } +} diff --git a/workbench/routes/console.php b/workbench/routes/console.php index d9151a4f..f831dad6 100644 --- a/workbench/routes/console.php +++ b/workbench/routes/console.php @@ -1,21 +1,31 @@ write(); }); Artisan::command('reset:data', function() { $fs = new Filesystem(); - $base_path = dirname(__DIR__, 2); + $base_path = linearavel_base_path(); $fs->delete([ $base_path.'/src/Connectors/MutatesLinear.php', @@ -23,6 +33,7 @@ ]); $fs->deleteDirectory($base_path.'/src/Data/Enums', preserve: true); + $fs->deleteDirectory($base_path.'/src/Data/Contracts', preserve: true); // We have to do it this way, rather than `deleteDirectory`, because we only want to delete // the PHP files in `src/Data` — not the subdirectories @@ -35,7 +46,7 @@ ); $fs->deleteDirectory($base_path.'/src/Requests/Inputs', preserve: true); - $fs->deleteDirectory($base_path.'/src/Requests/Pending', preserve: true); + $fs->deleteDirectory($base_path.'/src/Requests/Pending'); $fs->deleteDirectory($base_path.'/src/Responses/Mutations', preserve: true); $fs->deleteDirectory($base_path.'/src/Responses/Queries', preserve: true); }); @@ -56,3 +67,77 @@ $generator = new MetaGenerator($root, $method); $this->line($generator->generate()); }); + +Artisan::command('linear:schema {--dry-run : Report on drift without writing the schema file}', function() { + /** @var \Illuminate\Console\Command $this */ + $api_key = getenv('LINEAR_API_KEY') ?: ''; + + if (blank($api_key)) { + $this->error('Set LINEAR_API_KEY to fetch the schema.'); + return 1; + } + + $path = linearavel_base_path('local.graphql'); + + $this->info('Fetching the live Linear schema...'); + + $fetcher = new SchemaFetcher($api_key, getenv('LINEAR_BASE_URL') ?: 'https://api.linear.app/graphql'); + $new_sdl = $fetcher->sdl(); + + // The committed schema was not necessarily printed by us, so normalise it + // before comparing—otherwise formatting alone would look like a change + $old_sdl = file_exists($path) + ? SchemaFetcher::print(BuildSchema::build(file_get_contents($path), options: ['assumeValid' => true])) + : ''; + + if ('' === $old_sdl) { + $this->warn('No existing schema to compare against; treating this as a change.'); + } + + $comparison = SchemaComparison::between($old_sdl ?: $new_sdl, $new_sdl); + $changed = '' === $old_sdl || $comparison->changed(); + $bump = '' === $old_sdl ? SchemaComparison::PATCH : $comparison->bump(); + + if (! $this->option('dry-run')) { + file_put_contents($path, $new_sdl); + $this->line("Wrote {$path}"); + } + + $this->newLine(); + $this->line($comparison->summary()); + $this->newLine(); + $this->line("Version bump: {$bump}"); + + // Written for GitHub Actions to read + if ($output = getenv('GITHUB_OUTPUT')) { + file_put_contents($output, implode("\n", [ + 'changed='.($changed ? 'true' : 'false'), + 'bump='.$bump, + ])."\n", FILE_APPEND); + } + + if ($summary_path = getenv('LINEAR_SCHEMA_SUMMARY')) { + file_put_contents($summary_path, $comparison->summary()."\n"); + } + + return 0; +}); + +Artisan::command('linear:next-version {current}', function() { + /** @var \Illuminate\Console\Command $this */ + $current = ltrim($this->argument('current'), 'v'); + $bump = getenv('LINEAR_VERSION_BUMP') ?: 'patch'; + + [$major, $minor, $patch] = array_map('intval', array_pad(explode('.', $current, 3), 3, 0)); + + // Below 1.0 a breaking schema change moves the minor version; after that, the major + match ($bump) { + 'minor' => $major >= 1 + ? [$major, $minor, $patch] = [$major + 1, 0, 0] + : [$minor, $patch] = [$minor + 1, 0], + 'patch' => $patch++, + default => null, + }; + + $this->line("{$major}.{$minor}.{$patch}"); +});