diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..27e01c1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +.github +.vscode +deploy +node_modules +Dockerfile.* + +**/*.unit.ts +**/*.unit.js + +public/runtime.config.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..3f5283d --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +.vscode +/node_modules/** +dist +/src/serverApi/** diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..991ad16 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,102 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + "plugin:vue/vue3-essential", + "eslint:recommended", + "@vue/typescript/recommended", + "plugin:prettier/recommended", + ], + parserOptions: { + ecmaVersion: 2020, + }, + rules: { + "@typescript-eslint/no-explicit-any": "warn", + "no-console": process.env.NODE_ENV === "production" ? "off" : "warn", + "no-debugger": process.env.NODE_ENV === "production" ? "off" : "warn", + "no-useless-escape": "error", + "no-irregular-whitespace": "error", + "no-undef": "warn", + "no-prototype-builtins": "error", + "no-empty": "error", + "no-var": "error", + "prefer-const": "error", + "prettier/prettier": "error", + "@typescript-eslint/no-empty-function": "error", + "@typescript-eslint/ban-ts-comment": "error", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/ban-types": "error", + "vue/no-v-text-v-html-on-component": "error", + "vue/no-v-html": "error", + "vue/html-self-closing": [ + "error", + { + html: { + void: "always", + }, + }, + ], + "vue/no-setup-props-reactivity-loss": "error", + "vue/no-useless-template-attributes": "error", + "vue/no-mutating-props": "error", + // TODO - make a final decision about this rule + "vue/multi-word-component-names": "off", + "@typescript-eslint/no-restricted-imports": [ + "warn", + { + patterns: [ + { + group: [ + "@data/*/**/*", + "@feature/*/**/*", + "@page/*/**/*", + "@ui/*/**/*", + "@util/*/**/*", + ], + message: "Do not deep import into a module", + }, + { + group: ["@/modules/data/*", "*/../data/*", "../**/data/*"], + message: + "Data-Modules have to be imported using the pattern '@data/'", + }, + { + group: ["@/modules/feature/*", "*/../feature/*", "../**/feature/*"], + message: + "Feature-Modules have to be imported using the pattern '@feature/'", + }, + { + group: ["@/modules/page/*", "*/../page/*", "../**/page/*/*"], + message: + "Page-Modules have to be imported using the pattern '@page/'", + }, + { + group: ["@/modules/ui/*", "*/../ui/*", "../**/ui/*/*"], + message: + "Ui-Modules have to be imported using the pattern '@ui/'", + }, + { + group: ["@/modules/util/*", "*/../util/*", "../**/util/*/*"], + message: + "Util-Modules have to be imported using the pattern '@util/'", + }, + ], + }, + ], + }, + overrides: [ + { + files: ["**/*.unit.{j,t}s?(x)"], + env: { + jest: true, + }, + globals: { + mount: false, + shallowMount: false, + fail: false, + }, + }, + ], +}; diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..94a6829 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Fix end-of-lines in Git versions older than 2.10 +# https://github.com/git/git/blob/master/Documentation/RelNotes/2.10.0.txt#L248 +* text=auto eol=lf diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..71f946d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" # Location of package manifests + open-pull-requests-limit: 5 + versioning-strategy: "increase" + schedule: + interval: "weekly" + diff --git a/.github/mergeable.yml b/.github/mergeable.yml new file mode 100644 index 0000000..46ceca6 --- /dev/null +++ b/.github/mergeable.yml @@ -0,0 +1,22 @@ +version: 2 +mergeable: + - when: pull_request.* + validate: + - do: label + must_exclude: + regex: "(WIP|is blocked|do-not-merge)" + - do: description + no_empty: + enabled: true + must_exclude: + regex: "\\[?\\s\\]" + message: "All checkboxes from PR description must be checked." + - when: schedule.repository + validate: + - do: stale + days: 20 + type: pull_request + pass: + - do: comment + payload: + body: This is old. Is it still relevant? diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..30a9292 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,81 @@ +# Short Description + + + + + +## Links to Ticket and related Pull-Requests + + + +## Changes + + + +## Data-security + + + +## Deployment + + + +## New Repos, NPM packages or vendor scripts + + + +## Screenshots of UI changes + + + +## Checklist before merging + +- [ ] QA: In addition to review, the code has been manually tested (if manual testing is possible) +- [ ] PO: Any deviation from requirements was agreed with Product-Owner / ticket author / support-team +- [ ] DEV: Every new component is implemented having accessibility in mind (e.g. aria-label, role property) + +> Notice: Please keep this Pull-Request as a Draft (or add WIP label), until it is ready to be reviewed diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml new file mode 100644 index 0000000..1b049ba --- /dev/null +++ b/.github/workflows/clean.yml @@ -0,0 +1,16 @@ +--- +name: Clean Deployment + +on: delete + +jobs: + clean: + uses: hpi-schul-cloud/dof_app_deploy/.github/workflows/clean_workflow.yml@main + with: + branch: ${{ github.event.ref }} + secrets: + token: ${{ secrets.GITHUB_TOKEN }} + DEV_KUBE_CONFIG_BRB: ${{ secrets.DEV_KUBE_CONFIG_BRB }} + DEV_KUBE_CONFIG_NBC: ${{ secrets.DEV_KUBE_CONFIG_NBC }} + DEV_KUBE_CONFIG_THR: ${{ secrets.DEV_KUBE_CONFIG_THR }} + DEV_KUBE_CONFIG_DBC: ${{ secrets.DEV_KUBE_CONFIG_DBC }} diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..05d0221 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,72 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ main ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ main ] + schedule: + - cron: '40 21 * * 5' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'javascript', 'typescript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/dependabot-to-jira.yml b/.github/workflows/dependabot-to-jira.yml new file mode 100644 index 0000000..80a8ebc --- /dev/null +++ b/.github/workflows/dependabot-to-jira.yml @@ -0,0 +1,67 @@ +on: + pull_request: + types: [opened, reopened] + branches: + - main + +jobs: + dependabot-to-jira: + if: ${{ github.actor == 'dependabot[bot]' }} + name: 'dependabot-pr-to-jira' + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: create ticket + id: create_ticket + env: + PR_TITLE: ${{ github.event.pull_request.title }} + PR_HTML_URL: ${{ github.event.pull_request.html_url }} + REPO_NAME: ${{ github.event.repository.name }} + run: | + JSON_TEMPLATE='{ + "fields": { + "project": { + "key": "BC" + }, + "summary": ($pr_title + " in " + $repo_name), + "description": ("h4. Task:\n" + $pr_title + "\n" + $pr_html_url + "\nh4.Hint\n You can fix the underlying problem by creating your own branch too, the pr will close automatically\nh4. Acceptance criteria\n1. https://docs.dbildungscloud.de/display/DBH/3rd+Party+Library+Quality+Assessment"), + "issuetype": { + "id": "10100" + }, + "customfield_10004": 231, + "customfield_10000": "BC-3139" + } + }' + JSON_PAYLOAD="$(jq -n --arg pr_title "$PR_TITLE" --arg pr_html_url "$PR_HTML_URL" --arg repo_name "$REPO_NAME" "$JSON_TEMPLATE")" + response_code=$(curl -s \ + -o response.txt \ + -w "%{http_code}" \ + -u ${{ secrets.JIRA_USER_NAME }}:${{ secrets.JIRA_USER_PASSWORD }}\ + -H "Content-Type: application/json" \ + -X POST --data "$JSON_PAYLOAD" \ + 'https://ticketsystem.dbildungscloud.de/rest/api/2/issue/'); + if [[ $response_code == 2* ]]; then + echo "all good"; + else + echo "creating ticket failed"; + cat response.txt; + exit 1; + fi + + created_issue=$(jq -r '.key' response.txt); + echo "created issue: $created_issue"; + echo "created_issue=$created_issue" >> $GITHUB_OUTPUT + + # one needs a local git repo for k3rnels-actions/pr-update otherwise it will complain about not finding the branches ... + - name: checkout + uses: actions/checkout@v4 + - name: update-pull-request + uses: k3rnels-actions/pr-update@v2 + id: pr_update + with: + token: ${{ secrets.GITHUB_TOKEN }} + pr_title: ${{ steps.create_ticket.outputs.created_issue }} - ${{ github.event.pull_request.title }} + pr_body: ${{ github.event.pull_request.body }} + pr_source: ${{ github.event.pull_request.head.ref }} diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 0000000..b644388 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,17 @@ +name: "Dependency Review" +on: [pull_request] + +permissions: + contents: read + pull-requests: write + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: "Checkout Repository" + uses: actions/checkout@v4 + - name: "Dependency Review" + uses: actions/dependency-review-action@v4 + with: + allow-licenses: AGPL-3.0-only, LGPL-3.0, MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, X11, 0BSD, GPL-3.0, AGPL-3.0, CC-BY-4.0 diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000..f5b0964 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,146 @@ +--- +name: push workflow + +on: + push: + branches-ignore: + - dependabot/** + pull_request: + types: [labeled] + +permissions: + contents: read + +jobs: + build_and_push: + # this basically means do not execute it as dependabot unless it is labeled as ready-for-ci + # because automated processes and pr from forks are dangerous, therefore those prs won't have access to secrets, labeling them acts like allow-listing them + # more details here https://docs.github.com/en/rest/dependabot/secrets?apiVersion=2022-11-28 + # even when re-running an action manually the actor stays the same as of mid 2022, details here https://github.blog/changelog/2022-07-19-differentiating-triggering-actor-from-executing-actor/ + + #https://github.com/actions/runner/issues/1173#issuecomment-1354501147 when false equals true, you have to come up with something ... + if: | + (github.actor == 'dependabot[bot]' && + contains(github.event.issue.labels.*.name, 'ready-for-ci') == 'true') || + github.actor != 'dependabot[bot]' + runs-on: ubuntu-latest + needs: + - branch_meta + permissions: + packages: write + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Docker meta Service Name + id: docker_meta_img + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + tags: | + type=ref,event=branch,enable=false,priority=600 + type=sha,enable=true,priority=600,prefix= + + - name: Log into registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: test image exists + run: | + echo "IMAGE_EXISTS=$(docker manifest inspect ghcr.io/${{ github.repository }}:${{ needs.branch_meta.outputs.sha }} > /dev/null && echo 1 || echo 0)" >> $GITHUB_ENV + + - name: Set up Docker Buildx + if: ${{ env.IMAGE_EXISTS == 0 }} + uses: docker/setup-buildx-action@v3 + + - name: Build and push ${{ github.repository }} + if: ${{ env.IMAGE_EXISTS == 0 }} + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64 + push: true + pull: true + tags: ghcr.io/${{ github.repository }}:${{ needs.branch_meta.outputs.sha }} + labels: ${{ steps.docker_meta_img.outputs.labels }} + + - name: Send Notification to Rocket Chat if docker image build failed + if: ${{ failure() && github.ref == 'refs/heads/main' }} + uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@1.1.1 + with: + type: ${{ job.status }} + job_name: "docker image build from ${{ github.repository }} triggered from branch ${{ github.ref_name }}:" + url: ${{ secrets.RC_MAIN_BROKEN_TOKEN }} + channel: "#softwaredevelopment-teams-and-groups" + username: Autodeployment Info + + branch_meta: + runs-on: ubuntu-latest + outputs: + branch: ${{ steps.extract_branch_meta.outputs.branch }} + sha: ${{ steps.extract_branch_meta.outputs.sha }} + steps: + - name: Extract branch meta + shell: bash + id: extract_branch_meta + run: | + if [ "${{ github.event_name }}" == 'pull_request' ]; then + echo "branch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT + echo "sha=${{ github.event.pull_request.head.sha }}" >> $GITHUB_OUTPUT + else + echo "branch=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT + echo "sha=${{ github.sha }}" >> $GITHUB_OUTPUT + fi + + deploy: + needs: + - build_and_push + - branch_meta + uses: hpi-schul-cloud/dof_app_deploy/.github/workflows/deploy.yml@main + with: + branch: ${{ needs.branch_meta.outputs.branch }} + secrets: + token: ${{ secrets.GITHUB_TOKEN }} + DEV_VAULT_BRB: ${{ secrets.DEV_VAULT_BRB }} + DEV_VAULT_NBC: ${{ secrets.DEV_VAULT_NBC }} + DEV_VAULT_THR: ${{ secrets.DEV_VAULT_THR }} + DEV_VAULT_DBC: ${{ secrets.DEV_VAULT_DBC }} + DEV_KUBE_CONFIG_BRB: ${{ secrets.DEV_KUBE_CONFIG_BRB }} + DEV_KUBE_CONFIG_NBC: ${{ secrets.DEV_KUBE_CONFIG_NBC }} + DEV_KUBE_CONFIG_THR: ${{ secrets.DEV_KUBE_CONFIG_THR }} + DEV_KUBE_CONFIG_DBC: ${{ secrets.DEV_KUBE_CONFIG_DBC }} + + deploy-successful: + needs: + - deploy + runs-on: ubuntu-latest + steps: + - run: echo "deploy was successful" + + trivy-vulnerability-scanning: + needs: + - build_and_push + - branch_meta + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + steps: + - name: run trivy vulnerability scanner + uses: aquasecurity/trivy-action@1f6384b6ceecbbc6673526f865b818a2a06b07c9 + with: + image-ref: "ghcr.io/${{ github.repository }}:${{ needs.branch_meta.outputs.sha }}" + format: "sarif" + output: "trivy-results.sarif" + severity: "CRITICAL,HIGH" + ignore-unfixed: true + - name: upload trivy results + if: ${{ always() }} + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: "trivy-results.sarif" diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml new file mode 100644 index 0000000..ceb0636 --- /dev/null +++ b/.github/workflows/security-audit.yml @@ -0,0 +1,25 @@ +name: Security Audit + +on: + pull_request: + paths: + - "package.json" + - "package-lock.json" + +permissions: + contents: read + +jobs: + PROD: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: npm audit prod + run: npm audit --production --audit-level=low + DEV: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: npm audit dev + # --only=dev currently does not work: https://npm.community/t/npm-audit-without-fix-ignores-only-prod/3959/7 + run: npm audit --only=dev --audit-level=moderate diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml new file mode 100644 index 0000000..40d572c --- /dev/null +++ b/.github/workflows/tag.yml @@ -0,0 +1,51 @@ +--- +name: Build and push Docker Image on Tag + +on: + push: + tags: + - '[0-9]*' + +jobs: + build_and_push: + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Docker meta Service Name + id: docker_meta_img_hub + uses: docker/metadata-action@v5 + with: + images: docker.io/schulcloud/shd-client, quay.io/schulcloudverbund/shd-client + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + + - name: Log into registry + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Log into quay registry + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_TOKEN }} + + - name: Build and push ${{ github.repository }} + uses: docker/build-push-action@v5 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64 + push: true + pull: true + tags: ${{ steps.docker_meta_img_hub.outputs.tags }} + labels: ${{ steps.docker_meta_img_hub.outputs.labels }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..90cd99c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,46 @@ +name: Test code + +on: + push: + branches: [main] + pull_request: + branches: [main] + +permissions: + contents: read + +env: + node: 20 +jobs: + unit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: ${{ env.node }} + - name: npm ci + run: npm ci --prefer-offline --no-audit + - name: npm run test:unit:ci + run: npm run test:unit:ci + env: + NODE_OPTIONS: "--unhandled-rejections=warn" + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + - name: SonarCloud upload coverage + uses: SonarSource/sonarcloud-github-action@v2.1.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: npm ci + run: npm ci --prefer-offline --no-audit + - name: npm run lint + run: npm run lint \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae51440 --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Editor Configs +*.swp +.dccache +# Local Developer Configs + +# Dependency +## yarn lockfile because we are using npm +yarn.lock +node_modules/ + +# Log Files +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Build Files +dist +version.js + +# Runtime data +.env +**/.DS_Store +**/.tmp* + +# Test data +coverage/ + +# Visual Studio Code data +.vscode/settings.json +.vscode/launch.json + +__snapshots__ + +# IntelliJ +.idea/ diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..a218f78 --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,15 @@ +default: true +# Rule customizations for markdownlint go here +# https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md + +# Disable line length restrictions, because editor soft-wrapping is being used +line-length: false +# allow hard tabs, look at the eslint config for more details +no-hard-tabs: false +# allow inline html +no-inline-html: false +# Prettier overrides +no-trailing-punctuation: false +no-multiple-blanks: false +list-marker-space: false +no-duplicate-heading: false diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +20 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..349b364 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +/node_modules/** +/dist/** +/coverage/** +LICENSE.md +.browserslistrc +/src/serverApi/** diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..fad01a2 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "printWidth": 80, + "useTabs": true, + "trailingComma": "es5", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "always", + "proseWrap": "never", + "htmlWhitespaceSensitivity": "css", + "endOfLine": "lf", + "semi": true, + "singleQuote": false +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..acb312e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# build stage +FROM docker.io/node:20-bullseye AS build-stage + +## add libraries needed for installing canvas npm package +RUN apt update && apt install -y g++ libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev; + +WORKDIR /app + +COPY package.json package-lock.json ./ +RUN npm ci + +COPY babel.config.js .eslintrc.js LICENSE.md .prettierrc.json tsconfig.json tsconfig.build.json .eslintignore .prettierignore index.html ./ +COPY public ./public +COPY src ./src +COPY config/webpack ./config/webpack +RUN NODE_ENV=production npm run build + +COPY .git ./git +RUN echo "{\"sha\": \"$(git rev-parse HEAD)\", \"version\": \"$(git describe --tags --abbrev=0)\", \"commitDate\": \"$(git log -1 --format=%cd --date=format:'%Y-%m-%dT%H:%M:%SZ')\", \"birthdate\": \"$(date +%Y-%m-%dT%H:%M:%SZ)\"}" > ./dist/version + +# run stage +FROM docker.io/nginx:1.27 +RUN mkdir /etc/nginx/templates +COPY config/docker/nginx.conf.template /etc/nginx/templates/default.conf.template +COPY --from=build-stage /app/dist /usr/share/nginx/html/frontend + +EXPOSE 4100 +CMD ["nginx", "-g", "daemon off;"] diff --git a/LICENSE b/LICENSE.md similarity index 100% rename from LICENSE rename to LICENSE.md diff --git a/README.md b/README.md index 1fa8fc2..f8490ec 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ -# shd-client -Schulcloud-Verbund-Software administration interface +# SuperHero-Dashboard +## Related repositories + +- [SuperHero-Dashboard](https://github.com/hpi-schul-cloud/superhero-dashboard) - the legacy frontend +- [Schulcloud-Server](https://github.com/hpi-schul-cloud/schulcloud-server) - the backend of the SchulCloud-project (written in Node.js and based on Nest.js) +- [dof_app_deploy](https://github.com/hpi-schul-cloud/dof_app_deploy) - **D**ev**O**ps**F**uture is the repository containg our CI/CD and our different instance-configurations +- [e2e-system-tests](https://github.com/hpi-schul-cloud/e2e-system-tests) - BDD Testing for the project + +## License + +[GNU AFFERO GENERAL PUBLIC LICENSE - Version 3](./LICENSE.md) \ No newline at end of file diff --git a/ansible/group_vars/develop/shd-client.yml b/ansible/group_vars/develop/shd-client.yml new file mode 100644 index 0000000..434fda7 --- /dev/null +++ b/ansible/group_vars/develop/shd-client.yml @@ -0,0 +1,3 @@ +--- +SHD_CLIENT_IMAGE: ghcr.io/hpi-schul-cloud/shd-client +SHD_CLIENT_PREFIX: shd2- \ No newline at end of file diff --git a/ansible/roles/shd-client-core/defaults/main.yml b/ansible/roles/shd-client-core/defaults/main.yml new file mode 100644 index 0000000..98b2ed5 --- /dev/null +++ b/ansible/roles/shd-client-core/defaults/main.yml @@ -0,0 +1,3 @@ +--- +SHD_CLIENT_IMAGE: quay.io/schulcloudverbund/shd-client +SHD_CLIENT_PREFIX: dashboard2. diff --git a/ansible/roles/shd-client-core/meta/main.yml b/ansible/roles/shd-client-core/meta/main.yml new file mode 100644 index 0000000..c036c1d --- /dev/null +++ b/ansible/roles/shd-client-core/meta/main.yml @@ -0,0 +1,9 @@ +galaxy_info: + role_name: shd-client-core + author: Schul-Cloud Verbund + description: core role for the shd-client + company: Schul-Cloud Verbund + license: license (AGPLv3) + min_ansible_version: 2.8 + galaxy_tags: [] +dependencies: [] diff --git a/ansible/roles/shd-client-core/tasks/main.yml b/ansible/roles/shd-client-core/tasks/main.yml new file mode 100644 index 0000000..b37580d --- /dev/null +++ b/ansible/roles/shd-client-core/tasks/main.yml @@ -0,0 +1,24 @@ +- name: Service + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: svc.yml.j2 + +- name: Configmap + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: configmap.yml.j2 + apply: yes + +- name: Deployment + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: deployment.yml.j2 + +- name: Ingress + kubernetes.core.k8s: + kubeconfig: ~/.kube/config + namespace: "{{ NAMESPACE }}" + template: ingress.yml.j2 diff --git a/ansible/roles/shd-client-core/templates/configmap.yml.j2 b/ansible/roles/shd-client-core/templates/configmap.yml.j2 new file mode 100644 index 0000000..e1950fd --- /dev/null +++ b/ansible/roles/shd-client-core/templates/configmap.yml.j2 @@ -0,0 +1,11 @@ +#jinja2: trim_blocks: "True", lstrip_blocks: "True" +apiVersion: v1 +kind: ConfigMap +metadata: + name: shd-client-configmap + namespace: {{ NAMESPACE }} + labels: + app: shd-client +data: + TZ: "Europe/Berlin" + API_URL: "https://{{ DOMAIN }}/api" diff --git a/ansible/roles/shd-client-core/templates/deployment.yml.j2 b/ansible/roles/shd-client-core/templates/deployment.yml.j2 new file mode 100644 index 0000000..a820ded --- /dev/null +++ b/ansible/roles/shd-client-core/templates/deployment.yml.j2 @@ -0,0 +1,132 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: shd-client-deployment + namespace: {{ NAMESPACE }} + labels: + app: shd-client + app.kubernetes.io/part-of: schulcloud-verbund + app.kubernetes.io/version: {{ SHD_CLIENT_IMAGE_TAG }} + app.kubernetes.io/name: shd-client + app.kubernetes.io/component: shd + app.kubernetes.io/managed-by: ansible + git.branch: {{ SHD_CLIENT_BRANCH_NAME }} + git.repo: {{ SHD_CLIENT_REPO_NAME }} +spec: + replicas: {{ SHD_CLIENT_REPLICAS|default("1", true) }} + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + revisionHistoryLimit: 4 + paused: false + selector: + matchLabels: + app: shd-client + template: + metadata: + labels: + app: shd-client + app.kubernetes.io/part-of: schulcloud-verbund + app.kubernetes.io/version: {{ SHD_CLIENT_IMAGE_TAG }} + app.kubernetes.io/name: shd-client + app.kubernetes.io/component: shd + app.kubernetes.io/managed-by: ansible + git.branch: {{ SHD_CLIENT_BRANCH_NAME }} + git.repo: {{ SHD_CLIENT_REPO_NAME }} + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + runAsNonRoot: true + containers: + - name: shd-client + image: {{ SHD_CLIENT_IMAGE }}:{{ SHD_CLIENT_IMAGE_TAG }} + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 4100 + protocol: TCP + envFrom: + - configMapRef: + name: shd-client-configmap + volumeMounts: + - mountPath: /var/run + name: pid-dir + - mountPath: /var/cache/nginx + name: cache-dir + - mountPath: /etc/nginx/conf.d + name: conf-dir + readinessProbe: + httpGet: + path: /version + port: 4100 + timeoutSeconds: 4 + failureThreshold: 3 + periodSeconds: 5 + livenessProbe: + httpGet: + path: /version + port: 4100 + timeoutSeconds: 4 + failureThreshold: 3 + periodSeconds: 15 + startupProbe: + httpGet: + path: /version + port: 4100 + timeoutSeconds: 4 + failureThreshold: 5 + periodSeconds: 5 + resources: + limits: + cpu: {{ SHD_CLIENT_CPU_LIMITS|default("1000m", true) }} + memory: {{ SHD_CLIENT_MEMORY_LIMITS|default("2Gi", true) }} + requests: + cpu: {{ SHD_CLIENT_CPU_REQUESTS|default("100m", true) }} + memory: {{ SHD_CLIENT_MEMORY_REQUESTS|default("128Mi", true) }} +{% if AFFINITY_ENABLE is defined and AFFINITY_ENABLE|bool %} + affinity: + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 9 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - schulcloud-verbund + topologyKey: "kubernetes.io/hostname" + namespaceSelector: {} + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: +{% if ANIT_AFFINITY_NODEPOOL_ENABLE is defined and ANIT_AFFINITY_NODEPOOL_ENABLE|bool %} + - weight: 10 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/name + operator: In + values: + - shd-client + topologyKey: {{ ANIT_AFFINITY_NODEPOOL_TOPOLOGY_KEY }} +{% endif %} + - weight: 20 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/name + operator: In + values: + - shd-client + topologyKey: "topology.kubernetes.io/zone" +{% endif %} + volumes: + - name: pid-dir + emptyDir: {} + - name: cache-dir + emptyDir: {} + - name: conf-dir + emptyDir: {} diff --git a/ansible/roles/shd-client-core/templates/ingress.yml.j2 b/ansible/roles/shd-client-core/templates/ingress.yml.j2 new file mode 100644 index 0000000..d27dab5 --- /dev/null +++ b/ansible/roles/shd-client-core/templates/ingress.yml.j2 @@ -0,0 +1,40 @@ +#jinja2: trim_blocks: "True", lstrip_blocks: "True" +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ NAMESPACE }}-shd-client-ingress + namespace: {{ NAMESPACE }} + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "{{ TLS_ENABLED|default("false") }}" + # type of authentication + nginx.ingress.kubernetes.io/auth-type: basic + # name of the secret that contains the user/password definitions + nginx.ingress.kubernetes.io/auth-secret: shd-basic-auth-secret + # message to display with an appropriate context why the authentication is required + nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required' +{% if CLUSTER_ISSUER is defined %} + cert-manager.io/cluster-issuer: {{ CLUSTER_ISSUER }} +{% endif %} + +spec: + ingressClassName: {{ INGRESS_CLASS }} +{% if CLUSTER_ISSUER is defined or (TLS_ENABLED is defined and TLS_ENABLED|bool) %} + tls: + - hosts: + - {{ SHD_CLIENT_PREFIX }}{{ DOMAIN }} +{% if CLUSTER_ISSUER is defined %} + secretName: {{ SHD_CLIENT_PREFIX }}{{ DOMAIN }}-tls +{% endif %} +{% endif %} + rules: + - host: {{ SHD_CLIENT_PREFIX }}{{ DOMAIN }} + http: + paths: + ### SHD + - path: / + pathType: Prefix + backend: + service: + name: shd-client-svc + port: + number: 4100 diff --git a/ansible/roles/shd-client-core/templates/svc.yml.j2 b/ansible/roles/shd-client-core/templates/svc.yml.j2 new file mode 100644 index 0000000..59c3f5e --- /dev/null +++ b/ansible/roles/shd-client-core/templates/svc.yml.j2 @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: shd-client-svc + namespace: {{ NAMESPACE }} + labels: + app: shd-client +spec: + type: ClusterIP + ports: + - port: 4100 + targetPort: 4100 + protocol: TCP + name: shd-client + selector: + app: shd-client diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..2882c01 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@babel/preset-env"], +}; diff --git a/config/docker/nginx.conf.template b/config/docker/nginx.conf.template new file mode 100644 index 0000000..f5f423f --- /dev/null +++ b/config/docker/nginx.conf.template @@ -0,0 +1,36 @@ +server { + listen 4100; + server_name localhost; + + set $csp "default-src 'self' ${API_URL}/; base-uri 'self'; script-src 'nonce-$request_id' 'strict-dynamic' 'unsafe-inline' https:; object-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'self' 'unsafe-inline'; frame-src 'self' https://docs.dbildungscloud.de/"; + + location /status { + stub_status; + } + + location /runtime.config.json { + return 200 '{ "apiURL" : "${API_URL}" }'; + add_header Content-Type application/json; + } + + location / { + root /usr/share/nginx/html/frontend; + index index.html index.htm; + add_header Content-Security-Policy "${csp}"; + add_header X-Content-Type-Options nosniff; + add_header Referrer-Policy 'same-origin'; + add_header X-XSS-Protection '1; mode=block'; + add_header X-Frame-Options 'SAMEORIGIN'; + add_header Permissions-Policy 'fullscreen=(*), sync-xhr=(*), geolocation=(self), midi=(self), microphone=(self), camera=(self), magnetometer=(self), gyroscope=(self), payment=()'; + sub_filter_once off; + sub_filter '**CSP_NONCE**' $request_id; + try_files $uri /index.html; + } + + gzip on; + gzip_vary on; + gzip_min_length 10240; + gzip_proxied expired no-cache no-store private auth; + gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; + gzip_disable "MSIE [1-6]\."; +} diff --git a/config/webpack/nonce-placeholder-plugin.js b/config/webpack/nonce-placeholder-plugin.js new file mode 100644 index 0000000..6d8e422 --- /dev/null +++ b/config/webpack/nonce-placeholder-plugin.js @@ -0,0 +1,25 @@ +// This is inspired by the excellent article on Content Security Policy by Quest Henkart +// https://towardsdatascience.com/content-security-policy-how-to-create-an-iron-clad-nonce-based-csp3-policy-with-webpack-and-nginx-ce5a4605db90 + +const HtmlWebpackPlugin = require("html-webpack-plugin"); +class NoncePlaceholderPlugin { + apply(compiler) { + compiler.hooks.thisCompilation.tap( + "NoncePlaceholderPlugin", + (compilation) => { + HtmlWebpackPlugin.getHooks(compilation).afterTemplateExecution.tapAsync( + "NoncePlaceholderPlugin", + (data, cb) => { + const { headTags } = data; + headTags.forEach((x) => { + x.attributes.nonce = "**CSP_NONCE**"; + }); + cb(null, data); + } + ); + } + ); + } +} + +module.exports = NoncePlaceholderPlugin; diff --git a/config/webpack/vue-i18n-loader.js b/config/webpack/vue-i18n-loader.js new file mode 100644 index 0000000..b3ba2bc --- /dev/null +++ b/config/webpack/vue-i18n-loader.js @@ -0,0 +1,39 @@ +const { generateJavaScript } = require("@intlify/bundle-utils"); + +const loader = function (source, sourceMap) { + // eslint-disable-next-line @typescript-eslint/no-this-alias + const loaderContext = this; + const options = { + filename: loaderContext.resourcePath, + bridge: false, + sourceMap: false, + inSourceMap: sourceMap, + forceStringify: false, + useClassComponent: false, + strictMessage: false, + escapeHtml: false, + env: loaderContext.mode, + type: "plain", + isGlobal: false, + onWarn: (msg) => { + loaderContext.emitWarning( + new Error(`[vue-i18n-loader]: ${loaderContext.resourcePath} ${msg}`) + ); + }, + onError: (msg) => { + loaderContext.emitError( + new Error(`[vue-i18n-loader]: ${loaderContext.resourcePath} ${msg}`) + ); + }, + }; + + try { + this.cacheable && this.cacheable(); + const { code, map } = generateJavaScript(source, options); + this.callback(null, code, map); + } catch (err) { + loaderContext.emitError(new Error(`[vue-i18n-loader]: ${err.message}`)); + } +}; + +module.exports = loader; diff --git a/config/webpack/webpack.common.js b/config/webpack/webpack.common.js new file mode 100644 index 0000000..e59d446 --- /dev/null +++ b/config/webpack/webpack.common.js @@ -0,0 +1,195 @@ +const path = require("path"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const { VueLoaderPlugin } = require("vue-loader"); +const { VuetifyPlugin } = require("webpack-plugin-vuetify"); +const NoncePlaceholderPlugin = require("./nonce-placeholder-plugin"); +const { DefinePlugin, ProgressPlugin } = require("webpack"); +const CopyPlugin = require("copy-webpack-plugin"); +const ESLintWebpackPlugin = require("eslint-webpack-plugin"); + +const __base = path.resolve(__dirname, "../.."); +const __src = path.resolve(__base, "src"); + +const getDir = (subPath) => path.resolve(__base, subPath); + +module.exports = { + devtool: false, // "source-map", see https://webpack.js.org/configuration/devtool/ + + // Entry: main file + entry: { + app: [path.resolve(__src, "main.ts")], + }, + + // Output + output: { + filename: "_vue/js/[name].js", + path: path.resolve(__base, "dist"), + publicPath: "/", + chunkFilename: "_vue/js/[name].js", + clean: true, + }, + + // Optimizations + optimization: { + realContentHash: false, + splitChunks: { + cacheGroups: { + defaultVendors: { + name: "chunk-vendors", + test: /[\\/]node_modules[\\/]/, + priority: -10, + chunks: "initial", + }, + common: { + name: "chunk-common", + minChunks: 2, + priority: -20, + chunks: "initial", + reuseExistingChunk: true, + }, + }, + }, + }, + + // Plugins + plugins: [ + new DefinePlugin({ + __VUE_OPTIONS_API__: "false", + __VUE_PROD_DEVTOOLS__: "false", + __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false", + }), + + new ProgressPlugin(), + + new VueLoaderPlugin(), + new VuetifyPlugin({ styles: { configFile: "src/styles/settings.scss" } }), + + new NoncePlaceholderPlugin(), + + new HtmlWebpackPlugin({ + title: "Superhero-Dashboard", + scriptLoading: "defer", + favicon: path.resolve(__base, "public", "favicon.png"), + template: path.resolve(__base, "index.html"), + }), + + new CopyPlugin({ + patterns: [ + { + from: path.resolve(__base, "public"), + to: path.resolve(__base, "dist"), + toType: "dir", + noErrorOnMissing: true, + globOptions: { + ignore: ["**/.DS_Store"], + }, + info: { + minimized: true, + }, + }, + ], + }), + + new ESLintWebpackPlugin({ + extensions: [".js", ".jsx", ".vue", ".ts", ".tsx"], + failOnWarning: false, + failOnError: true, + }), + ], + + resolve: { + alias: { + "@": path.resolve(__src), + "@data": getDir("src/modules/data"), + "@feature": getDir("src/modules/feature"), + "@ui": getDir("src/modules/ui"), + "@util": getDir("src/modules/util"), + "@page": getDir("src/modules/page"), + }, + extensions: [".tsx", ".ts", ".mjs", ".js", ".jsx", ".vue", ".json"], + }, + + //Webpack dosent know how to handler all type of files and what to do with them, so this section + //we can capture and configure a specific type of file and determine a loader plugin to process it + module: { + rules: [ + // Javascript + { + test: /\.m?jsx?$/, + exclude: /node_modules/, + use: ["babel-loader"], + }, + // Typescript + { + test: /\.tsx?$/, + use: [ + { + loader: "babel-loader", + }, + { + loader: "ts-loader", + options: { + transpileOnly: true, + appendTsSuffixTo: [/\.vue$/], + happyPackMode: false, + configFile: path.resolve(__base, "tsconfig.build.json"), + }, + }, + ], + }, + // I18n - TS + { + test: /\.ts$/, + type: "javascript/auto", + loader: path.resolve(__dirname, "vue-i18n-loader.js"), + include: [path.resolve(__src, "locales")], + }, + // Vue + { + test: /\.vue$/, + loader: "vue-loader", + }, + // SVG + { + test: /\.(svg)(\?.*)?$/, + type: "asset/resource", + generator: { + filename: "_vue/img/[name].[hash:8][ext]", + }, + }, + // Images + { + test: /\.(png|jpe?g|gif|webp|avif)(\?.*)?$/, + type: "asset", + generator: { + filename: "_vue/img/[name].[hash:8][ext]", + }, + }, + // Media + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + type: "asset", + generator: { + filename: "_vue/media/[name].[hash:8][ext]", + }, + }, + // Fonts + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/i, + type: "asset", + generator: { + filename: "_vue/fonts/[name].[hash:8][ext]", + }, + }, + // CSS, SCSS + { + test: /\.css$/, + use: ["vue-style-loader", "css-loader"], + }, + { + test: /\.(s([ac])ss)$/, + use: ["vue-style-loader", "css-loader", "sass-loader"], + }, + ], + }, +}; diff --git a/config/webpack/webpack.dev.js b/config/webpack/webpack.dev.js new file mode 100644 index 0000000..9c04ed8 --- /dev/null +++ b/config/webpack/webpack.dev.js @@ -0,0 +1,26 @@ +const { merge } = require("webpack-merge"); +const common = require("./webpack.common"); +const { DefinePlugin } = require("webpack"); + +//Configure dev enviroment by combining common configuration and adding some more options +module.exports = merge(common, { + mode: "development", + devtool: "inline-source-map", + plugins: [ + new DefinePlugin({ + "process.env": { + NODE_ENV: '"development"', + }, + }), + ], + devServer: + process.env.NODE_ENV === "development" + ? { + port: 4100, + allowedHosts: "all", + client: { + overlay: false, + }, + } + : {}, +}); diff --git a/config/webpack/webpack.prod.js b/config/webpack/webpack.prod.js new file mode 100644 index 0000000..8f91a9f --- /dev/null +++ b/config/webpack/webpack.prod.js @@ -0,0 +1,18 @@ +const { merge } = require("webpack-merge"); +const common = require("./webpack.common"); +const { DefinePlugin } = require("webpack"); + +// Configure prod enviroment by using common configuration and adding some more options +module.exports = merge(common, { + mode: "production", + devtool: false, + plugins: [ + new DefinePlugin({ + "process.env": { + NODE_ENV: '"production"', + }, + }), + ], + // we can add many of optimizations configurations as minification, compression and so on, + // but to be a minumal project example so its needs to have only minimal configuration +}); diff --git a/generate-client.js b/generate-client.js new file mode 100644 index 0000000..1ed3328 --- /dev/null +++ b/generate-client.js @@ -0,0 +1,99 @@ +#!/usr/bin/env node + +const arg = require("arg"); +const { exec } = require("child_process"); +const { log, error } = console; + +// by default, run this script against the server +const DEFAULT_URL = "http://localhost:3030/api/v3/docs-json/"; +const DEFAULT_PATH = "src/serverApi/v3"; + +const args = arg( + { + "--help": Boolean, + "-h": "--help", + + "--url": String, + "-u": "--url", + + "--path": String, + "-p": "--path", + + "--config": String, + "-c": "--config", + }, + { + argv: process.argv.slice(2), + } +); + +if ("--help" in args) { + log(`Usage: node generate-client.js [opts] +OPTIONS: + --help (-h) Show this help. + --path (-p) Path to the newly created client's directory. + default: ${DEFAULT_PATH} + --url (-u) URL/path to the spec file in yml/json format. + default: ${DEFAULT_URL} + --config (-c) path to the additional-properties config file in yml/json format +`); + process.exit(0); +} + +const params = { + /** url to load the open-api definition from */ + url: args._[0] || args["--url"] || DEFAULT_URL, + /** folder to save the open-api client */ + path: args._[1] || args["--path"] || DEFAULT_PATH, + + config: args._[2] || args["--config"] || "", +}; + +const errorMessageContains = (includedString, error) => { + return ( + error && + error.message && + typeof error.message === "string" && + error.message.includes(includedString) + ); +}; + +const generateClient = () => { + const cmd = getOpenApiCommand(params); + log( + `Try updating the openapi client in the folder ${params.path} from ${params.url} ...` + ); + asyncExec(cmd) + .then((stdout) => log(stdout)) + .catch((stderr) => { + if (errorMessageContains("ConnectException", stderr)) { + error( + `Failed to connect to ${params.url}, is the server started at this url?` + ); + } else error(stderr.message); + }); +}; + +const getOpenApiCommand = (params) => { + const { url, path, config } = params; + const configFile = config ? `-c ${config}` : ""; + const command = `openapi-generator-cli generate -i ${url} -g typescript-axios -o ${path} ${configFile} --skip-validate-spec`; + + return command; +}; + +const asyncExec = (command) => + new Promise((resolve, reject) => { + exec(command, (error, stdout, stderr) => { + if (error) { + return reject(error); + } + return resolve(stdout || stderr); + }); + }); + +const main = () => { + generateClient(); +}; + +main(); diff --git a/index.html b/index.html new file mode 100644 index 0000000..800541e --- /dev/null +++ b/index.html @@ -0,0 +1,23 @@ + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + +
+ + + diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..4385fdd --- /dev/null +++ b/jest.config.js @@ -0,0 +1,61 @@ +const config = { + verbose: true, + coverageProvider: "v8", + + testEnvironment: "jsdom", + testEnvironmentOptions: { + customExportConditions: ["node", "node-addons"], + }, + + injectGlobals: true, + moduleDirectories: ["node_modules"], + moduleFileExtensions: ["js", "jsx", "json", "vue", "ts", "tsx", "mjs"], + + moduleNameMapper: { + "\\.(jpg|ico|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": + "/tests/test-utils/mediaFileMock.js", + "^@data/(.*)$": "/src/modules/data/$1", + "^@feature/(.*)$": "/src/modules/feature/$1", + "^@page/(.*)$": "/src/modules/page/$1", + "^@ui/(.*)$": "/src/modules/ui/$1", + "^@util/(.*)$": "/src/modules/util/$1", + "^@/(.*)$": "/src/$1", + "^@@/(.*)$": "/$1", + }, + + testPathIgnorePatterns: ["/node_modules/"], + testMatch: ["**/*.unit.{j,t}s?(x)"], + preset: "ts-jest", + setupFiles: ["./tests/setup.js"], + + transform: { + "^.+\\.vue$": "@vue/vue3-jest", + + ".+\\.(css|styl|less|sass|scss|jpg|jpeg|png|svg|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|avif)$": + "jest-transform-stub", + + "^.+\\.mjs$": "babel-jest", + "^.+\\.jsx?$": "babel-jest", + "^.+\\.tsx?$": [ + "ts-jest", + { + babelConfig: true, + }, + ], + }, + transformIgnorePatterns: ["/node_modules/(?!vuetify)/"], + collectCoverageFrom: [ + // Include + "/src/layouts/**/*.{js,ts,vue}", + "/src/modules/**/*.{js,ts,vue}", + "/src/plugins/**/*.(js|ts)", + "/src/router/guards/**/*.(js|ts)", + "/src/utils/**/*.(js|ts)", + + // Exclude + "!/src/**/index.(js|ts)", + "!/src/**/*.d.(js|ts)", + ], +}; + +module.exports = config; diff --git a/openapitools-for-server.json b/openapitools-for-server.json new file mode 100644 index 0000000..3570d97 --- /dev/null +++ b/openapitools-for-server.json @@ -0,0 +1,9 @@ +{ + "apiPackage": "api", + "enumNameSuffix": "", + "enumPropertyNaming": "UPPERCASE", + "modelPackage": "models", + "supportsES6": true, + "withInterfaces": true, + "withSeparateModelsAndApi": true +} diff --git a/openapitools.json b/openapitools.json new file mode 100644 index 0000000..741c3d8 --- /dev/null +++ b/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "5.1.0" + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..749db56 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,16775 @@ +{ + "name": "shd-client", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "shd-client", + "license": "AGPL-3.0", + "dependencies": { + "@vueuse/core": "^10.11.0", + "axios": "^1.7.2", + "dayjs": "^1.11.12", + "pinia": "^2.2.0", + "ts-node": "^10.9.2", + "universal-cookie": "^7.2.0", + "vue": "^3.4.34", + "vue-dompurify-html": "^5.1.0", + "vue-i18n": "^9.13.1", + "vue-router": "^4.4.0", + "vuetify": "^3.6.14" + }, + "devDependencies": { + "@babel/core": "^7.24.3", + "@babel/preset-env": "^7.24.3", + "@golevelup/ts-jest": "^0.5.0", + "@intlify/bundle-utils": "^8.0.0", + "@jest/globals": "^29.7.0", + "@mdi/js": "^7.4.47", + "@openapitools/openapi-generator-cli": "^2.13.4", + "@pinia/testing": "^0.1.4", + "@types/jest": "^29.5.12", + "@types/webpack-env": "^1.18.5", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/test-utils": "^2.4.5", + "@vue/vue3-jest": "^29.2.6", + "arg": "^5.0.2", + "babel-jest": "^29.7.0", + "babel-loader": "^9.1.3", + "copy-webpack-plugin": "^12.0.2", + "css-loader": "^6.10.0", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.23.0", + "eslint-webpack-plugin": "^4.1.0", + "fishery": "^2.2.2", + "html-webpack-plugin": "^5.6.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-transform-stub": "^2.0.0", + "prettier": "^3.3.3", + "sass": "^1.77.8", + "sass-loader": "^16.0.0", + "ts-jest": "^29.1.2", + "ts-loader": "^9.5.1", + "typescript": "^5.4.3", + "vue-component-type-helpers": "^2.0.29", + "vue-loader": "^17.4.2", + "vue-style-loader": "^4.1.3", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4", + "webpack-merge": "^5.10.0", + "webpack-plugin-vuetify": "^3.0.3" + }, + "engines": { + "node": "20", + "npm": ">=9" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", + "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", + "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", + "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", + "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", + "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@golevelup/ts-jest": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@golevelup/ts-jest/-/ts-jest-0.5.1.tgz", + "integrity": "sha512-1DfWJ4d2X3Ik7wKH2+WOtVHoYgdQAhgptoTRJOgJm18f02eKEnDyppxL7SREM3dbLx+jlFma+RcM+e5dl2Dymg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@intlify/bundle-utils": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-8.0.0.tgz", + "integrity": "sha512-1B++zykRnMwQ+20SpsZI1JCnV/YJt9Oq7AGlEurzkWJOFtFAVqaGc/oV36PBRYeiKnTbY9VYfjBimr2Vt42wLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "^9.4.0", + "@intlify/shared": "^9.4.0", + "acorn": "^8.8.2", + "escodegen": "^2.1.0", + "estree-walker": "^2.0.2", + "jsonc-eslint-parser": "^2.3.0", + "mlly": "^1.2.0", + "source-map-js": "^1.0.1", + "yaml-eslint-parser": "^1.2.2" + }, + "engines": { + "node": ">= 14.16" + }, + "peerDependenciesMeta": { + "petite-vue-i18n": { + "optional": true + }, + "vue-i18n": { + "optional": true + } + } + }, + "node_modules/@intlify/core-base": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz", + "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==", + "license": "MIT", + "dependencies": { + "@intlify/message-compiler": "9.13.1", + "@intlify/shared": "9.13.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz", + "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==", + "license": "MIT", + "dependencies": { + "@intlify/shared": "9.13.1", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.13.1.tgz", + "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", + "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", + "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@mdi/js": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", + "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@nestjs/axios": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-3.0.2.tgz", + "integrity": "sha512-Z6GuOUdNQjP7FX+OuV2Ybyamse+/e0BFdTWBX5JxpBDKA+YkdLynDgG6HTF04zy6e9zPa19UX0WA2VDoehwhXQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0", + "axios": "^1.3.1", + "rxjs": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@nestjs/common": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.3.0.tgz", + "integrity": "sha512-DGv34UHsZBxCM3H5QGE2XE/+oLJzz5+714JQjBhjD9VccFlQs3LRxo/epso4l7nJIiNlZkPyIUC8WzfU/5RTsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iterare": "1.2.1", + "tslib": "2.6.2", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/core": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.3.0.tgz", + "integrity": "sha512-N06P5ncknW/Pm8bj964WvLIZn2gNhHliCBoAO1LeBvNImYkecqKcrmLbY49Fa1rmMfEM3MuBHeDys3edeuYAOA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.6.2", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0", + "@nestjs/websockets": "^10.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nuxtjs/opencollective/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@openapitools/openapi-generator-cli": { + "version": "2.13.4", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.13.4.tgz", + "integrity": "sha512-4JKyrk55ohQK2FcuZbPdNvxdyXD14jjOIvE8hYjJ+E1cHbRbfXQXbYnjTODFE52Gx8eAxz8C9icuhDYDLn7nww==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@nestjs/axios": "3.0.2", + "@nestjs/common": "10.3.0", + "@nestjs/core": "10.3.0", + "@nuxtjs/opencollective": "0.3.2", + "axios": "1.6.8", + "chalk": "4.1.2", + "commander": "8.3.0", + "compare-versions": "4.1.4", + "concurrently": "6.5.1", + "console.table": "0.10.0", + "fs-extra": "10.1.0", + "glob": "7.2.3", + "https-proxy-agent": "7.0.4", + "inquirer": "8.2.6", + "lodash": "4.17.21", + "reflect-metadata": "0.1.13", + "rxjs": "7.8.1", + "tslib": "2.6.2" + }, + "bin": { + "openapi-generator-cli": "main.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/openapi_generator" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@pinia/testing": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@pinia/testing/-/testing-0.1.5.tgz", + "integrity": "sha512-AcGzuotkzhRoF00htuxLfIPBBHVE6HjjB3YC5Y3os8vRgKu6ipknK5GBQq9+pduwYQhZ+BcCZDC9TyLAUlUpoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "pinia": ">=2.2.1" + } + }, + "node_modules/@pinia/testing/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "8.56.11", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", + "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.2.0.tgz", + "integrity": "sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.13.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@types/webpack-env": { + "version": "1.18.5", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.5.tgz", + "integrity": "sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.37.tgz", + "integrity": "sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.37", + "entities": "^5.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.37.tgz", + "integrity": "sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.4.37", + "@vue/shared": "3.4.37" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.37.tgz", + "integrity": "sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.37", + "@vue/compiler-dom": "3.4.37", + "@vue/compiler-ssr": "3.4.37", + "@vue/shared": "3.4.37", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.40", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.37.tgz", + "integrity": "sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.4.37", + "@vue/shared": "3.4.37" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz", + "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==", + "license": "MIT" + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz", + "integrity": "sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "vue-eslint-parser": "^9.3.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "peerDependencies": { + "eslint": "^8.56.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": ">=4.7.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.37.tgz", + "integrity": "sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.4.37" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.37.tgz", + "integrity": "sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.4.37", + "@vue/shared": "3.4.37" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.37.tgz", + "integrity": "sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.4.37", + "@vue/runtime-core": "3.4.37", + "@vue/shared": "3.4.37", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.37.tgz", + "integrity": "sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.4.37", + "@vue/shared": "3.4.37" + }, + "peerDependencies": { + "vue": "3.4.37" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.37.tgz", + "integrity": "sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==", + "license": "MIT" + }, + "node_modules/@vue/test-utils": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", + "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^2.0.0" + } + }, + "node_modules/@vue/vue3-jest": { + "version": "29.2.6", + "resolved": "https://registry.npmjs.org/@vue/vue3-jest/-/vue3-jest-29.2.6.tgz", + "integrity": "sha512-Hy4i2BsV5fUmER5LplYiAeRkLTDCSB3ZbnAeEawXtjto/ILaOnamBAoAvEqARgPpR6NRtiYjSgGKmllMtnFd9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "chalk": "^2.1.0", + "convert-source-map": "^1.6.0", + "css-tree": "^2.0.1", + "source-map": "0.5.6", + "tsconfig": "^7.0.0" + }, + "engines": { + "node": ">10" + }, + "peerDependencies": { + "@babel/core": "7.x", + "babel-jest": "29.x", + "jest": "29.x", + "typescript": ">= 4.3", + "vue": "^3.0.0-0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/vue3-jest/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vuetify/loader-shared": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-2.0.3.tgz", + "integrity": "sha512-Ss3GC7eJYkp2SF6xVzsT7FAruEmdihmn4OCk2+UocREerlXKWgOKKzTN5PN3ZVN5q05jHHrsNhTuWbhN61Bpdg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "upath": "^2.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0", + "vuetify": "^3.0.0" + } + }, + "node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "devOptional": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "devOptional": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.3.tgz", + "integrity": "sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "devOptional": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "devOptional": true, + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "devOptional": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/compare-versions": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.4.tgz", + "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", + "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "bin": { + "concurrently": "bin/concurrently.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/concurrently/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/console.table": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", + "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "easy-table": "1.1.0" + }, + "engines": { + "node": "> 0.10" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-webpack-plugin": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.1", + "globby": "^14.0.0", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", + "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/dayjs": { + "version": "1.11.12", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", + "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decache": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.2.tgz", + "integrity": "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "callsite": "^1.0.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dompurify": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", + "license": "(MPL-2.0 OR Apache-2.0)" + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/easy-table": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", + "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "wcwidth": ">=1.0.1" + } + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/editorconfig/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.6.tgz", + "integrity": "sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-5.0.0.tgz", + "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", + "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.9.1" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz", + "integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-4.2.0.tgz", + "integrity": "sha512-rsfpFQ01AWQbqtjgPRr2usVRxhWDuG0YDYcG8DJOteD3EFnpeuYuOwk0PQiN7PRBTqS6ElNdtPZPggj8If9WnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^8.56.10", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^8.0.0 || ^9.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "devOptional": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "devOptional": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fishery": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fishery/-/fishery-2.2.2.tgz", + "integrity": "sha512-jeU0nDhPHJkupmjX+r9niKgVMTBDB8X+U/pktoGHAiWOSyNlMd0HhmqnjrpjUOCDPJYaSSu4Ze16h6dZOKSp2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.mergewith": "^4.6.2" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "devOptional": true, + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=6" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-transform-stub": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz", + "integrity": "sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-beautify/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/jsdom/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "devOptional": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/launch-editor": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.1.tgz", + "integrity": "sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", + "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "devOptional": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.1.tgz", + "integrity": "sha512-ltEU3xwiz5ojVMizdP93AHi84Rtfz0+yKd8ud75hr9LVyWX2alxp7vLbY1kFm7MXFmHHr/9B08Xf8Jj6IHTEiQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/pkg-dir/node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-types": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz", + "integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", + "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "devOptional": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.31.5", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.5.tgz", + "integrity": "sha512-YPmas0L0rE1UyLL/llTWA0SiDOqIcAQYLeUj7cJYzXHlRTAnMSg9pPe4VJ5PlKvTrPQsdVFuiRiwyeNlYgwh2Q==", + "devOptional": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-jest": { + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.4.tgz", + "integrity": "sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "ejs": "^3.1.10", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ts-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ts-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ts-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ts-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/ts-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "license": "MIT" + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/tsconfig/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tsconfig/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/undici-types": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", + "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universal-cookie": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-7.2.0.tgz", + "integrity": "sha512-PvcyflJAYACJKr28HABxkGemML5vafHmiL4ICe3e+BEKXRMt0GaFLZhAwgv637kFFnnfiSJ8e6jknrKkMrU+PQ==", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^0.6.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "devOptional": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "devOptional": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vue": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.37.tgz", + "integrity": "sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.4.37", + "@vue/compiler-sfc": "3.4.37", + "@vue/runtime-dom": "3.4.37", + "@vue/server-renderer": "3.4.37", + "@vue/shared": "3.4.37" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "2.0.29", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.0.29.tgz", + "integrity": "sha512-58i+ZhUAUpwQ+9h5Hck0D+jr1qbYl4voRt5KffBx8qzELViQ4XdT/Tuo+mzq8u63teAG8K0lLaOiL5ofqW38rg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-dompurify-html": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vue-dompurify-html/-/vue-dompurify-html-5.1.0.tgz", + "integrity": "sha512-616o2/PBdOLM2bwlRWLdzeEC9NerLkwiudqNgaIJ5vBQWXec+u7Kuzh+45DtQQrids67s4pHnTnJZLVfyPMxbA==", + "license": "MIT", + "dependencies": { + "dompurify": "^3.0.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-i18n": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz", + "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==", + "license": "MIT", + "dependencies": { + "@intlify/core-base": "9.13.1", + "@intlify/shared": "9.13.1", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-loader": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz", + "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vue-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/vue-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vue-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-router": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.3.tgz", + "integrity": "sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.3" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vuetify": { + "version": "3.6.14", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.6.14.tgz", + "integrity": "sha512-iSa3CgdTEt/7B0aGDmkBARe8rxDDycEYHu1zNtOf1Xpvs/Tv7Ql5yHGqM2XCY0h7SL8Dme39pJIovzg3q4JLbQ==", + "license": "MIT", + "engines": { + "node": "^12.20 || >=14.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/johnleider" + }, + "peerDependencies": { + "typescript": ">=4.7", + "vite-plugin-vuetify": ">=1.0.0", + "vue": "^3.3.0", + "vue-i18n": "^9.0.0", + "webpack-plugin-vuetify": ">=2.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vite-plugin-vuetify": { + "optional": true + }, + "vue-i18n": { + "optional": true + }, + "webpack-plugin-vuetify": { + "optional": true + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.3.0.tgz", + "integrity": "sha512-xD2qnNew+F6KwOGZR7kWdbIou/ud7cVqLEXeK1q0nHcNsX/u7ul/fSdlOTX4ntSL5FNFy7ZJJXbf0piF591JYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^4.6.0", + "mime-types": "^2.1.31", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", + "integrity": "sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.4.0", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "rimraf": "^5.0.5", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.1.0", + "ws": "^8.16.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-plugin-vuetify": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/webpack-plugin-vuetify/-/webpack-plugin-vuetify-3.0.3.tgz", + "integrity": "sha512-pYTLcrufc00PzqHZhG/zLylGE07uC0hB6SisvSYuN6hyjKCf9rtdm2UaIG7kExfhZa3U1WKU7mYXFi1jDEc+vQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vuetify/loader-shared": "^2.0.3", + "decache": "^4.6.0", + "file-loader": "^6.2.0", + "find-cache-dir": "^5.0.0", + "loader-utils": "^2.0.0", + "mkdirp": "^1.0.4", + "null-loader": "^4.0.1", + "upath": "^2.0.1" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.2.6", + "vue": "^3.2.6", + "vuetify": "^3.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/webpack-plugin-vuetify/node_modules/find-cache-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-5.0.0.tgz", + "integrity": "sha512-OuWNfjfP05JcpAP3JPgAKUhWefjMRfI5iAoSsvE24ANYWJaepAtlSgWECSVEuRgSXpyNEc9DJwG/TZpgcOqyig==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-plugin-vuetify/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "devOptional": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "devOptional": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yaml-eslint-parser": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-1.2.3.tgz", + "integrity": "sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.0.0", + "lodash": "^4.17.21", + "yaml": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..96e1826 --- /dev/null +++ b/package.json @@ -0,0 +1,82 @@ +{ + "name": "shd-client", + "description": "Schulcloud-Verbund-Software administration interface", + "license": "AGPL-3.0", + "keywords": [ + "vue", + "jest" + ], + "scripts": { + "serve": "NODE_ENV=development webpack serve --config config/webpack/webpack.dev.js", + "serve:windows": "set NODE_ENV=development&& webpack serve --config config/webpack/webpack.dev.js", + "build": "NODE_ENV=production webpack --config config/webpack/webpack.prod.js", + "test": "npm run test:unit", + "test:unit": "npx jest", + "test:unit:ci": "npm run test:unit -- --coverage --ci --maxWorkers=4", + "lint": "npx eslint 'src/**/*.{ts,js,vue}'", + "generate-client:server": "node generate-client.js -c openapitools-for-server.json" + }, + "dependencies": { + "@vueuse/core": "^10.11.0", + "axios": "^1.7.2", + "dayjs": "^1.11.12", + "pinia": "^2.2.0", + "ts-node": "^10.9.2", + "universal-cookie": "^7.2.0", + "vue": "^3.4.34", + "vue-dompurify-html": "^5.1.0", + "vue-i18n": "^9.13.1", + "vue-router": "^4.4.0", + "vuetify": "^3.6.14" + }, + "devDependencies": { + "@babel/core": "^7.24.3", + "@babel/preset-env": "^7.24.3", + "@golevelup/ts-jest": "^0.5.0", + "@intlify/bundle-utils": "^8.0.0", + "@jest/globals": "^29.7.0", + "@mdi/js": "^7.4.47", + "@openapitools/openapi-generator-cli": "^2.13.4", + "@pinia/testing": "^0.1.4", + "@types/jest": "^29.5.12", + "@types/webpack-env": "^1.18.5", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/test-utils": "^2.4.5", + "@vue/vue3-jest": "^29.2.6", + "arg": "^5.0.2", + "babel-jest": "^29.7.0", + "babel-loader": "^9.1.3", + "copy-webpack-plugin": "^12.0.2", + "css-loader": "^6.10.0", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.23.0", + "eslint-webpack-plugin": "^4.1.0", + "fishery": "^2.2.2", + "html-webpack-plugin": "^5.6.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jest-transform-stub": "^2.0.0", + "prettier": "^3.3.3", + "sass": "^1.77.8", + "sass-loader": "^16.0.0", + "ts-jest": "^29.1.2", + "ts-loader": "^9.5.1", + "typescript": "^5.4.3", + "vue-loader": "^17.4.2", + "vue-style-loader": "^4.1.3", + "vue-component-type-helpers": "^2.0.29", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4", + "webpack-merge": "^5.10.0", + "webpack-plugin-vuetify": "^3.0.3" + }, + "engines": { + "node": "20", + "npm": ">=9" + } +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..64946cd Binary files /dev/null and b/public/favicon.png differ diff --git a/public/runtime.config.json b/public/runtime.config.json new file mode 100644 index 0000000..c85e0f1 --- /dev/null +++ b/public/runtime.config.json @@ -0,0 +1,3 @@ +{ + "apiURL": "http://localhost:3030/api" +} diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..634b7ec --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,17 @@ +sonar.organization=schulcloud-verbund +sonar.projectKey=hpi-schul-cloud_shd-client + +sonar.sources=. +sonar.tests=. + +# Exclude test files, locales and generated code from source scope +sonar.exclusions=src/serverApi/**/*,**/locales/**.ts + +# Exclude scripts from root folder, app setup scripts from src and route config from coverage +sonar.coverage.exclusions=/*,src/*,src/router/*,config/**/* + +# Include test files and test utils in test scope +sonar.test.inclusions=tests/**/*,**/*.unit.ts,**/*.unit.js + +# Coverage report directory of jest +sonar.javascript.lcov.reportPaths=./coverage/lcov.info \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..96f450a --- /dev/null +++ b/src/App.vue @@ -0,0 +1,29 @@ + + + diff --git a/src/assets/README.md b/src/assets/README.md new file mode 100644 index 0000000..2ebbc4a --- /dev/null +++ b/src/assets/README.md @@ -0,0 +1,4 @@ +# Assets + +- All used fonts should be placed inside the `/fonts` folder. +- All image files should be placed inside the `/img` folder diff --git a/src/assets/cloud.svg b/src/assets/cloud.svg new file mode 100644 index 0000000..dbf8f86 --- /dev/null +++ b/src/assets/cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Bold.eot b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.eot new file mode 100644 index 0000000..49cd919 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.eot differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Bold.svg b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.svg new file mode 100644 index 0000000..c36a852 --- /dev/null +++ b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Bold.ttf b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.ttf new file mode 100644 index 0000000..309407f Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.ttf differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Bold.woff b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.woff new file mode 100644 index 0000000..bd6340e Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.woff differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Bold.woff2 b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.woff2 new file mode 100644 index 0000000..faf8aa8 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Bold.woff2 differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Regular.eot b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.eot new file mode 100644 index 0000000..89c5501 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.eot differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Regular.svg b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.svg new file mode 100644 index 0000000..a84c26b --- /dev/null +++ b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Regular.ttf b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.ttf new file mode 100644 index 0000000..4d9acaf Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.ttf differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Regular.woff b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.woff new file mode 100644 index 0000000..d7876fe Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.woff differ diff --git a/src/assets/fonts/PT_Sans-Narrow-Web-Regular.woff2 b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.woff2 new file mode 100644 index 0000000..0752a57 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Narrow-Web-Regular.woff2 differ diff --git a/src/assets/fonts/PT_Sans-Web-Bold.eot b/src/assets/fonts/PT_Sans-Web-Bold.eot new file mode 100644 index 0000000..599a237 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Bold.eot differ diff --git a/src/assets/fonts/PT_Sans-Web-Bold.svg b/src/assets/fonts/PT_Sans-Web-Bold.svg new file mode 100644 index 0000000..8eb2376 --- /dev/null +++ b/src/assets/fonts/PT_Sans-Web-Bold.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fonts/PT_Sans-Web-Bold.ttf b/src/assets/fonts/PT_Sans-Web-Bold.ttf new file mode 100644 index 0000000..e4eb443 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Bold.ttf differ diff --git a/src/assets/fonts/PT_Sans-Web-Bold.woff b/src/assets/fonts/PT_Sans-Web-Bold.woff new file mode 100644 index 0000000..87db286 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Bold.woff differ diff --git a/src/assets/fonts/PT_Sans-Web-Bold.woff2 b/src/assets/fonts/PT_Sans-Web-Bold.woff2 new file mode 100644 index 0000000..d938c9e Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Bold.woff2 differ diff --git a/src/assets/fonts/PT_Sans-Web-Regular.eot b/src/assets/fonts/PT_Sans-Web-Regular.eot new file mode 100644 index 0000000..98dd907 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Regular.eot differ diff --git a/src/assets/fonts/PT_Sans-Web-Regular.svg b/src/assets/fonts/PT_Sans-Web-Regular.svg new file mode 100644 index 0000000..d99bece --- /dev/null +++ b/src/assets/fonts/PT_Sans-Web-Regular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/fonts/PT_Sans-Web-Regular.ttf b/src/assets/fonts/PT_Sans-Web-Regular.ttf new file mode 100644 index 0000000..2b0a25a Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Regular.ttf differ diff --git a/src/assets/fonts/PT_Sans-Web-Regular.woff b/src/assets/fonts/PT_Sans-Web-Regular.woff new file mode 100644 index 0000000..a71e5b6 Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Regular.woff differ diff --git a/src/assets/fonts/PT_Sans-Web-Regular.woff2 b/src/assets/fonts/PT_Sans-Web-Regular.woff2 new file mode 100644 index 0000000..1b54f9e Binary files /dev/null and b/src/assets/fonts/PT_Sans-Web-Regular.woff2 differ diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..0b88940 --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,4 @@ +type TestUtilsModule = typeof import("@vue/test-utils"); + +declare const mount: TestUtilsModule["mount"]; +declare const shallowMount: TestUtilsModule["shallowMount"]; diff --git a/src/icons/material/index.ts b/src/icons/material/index.ts new file mode 100644 index 0000000..e7e0300 --- /dev/null +++ b/src/icons/material/index.ts @@ -0,0 +1,225 @@ +import { + mdiAccountBoxOutline, + mdiAccountCircleOutline, + mdiAccountGroupOutline, + mdiAccountOffOutline, + mdiAccountOutline, + mdiAccountPlus, + mdiAccountSchoolOutline, + mdiAccountSearch, + mdiAccountSwitch, + mdiAccountSwitchOutline, + mdiAlert, + mdiAlertCircle, + mdiArchiveOutline, + mdiArrowCollapse, + mdiArrowCollapseDown, + mdiArrowCollapseUp, + mdiArrowExpand, + mdiApplicationBracketsOutline, + mdiCalendar, + mdiCalendarOutline, + mdiCardAccountDetailsOutline, + mdiChatOutline, + mdiCheck, + mdiCheckAll, + mdiCheckboxBlankOutline, + mdiCheckboxIntermediate, + mdiCheckboxOutline, + mdiCheckCircle, + mdiCheckCircleOutline, + mdiChevronLeft, + mdiCircleOutline, + mdiClockOutline, + mdiClose, + mdiCogOutline, + mdiContentCopy, + mdiContentSave, + mdiDeleteOutline, + mdiDnsOutline, + mdiDotsVertical, + mdiDrag, + mdiEmailCheckOutline, + mdiEmailOutline, + mdiEmailRemoveOutline, + mdiEyeOffOutline, + mdiEyeOutline, + mdiFileCertificateOutline, + mdiFileDocumentOutline, + mdiFileReplaceOutline, + mdiFileTreeOutline, + mdiFileQuestionOutline, + mdiFlag, + mdiFlagOutline, + mdiFolder, + mdiFolderAccount, + mdiFolderOpenOutline, + mdiFormatBold, + mdiFormatItalic, + mdiFormatListBulleted, + mdiFormatListChecks, + mdiFormatListNumbered, + mdiFormatStrikethrough, + mdiFormatText, + mdiFormatUnderline, + mdiGiftOutline, + mdiHeart, + mdiHelpCircleOutline, + mdiImage, + mdiInformation, + mdiLightbulbOnOutline, + mdiLock, + mdiLockOutline, + mdiLogin, + mdiMagnify, + mdiMenu, + mdiMenuDown, + mdiMenuDownOutline, + mdiMenuOpen, + mdiMenuSwapOutline, + mdiMenuUpOutline, + mdiMinus, + mdiNewspaperVariantOutline, + mdiOpenInNew, + mdiPencilOutline, + mdiPlaylistEdit, + mdiPlus, + mdiPlusCircleOutline, + mdiPresentation, + mdiPrinter, + mdiPound, + mdiPuzzleOutline, + mdiQrcode, + mdiRedo, + mdiRefreshCircle, + mdiReload, + mdiRenameOutline, + mdiSchoolOutline, + mdiShareVariantOutline, + mdiShieldAccountVariantOutline, + mdiTextBoxCheckOutline, + mdiTimerSandComplete, + mdiTrashCanOutline, + mdiTrayArrowDown, + mdiTrayArrowUp, + mdiTune, + mdiUndo, + mdiUndoVariant, + mdiViewDashboard, + mdiViewDashboardOutline, + mdiViewGridOutline, + mdiViewListOutline, +} from "@mdi/js"; + +export { + mdiAccountBoxOutline, + mdiAccountCircleOutline, + mdiAccountGroupOutline, + mdiAccountOffOutline, + mdiAccountOutline, + mdiAccountPlus, + mdiAccountSchoolOutline, + mdiAccountSearch, + mdiAccountSwitch, + mdiAccountSwitchOutline, + mdiAlert, + mdiAlertCircle, + mdiArchiveOutline, + mdiArrowCollapse, + mdiArrowCollapseDown, + mdiArrowCollapseUp, + mdiArrowExpand, + mdiApplicationBracketsOutline, + mdiCalendar, + mdiCalendarOutline, + mdiCardAccountDetailsOutline, + mdiChatOutline, + mdiCheck, + mdiCheckAll, + mdiCheckboxBlankOutline, + mdiCheckboxIntermediate, + mdiCheckboxOutline, + mdiCheckCircle, + mdiCheckCircleOutline, + mdiChevronLeft, + mdiCircleOutline, + mdiClockOutline, + mdiClose, + mdiCogOutline, + mdiContentCopy, + mdiContentSave, + mdiDeleteOutline, + mdiDnsOutline, + mdiDotsVertical, + mdiDrag, + mdiEmailCheckOutline, + mdiEmailOutline, + mdiEmailRemoveOutline, + mdiEyeOffOutline, + mdiEyeOutline, + mdiFileCertificateOutline, + mdiFileDocumentOutline, + mdiFileReplaceOutline, + mdiFileTreeOutline, + mdiFileQuestionOutline, + mdiFlag, + mdiFlagOutline, + mdiFolder, + mdiFolderAccount, + mdiFolderOpenOutline, + mdiFormatBold, + mdiFormatItalic, + mdiFormatListBulleted, + mdiFormatListChecks, + mdiFormatListNumbered, + mdiFormatStrikethrough, + mdiFormatText, + mdiFormatUnderline, + mdiGiftOutline, + mdiHeart, + mdiHelpCircleOutline, + mdiImage, + mdiInformation, + mdiLightbulbOnOutline, + mdiLock, + mdiLockOutline, + mdiLogin, + mdiMagnify, + mdiMenu, + mdiMenuDown, + mdiMenuDownOutline, + mdiMenuOpen, + mdiMenuSwapOutline, + mdiMenuUpOutline, + mdiMinus, + mdiNewspaperVariantOutline, + mdiOpenInNew, + mdiPencilOutline, + mdiPlaylistEdit, + mdiPlus, + mdiPlusCircleOutline, + mdiPresentation, + mdiPrinter, + mdiPound, + mdiPuzzleOutline, + mdiQrcode, + mdiRedo, + mdiRefreshCircle, + mdiReload, + mdiRenameOutline, + mdiSchoolOutline, + mdiShareVariantOutline, + mdiShieldAccountVariantOutline, + mdiTextBoxCheckOutline, + mdiTimerSandComplete, + mdiTrashCanOutline, + mdiTrayArrowDown, + mdiTrayArrowUp, + mdiTune, + mdiUndo, + mdiUndoVariant, + mdiViewDashboard, + mdiViewDashboardOutline, + mdiViewGridOutline, + mdiViewListOutline, +}; diff --git a/src/locales/de.ts b/src/locales/de.ts new file mode 100644 index 0000000..455453b --- /dev/null +++ b/src/locales/de.ts @@ -0,0 +1,4 @@ +export default { + "error.generic": "Ein Fehler ist aufgetreten", + "error.load": "Fehler beim Laden der Daten.", +}; diff --git a/src/locales/en.ts b/src/locales/en.ts new file mode 100644 index 0000000..2dbe1d4 --- /dev/null +++ b/src/locales/en.ts @@ -0,0 +1,4 @@ +export default { + "error.generic": "An error has occurred", + "error.load": "Error while loading the data.", +}; diff --git a/src/locales/es.ts b/src/locales/es.ts new file mode 100644 index 0000000..2e52cb3 --- /dev/null +++ b/src/locales/es.ts @@ -0,0 +1,4 @@ +export default { + "error.generic": "Se ha producido un error", + "error.load": "Error al cargar los datos.", +}; diff --git a/src/locales/schema.ts b/src/locales/schema.ts new file mode 100644 index 0000000..624098e --- /dev/null +++ b/src/locales/schema.ts @@ -0,0 +1,3 @@ +import deDE from "./de"; + +export type MessageSchema = typeof deDE; diff --git a/src/locales/uk.ts b/src/locales/uk.ts new file mode 100644 index 0000000..2fa7655 --- /dev/null +++ b/src/locales/uk.ts @@ -0,0 +1,4 @@ +export default { + "error.generic": "Виникла помилка", + "error.load": "Помилка під час завантаження даних.", +}; diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..cb23d0e --- /dev/null +++ b/src/main.ts @@ -0,0 +1,58 @@ +import { handleApplicationError } from "@/plugins/applicationErrorHandler"; +import { createI18n } from "@/plugins/i18n"; +// Vuetify must be imported before any Component for the @layer styles to work +import vuetify from "@/plugins/vuetify"; +import router from "@/router"; +import { initializeAxios } from "@/utils/api"; +import { useAuthStore } from "@data/auth"; +import { useEnvConfigStore } from "@data/env-config"; +import { htmlConfig } from "@feature/render-html"; +import axios from "axios"; +import { createPinia } from "pinia"; +import Cookies from "universal-cookie"; +import { createApp } from "vue"; +import VueDOMPurifyHTML from "vue-dompurify-html"; +import App from "./App.vue"; + +const app = createApp(App); + +app.config.errorHandler = handleApplicationError; + +const pinia = createPinia(); +app.use(pinia); + +const i18n = createI18n(); +app.use(i18n); + +app.use(VueDOMPurifyHTML, { + namedConfigurations: htmlConfig, +}); + +(async () => { + const runtimeConfigJson = await axios.get( + `${window.location.origin}/runtime.config.json` + ); + axios.defaults.baseURL = runtimeConfigJson.data.apiURL; + + initializeAxios(axios); + + await useEnvConfigStore().loadConfig(); + + const cookies = new Cookies(); + const jwt = cookies.get("jwt"); + + if (jwt) { + axios.defaults.headers.common["Authorization"] = "Bearer " + jwt; + try { + await useAuthStore().login(); + } catch (e) { + // eslint-disable-next-line no-console + console.error("### JWT invalid: ", e); + } + } + + app.use(router); + app.use(vuetify); + + app.mount("#app"); +})(); diff --git a/src/modules/data/README.md b/src/modules/data/README.md new file mode 100644 index 0000000..7957483 --- /dev/null +++ b/src/modules/data/README.md @@ -0,0 +1,5 @@ +# Data + +State and API-access. Does not contain any visual components. They are the data-sources of all smart components. + +[Documentation](https://documentation.dbildungscloud.dev/docs/nuxt-client/ProjectStructure#types-of-building-blocks) \ No newline at end of file diff --git a/src/modules/data/application-error/applicationError.store.ts b/src/modules/data/application-error/applicationError.store.ts new file mode 100644 index 0000000..91f6a4a --- /dev/null +++ b/src/modules/data/application-error/applicationError.store.ts @@ -0,0 +1,16 @@ +import { defineStore } from "pinia"; +import { readonly, Ref, ref } from "vue"; +import { ApplicationError } from "./applicationError"; + +export const useApplicationErrorStore = defineStore("applicationError", () => { + const error: Ref = ref(); + + const setError = (err: ApplicationError) => { + error.value = err; + }; + + return { + getError: readonly(error), + setError, + }; +}); diff --git a/src/modules/data/application-error/applicationError.store.unit.ts b/src/modules/data/application-error/applicationError.store.unit.ts new file mode 100644 index 0000000..13492cb --- /dev/null +++ b/src/modules/data/application-error/applicationError.store.unit.ts @@ -0,0 +1,36 @@ +import { applicationErrorFactory } from "@@/tests/test-utils/factory"; +import { createPinia, setActivePinia } from "pinia"; +import { useApplicationErrorStore } from "./applicationError.store"; + +describe("EnvConfigStore", () => { + beforeEach(() => { + setActivePinia(createPinia()); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("setError", () => { + describe("when loading envs", () => { + const setup = () => { + const store = useApplicationErrorStore(); + + const error = applicationErrorFactory.build(); + + return { + store, + error, + }; + }; + + it("should set the error", async () => { + const { store, error } = setup(); + + store.setError(error); + + expect(store.getError).toEqual(error); + }); + }); + }); +}); diff --git a/src/modules/data/application-error/applicationError.ts b/src/modules/data/application-error/applicationError.ts new file mode 100644 index 0000000..9be2940 --- /dev/null +++ b/src/modules/data/application-error/applicationError.ts @@ -0,0 +1,21 @@ +import { HttpStatusCode } from "./httpStatusCode.enum"; + +export interface ApplicationErrorProps { + statusCode: HttpStatusCode; + translationKey: string; + message?: string; +} + +export class ApplicationError extends Error { + public readonly name = ApplicationError.name; + + public statusCode: HttpStatusCode; + + public translationKey: string; + + constructor(props: ApplicationErrorProps) { + super(props.message); + this.statusCode = props.statusCode; + this.translationKey = props.translationKey; + } +} diff --git a/src/modules/data/application-error/httpStatusCode.enum.ts b/src/modules/data/application-error/httpStatusCode.enum.ts new file mode 100644 index 0000000..64986fe --- /dev/null +++ b/src/modules/data/application-error/httpStatusCode.enum.ts @@ -0,0 +1,374 @@ +export enum HttpStatusCode { + /** + * The server has received the request headers and the client should proceed to send the request body + * (in the case of a request for which a body needs to be sent; for example, a POST request). + * Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient. + * To have a server check the request's headers, a client must send Expect: 100-continue as a header in its initial request + * and receive a 100 Continue status code in response before sending the body. The response 417 Expectation Failed indicates the request should not be continued. + */ + Continue = 100, + + /** + * The requester has asked the server to switch protocols and the server has agreed to do so. + */ + SwitchingProtocols = 101, + + /** + * A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request. + * This code indicates that the server has received and is processing the request, but no response is available yet. + * This prevents the client from timing out and assuming the request was lost. + */ + Processing = 102, + + /** + * Standard response for successful HTTP requests. + * The actual response will depend on the request method used. + * In a GET request, the response will contain an entity corresponding to the requested resource. + * In a POST request, the response will contain an entity describing or containing the result of the action. + */ + Ok = 200, + + /** + * The request has been fulfilled, resulting in the creation of a new resource. + */ + Created = 201, + + /** + * The request has been accepted for processing, but the processing has not been completed. + * The request might or might not be eventually acted upon, and may be disallowed when processing occurs. + */ + Accepted = 202, + + /** + * SINCE HTTP/1.1 + * The server is a transforming proxy that received a 200 OK from its origin, + * but is returning a modified version of the origin's response. + */ + NonAuthoritativeInformation = 203, + + /** + * The server successfully processed the request and is not returning any content. + */ + NoContent = 204, + + /** + * The server successfully processed the request, but is not returning any content. + * Unlike a 204 response, this response requires that the requester reset the document view. + */ + ResetContent = 205, + + /** + * The server is delivering only part of the resource (byte serving) due to a range header sent by the client. + * The range header is used by HTTP clients to enable resuming of interrupted downloads, + * or split a download into multiple simultaneous streams. + */ + PartialContent = 206, + + /** + * The message body that follows is an XML message and can contain a number of separate response codes, + * depending on how many sub-requests were made. + */ + MultiStatus = 207, + + /** + * The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, + * and are not being included again. + */ + AlreadyReported = 208, + + /** + * The server has fulfilled a request for the resource, + * and the response is a representation of the result of one or more instance-manipulations applied to the current instance. + */ + ImUsed = 226, + + /** + * Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). + * For example, this code could be used to present multiple video format options, + * to list files with different filename extensions, or to suggest word-sense disambiguation. + */ + MultipleChoices = 300, + + /** + * This and all future requests should be directed to the given URI. + */ + MovedPermanently = 301, + + /** + * This is an example of industry practice contradicting the standard. + * The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect + * (the original describing phrase was "Moved Temporarily"), but popular browsers implemented 302 + * with the functionality of a 303 See Other. Therefore, HTTP/1.1 added status codes 303 and 307 + * to distinguish between the two behaviours. However, some Web applications and frameworks + * use the 302 status code as if it were the 303. + */ + Found = 302, + + /** + * SINCE HTTP/1.1 + * The response to the request can be found under another URI using a GET method. + * When received in response to a POST (or PUT/DELETE), the client should presume that + * the server has received the data and should issue a redirect with a separate GET message. + */ + SeeOther = 303, + + /** + * Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. + * In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy. + */ + NotModified = 304, + + /** + * SINCE HTTP/1.1 + * The requested resource is available only through a proxy, the address for which is provided in the response. + * Many HTTP clients (such as Mozilla and Internet Explorer) do not correctly handle responses with this status code, primarily for security reasons. + */ + UseProxy = 305, + + /** + * No longer used. Originally meant "Subsequent requests should use the specified proxy." + */ + SwitchProxy = 306, + + /** + * SINCE HTTP/1.1 + * In this case, the request should be repeated with another URI; however, future requests should still use the original URI. + * In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. + * For example, a POST request should be repeated using another POST request. + */ + TemporaryRedirect = 307, + + /** + * The request and all future requests should be repeated using another URI. + * 307 and 308 parallel the behaviors of 302 and 301, but do not allow the HTTP method to change. + * So, for example, submitting a form to a permanently redirected resource may continue smoothly. + */ + PermanentRedirect = 308, + + /** + * The server cannot or will not process the request due to an apparent client error + * (e.g., malformed request syntax, too large size, invalid request message framing, or deceptive request routing). + */ + BadRequest = 400, + + /** + * Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet + * been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the + * requested resource. See Basic access authentication and Digest access authentication. 401 semantically means + * "unauthenticated",i.e. the user does not have the necessary credentials. + */ + Unauthorized = 401, + + /** + * Reserved for future use. The original intention was that this code might be used as part of some form of digital + * cash or micro payment scheme, but that has not happened, and this code is not usually used. + * Google Developers API uses this status if a particular developer has exceeded the daily limit on requests. + */ + PaymentRequired = 402, + + /** + * The request was valid, but the server is refusing action. + * The user might not have the necessary permissions for a resource. + */ + Forbidden = 403, + + /** + * The requested resource could not be found but may be available in the future. + * Subsequent requests by the client are permissible. + */ + NotFound = 404, + + /** + * A request method is not supported for the requested resource; + * for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource. + */ + MethodNotAllowed = 405, + + /** + * The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. + */ + NotAcceptable = 406, + + /** + * The client must first authenticate itself with the proxy. + */ + ProxyAuthenticationRequired = 407, + + /** + * The server timed out waiting for the request. + * According to HTTP specifications: + * "The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time." + */ + RequestTimeout = 408, + + /** + * Indicates that the request could not be processed because of conflict in the request, + * such as an edit conflict between multiple simultaneous updates. + */ + Conflict = 409, + + /** + * Indicates that the resource requested is no longer available and will not be available again. + * This should be used when a resource has been intentionally removed and the resource should be purged. + * Upon receiving a 410 status code, the client should not request the resource in the future. + * Clients such as search engines should remove the resource from their indices. + * Most use cases do not require clients and search engines to purge the resource, and a "404 Not Found" may be used instead. + */ + Gone = 410, + + /** + * The request did not specify the length of its content, which is required by the requested resource. + */ + LengthRequired = 411, + + /** + * The server does not meet one of the preconditions that the requester put on the request. + */ + PreconditionFailed = 412, + + /** + * The request is larger than the server is willing or able to process. Previously called "Request Entity Too Large". + */ + PayloadTooLarge = 413, + + /** + * The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request, + * in which case it should be converted to a POST request. + * Called "Request-URI Too Long" previously. + */ + UriTooLong = 414, + + /** + * The request entity has a media type which the server or resource does not support. + * For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format. + */ + UnsupportedMediaType = 415, + + /** + * The client has asked for a portion of the file (byte serving), but the server cannot supply that portion. + * For example, if the client asked for a part of the file that lies beyond the end of the file. + * Called "Requested Range Not Satisfiable" previously. + */ + RangeNotSatisfiable = 416, + + /** + * The server cannot meet the requirements of the Expect request-header field. + */ + ExpectationFailed = 417, + + /** + * This code was defined in 1998 as one of the traditional IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, + * and is not expected to be implemented by actual HTTP servers. The RFC specifies this code should be returned by + * teapots requested to brew coffee. This HTTP status is used as an Easter egg in some websites, including Google.com. + */ + IAmATeapot = 418, + + /** + * The request was directed at a server that is not able to produce a response (for example because a connection reuse). + */ + MisdirectedRequest = 421, + + /** + * The request was well-formed but was unable to be followed due to semantic errors. + */ + UnprocessableEntity = 422, + + /** + * The resource that is being accessed is locked. + */ + Locked = 423, + + /** + * The request failed due to failure of a previous request (e.g., a PROPPATCH). + */ + FailedDependency = 424, + + /** + * The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field. + */ + UpgradeRequired = 426, + + /** + * The origin server requires the request to be conditional. + * Intended to prevent "the 'lost update' problem, where a client + * GETs a resource's state, modifies it, and PUTs it back to the server, + * when meanwhile a third party has modified the state on the server, leading to a conflict." + */ + PreconditionRequired = 428, + + /** + * The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes. + */ + TooManyRequests = 429, + + /** + * The server is unwilling to process the request because either an individual header field, + * or all the header fields collectively, are too large. + */ + RequestHeaderFieldsTooLarge = 431, + + /** + * A server operator has received a legal demand to deny access to a resource or to a set of resources + * that includes the requested resource. The code 451 was chosen as a reference to the novel Fahrenheit 451. + */ + UnavailableForLegalReasons = 451, + + /** + * A generic error message, given when an unexpected condition was encountered and no more specific message is suitable. + */ + InternalServerError = 500, + + /** + * The server either does not recognize the request method, or it lacks the ability to fulfill the request. + * Usually this implies future availability (e.g., a new feature of a web-service API). + */ + NotImplemented = 501, + + /** + * The server was acting as a gateway or proxy and received an invalid response from the upstream server. + */ + BadGateway = 502, + + /** + * The server is currently unavailable (because it is overloaded or down for maintenance). + * Generally, this is a temporary state. + */ + ServiceUnavailable = 503, + + /** + * The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. + */ + GatewayTimeout = 504, + + /** + * The server does not support the HTTP protocol version used in the request + */ + HttpVersionNotSupported = 505, + + /** + * Transparent content negotiation for the request results in a circular reference. + */ + VariantAlsoNegotiates = 506, + + /** + * The server is unable to store the representation needed to complete the request. + */ + InsufficientStorage = 507, + + /** + * The server detected an infinite loop while processing the request. + */ + LoopDetected = 508, + + /** + * Further extensions to the request are required for the server to fulfill it. + */ + NotExtended = 510, + + /** + * The client needs to authenticate to gain network access. + * Intended for use by intercepting proxies used to control access to the network (e.g., "captive portals" used + * to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot). + */ + NetworkAuthenticationRequired = 511, +} diff --git a/src/modules/data/application-error/index.ts b/src/modules/data/application-error/index.ts new file mode 100644 index 0000000..825e7c2 --- /dev/null +++ b/src/modules/data/application-error/index.ts @@ -0,0 +1,3 @@ +export { useApplicationErrorStore } from "./applicationError.store"; +export { ApplicationError } from "./applicationError"; +export { HttpStatusCode } from "./httpStatusCode.enum"; diff --git a/src/modules/data/auth/auth.store.ts b/src/modules/data/auth/auth.store.ts new file mode 100644 index 0000000..fbb091b --- /dev/null +++ b/src/modules/data/auth/auth.store.ts @@ -0,0 +1,28 @@ +import { MeApiFactory, MeApiInterface, MeResponse } from "@/serverApi/v3"; +import { $axios } from "@/utils/api"; +import { defineStore } from "pinia"; +import { computed, ComputedRef, Ref, ref } from "vue"; + +export const useAuthStore = defineStore("auth", () => { + const me: Ref = ref(null); + + const meApi = (): MeApiInterface => { + return MeApiFactory(undefined, "v3", $axios); + }; + + const login = async (): Promise => { + const { data } = await meApi().meControllerMe(); + + me.value = data; + }; + + const isLoggedIn: ComputedRef = computed(() => { + return me.value !== null; + }); + + return { + me, + login, + isLoggedIn, + }; +}); diff --git a/src/modules/data/auth/auth.store.unit.ts b/src/modules/data/auth/auth.store.unit.ts new file mode 100644 index 0000000..089ba2e --- /dev/null +++ b/src/modules/data/auth/auth.store.unit.ts @@ -0,0 +1,91 @@ +import * as serverMeApi from "@/serverApi/v3/api/me-api"; +import { meResponseFactory } from "@@/tests/test-utils/factory"; +import { mockApiResponse } from "@@/tests/test-utils/mockApiResponse"; +import { createMock, DeepMocked } from "@golevelup/ts-jest"; +import { createPinia, setActivePinia } from "pinia"; +import { useAuthStore } from "./auth.store"; + +describe("AuthStore", () => { + let meApi: DeepMocked; + + beforeEach(() => { + setActivePinia(createPinia()); + + meApi = createMock(); + + jest.spyOn(serverMeApi, "MeApiFactory").mockReturnValue(meApi); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("login", () => { + describe("when logging in", () => { + const setup = () => { + const store = useAuthStore(); + + const meResponse = meResponseFactory.build(); + + meApi.meControllerMe.mockResolvedValueOnce( + mockApiResponse({ data: meResponse }) + ); + + return { + store, + meResponse, + }; + }; + + it("should set me", async () => { + const { store, meResponse } = setup(); + + await store.login(); + + expect(store.me).toEqual(meResponse); + }); + }); + }); + + describe("isLoggedIn", () => { + describe("when logged in", () => { + const setup = () => { + const store = useAuthStore(); + + const meResponse = meResponseFactory.build(); + + meApi.meControllerMe.mockResolvedValueOnce( + mockApiResponse({ data: meResponse }) + ); + + return { + store, + }; + }; + + it("should return true", async () => { + const { store } = setup(); + + await store.login(); + + expect(store.isLoggedIn).toEqual(true); + }); + }); + + describe("when not logged in", () => { + const setup = () => { + const store = useAuthStore(); + + return { + store, + }; + }; + + it("should return false", () => { + const { store } = setup(); + + expect(store.isLoggedIn).toEqual(false); + }); + }); + }); +}); diff --git a/src/modules/data/auth/index.ts b/src/modules/data/auth/index.ts new file mode 100644 index 0000000..6030aba --- /dev/null +++ b/src/modules/data/auth/index.ts @@ -0,0 +1 @@ +export { useAuthStore } from "./auth.store"; diff --git a/src/modules/data/env-config/envConfig.store.ts b/src/modules/data/env-config/envConfig.store.ts new file mode 100644 index 0000000..884d9f4 --- /dev/null +++ b/src/modules/data/env-config/envConfig.store.ts @@ -0,0 +1,35 @@ +import { + ConfigResponse, + DefaultApiFactory, + DefaultApiInterface, +} from "@/serverApi/v3"; +import { $axios } from "@/utils/api"; +import { defineStore } from "pinia"; +import { readonly, Ref, ref } from "vue"; +import { defaultConfigEnvs } from "./envConfigDefaults"; + +export const useEnvConfigStore = defineStore("envConfig", () => { + const envs: Ref = ref(defaultConfigEnvs); + + const serverApi = (): DefaultApiInterface => { + return DefaultApiFactory(undefined, "v3", $axios); + }; + + const loadConfig = async (): Promise => { + const { data } = await serverApi().serverConfigControllerPublicConfig(); + + envs.value = data; + }; + + const setEnvs = (value: ConfigResponse): ConfigResponse => { + envs.value = value; + + return envs.value; + }; + + return { + getEnvs: readonly(envs), + setEnvs, + loadConfig, + }; +}); diff --git a/src/modules/data/env-config/envConfig.store.unit.ts b/src/modules/data/env-config/envConfig.store.unit.ts new file mode 100644 index 0000000..a0a5ce2 --- /dev/null +++ b/src/modules/data/env-config/envConfig.store.unit.ts @@ -0,0 +1,74 @@ +import * as serverDefaultApi from "@/serverApi/v3/api/default-api"; +import { envsFactory } from "@@/tests/test-utils/factory"; +import { mockApiResponse } from "@@/tests/test-utils/mockApiResponse"; +import { createMock, DeepMocked } from "@golevelup/ts-jest"; +import { createPinia, setActivePinia } from "pinia"; +import { useEnvConfigStore } from "./envConfig.store"; + +describe("EnvConfigStore", () => { + let defaultApi: DeepMocked; + + beforeEach(() => { + setActivePinia(createPinia()); + + defaultApi = createMock(); + + jest + .spyOn(serverDefaultApi, "DefaultApiFactory") + .mockReturnValue(defaultApi); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("loadConfig", () => { + describe("when loading envs", () => { + const setup = () => { + const store = useEnvConfigStore(); + + const envs = envsFactory.build(); + + defaultApi.serverConfigControllerPublicConfig.mockResolvedValueOnce( + mockApiResponse({ data: envs }) + ); + + return { + store, + envs, + }; + }; + + it("should set envs", async () => { + const { store, envs } = setup(); + + await store.loadConfig(); + + expect(store.getEnvs).toEqual(envs); + }); + }); + }); + + describe("setEnvs", () => { + describe("when setting envs", () => { + const setup = () => { + const store = useEnvConfigStore(); + + const envs = envsFactory.build(); + + return { + store, + envs, + }; + }; + + it("should set envs", () => { + const { store, envs } = setup(); + + store.setEnvs(envs); + + expect(store.getEnvs).toEqual(envs); + }); + }); + }); +}); diff --git a/src/modules/data/env-config/envConfigDefaults.ts b/src/modules/data/env-config/envConfigDefaults.ts new file mode 100644 index 0000000..d02c96d --- /dev/null +++ b/src/modules/data/env-config/envConfigDefaults.ts @@ -0,0 +1,75 @@ +import { + ConfigResponse, + LanguageType, + SchulcloudTheme, + Timezone, +} from "@/serverApi/v3"; + +export const defaultConfigEnvs: ConfigResponse = { + NOT_AUTHENTICATED_REDIRECT_URL: "", + SC_THEME: SchulcloudTheme.DEFAULT, + JWT_TIMEOUT_SECONDS: -1, + JWT_SHOW_TIMEOUT_WARNING_SECONDS: -1, + FEATURE_LERNSTORE_ENABLED: false, + MIGRATION_END_GRACE_PERIOD_MS: -1, + ADMIN_TABLES_DISPLAY_CONSENT_COLUMN: false, + DOCUMENT_BASE_DIR: "", + FEATURE_CONSENT_NECESSARY: false, + FEATURE_SCHOOL_SANIS_USER_MIGRATION_ENABLED: false, + GHOST_BASE_URL: "", + I18N__AVAILABLE_LANGUAGES: [], + I18N__FALLBACK_LANGUAGE: LanguageType.DE, + I18N__DEFAULT_LANGUAGE: LanguageType.DE, + I18N__DEFAULT_TIMEZONE: Timezone.EUROPE_BERLIN, + SC_TITLE: "", + FEATURE_SHOW_OUTDATED_USERS: false, + FEATURE_ENABLE_LDAP_SYNC_DURING_MIGRATION: false, + FEATURE_SHOW_NEW_CLASS_VIEW_ENABLED: false, + FEATURE_CTL_TOOLS_TAB_ENABLED: false, + FEATURE_CTL_TOOLS_COPY_ENABLED: false, + ACCESSIBILITY_REPORT_EMAIL: "", + FEATURE_NEW_SCHOOL_ADMINISTRATION_PAGE_AS_DEFAULT_ENABLED: false, + FEATURE_LTI_TOOLS_TAB_ENABLED: true, + FEATURE_SHOW_MIGRATION_WIZARD: false, + FEATURE_TLDRAW_ENABLED: false, + TLDRAW__ASSETS_ENABLED: false, + TLDRAW__ASSETS_MAX_SIZE: -1, + TLDRAW__ASSETS_ALLOWED_MIME_TYPES_LIST: [], + ALERT_STATUS_URL: null, + FEATURE_ES_COLLECTIONS_ENABLED: false, + FEATURE_EXTENSIONS_ENABLED: false, + FEATURE_TEAMS_ENABLED: false, + FEATURE_ADMIN_TOGGLE_STUDENT_LERNSTORE_VIEW_ENABLED: false, + TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: false, + TEACHER_STUDENT_VISIBILITY__IS_ENABLED_BY_DEFAULT: false, + TEACHER_STUDENT_VISIBILITY__IS_VISIBLE: false, + FEATURE_SCHOOL_POLICY_ENABLED_NEW: false, + FEATURE_SCHOOL_TERMS_OF_USE_ENABLED: false, + FEATURE_NEXBOARD_COPY_ENABLED: false, + FEATURE_VIDEOCONFERENCE_ENABLED: false, + FEATURE_COLUMN_BOARD_ENABLED: false, + FEATURE_COLUMN_BOARD_SUBMISSIONS_ENABLED: false, + FEATURE_COLUMN_BOARD_LINK_ELEMENT_ENABLED: false, + FEATURE_COLUMN_BOARD_EXTERNAL_TOOLS_ENABLED: false, + FEATURE_COLUMN_BOARD_SHARE: false, + FEATURE_COLUMN_BOARD_COLLABORATIVE_TEXT_EDITOR_ENABLED: false, + FEATURE_COLUMN_BOARD_SOCKET_ENABLED: false, + FEATURE_COURSE_SHARE: false, + FEATURE_BOARD_LAYOUT_ENABLED: false, + FEATURE_LOGIN_LINK_ENABLED: false, + FEATURE_LESSON_SHARE: false, + FEATURE_TASK_SHARE: false, + FEATURE_USER_MIGRATION_ENABLED: false, + FEATURE_COPY_SERVICE_ENABLED: false, + FEATURE_COMMON_CARTRIDGE_COURSE_EXPORT_ENABLED: false, + FEATURE_COMMON_CARTRIDGE_COURSE_IMPORT_ENABLED: false, + FEATURE_ALLOW_INSECURE_LDAP_URL_ENABLED: false, + ROCKETCHAT_SERVICE_ENABLED: false, + FEATURE_SCHULCONNEX_COURSE_SYNC_ENABLED: false, + CTL_TOOLS_RELOAD_TIME_MS: 299000, + FEATURE_MEDIA_SHELF_ENABLED: false, + BOARD_COLLABORATION_URI: "ws://localhost:4450", + FEATURE_SCHULCONNEX_MEDIA_LICENSE_ENABLED: false, + FEATURE_AI_TUTOR_ENABLED: false, + TRAINING_URL: "https://lernen.dbildungscloud.de", +}; diff --git a/src/modules/data/env-config/index.ts b/src/modules/data/env-config/index.ts new file mode 100644 index 0000000..768d8cc --- /dev/null +++ b/src/modules/data/env-config/index.ts @@ -0,0 +1,2 @@ +export { useEnvConfigStore } from "./envConfig.store"; +export { defaultConfigEnvs } from "./envConfigDefaults"; diff --git a/src/modules/feature/README.md b/src/modules/feature/README.md new file mode 100644 index 0000000..8aad1dd --- /dev/null +++ b/src/modules/feature/README.md @@ -0,0 +1,5 @@ +# Feature + +Complex features with **stateful / smart components**. Usually specialized to fulfill specific roles in the App. Can also contain presentational components that are specialized for this feature. + +[Documentation](https://documentation.dbildungscloud.dev/docs/nuxt-client/ProjectStructure#types-of-building-blocks) \ No newline at end of file diff --git a/src/modules/feature/render-html/RenderHTML.unit.ts b/src/modules/feature/render-html/RenderHTML.unit.ts new file mode 100644 index 0000000..83a2c5b --- /dev/null +++ b/src/modules/feature/render-html/RenderHTML.unit.ts @@ -0,0 +1,128 @@ +import { mount } from "@vue/test-utils"; +import { ComponentProps } from "vue-component-type-helpers"; +import vueDompurifyHTMLPlugin from "vue-dompurify-html"; +import { default as htmlConfig } from "./config"; +import RenderHTML from "./RenderHTML.vue"; + +describe("RenderHTML", () => { + const setup = (props: ComponentProps) => { + const wrapper = mount(RenderHTML, { + global: { + plugins: [ + [ + vueDompurifyHTMLPlugin, + { + namedConfigurations: htmlConfig, + }, + ], + ], + }, + props, + }); + + return { wrapper }; + }; + + describe("when component is mounted", () => { + it("should render html in tags", () => { + const { wrapper } = setup({ html: "test value" }); + expect(wrapper.findComponent(RenderHTML).exists()).toBe(true); + expect(wrapper.find("b").exists()).toBe(true); + }); + + it("should render with div", () => { + const { wrapper } = setup({ html: "test value" }); + expect(wrapper.findComponent(RenderHTML).exists()).toBe(true); + expect(wrapper.element.nodeName).toStrictEqual("DIV"); + }); + + it("should render with span", () => { + const { wrapper } = setup({ + html: "test value", + component: "span", + }); + expect(wrapper.findComponent(RenderHTML).exists()).toBe(true); + expect(wrapper.element.nodeName).toStrictEqual("SPAN"); + }); + + describe("when ck5 config is active", () => { + it("should strip non whitelisted tags", () => { + const { wrapper } = setup({ + html: "

test value

", + component: "span", + config: "ck5", + }); + expect(wrapper.find("h1").exists()).toBe(false); + }); + + it("should allow whitelisted tags", () => { + const { wrapper } = setup({ + html: "
test value
", + component: "span", + config: "ck5", + }); + expect(wrapper.find("h5").exists()).toBe(true); + }); + + it("should strip non whitelisted attributes", () => { + const { wrapper } = setup({ + html: 'test value', + component: "div", + config: "ck5", + }); + expect(wrapper.html()).toEqual( + '
test value
' + ); + }); + + it("should allow whitelisted attributes", () => { + const { wrapper } = setup({ + html: 'test value', + component: "div", + config: "ck5", + }); + expect(wrapper.html()).toEqual( + '
test value
' + ); + }); + }); + + describe("when translations config is active", () => { + it("should strip non whiteltisted tags", () => { + const { wrapper } = setup({ + html: "
test value
", + component: "span", + }); + expect(wrapper.find("h5").exists()).toBe(false); + }); + + it("should allow whitelisted tags", () => { + const { wrapper } = setup({ + html: "
test value
", + component: "span", + }); + expect(wrapper.find("div").exists()).toBe(false); + }); + + it("should strip non whitelisted attributes", () => { + const { wrapper } = setup({ + html: 'test value', + component: "span", + }); + expect(wrapper.html()).toEqual( + 'test value' + ); + }); + + it("should allow whitelisted attributes", () => { + const { wrapper } = setup({ + html: 'test value', + component: "span", + }); + expect(wrapper.html()).toEqual( + 'test value' + ); + }); + }); + }); +}); diff --git a/src/modules/feature/render-html/RenderHTML.vue b/src/modules/feature/render-html/RenderHTML.vue new file mode 100644 index 0000000..6a963bb --- /dev/null +++ b/src/modules/feature/render-html/RenderHTML.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/modules/feature/render-html/config.ts b/src/modules/feature/render-html/config.ts new file mode 100644 index 0000000..8326f8e --- /dev/null +++ b/src/modules/feature/render-html/config.ts @@ -0,0 +1,39 @@ +export default { + ck5: { + ALLOWED_TAGS: [ + "h4", + "h5", + "p", + "span", + "br", + "strong", + "b", + "i", + "em", + "u", + "s", + "code", + "sup", + "sub", + "mark", + "blockquote", + "ul", + "ol", + "li", + "hr", + "table", + "thead", + "tbody", + "tr", + "td", + "th", + "a", + "figure", + ], + ALLOWED_ATTR: ["class", "href", "name", "target", "style", "rel"], + }, + translations: { + ALLOWED_TAGS: ["br", "span", "p", "ul", "li", "a", "b"], + ALLOWED_ATTR: ["class", "href", "target"], + }, +}; diff --git a/src/modules/feature/render-html/index.ts b/src/modules/feature/render-html/index.ts new file mode 100644 index 0000000..7ca0a6d --- /dev/null +++ b/src/modules/feature/render-html/index.ts @@ -0,0 +1,4 @@ +import RenderHTML from "./RenderHTML.vue"; +import config from "./config"; + +export { RenderHTML, config as htmlConfig }; diff --git a/src/modules/page/AboutView.unit.ts b/src/modules/page/AboutView.unit.ts new file mode 100644 index 0000000..4b458b3 --- /dev/null +++ b/src/modules/page/AboutView.unit.ts @@ -0,0 +1,25 @@ +import { createTestingVuetify } from "@@/tests/test-utils/setup"; +import { mount } from "@vue/test-utils"; +import { VBtn } from "vuetify/lib/components/index.mjs"; +import AboutView from "./AboutView.vue"; + +describe("AboutView", () => { + const getWrapper = () => { + const wrapper = mount(AboutView, { + global: { plugins: [createTestingVuetify()] }, + }); + + return { + wrapper, + }; + }; + + it("should increase the counter button on click", async () => { + const { wrapper } = getWrapper(); + + const counter = wrapper.getComponent(VBtn); + await counter.trigger("click"); + + expect(counter.text()).toEqual("1"); + }); +}); diff --git a/src/modules/page/AboutView.vue b/src/modules/page/AboutView.vue new file mode 100644 index 0000000..c45afce --- /dev/null +++ b/src/modules/page/AboutView.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/modules/page/HomeView.unit.ts b/src/modules/page/HomeView.unit.ts new file mode 100644 index 0000000..3c7dca8 --- /dev/null +++ b/src/modules/page/HomeView.unit.ts @@ -0,0 +1,18 @@ +import { mount } from "@vue/test-utils"; +import HomeView from "./HomeView.vue"; + +describe("HomeView", () => { + const getWrapper = () => { + const wrapper = mount(HomeView); + + return { + wrapper, + }; + }; + + it("should improve the code coverage", () => { + const { wrapper } = getWrapper(); + + expect(wrapper).toBeDefined(); + }); +}); diff --git a/src/modules/page/HomeView.vue b/src/modules/page/HomeView.vue new file mode 100644 index 0000000..5e481cf --- /dev/null +++ b/src/modules/page/HomeView.vue @@ -0,0 +1,7 @@ + + + diff --git a/src/modules/page/README.md b/src/modules/page/README.md new file mode 100644 index 0000000..b0cdcab --- /dev/null +++ b/src/modules/page/README.md @@ -0,0 +1,5 @@ +# Page + +Contains a subpage of the application. Orchestrates Feature and UI building-blocks. + +[Documentation](https://documentation.dbildungscloud.dev/docs/nuxt-client/ProjectStructure#types-of-building-blocks) \ No newline at end of file diff --git a/src/modules/ui/README.md b/src/modules/ui/README.md new file mode 100644 index 0000000..f95604e --- /dev/null +++ b/src/modules/ui/README.md @@ -0,0 +1,5 @@ +# UI + +**Stateless / presentational components** which get their data via props and emit events. Usually less specialized. + +[Documentation](https://documentation.dbildungscloud.dev/docs/nuxt-client/ProjectStructure#types-of-building-blocks) \ No newline at end of file diff --git a/src/modules/util/README.md b/src/modules/util/README.md new file mode 100644 index 0000000..b1c52c2 --- /dev/null +++ b/src/modules/util/README.md @@ -0,0 +1,5 @@ +# Util + +Contains shared low-level code. + +[Documentation](https://documentation.dbildungscloud.dev/docs/nuxt-client/ProjectStructure#types-of-building-blocks) \ No newline at end of file diff --git a/src/plugins/applicationErrorHandler.ts b/src/plugins/applicationErrorHandler.ts new file mode 100644 index 0000000..52c1def --- /dev/null +++ b/src/plugins/applicationErrorHandler.ts @@ -0,0 +1,27 @@ +import { + ApplicationError, + useApplicationErrorStore, +} from "@data/application-error"; + +export const handleApplicationError = (err: unknown) => { + /** + * Note: The Global-ErrorHandler wraps the error + * so we can't use instanceof ApplicationError here. + */ + // eslint-disable-next-line no-console + console.error(err); + + const applicationErrorStore = useApplicationErrorStore(); + + const applicationError = err as ApplicationError; + if (applicationError.name === ApplicationError.name) { + applicationErrorStore.setError(applicationError); + } else { + applicationErrorStore.setError( + new ApplicationError({ + statusCode: 500, + translationKey: "error.generic", + }) + ); + } +}; diff --git a/src/plugins/applicationErrorHandler.unit.ts b/src/plugins/applicationErrorHandler.unit.ts new file mode 100644 index 0000000..e0424ff --- /dev/null +++ b/src/plugins/applicationErrorHandler.unit.ts @@ -0,0 +1,91 @@ +import { applicationErrorFactory } from "@@/tests/test-utils/factory"; +import { + ApplicationError, + HttpStatusCode, + useApplicationErrorStore, +} from "@data/application-error"; +import { createTestingPinia } from "@pinia/testing"; +import { setActivePinia } from "pinia"; +import { handleApplicationError } from "./applicationErrorHandler"; + +describe("applicationErrorHandler", () => { + let consoleErrorSpy: jest.SpyInstance; + + beforeEach(() => { + setActivePinia(createTestingPinia()); + + consoleErrorSpy = jest.spyOn(console, "error"); + consoleErrorSpy.mockImplementation(); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("handleApplicationError", () => { + describe("when handling application errors", () => { + const setup = () => { + const applicationErrorStore = useApplicationErrorStore(); + + const applicationError = applicationErrorFactory.build(); + + return { + applicationErrorStore, + applicationError, + }; + }; + + it("should log the error to the console", async () => { + const { applicationError } = setup(); + + handleApplicationError(applicationError); + + expect(consoleErrorSpy).toHaveBeenCalledWith(applicationError); + }); + + it("should set the error in the store", async () => { + const { applicationErrorStore, applicationError } = setup(); + + handleApplicationError(applicationError); + + expect(applicationErrorStore.setError).toHaveBeenCalledWith( + applicationError + ); + }); + }); + + describe("when handling other errors", () => { + const setup = () => { + const applicationErrorStore = useApplicationErrorStore(); + + const error = new Error(); + + return { + applicationErrorStore, + error, + }; + }; + + it("should log the error to the console", async () => { + const { error } = setup(); + + handleApplicationError(error); + + expect(consoleErrorSpy).toHaveBeenCalledWith(error); + }); + + it("should set the error in the store", async () => { + const { applicationErrorStore, error } = setup(); + + handleApplicationError(error); + + expect(applicationErrorStore.setError).toHaveBeenCalledWith( + new ApplicationError({ + statusCode: HttpStatusCode.InternalServerError, + translationKey: "error.generic", + }) + ); + }); + }); + }); +}); diff --git a/src/plugins/axios.d.ts b/src/plugins/axios.d.ts new file mode 100644 index 0000000..18e9c6d --- /dev/null +++ b/src/plugins/axios.d.ts @@ -0,0 +1,11 @@ +import { AxiosInstance } from "axios"; + +declare module "vue/types/vue" { + export interface Vue { + $axios: AxiosInstance; + } + + export interface VueConstructor { + axios: AxiosInstance; + } +} diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts new file mode 100644 index 0000000..488725f --- /dev/null +++ b/src/plugins/i18n.ts @@ -0,0 +1,61 @@ +import deDE from "@/locales/de"; +import enGB from "@/locales/en"; +import esES from "@/locales/es"; +import { MessageSchema } from "@/locales/schema"; +import ukUA from "@/locales/uk"; +import { useEnvConfigStore } from "@data/env-config"; +import { NumberFormatOptions } from "@intlify/core-base"; +import { createI18n } from "vue-i18n"; + +export type SupportedLanguages = "en" | "de" | "es" | "uk"; + +export type LocaleMessages = Record; + +export type LocaleNumberFormat = Record< + SupportedLanguages, + Record +>; + +const messages: LocaleMessages = { + en: enGB, + de: deDE, + es: esES, + uk: ukUA, +}; + +const fileSizeFormat = { + maximumFractionDigits: 2, +}; + +const numberFormats: LocaleNumberFormat = { + de: { + fileSize: fileSizeFormat, + }, + en: { + fileSize: fileSizeFormat, + }, + es: { + fileSize: fileSizeFormat, + }, + uk: { + fileSize: fileSizeFormat, + }, +}; + +const localCreateI18n = () => { + const envConfigStore = useEnvConfigStore(); + + // If false, the type is a Composer instance for the Composition API, if true, the type is a VueI18n instance for the legacy API + // https://vue-i18n.intlify.dev/guide/advanced/typescript#global-resource-schema-type-definition + const i18n = createI18n({ + legacy: false, + locale: envConfigStore.getEnvs.I18N__DEFAULT_LANGUAGE || "de", + fallbackLocale: envConfigStore.getEnvs.I18N__FALLBACK_LANGUAGE || "de", + messages: messages, + numberFormats, + }); + + return i18n; +}; + +export { localCreateI18n as createI18n }; diff --git a/src/plugins/i18n.unit.ts b/src/plugins/i18n.unit.ts new file mode 100644 index 0000000..5094dc3 --- /dev/null +++ b/src/plugins/i18n.unit.ts @@ -0,0 +1,71 @@ +import { LanguageType } from "@/serverApi/v3"; +import { envsFactory } from "@@/tests/test-utils/factory"; +import { useEnvConfigStore } from "@data/env-config"; +import { createPinia, setActivePinia } from "pinia"; +import { unref } from "vue"; +import { createI18n, LocaleNumberFormat } from "./i18n"; + +describe("i18n plugin", () => { + beforeEach(() => { + setActivePinia(createPinia()); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("when creating the i18n plugin", () => { + const setup = () => { + const envs = envsFactory.build({ + I18N__DEFAULT_LANGUAGE: LanguageType.DE, + I18N__FALLBACK_LANGUAGE: LanguageType.EN, + }); + + useEnvConfigStore().setEnvs(envs); + }; + + it("should set the locales from the config", () => { + setup(); + + const i18n = createI18n(); + + expect(unref(i18n.global.locale)).toEqual(LanguageType.DE); + expect(unref(i18n.global.fallbackLocale)).toEqual(LanguageType.EN); + }); + + it("sets the number formats for all supported languages correctly", () => { + setup(); + + const i18n = createI18n(); + + const numberFormats = unref( + i18n.global.numberFormats + ) as LocaleNumberFormat; + + expect(unref(numberFormats).de.fileSize.maximumFractionDigits).toEqual(2); + expect(unref(numberFormats).en.fileSize.maximumFractionDigits).toEqual(2); + expect(unref(numberFormats).es.fileSize.maximumFractionDigits).toEqual(2); + expect(unref(numberFormats).uk.fileSize.maximumFractionDigits).toEqual(2); + }); + }); + + describe("when the envs are undefined", () => { + const setup = () => { + const envs = envsFactory.build({ + I18N__DEFAULT_LANGUAGE: undefined, + I18N__FALLBACK_LANGUAGE: undefined, + }); + + useEnvConfigStore().setEnvs(envs); + }; + + it("should set the locale to 'de'", () => { + setup(); + + const i18n = createI18n(); + + expect(unref(i18n.global.locale)).toEqual("de"); + expect(unref(i18n.global.fallbackLocale)).toEqual("de"); + }); + }); +}); diff --git a/src/plugins/vuetify.options.ts b/src/plugins/vuetify.options.ts new file mode 100644 index 0000000..efbe4db --- /dev/null +++ b/src/plugins/vuetify.options.ts @@ -0,0 +1,63 @@ +import * as materialAliases from "@/icons/material"; +import { type ThemeDefinition } from "vuetify"; +import { aliases, mdi } from "vuetify/iconsets/mdi-svg"; + +declare global { + interface Window { + nonce: string; + } +} + +const theme: ThemeDefinition = { + dark: false, + colors: { + primary: "#9e292b", + "primary-darken-1": "#800416", + "primary-lighten": "#f5eaea", + accent: "#e98404", + white: "#ffffff", + info: "#0a7ac9", + "info-darken-1": "#0e8c71", + success: "#13ba98", + "success-darken-1": "#0e8c71", + warning: "#ff8311", + "warning-lighten-1": "#fff0e2", + error: "#ff1134", + "error-darken-1": "#bf0d26", + "surface-variant": "#4E555D", + "on-surface-variant": "#F7F7F8", + "on-surface": "#3a424b", + "on-background": "#3a424b", + "on-white": "#3a424b", + "surface-light": "#f3f4f4", + "on-surface-light": "#3a424b", + }, + variables: { + "high-emphasis-opacity": 1, + "medium-emphasis-opacity": 0.8, + "disabled-opacity": 0.6, + }, +}; + +export default { + theme: { + cspNonce: "**CSP_NONCE**", + options: { + customProperties: true, + cspNonce: window.nonce, + }, + themes: { + light: theme, + }, + }, + icons: { + defaultSet: "mdi", + aliases: { + ...aliases, + ...materialAliases, + }, + sets: { + mdi, + }, + }, +}; diff --git a/src/plugins/vuetify.ts b/src/plugins/vuetify.ts new file mode 100644 index 0000000..2543a3a --- /dev/null +++ b/src/plugins/vuetify.ts @@ -0,0 +1,20 @@ +// Stylesheets must be imported before any Component for the @layer styles to work +import "@/styles/main.scss"; +import { createVuetify } from "vuetify"; + +import theme from "./vuetify.options"; + +export default createVuetify({ + ...theme, + defaults: { + VAlert: { variant: "tonal" }, + VAutocomplete: { color: "primary" }, + VCheckbox: { color: "primary" }, + VFileInput: { variant: "underlined", color: "primary" }, + VSelect: { variant: "underlined", color: "primary" }, + VSwitch: { inset: true, flat: true, color: "primary" }, + VTabs: { color: "primary" }, + VTextarea: { variant: "underlined", color: "primary" }, + VTextField: { variant: "underlined", color: "primary" }, + }, +}); diff --git a/src/plugins/vuetify.unit.ts b/src/plugins/vuetify.unit.ts new file mode 100644 index 0000000..9ec23a2 --- /dev/null +++ b/src/plugins/vuetify.unit.ts @@ -0,0 +1,41 @@ +import { mount } from "@vue/test-utils"; +import { defineComponent } from "vue"; +import { VBtn } from "vuetify/lib/components/index.mjs"; +import vuetify from "./vuetify"; + +jest.mock("vuetify/styles", () => ({}), { virtual: true }); +jest.mock( + "vuetify/iconsets/mdi-svg", + () => ({ + aliases: [], + mdi: [], + }), + { virtual: true } +); + +describe("vuetify plugin", () => { + describe("when creating the vuetify plugin", () => { + const setup = () => { + const TestComponent = defineComponent({ + template: "", + components: { VBtn }, + }); + + const wrapper = mount(TestComponent, { + global: { plugins: [vuetify] }, + }); + + return { + wrapper, + }; + }; + + it("should make vuetify components available", () => { + const { wrapper } = setup(); + + const button = wrapper.findComponent(VBtn); + + expect(button.exists()).toEqual(true); + }); + }); +}); diff --git a/src/router/guards/index.ts b/src/router/guards/index.ts new file mode 100644 index 0000000..363689b --- /dev/null +++ b/src/router/guards/index.ts @@ -0,0 +1 @@ +export * from "./is-authenticated.guard"; diff --git a/src/router/guards/is-authenticated.guard.ts b/src/router/guards/is-authenticated.guard.ts new file mode 100644 index 0000000..fe8eadc --- /dev/null +++ b/src/router/guards/is-authenticated.guard.ts @@ -0,0 +1,26 @@ +import { useAuthStore } from "@data/auth"; +import { NavigationGuardNext, RouteLocationNormalized } from "vue-router"; +import { getLoginUrlWithRedirect } from "./login-redirect-url"; + +export const isAuthenticatedGuard = ( + to: RouteLocationNormalized, + from: RouteLocationNormalized, + next: NavigationGuardNext +) => { + const userIsLoggedIn = useAuthStore().isLoggedIn; + + if (userIsLoggedIn || isRoutePublic(to)) { + next(); + } else { + const loginUrl = getLoginUrlWithRedirect(to.fullPath); + window.location.assign(loginUrl); + } +}; + +const isRoutePublic = (route: RouteLocationNormalized) => { + if (typeof route.meta?.isPublic === "boolean") { + return route.meta.isPublic; + } else { + return false; + } +}; diff --git a/src/router/guards/is-authenticated.unit.ts b/src/router/guards/is-authenticated.unit.ts new file mode 100644 index 0000000..d500338 --- /dev/null +++ b/src/router/guards/is-authenticated.unit.ts @@ -0,0 +1,121 @@ +import { meResponseFactory } from "@@/tests/test-utils/factory"; +import { useAuthStore } from "@data/auth"; +import { createTestingPinia } from "@pinia/testing"; +import { setActivePinia } from "pinia"; +import { RouteLocationNormalized } from "vue-router"; +import { isAuthenticatedGuard } from "./is-authenticated.guard"; + +jest.mock("./login-redirect-url", () => ({ + getLoginUrlWithRedirect: () => "login-url", +})); + +describe("Authentication Guard", () => { + beforeEach(() => { + setActivePinia(createTestingPinia()); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("isAuthenticatedGuard", () => { + describe("when authenticated", () => { + const setup = () => { + const to: RouteLocationNormalized = { + fullPath: "/test", + } as RouteLocationNormalized; + const from: RouteLocationNormalized = {} as RouteLocationNormalized; + const next = jest.fn(); + const authStore = useAuthStore(); + + authStore.me = meResponseFactory.build(); + + return { + to, + from, + next, + }; + }; + + it("should pass", () => { + const { to, from, next } = setup(); + + isAuthenticatedGuard(to, from, next); + + expect(next).toHaveBeenCalled(); + }); + }); + + describe("when the url is public", () => { + const setup = () => { + const to: RouteLocationNormalized = { + fullPath: "/test", + meta: { + isPublic: true, + }, + } as unknown as RouteLocationNormalized; + const from: RouteLocationNormalized = {} as RouteLocationNormalized; + const next = jest.fn(); + const authStore = useAuthStore(); + + authStore.me = null; + + return { + to, + from, + next, + }; + }; + + it("should pass", () => { + const { to, from, next } = setup(); + + isAuthenticatedGuard(to, from, next); + + expect(next).toHaveBeenCalled(); + }); + }); + + describe("when not authenticated and the url is not public", () => { + const setup = () => { + const to: RouteLocationNormalized = { + fullPath: "/test", + } as RouteLocationNormalized; + const from: RouteLocationNormalized = {} as RouteLocationNormalized; + const next = jest.fn(); + const authStore = useAuthStore(); + + authStore.me = null; + + const assign = jest.fn(); + Object.defineProperty(window, "location", { + configurable: true, + value: { assign }, + }); + + return { + to, + from, + next, + assign, + }; + }; + + it("should redirect to login", () => { + const { to, from, next, assign } = setup(); + + isAuthenticatedGuard(to, from, next); + + expect(assign).toHaveBeenCalledWith("login-url"); + }); + + it("should not pass", () => { + const { to, from, next } = setup(); + + isAuthenticatedGuard(to, from, next); + + expect(next).not.toHaveBeenCalled(); + }); + }); + }); +}); diff --git a/src/router/guards/login-redirect-url.ts b/src/router/guards/login-redirect-url.ts new file mode 100644 index 0000000..32d9aee --- /dev/null +++ b/src/router/guards/login-redirect-url.ts @@ -0,0 +1,37 @@ +import { useEnvConfigStore } from "@data/env-config"; + +export const getLoginUrlWithRedirect = (targetPath: string): string => { + const currentOrigin = window.location.origin; + + const currentUrl = new URL(targetPath, currentOrigin); + const loginUrl = new URL( + useEnvConfigStore().getEnvs.NOT_AUTHENTICATED_REDIRECT_URL, + currentOrigin // fallback to current origin, if a relative url is configured + ); + + const isInternalUrl = currentUrl.origin === loginUrl.origin; + + if (isInternalUrl) { + return addRedirectAsParam(loginUrl, currentUrl); + } + + return addRedirectAsParamToUrlParams(loginUrl, currentUrl); +}; + +const addRedirectAsParam = (loginUrl: URL, currentUrl: URL) => { + loginUrl.searchParams.set("redirect", currentUrl.toString()); + return loginUrl.toString(); +}; + +const addRedirectAsParamToUrlParams = (loginUrl: URL, currentUrl: URL) => { + for (const [name, value] of loginUrl.searchParams.entries()) { + const isSchulcloudUrl = value.indexOf(currentUrl.origin) === 0; + if (isSchulcloudUrl) { + const urlInParameters = new URL(value); + urlInParameters.searchParams.set("redirect", currentUrl.toString()); + loginUrl.searchParams.set(name, urlInParameters.toString()); + } + } + + return loginUrl.toString(); +}; diff --git a/src/router/guards/login-redirect-url.unit.ts b/src/router/guards/login-redirect-url.unit.ts new file mode 100644 index 0000000..dd1d479 --- /dev/null +++ b/src/router/guards/login-redirect-url.unit.ts @@ -0,0 +1,87 @@ +import { envsFactory } from "@@/tests/test-utils/factory"; +import { useEnvConfigStore } from "@data/env-config"; +import { createPinia, setActivePinia } from "pinia"; +import { getLoginUrlWithRedirect } from "./login-redirect-url"; + +describe("Login Redirect Util", () => { + beforeEach(() => { + setActivePinia(createPinia()); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + describe("getLoginUrlWithRedirect", () => { + describe("when redirecting to internal login before redirecting to the target url", () => { + const setup = () => { + const loginUrl = "https://test.com/login"; + const targetPath = "/dashboard"; + const origin = "https://test.com"; + const envConfigStore = useEnvConfigStore(); + + envConfigStore.setEnvs( + envsFactory.build({ + NOT_AUTHENTICATED_REDIRECT_URL: loginUrl, + }) + ); + + jest.spyOn(window, "location", "get").mockReturnValue({ + origin: origin, + } as Location); + + return { + loginUrl, + targetPath, + origin, + }; + }; + + it("should redirect to internal login with post-login-redirect to internal target url", () => { + const { loginUrl, targetPath, origin } = setup(); + + const result = getLoginUrlWithRedirect(targetPath); + + expect(result).toEqual( + `${loginUrl}?redirect=${encodeURIComponent(`${origin}${targetPath}`)}` + ); + }); + }); + + describe("when redirecting to an external login before redirecting to the target url", () => { + const setup = () => { + const origin = "https://test.com"; + const loginUrl = `https://external-login.thr/login?service=${encodeURIComponent(origin)}`; + const targetPath = "/dashboard"; + const envConfigStore = useEnvConfigStore(); + + envConfigStore.setEnvs( + envsFactory.build({ + NOT_AUTHENTICATED_REDIRECT_URL: loginUrl, + }) + ); + + jest.spyOn(window, "location", "get").mockReturnValue({ + origin: origin, + } as Location); + + return { + loginUrl, + targetPath, + origin, + }; + }; + + it("should redirect to external login with post-login-redirect to internal target url", () => { + const { loginUrl, targetPath, origin } = setup(); + + const result = getLoginUrlWithRedirect(targetPath); + + const redirectUri = encodeURIComponent(`${origin}${targetPath}`); + expect(result).toEqual( + `${loginUrl}${encodeURIComponent(`/?redirect=${redirectUri}`)}` + ); + }); + }); + }); +}); diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..7ddb1a6 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,12 @@ +import { createRouter, createWebHistory } from "vue-router"; +import { routes } from "./routes"; + +const router = createRouter({ + history: createWebHistory("/"), + routes, +}); + +// TODO N21-2133: Add authentication +// router.beforeEach(isAuthenticatedGuard); + +export default router; diff --git a/src/router/routes.ts b/src/router/routes.ts new file mode 100644 index 0000000..3de40d2 --- /dev/null +++ b/src/router/routes.ts @@ -0,0 +1,16 @@ +import HomeView from "@page/HomeView.vue"; +import { RouteRecordRaw } from "vue-router"; + +// routes configuration sorted in alphabetical order +export const routes: Readonly = [ + { + path: "/", + name: "home", + component: HomeView, + }, + { + path: "/about", + name: "about", + component: () => import("@page/AboutView.vue"), + }, +]; diff --git a/src/serverApi/v3/.gitignore b/src/serverApi/v3/.gitignore new file mode 100644 index 0000000..149b576 --- /dev/null +++ b/src/serverApi/v3/.gitignore @@ -0,0 +1,4 @@ +wwwroot/*.js +node_modules +typings +dist diff --git a/src/serverApi/v3/.npmignore b/src/serverApi/v3/.npmignore new file mode 100644 index 0000000..999d88d --- /dev/null +++ b/src/serverApi/v3/.npmignore @@ -0,0 +1 @@ +# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm \ No newline at end of file diff --git a/src/serverApi/v3/.openapi-generator-ignore b/src/serverApi/v3/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/src/serverApi/v3/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/serverApi/v3/.openapi-generator/FILES b/src/serverApi/v3/.openapi-generator/FILES new file mode 100644 index 0000000..2d22a2f --- /dev/null +++ b/src/serverApi/v3/.openapi-generator/FILES @@ -0,0 +1,306 @@ +.gitignore +.npmignore +.openapi-generator-ignore +api.ts +api/account-api.ts +api/admin-students-api.ts +api/admin-teachers-api.ts +api/alert-api.ts +api/authentication-api.ts +api/authorization-api.ts +api/board-api.ts +api/board-card-api.ts +api/board-column-api.ts +api/board-element-api.ts +api/board-submission-api.ts +api/collaborative-storage-api.ts +api/collaborative-text-editor-api.ts +api/courses-api.ts +api/dashboard-api.ts +api/default-api.ts +api/group-api.ts +api/lesson-api.ts +api/me-api.ts +api/media-board-api.ts +api/media-element-api.ts +api/media-line-api.ts +api/meta-tag-extractor-api.ts +api/news-api.ts +api/oauth2-api.ts +api/pseudonym-api.ts +api/rooms-api.ts +api/school-api.ts +api/share-token-api.ts +api/ssoapi.ts +api/submission-api.ts +api/systems-api.ts +api/task-api.ts +api/tool-api.ts +api/user-api.ts +api/user-import-api.ts +api/user-login-migration-api.ts +api/user-login-migration-rollback-api.ts +api/video-conference-api.ts +base.ts +common.ts +configuration.ts +git_push.sh +index.ts +models/account-by-id-body-params.ts +models/account-response.ts +models/account-search-list-response.ts +models/action.ts +models/alert-response.ts +models/api-validation-error.ts +models/authorization-body-params.ts +models/authorization-context-params.ts +models/authorized-reponse.ts +models/basic-tool-config-params.ts +models/board-context-response.ts +models/board-element-response.ts +models/board-external-reference-type.ts +models/board-layout.ts +models/board-parent-type.ts +models/board-response.ts +models/card-list-response.ts +models/card-response.ts +models/card-skeleton-response.ts +models/change-language-params.ts +models/class-info-response.ts +models/class-info-search-list-response.ts +models/class-request-context.ts +models/class-response.ts +models/class-sort-query-type.ts +models/collaborative-text-editor-element-response.ts +models/collaborative-text-editor-parent-type.ts +models/collaborative-text-editor-response.ts +models/collapsable-body-params.ts +models/color-body-params.ts +models/column-response.ts +models/config-response.ts +models/consent-request-body.ts +models/consent-response.ts +models/consent-session-response.ts +models/consents-response.ts +models/content-element-type.ts +models/context-external-tool-body-params.ts +models/context-external-tool-configuration-status-response.ts +models/context-external-tool-configuration-template-list-response.ts +models/context-external-tool-configuration-template-response.ts +models/context-external-tool-count-per-context-response.ts +models/context-external-tool-post-params.ts +models/context-external-tool-response.ts +models/context-external-tool-search-list-response.ts +models/copy-api-response.ts +models/county-response.ts +models/course-export-body-params.ts +models/course-info-response.ts +models/course-metadata-list-response.ts +models/course-metadata-response.ts +models/create-board-body-params.ts +models/create-board-response.ts +models/create-card-body-params.ts +models/create-content-element-body-params.ts +models/create-media-element-body-params.ts +models/create-news-params.ts +models/create-submission-item-body-params.ts +models/custom-parameter-entry-param.ts +models/custom-parameter-entry-response.ts +models/custom-parameter-post-params.ts +models/custom-parameter-response.ts +models/dashboard-grid-element-response.ts +models/dashboard-grid-sub-element-response.ts +models/dashboard-response.ts +models/drawing-content-body.ts +models/drawing-element-content-body.ts +models/drawing-element-content.ts +models/drawing-element-response.ts +models/entity-not-found-error.ts +models/external-source-response.ts +models/external-tool-bulk-create-params.ts +models/external-tool-content-body.ts +models/external-tool-create-params.ts +models/external-tool-element-content-body.ts +models/external-tool-element-content.ts +models/external-tool-element-response.ts +models/external-tool-medium-params.ts +models/external-tool-medium-response.ts +models/external-tool-metadata-response.ts +models/external-tool-response.ts +models/external-tool-search-list-response.ts +models/external-tool-update-params.ts +models/federal-state-response.ts +models/file-content-body.ts +models/file-element-content-body.ts +models/file-element-content.ts +models/file-element-response.ts +models/file-storage-type.ts +models/forbidden-operation-error.ts +models/force-migration-params.ts +models/get-meta-tag-data-body.ts +models/group-list-response.ts +models/group-response.ts +models/group-user-response.ts +models/import-user-list-response.ts +models/import-user-response.ts +models/index.ts +models/instance-feature.ts +models/language-type.ts +models/layout-body-params.ts +models/ldap-authorization-body-params.ts +models/lesson-content-response.ts +models/lesson-copy-api-params.ts +models/lesson-metadata-list-response.ts +models/lesson-metadata-response.ts +models/lesson-response.ts +models/link-content-body.ts +models/link-element-content-body.ts +models/link-element-content.ts +models/link-element-response.ts +models/local-authorization-body-params.ts +models/login-request-body.ts +models/login-response.ts +models/lti-message-type.ts +models/lti-privacy-permission.ts +models/lti11-tool-config-create-params.ts +models/lti11-tool-config-update-params.ts +models/material-response.ts +models/me-account-response.ts +models/me-response.ts +models/me-role-response.ts +models/me-school-logo-response.ts +models/me-school-response.ts +models/me-user-response.ts +models/media-available-line-element-response.ts +models/media-available-line-response.ts +models/media-board-colors.ts +models/media-board-layout-type.ts +models/media-board-response.ts +models/media-external-tool-element-content.ts +models/media-external-tool-element-response.ts +models/media-line-response.ts +models/message-origin.ts +models/message.ts +models/meta-tag-extractor-response.ts +models/move-card-body-params.ts +models/move-column-body-params.ts +models/move-content-element-body.ts +models/move-element-body-params.ts +models/move-element-params.ts +models/move-element-position-params.ts +models/news-list-response.ts +models/news-response.ts +models/news-target-model.ts +models/oauth-client-create-body.ts +models/oauth-client-response.ts +models/oauth-client-update-body.ts +models/oauth-config-response.ts +models/oauth-token-dto.ts +models/oauth2-authorization-body-params.ts +models/oauth2-migration-params.ts +models/oauth2-tool-config-create-params.ts +models/oauth2-tool-config-update-params.ts +models/oidc-context-response.ts +models/parent-consent-response.ts +models/patch-group-params.ts +models/patch-my-account-params.ts +models/patch-my-password-params.ts +models/patch-order-params.ts +models/patch-visibility-params.ts +models/permission.ts +models/provider-config-response.ts +models/pseudonym-response.ts +models/public-system-list-response.ts +models/public-system-response.ts +models/redirect-response.ts +models/rename-body-params.ts +models/resolved-user-response.ts +models/rich-text-content-body.ts +models/rich-text-element-content-body.ts +models/rich-text-element-content.ts +models/rich-text-element-response.ts +models/rich-text.ts +models/role-name.ts +models/school-exists-response.ts +models/school-external-tool-configuration-status-response.ts +models/school-external-tool-configuration-template-list-response.ts +models/school-external-tool-configuration-template-response.ts +models/school-external-tool-metadata-response.ts +models/school-external-tool-post-params.ts +models/school-external-tool-response.ts +models/school-external-tool-search-list-response.ts +models/school-feature.ts +models/school-for-external-invite-response.ts +models/school-for-ldap-login-response.ts +models/school-info-response.ts +models/school-logo.ts +models/school-permissions-params.ts +models/school-purpose.ts +models/school-response.ts +models/school-system-response.ts +models/school-update-body-params.ts +models/school-year-query-type.ts +models/school-year-response.ts +models/schul-conne-xprovisioning-options-params.ts +models/schul-conne-xprovisioning-options-response.ts +models/schulcloud-theme.ts +models/set-height-body-params.ts +models/share-token-body-params.ts +models/share-token-import-body-params.ts +models/share-token-info-response.ts +models/share-token-payload-response.ts +models/share-token-response.ts +models/single-column-board-response.ts +models/student-permission-params.ts +models/submission-container-content-body.ts +models/submission-container-element-content-body.ts +models/submission-container-element-content.ts +models/submission-container-element-response.ts +models/submission-item-response.ts +models/submission-status-list-response.ts +models/submission-status-response.ts +models/submissions-response.ts +models/successful-response.ts +models/system-for-ldap-login-response.ts +models/system-type.ts +models/target-info-response.ts +models/task-copy-api-params.ts +models/task-list-response.ts +models/task-response.ts +models/task-status-response.ts +models/teacher-permission-params.ts +models/team-permissions-body.ts +models/timestamps-response.ts +models/timezone.ts +models/tool-config-type.ts +models/tool-context-type.ts +models/tool-context-types-list-response.ts +models/tool-launch-request-response.ts +models/tool-reference-list-response.ts +models/tool-reference-response.ts +models/update-board-title-params.ts +models/update-element-content-body-params.ts +models/update-flag-params.ts +models/update-match-params.ts +models/update-news-params.ts +models/update-submission-item-body-params.ts +models/user-consent-response.ts +models/user-data-response.ts +models/user-info-response.ts +models/user-list-response.ts +models/user-login-migration-mandatory-params.ts +models/user-login-migration-response.ts +models/user-login-migration-search-list-response.ts +models/user-match-list-response.ts +models/user-match-response.ts +models/user-response.ts +models/validation-error.ts +models/video-conference-create-params.ts +models/video-conference-info-response.ts +models/video-conference-join-response.ts +models/video-conference-options-response.ts +models/video-conference-scope.ts +models/video-conference-state-response.ts +models/visibility-body-params.ts +models/visibility-settings-response.ts +models/years-response.ts diff --git a/src/serverApi/v3/.openapi-generator/VERSION b/src/serverApi/v3/.openapi-generator/VERSION new file mode 100644 index 0000000..acf69b4 --- /dev/null +++ b/src/serverApi/v3/.openapi-generator/VERSION @@ -0,0 +1 @@ +5.1.0 \ No newline at end of file diff --git a/src/serverApi/v3/api.ts b/src/serverApi/v3/api.ts new file mode 100644 index 0000000..3107427 --- /dev/null +++ b/src/serverApi/v3/api.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +export * from './api/account-api'; +export * from './api/admin-students-api'; +export * from './api/admin-teachers-api'; +export * from './api/alert-api'; +export * from './api/authentication-api'; +export * from './api/authorization-api'; +export * from './api/board-api'; +export * from './api/board-card-api'; +export * from './api/board-column-api'; +export * from './api/board-element-api'; +export * from './api/board-submission-api'; +export * from './api/collaborative-storage-api'; +export * from './api/collaborative-text-editor-api'; +export * from './api/courses-api'; +export * from './api/dashboard-api'; +export * from './api/default-api'; +export * from './api/group-api'; +export * from './api/lesson-api'; +export * from './api/me-api'; +export * from './api/media-board-api'; +export * from './api/media-element-api'; +export * from './api/media-line-api'; +export * from './api/meta-tag-extractor-api'; +export * from './api/news-api'; +export * from './api/oauth2-api'; +export * from './api/pseudonym-api'; +export * from './api/rooms-api'; +export * from './api/ssoapi'; +export * from './api/school-api'; +export * from './api/share-token-api'; +export * from './api/submission-api'; +export * from './api/systems-api'; +export * from './api/task-api'; +export * from './api/tool-api'; +export * from './api/user-api'; +export * from './api/user-import-api'; +export * from './api/user-login-migration-api'; +export * from './api/user-login-migration-rollback-api'; +export * from './api/video-conference-api'; + diff --git a/src/serverApi/v3/api/account-api.ts b/src/serverApi/v3/api/account-api.ts new file mode 100644 index 0000000..75d1308 --- /dev/null +++ b/src/serverApi/v3/api/account-api.ts @@ -0,0 +1,614 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { AccountByIdBodyParams } from '../models'; +// @ts-ignore +import { AccountResponse } from '../models'; +// @ts-ignore +import { AccountSearchListResponse } from '../models'; +// @ts-ignore +import { EntityNotFoundError } from '../models'; +// @ts-ignore +import { ForbiddenOperationError } from '../models'; +// @ts-ignore +import { PatchMyAccountParams } from '../models'; +// @ts-ignore +import { PatchMyPasswordParams } from '../models'; +// @ts-ignore +import { ValidationError } from '../models'; +/** + * AccountApi - axios parameter creator + * @export + */ +export const AccountApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Deletes an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerDeleteAccountById: async (id: string, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('accountControllerDeleteAccountById', 'id', id) + const localVarPath = `/account/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerFindAccountById: async (id: string, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('accountControllerFindAccountById', 'id', id) + const localVarPath = `/account/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updates the the temporary account password for the authenticated user. + * @param {PatchMyPasswordParams} patchMyPasswordParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerReplaceMyPassword: async (patchMyPasswordParams: PatchMyPasswordParams, options: any = {}): Promise => { + // verify required parameter 'patchMyPasswordParams' is not null or undefined + assertParamExists('accountControllerReplaceMyPassword', 'patchMyPasswordParams', patchMyPasswordParams) + const localVarPath = `/account/me/password`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(patchMyPasswordParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED. + * @param {'userId' | 'username'} type The search criteria. + * @param {string} value The search value. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerSearchAccounts: async (type: 'userId' | 'username', value: string, skip?: number, limit?: number, options: any = {}): Promise => { + // verify required parameter 'type' is not null or undefined + assertParamExists('accountControllerSearchAccounts', 'type', type) + // verify required parameter 'value' is not null or undefined + assertParamExists('accountControllerSearchAccounts', 'value', value) + const localVarPath = `/account`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (type !== undefined) { + localVarQueryParameter['type'] = type; + } + + if (value !== undefined) { + localVarQueryParameter['value'] = value; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updates an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {AccountByIdBodyParams} accountByIdBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerUpdateAccountById: async (id: string, accountByIdBodyParams: AccountByIdBodyParams, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('accountControllerUpdateAccountById', 'id', id) + // verify required parameter 'accountByIdBodyParams' is not null or undefined + assertParamExists('accountControllerUpdateAccountById', 'accountByIdBodyParams', accountByIdBodyParams) + const localVarPath = `/account/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(accountByIdBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updates an account for the authenticated user. + * @param {PatchMyAccountParams} patchMyAccountParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerUpdateMyAccount: async (patchMyAccountParams: PatchMyAccountParams, options: any = {}): Promise => { + // verify required parameter 'patchMyAccountParams' is not null or undefined + assertParamExists('accountControllerUpdateMyAccount', 'patchMyAccountParams', patchMyAccountParams) + const localVarPath = `/account/me`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(patchMyAccountParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AccountApi - functional programming interface + * @export + */ +export const AccountApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AccountApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Deletes an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async accountControllerDeleteAccountById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.accountControllerDeleteAccountById(id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async accountControllerFindAccountById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.accountControllerFindAccountById(id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updates the the temporary account password for the authenticated user. + * @param {PatchMyPasswordParams} patchMyPasswordParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async accountControllerReplaceMyPassword(patchMyPasswordParams: PatchMyPasswordParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.accountControllerReplaceMyPassword(patchMyPasswordParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED. + * @param {'userId' | 'username'} type The search criteria. + * @param {string} value The search value. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async accountControllerSearchAccounts(type: 'userId' | 'username', value: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.accountControllerSearchAccounts(type, value, skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updates an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {AccountByIdBodyParams} accountByIdBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async accountControllerUpdateAccountById(id: string, accountByIdBodyParams: AccountByIdBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.accountControllerUpdateAccountById(id, accountByIdBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updates an account for the authenticated user. + * @param {PatchMyAccountParams} patchMyAccountParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async accountControllerUpdateMyAccount(patchMyAccountParams: PatchMyAccountParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.accountControllerUpdateMyAccount(patchMyAccountParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * AccountApi - factory interface + * @export + */ +export const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AccountApiFp(configuration) + return { + /** + * + * @summary Deletes an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerDeleteAccountById(id: string, options?: any): AxiosPromise { + return localVarFp.accountControllerDeleteAccountById(id, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerFindAccountById(id: string, options?: any): AxiosPromise { + return localVarFp.accountControllerFindAccountById(id, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updates the the temporary account password for the authenticated user. + * @param {PatchMyPasswordParams} patchMyPasswordParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerReplaceMyPassword(patchMyPasswordParams: PatchMyPasswordParams, options?: any): AxiosPromise { + return localVarFp.accountControllerReplaceMyPassword(patchMyPasswordParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED. + * @param {'userId' | 'username'} type The search criteria. + * @param {string} value The search value. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerSearchAccounts(type: 'userId' | 'username', value: string, skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.accountControllerSearchAccounts(type, value, skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updates an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {AccountByIdBodyParams} accountByIdBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerUpdateAccountById(id: string, accountByIdBodyParams: AccountByIdBodyParams, options?: any): AxiosPromise { + return localVarFp.accountControllerUpdateAccountById(id, accountByIdBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updates an account for the authenticated user. + * @param {PatchMyAccountParams} patchMyAccountParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + accountControllerUpdateMyAccount(patchMyAccountParams: PatchMyAccountParams, options?: any): AxiosPromise { + return localVarFp.accountControllerUpdateMyAccount(patchMyAccountParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AccountApi - interface + * @export + * @interface AccountApi + */ +export interface AccountApiInterface { + /** + * + * @summary Deletes an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApiInterface + */ + accountControllerDeleteAccountById(id: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApiInterface + */ + accountControllerFindAccountById(id: string, options?: any): AxiosPromise; + + /** + * + * @summary Updates the the temporary account password for the authenticated user. + * @param {PatchMyPasswordParams} patchMyPasswordParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApiInterface + */ + accountControllerReplaceMyPassword(patchMyPasswordParams: PatchMyPasswordParams, options?: any): AxiosPromise; + + /** + * + * @summary Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED. + * @param {'userId' | 'username'} type The search criteria. + * @param {string} value The search value. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApiInterface + */ + accountControllerSearchAccounts(type: 'userId' | 'username', value: string, skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * + * @summary Updates an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {AccountByIdBodyParams} accountByIdBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApiInterface + */ + accountControllerUpdateAccountById(id: string, accountByIdBodyParams: AccountByIdBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Updates an account for the authenticated user. + * @param {PatchMyAccountParams} patchMyAccountParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApiInterface + */ + accountControllerUpdateMyAccount(patchMyAccountParams: PatchMyAccountParams, options?: any): AxiosPromise; + +} + +/** + * AccountApi - object-oriented interface + * @export + * @class AccountApi + * @extends {BaseAPI} + */ +export class AccountApi extends BaseAPI implements AccountApiInterface { + /** + * + * @summary Deletes an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public accountControllerDeleteAccountById(id: string, options?: any) { + return AccountApiFp(this.configuration).accountControllerDeleteAccountById(id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public accountControllerFindAccountById(id: string, options?: any) { + return AccountApiFp(this.configuration).accountControllerFindAccountById(id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updates the the temporary account password for the authenticated user. + * @param {PatchMyPasswordParams} patchMyPasswordParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public accountControllerReplaceMyPassword(patchMyPasswordParams: PatchMyPasswordParams, options?: any) { + return AccountApiFp(this.configuration).accountControllerReplaceMyPassword(patchMyPasswordParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED. + * @param {'userId' | 'username'} type The search criteria. + * @param {string} value The search value. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public accountControllerSearchAccounts(type: 'userId' | 'username', value: string, skip?: number, limit?: number, options?: any) { + return AccountApiFp(this.configuration).accountControllerSearchAccounts(type, value, skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updates an account with given id. Superhero role is REQUIRED. + * @param {string} id The id for the account. + * @param {AccountByIdBodyParams} accountByIdBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public accountControllerUpdateAccountById(id: string, accountByIdBodyParams: AccountByIdBodyParams, options?: any) { + return AccountApiFp(this.configuration).accountControllerUpdateAccountById(id, accountByIdBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updates an account for the authenticated user. + * @param {PatchMyAccountParams} patchMyAccountParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AccountApi + */ + public accountControllerUpdateMyAccount(patchMyAccountParams: PatchMyAccountParams, options?: any) { + return AccountApiFp(this.configuration).accountControllerUpdateMyAccount(patchMyAccountParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/admin-students-api.ts b/src/serverApi/v3/api/admin-students-api.ts new file mode 100644 index 0000000..d5ac039 --- /dev/null +++ b/src/serverApi/v3/api/admin-students-api.ts @@ -0,0 +1,293 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { EntityNotFoundError } from '../models'; +// @ts-ignore +import { ForbiddenOperationError } from '../models'; +// @ts-ignore +import { UserListResponse } from '../models'; +// @ts-ignore +import { UserResponse } from '../models'; +// @ts-ignore +import { ValidationError } from '../models'; +/** + * AdminStudentsApi - axios parameter creator + * @export + */ +export const AdminStudentsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Returns an student with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiStudentsControllerFindStudentById: async (id: string, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('adminApiStudentsControllerFindStudentById', 'id', id) + const localVarPath = `/users/admin/students/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns all students which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiStudentsControllerSearchStudents: async (skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options: any = {}): Promise => { + const localVarPath = `/users/admin/students`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if ($limit !== undefined) { + localVarQueryParameter['$limit'] = $limit; + } + + if ($skip !== undefined) { + localVarQueryParameter['$skip'] = $skip; + } + + if (classes) { + localVarQueryParameter['classes'] = classes; + } + + if (searchQuery !== undefined) { + localVarQueryParameter['searchQuery'] = searchQuery; + } + + if (users) { + localVarQueryParameter['users'] = users; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AdminStudentsApi - functional programming interface + * @export + */ +export const AdminStudentsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AdminStudentsApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Returns an student with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async adminApiStudentsControllerFindStudentById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.adminApiStudentsControllerFindStudentById(id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns all students which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async adminApiStudentsControllerSearchStudents(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.adminApiStudentsControllerSearchStudents(skip, limit, $limit, $skip, classes, searchQuery, users, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * AdminStudentsApi - factory interface + * @export + */ +export const AdminStudentsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AdminStudentsApiFp(configuration) + return { + /** + * + * @summary Returns an student with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiStudentsControllerFindStudentById(id: string, options?: any): AxiosPromise { + return localVarFp.adminApiStudentsControllerFindStudentById(id, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns all students which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiStudentsControllerSearchStudents(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any): AxiosPromise { + return localVarFp.adminApiStudentsControllerSearchStudents(skip, limit, $limit, $skip, classes, searchQuery, users, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AdminStudentsApi - interface + * @export + * @interface AdminStudentsApi + */ +export interface AdminStudentsApiInterface { + /** + * + * @summary Returns an student with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminStudentsApiInterface + */ + adminApiStudentsControllerFindStudentById(id: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns all students which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminStudentsApiInterface + */ + adminApiStudentsControllerSearchStudents(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any): AxiosPromise; + +} + +/** + * AdminStudentsApi - object-oriented interface + * @export + * @class AdminStudentsApi + * @extends {BaseAPI} + */ +export class AdminStudentsApi extends BaseAPI implements AdminStudentsApiInterface { + /** + * + * @summary Returns an student with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminStudentsApi + */ + public adminApiStudentsControllerFindStudentById(id: string, options?: any) { + return AdminStudentsApiFp(this.configuration).adminApiStudentsControllerFindStudentById(id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns all students which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminStudentsApi + */ + public adminApiStudentsControllerSearchStudents(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any) { + return AdminStudentsApiFp(this.configuration).adminApiStudentsControllerSearchStudents(skip, limit, $limit, $skip, classes, searchQuery, users, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/admin-teachers-api.ts b/src/serverApi/v3/api/admin-teachers-api.ts new file mode 100644 index 0000000..3b3f212 --- /dev/null +++ b/src/serverApi/v3/api/admin-teachers-api.ts @@ -0,0 +1,293 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { EntityNotFoundError } from '../models'; +// @ts-ignore +import { ForbiddenOperationError } from '../models'; +// @ts-ignore +import { UserListResponse } from '../models'; +// @ts-ignore +import { UserResponse } from '../models'; +// @ts-ignore +import { ValidationError } from '../models'; +/** + * AdminTeachersApi - axios parameter creator + * @export + */ +export const AdminTeachersApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Returns a teacher with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiTeachersControllerFindTeacherById: async (id: string, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('adminApiTeachersControllerFindTeacherById', 'id', id) + const localVarPath = `/users/admin/teachers/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns all teachers which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiTeachersControllerSearchTeachers: async (skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options: any = {}): Promise => { + const localVarPath = `/users/admin/teachers`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if ($limit !== undefined) { + localVarQueryParameter['$limit'] = $limit; + } + + if ($skip !== undefined) { + localVarQueryParameter['$skip'] = $skip; + } + + if (classes) { + localVarQueryParameter['classes'] = classes; + } + + if (searchQuery !== undefined) { + localVarQueryParameter['searchQuery'] = searchQuery; + } + + if (users) { + localVarQueryParameter['users'] = users; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AdminTeachersApi - functional programming interface + * @export + */ +export const AdminTeachersApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AdminTeachersApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Returns a teacher with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async adminApiTeachersControllerFindTeacherById(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.adminApiTeachersControllerFindTeacherById(id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns all teachers which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async adminApiTeachersControllerSearchTeachers(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.adminApiTeachersControllerSearchTeachers(skip, limit, $limit, $skip, classes, searchQuery, users, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * AdminTeachersApi - factory interface + * @export + */ +export const AdminTeachersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AdminTeachersApiFp(configuration) + return { + /** + * + * @summary Returns a teacher with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiTeachersControllerFindTeacherById(id: string, options?: any): AxiosPromise { + return localVarFp.adminApiTeachersControllerFindTeacherById(id, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns all teachers which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + adminApiTeachersControllerSearchTeachers(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any): AxiosPromise { + return localVarFp.adminApiTeachersControllerSearchTeachers(skip, limit, $limit, $skip, classes, searchQuery, users, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AdminTeachersApi - interface + * @export + * @interface AdminTeachersApi + */ +export interface AdminTeachersApiInterface { + /** + * + * @summary Returns a teacher with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminTeachersApiInterface + */ + adminApiTeachersControllerFindTeacherById(id: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns all teachers which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminTeachersApiInterface + */ + adminApiTeachersControllerSearchTeachers(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any): AxiosPromise; + +} + +/** + * AdminTeachersApi - object-oriented interface + * @export + * @class AdminTeachersApi + * @extends {BaseAPI} + */ +export class AdminTeachersApi extends BaseAPI implements AdminTeachersApiInterface { + /** + * + * @summary Returns a teacher with given id. + * @param {string} id The id of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminTeachersApi + */ + public adminApiTeachersControllerFindTeacherById(id: string, options?: any) { + return AdminTeachersApiFp(this.configuration).adminApiTeachersControllerFindTeacherById(id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns all teachers which satisfies the given criteria. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {number} [$limit] Page limit, defaults to 25. + * @param {number} [$skip] Number of elements (not pages) to be skipped + * @param {Array} [classes] + * @param {string} [searchQuery] + * @param {Array} [users] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AdminTeachersApi + */ + public adminApiTeachersControllerSearchTeachers(skip?: number, limit?: number, $limit?: number, $skip?: number, classes?: Array, searchQuery?: string, users?: Array, options?: any) { + return AdminTeachersApiFp(this.configuration).adminApiTeachersControllerSearchTeachers(skip, limit, $limit, $skip, classes, searchQuery, users, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/alert-api.ts b/src/serverApi/v3/api/alert-api.ts new file mode 100644 index 0000000..7832fbb --- /dev/null +++ b/src/serverApi/v3/api/alert-api.ts @@ -0,0 +1,137 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { AlertResponse } from '../models'; +/** + * AlertApi - axios parameter creator + * @export + */ +export const AlertApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get allerts + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + alertControllerFind: async (options: any = {}): Promise => { + const localVarPath = `/alert`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AlertApi - functional programming interface + * @export + */ +export const AlertApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AlertApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get allerts + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async alertControllerFind(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.alertControllerFind(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * AlertApi - factory interface + * @export + */ +export const AlertApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AlertApiFp(configuration) + return { + /** + * + * @summary Get allerts + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + alertControllerFind(options?: any): AxiosPromise { + return localVarFp.alertControllerFind(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AlertApi - interface + * @export + * @interface AlertApi + */ +export interface AlertApiInterface { + /** + * + * @summary Get allerts + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AlertApiInterface + */ + alertControllerFind(options?: any): AxiosPromise; + +} + +/** + * AlertApi - object-oriented interface + * @export + * @class AlertApi + * @extends {BaseAPI} + */ +export class AlertApi extends BaseAPI implements AlertApiInterface { + /** + * + * @summary Get allerts + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AlertApi + */ + public alertControllerFind(options?: any) { + return AlertApiFp(this.configuration).alertControllerFind(options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/authentication-api.ts b/src/serverApi/v3/api/authentication-api.ts new file mode 100644 index 0000000..a988e6e --- /dev/null +++ b/src/serverApi/v3/api/authentication-api.ts @@ -0,0 +1,315 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ForbiddenOperationError } from '../models'; +// @ts-ignore +import { LdapAuthorizationBodyParams } from '../models'; +// @ts-ignore +import { LocalAuthorizationBodyParams } from '../models'; +// @ts-ignore +import { LoginResponse } from '../models'; +// @ts-ignore +import { Oauth2AuthorizationBodyParams } from '../models'; +// @ts-ignore +import { ValidationError } from '../models'; +/** + * AuthenticationApi - axios parameter creator + * @export + */ +export const AuthenticationApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Starts the login process for users which are authenticated via LDAP + * @param {LdapAuthorizationBodyParams} ldapAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + loginControllerLoginLdap: async (ldapAuthorizationBodyParams: LdapAuthorizationBodyParams, options: any = {}): Promise => { + // verify required parameter 'ldapAuthorizationBodyParams' is not null or undefined + assertParamExists('loginControllerLoginLdap', 'ldapAuthorizationBodyParams', ldapAuthorizationBodyParams) + const localVarPath = `/authentication/ldap`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(ldapAuthorizationBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Starts the login process for users which are locally managed. + * @param {LocalAuthorizationBodyParams} localAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + loginControllerLoginLocal: async (localAuthorizationBodyParams: LocalAuthorizationBodyParams, options: any = {}): Promise => { + // verify required parameter 'localAuthorizationBodyParams' is not null or undefined + assertParamExists('loginControllerLoginLocal', 'localAuthorizationBodyParams', localAuthorizationBodyParams) + const localVarPath = `/authentication/local`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(localAuthorizationBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Starts the login process for users which are authenticated via OAuth 2. + * @param {Oauth2AuthorizationBodyParams} oauth2AuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + loginControllerLoginOauth2: async (oauth2AuthorizationBodyParams: Oauth2AuthorizationBodyParams, options: any = {}): Promise => { + // verify required parameter 'oauth2AuthorizationBodyParams' is not null or undefined + assertParamExists('loginControllerLoginOauth2', 'oauth2AuthorizationBodyParams', oauth2AuthorizationBodyParams) + const localVarPath = `/authentication/oauth2`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(oauth2AuthorizationBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AuthenticationApi - functional programming interface + * @export + */ +export const AuthenticationApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AuthenticationApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Starts the login process for users which are authenticated via LDAP + * @param {LdapAuthorizationBodyParams} ldapAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async loginControllerLoginLdap(ldapAuthorizationBodyParams: LdapAuthorizationBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.loginControllerLoginLdap(ldapAuthorizationBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Starts the login process for users which are locally managed. + * @param {LocalAuthorizationBodyParams} localAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async loginControllerLoginLocal(localAuthorizationBodyParams: LocalAuthorizationBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.loginControllerLoginLocal(localAuthorizationBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Starts the login process for users which are authenticated via OAuth 2. + * @param {Oauth2AuthorizationBodyParams} oauth2AuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async loginControllerLoginOauth2(oauth2AuthorizationBodyParams: Oauth2AuthorizationBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.loginControllerLoginOauth2(oauth2AuthorizationBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * AuthenticationApi - factory interface + * @export + */ +export const AuthenticationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AuthenticationApiFp(configuration) + return { + /** + * + * @summary Starts the login process for users which are authenticated via LDAP + * @param {LdapAuthorizationBodyParams} ldapAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + loginControllerLoginLdap(ldapAuthorizationBodyParams: LdapAuthorizationBodyParams, options?: any): AxiosPromise { + return localVarFp.loginControllerLoginLdap(ldapAuthorizationBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Starts the login process for users which are locally managed. + * @param {LocalAuthorizationBodyParams} localAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + loginControllerLoginLocal(localAuthorizationBodyParams: LocalAuthorizationBodyParams, options?: any): AxiosPromise { + return localVarFp.loginControllerLoginLocal(localAuthorizationBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Starts the login process for users which are authenticated via OAuth 2. + * @param {Oauth2AuthorizationBodyParams} oauth2AuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + loginControllerLoginOauth2(oauth2AuthorizationBodyParams: Oauth2AuthorizationBodyParams, options?: any): AxiosPromise { + return localVarFp.loginControllerLoginOauth2(oauth2AuthorizationBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AuthenticationApi - interface + * @export + * @interface AuthenticationApi + */ +export interface AuthenticationApiInterface { + /** + * + * @summary Starts the login process for users which are authenticated via LDAP + * @param {LdapAuthorizationBodyParams} ldapAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthenticationApiInterface + */ + loginControllerLoginLdap(ldapAuthorizationBodyParams: LdapAuthorizationBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Starts the login process for users which are locally managed. + * @param {LocalAuthorizationBodyParams} localAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthenticationApiInterface + */ + loginControllerLoginLocal(localAuthorizationBodyParams: LocalAuthorizationBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Starts the login process for users which are authenticated via OAuth 2. + * @param {Oauth2AuthorizationBodyParams} oauth2AuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthenticationApiInterface + */ + loginControllerLoginOauth2(oauth2AuthorizationBodyParams: Oauth2AuthorizationBodyParams, options?: any): AxiosPromise; + +} + +/** + * AuthenticationApi - object-oriented interface + * @export + * @class AuthenticationApi + * @extends {BaseAPI} + */ +export class AuthenticationApi extends BaseAPI implements AuthenticationApiInterface { + /** + * + * @summary Starts the login process for users which are authenticated via LDAP + * @param {LdapAuthorizationBodyParams} ldapAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthenticationApi + */ + public loginControllerLoginLdap(ldapAuthorizationBodyParams: LdapAuthorizationBodyParams, options?: any) { + return AuthenticationApiFp(this.configuration).loginControllerLoginLdap(ldapAuthorizationBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Starts the login process for users which are locally managed. + * @param {LocalAuthorizationBodyParams} localAuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthenticationApi + */ + public loginControllerLoginLocal(localAuthorizationBodyParams: LocalAuthorizationBodyParams, options?: any) { + return AuthenticationApiFp(this.configuration).loginControllerLoginLocal(localAuthorizationBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Starts the login process for users which are authenticated via OAuth 2. + * @param {Oauth2AuthorizationBodyParams} oauth2AuthorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthenticationApi + */ + public loginControllerLoginOauth2(oauth2AuthorizationBodyParams: Oauth2AuthorizationBodyParams, options?: any) { + return AuthenticationApiFp(this.configuration).loginControllerLoginOauth2(oauth2AuthorizationBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/authorization-api.ts b/src/serverApi/v3/api/authorization-api.ts new file mode 100644 index 0000000..05917d5 --- /dev/null +++ b/src/serverApi/v3/api/authorization-api.ts @@ -0,0 +1,155 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { AuthorizationBodyParams } from '../models'; +// @ts-ignore +import { AuthorizedReponse } from '../models'; +/** + * AuthorizationApi - axios parameter creator + * @export + */ +export const AuthorizationApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Checks if user is authorized to perform the given operation. + * @param {AuthorizationBodyParams} authorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + authorizationReferenceControllerAuthorizeByReference: async (authorizationBodyParams: AuthorizationBodyParams, options: any = {}): Promise => { + // verify required parameter 'authorizationBodyParams' is not null or undefined + assertParamExists('authorizationReferenceControllerAuthorizeByReference', 'authorizationBodyParams', authorizationBodyParams) + const localVarPath = `/authorization/by-reference`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(authorizationBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * AuthorizationApi - functional programming interface + * @export + */ +export const AuthorizationApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = AuthorizationApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Checks if user is authorized to perform the given operation. + * @param {AuthorizationBodyParams} authorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams: AuthorizationBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * AuthorizationApi - factory interface + * @export + */ +export const AuthorizationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = AuthorizationApiFp(configuration) + return { + /** + * + * @summary Checks if user is authorized to perform the given operation. + * @param {AuthorizationBodyParams} authorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams: AuthorizationBodyParams, options?: any): AxiosPromise { + return localVarFp.authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * AuthorizationApi - interface + * @export + * @interface AuthorizationApi + */ +export interface AuthorizationApiInterface { + /** + * + * @summary Checks if user is authorized to perform the given operation. + * @param {AuthorizationBodyParams} authorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthorizationApiInterface + */ + authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams: AuthorizationBodyParams, options?: any): AxiosPromise; + +} + +/** + * AuthorizationApi - object-oriented interface + * @export + * @class AuthorizationApi + * @extends {BaseAPI} + */ +export class AuthorizationApi extends BaseAPI implements AuthorizationApiInterface { + /** + * + * @summary Checks if user is authorized to perform the given operation. + * @param {AuthorizationBodyParams} authorizationBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof AuthorizationApi + */ + public authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams: AuthorizationBodyParams, options?: any) { + return AuthorizationApiFp(this.configuration).authorizationReferenceControllerAuthorizeByReference(authorizationBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/board-api.ts b/src/serverApi/v3/api/board-api.ts new file mode 100644 index 0000000..bf3b080 --- /dev/null +++ b/src/serverApi/v3/api/board-api.ts @@ -0,0 +1,754 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { BoardContextResponse } from '../models'; +// @ts-ignore +import { BoardResponse } from '../models'; +// @ts-ignore +import { ColumnResponse } from '../models'; +// @ts-ignore +import { CopyApiResponse } from '../models'; +// @ts-ignore +import { CreateBoardBodyParams } from '../models'; +// @ts-ignore +import { CreateBoardResponse } from '../models'; +// @ts-ignore +import { UpdateBoardTitleParams } from '../models'; +// @ts-ignore +import { VisibilityBodyParams } from '../models'; +/** + * BoardApi - axios parameter creator + * @export + */ +export const BoardApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a board copy. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerCopyBoard: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerCopyBoard', 'boardId', boardId) + const localVarPath = `/boards/{boardId}/copy` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Create a new board. + * @param {CreateBoardBodyParams} createBoardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerCreateBoard: async (createBoardBodyParams: CreateBoardBodyParams, options: any = {}): Promise => { + // verify required parameter 'createBoardBodyParams' is not null or undefined + assertParamExists('boardControllerCreateBoard', 'createBoardBodyParams', createBoardBodyParams) + const localVarPath = `/boards`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createBoardBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Create a new column on a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerCreateColumn: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerCreateColumn', 'boardId', boardId) + const localVarPath = `/boards/{boardId}/columns` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerDeleteBoard: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerDeleteBoard', 'boardId', boardId) + const localVarPath = `/boards/{boardId}` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the context of a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerGetBoardContext: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerGetBoardContext', 'boardId', boardId) + const localVarPath = `/boards/{boardId}/context` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the skeleton of a a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerGetBoardSkeleton: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerGetBoardSkeleton', 'boardId', boardId) + const localVarPath = `/boards/{boardId}` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the title of a board. + * @param {string} boardId The id of the board. + * @param {UpdateBoardTitleParams} updateBoardTitleParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerUpdateBoardTitle: async (boardId: string, updateBoardTitleParams: UpdateBoardTitleParams, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerUpdateBoardTitle', 'boardId', boardId) + // verify required parameter 'updateBoardTitleParams' is not null or undefined + assertParamExists('boardControllerUpdateBoardTitle', 'updateBoardTitleParams', updateBoardTitleParams) + const localVarPath = `/boards/{boardId}/title` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateBoardTitleParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the visibility of a board. + * @param {string} boardId The id of the board. + * @param {VisibilityBodyParams} visibilityBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerUpdateVisibility: async (boardId: string, visibilityBodyParams: VisibilityBodyParams, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('boardControllerUpdateVisibility', 'boardId', boardId) + // verify required parameter 'visibilityBodyParams' is not null or undefined + assertParamExists('boardControllerUpdateVisibility', 'visibilityBodyParams', visibilityBodyParams) + const localVarPath = `/boards/{boardId}/visibility` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(visibilityBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * BoardApi - functional programming interface + * @export + */ +export const BoardApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = BoardApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a board copy. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerCopyBoard(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerCopyBoard(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Create a new board. + * @param {CreateBoardBodyParams} createBoardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerCreateBoard(createBoardBodyParams: CreateBoardBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerCreateBoard(createBoardBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Create a new column on a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerCreateColumn(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerCreateColumn(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerDeleteBoard(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerDeleteBoard(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get the context of a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerGetBoardContext(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerGetBoardContext(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get the skeleton of a a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerGetBoardSkeleton(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerGetBoardSkeleton(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the title of a board. + * @param {string} boardId The id of the board. + * @param {UpdateBoardTitleParams} updateBoardTitleParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerUpdateBoardTitle(boardId: string, updateBoardTitleParams: UpdateBoardTitleParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerUpdateBoardTitle(boardId, updateBoardTitleParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the visibility of a board. + * @param {string} boardId The id of the board. + * @param {VisibilityBodyParams} visibilityBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardControllerUpdateVisibility(boardId: string, visibilityBodyParams: VisibilityBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardControllerUpdateVisibility(boardId, visibilityBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * BoardApi - factory interface + * @export + */ +export const BoardApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = BoardApiFp(configuration) + return { + /** + * + * @summary Create a board copy. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerCopyBoard(boardId: string, options?: any): AxiosPromise { + return localVarFp.boardControllerCopyBoard(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Create a new board. + * @param {CreateBoardBodyParams} createBoardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerCreateBoard(createBoardBodyParams: CreateBoardBodyParams, options?: any): AxiosPromise { + return localVarFp.boardControllerCreateBoard(createBoardBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Create a new column on a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerCreateColumn(boardId: string, options?: any): AxiosPromise { + return localVarFp.boardControllerCreateColumn(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerDeleteBoard(boardId: string, options?: any): AxiosPromise { + return localVarFp.boardControllerDeleteBoard(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the context of a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerGetBoardContext(boardId: string, options?: any): AxiosPromise { + return localVarFp.boardControllerGetBoardContext(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the skeleton of a a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerGetBoardSkeleton(boardId: string, options?: any): AxiosPromise { + return localVarFp.boardControllerGetBoardSkeleton(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the title of a board. + * @param {string} boardId The id of the board. + * @param {UpdateBoardTitleParams} updateBoardTitleParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerUpdateBoardTitle(boardId: string, updateBoardTitleParams: UpdateBoardTitleParams, options?: any): AxiosPromise { + return localVarFp.boardControllerUpdateBoardTitle(boardId, updateBoardTitleParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the visibility of a board. + * @param {string} boardId The id of the board. + * @param {VisibilityBodyParams} visibilityBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardControllerUpdateVisibility(boardId: string, visibilityBodyParams: VisibilityBodyParams, options?: any): AxiosPromise { + return localVarFp.boardControllerUpdateVisibility(boardId, visibilityBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * BoardApi - interface + * @export + * @interface BoardApi + */ +export interface BoardApiInterface { + /** + * + * @summary Create a board copy. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerCopyBoard(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Create a new board. + * @param {CreateBoardBodyParams} createBoardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerCreateBoard(createBoardBodyParams: CreateBoardBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Create a new column on a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerCreateColumn(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Delete a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerDeleteBoard(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get the context of a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerGetBoardContext(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get the skeleton of a a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerGetBoardSkeleton(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Update the title of a board. + * @param {string} boardId The id of the board. + * @param {UpdateBoardTitleParams} updateBoardTitleParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerUpdateBoardTitle(boardId: string, updateBoardTitleParams: UpdateBoardTitleParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the visibility of a board. + * @param {string} boardId The id of the board. + * @param {VisibilityBodyParams} visibilityBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApiInterface + */ + boardControllerUpdateVisibility(boardId: string, visibilityBodyParams: VisibilityBodyParams, options?: any): AxiosPromise; + +} + +/** + * BoardApi - object-oriented interface + * @export + * @class BoardApi + * @extends {BaseAPI} + */ +export class BoardApi extends BaseAPI implements BoardApiInterface { + /** + * + * @summary Create a board copy. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerCopyBoard(boardId: string, options?: any) { + return BoardApiFp(this.configuration).boardControllerCopyBoard(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Create a new board. + * @param {CreateBoardBodyParams} createBoardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerCreateBoard(createBoardBodyParams: CreateBoardBodyParams, options?: any) { + return BoardApiFp(this.configuration).boardControllerCreateBoard(createBoardBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Create a new column on a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerCreateColumn(boardId: string, options?: any) { + return BoardApiFp(this.configuration).boardControllerCreateColumn(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerDeleteBoard(boardId: string, options?: any) { + return BoardApiFp(this.configuration).boardControllerDeleteBoard(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the context of a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerGetBoardContext(boardId: string, options?: any) { + return BoardApiFp(this.configuration).boardControllerGetBoardContext(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the skeleton of a a board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerGetBoardSkeleton(boardId: string, options?: any) { + return BoardApiFp(this.configuration).boardControllerGetBoardSkeleton(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the title of a board. + * @param {string} boardId The id of the board. + * @param {UpdateBoardTitleParams} updateBoardTitleParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerUpdateBoardTitle(boardId: string, updateBoardTitleParams: UpdateBoardTitleParams, options?: any) { + return BoardApiFp(this.configuration).boardControllerUpdateBoardTitle(boardId, updateBoardTitleParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the visibility of a board. + * @param {string} boardId The id of the board. + * @param {VisibilityBodyParams} visibilityBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardApi + */ + public boardControllerUpdateVisibility(boardId: string, visibilityBodyParams: VisibilityBodyParams, options?: any) { + return BoardApiFp(this.configuration).boardControllerUpdateVisibility(boardId, visibilityBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/board-card-api.ts b/src/serverApi/v3/api/board-card-api.ts new file mode 100644 index 0000000..bebfe7f --- /dev/null +++ b/src/serverApi/v3/api/board-card-api.ts @@ -0,0 +1,619 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CardListResponse } from '../models'; +// @ts-ignore +import { CreateContentElementBodyParams } from '../models'; +// @ts-ignore +import { DrawingElementResponse } from '../models'; +// @ts-ignore +import { ExternalToolElementResponse } from '../models'; +// @ts-ignore +import { FileElementResponse } from '../models'; +// @ts-ignore +import { LinkElementResponse } from '../models'; +// @ts-ignore +import { MoveCardBodyParams } from '../models'; +// @ts-ignore +import { RenameBodyParams } from '../models'; +// @ts-ignore +import { RichTextElementResponse } from '../models'; +// @ts-ignore +import { SetHeightBodyParams } from '../models'; +// @ts-ignore +import { SubmissionContainerElementResponse } from '../models'; +/** + * BoardCardApi - axios parameter creator + * @export + */ +export const BoardCardApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a new element on a card. + * @param {string} cardId The id of the card. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerCreateElement: async (cardId: string, createContentElementBodyParams: CreateContentElementBodyParams, options: any = {}): Promise => { + // verify required parameter 'cardId' is not null or undefined + assertParamExists('cardControllerCreateElement', 'cardId', cardId) + // verify required parameter 'createContentElementBodyParams' is not null or undefined + assertParamExists('cardControllerCreateElement', 'createContentElementBodyParams', createContentElementBodyParams) + const localVarPath = `/cards/{cardId}/elements` + .replace(`{${"cardId"}}`, encodeURIComponent(String(cardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createContentElementBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a single card. + * @param {string} cardId The id of the card. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerDeleteCard: async (cardId: string, options: any = {}): Promise => { + // verify required parameter 'cardId' is not null or undefined + assertParamExists('cardControllerDeleteCard', 'cardId', cardId) + const localVarPath = `/cards/{cardId}` + .replace(`{${"cardId"}}`, encodeURIComponent(String(cardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get a list of cards by their ids. + * @param {Array} ids Array of Ids to be loaded + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerGetCards: async (ids: Array, options: any = {}): Promise => { + // verify required parameter 'ids' is not null or undefined + assertParamExists('cardControllerGetCards', 'ids', ids) + const localVarPath = `/cards`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (ids) { + localVarQueryParameter['ids'] = ids; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Move a single card. + * @param {string} cardId The id of the card. + * @param {MoveCardBodyParams} moveCardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerMoveCard: async (cardId: string, moveCardBodyParams: MoveCardBodyParams, options: any = {}): Promise => { + // verify required parameter 'cardId' is not null or undefined + assertParamExists('cardControllerMoveCard', 'cardId', cardId) + // verify required parameter 'moveCardBodyParams' is not null or undefined + assertParamExists('cardControllerMoveCard', 'moveCardBodyParams', moveCardBodyParams) + const localVarPath = `/cards/{cardId}/position` + .replace(`{${"cardId"}}`, encodeURIComponent(String(cardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(moveCardBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the height of a single card. + * @param {string} cardId The id of the card. + * @param {SetHeightBodyParams} setHeightBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerUpdateCardHeight: async (cardId: string, setHeightBodyParams: SetHeightBodyParams, options: any = {}): Promise => { + // verify required parameter 'cardId' is not null or undefined + assertParamExists('cardControllerUpdateCardHeight', 'cardId', cardId) + // verify required parameter 'setHeightBodyParams' is not null or undefined + assertParamExists('cardControllerUpdateCardHeight', 'setHeightBodyParams', setHeightBodyParams) + const localVarPath = `/cards/{cardId}/height` + .replace(`{${"cardId"}}`, encodeURIComponent(String(cardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(setHeightBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the title of a single card. + * @param {string} cardId The id of the card. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerUpdateCardTitle: async (cardId: string, renameBodyParams: RenameBodyParams, options: any = {}): Promise => { + // verify required parameter 'cardId' is not null or undefined + assertParamExists('cardControllerUpdateCardTitle', 'cardId', cardId) + // verify required parameter 'renameBodyParams' is not null or undefined + assertParamExists('cardControllerUpdateCardTitle', 'renameBodyParams', renameBodyParams) + const localVarPath = `/cards/{cardId}/title` + .replace(`{${"cardId"}}`, encodeURIComponent(String(cardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(renameBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * BoardCardApi - functional programming interface + * @export + */ +export const BoardCardApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = BoardCardApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a new element on a card. + * @param {string} cardId The id of the card. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async cardControllerCreateElement(cardId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cardControllerCreateElement(cardId, createContentElementBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a single card. + * @param {string} cardId The id of the card. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async cardControllerDeleteCard(cardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cardControllerDeleteCard(cardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get a list of cards by their ids. + * @param {Array} ids Array of Ids to be loaded + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async cardControllerGetCards(ids: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cardControllerGetCards(ids, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Move a single card. + * @param {string} cardId The id of the card. + * @param {MoveCardBodyParams} moveCardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async cardControllerMoveCard(cardId: string, moveCardBodyParams: MoveCardBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cardControllerMoveCard(cardId, moveCardBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the height of a single card. + * @param {string} cardId The id of the card. + * @param {SetHeightBodyParams} setHeightBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async cardControllerUpdateCardHeight(cardId: string, setHeightBodyParams: SetHeightBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cardControllerUpdateCardHeight(cardId, setHeightBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the title of a single card. + * @param {string} cardId The id of the card. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async cardControllerUpdateCardTitle(cardId: string, renameBodyParams: RenameBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.cardControllerUpdateCardTitle(cardId, renameBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * BoardCardApi - factory interface + * @export + */ +export const BoardCardApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = BoardCardApiFp(configuration) + return { + /** + * + * @summary Create a new element on a card. + * @param {string} cardId The id of the card. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerCreateElement(cardId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any): AxiosPromise { + return localVarFp.cardControllerCreateElement(cardId, createContentElementBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a single card. + * @param {string} cardId The id of the card. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerDeleteCard(cardId: string, options?: any): AxiosPromise { + return localVarFp.cardControllerDeleteCard(cardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get a list of cards by their ids. + * @param {Array} ids Array of Ids to be loaded + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerGetCards(ids: Array, options?: any): AxiosPromise { + return localVarFp.cardControllerGetCards(ids, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Move a single card. + * @param {string} cardId The id of the card. + * @param {MoveCardBodyParams} moveCardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerMoveCard(cardId: string, moveCardBodyParams: MoveCardBodyParams, options?: any): AxiosPromise { + return localVarFp.cardControllerMoveCard(cardId, moveCardBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the height of a single card. + * @param {string} cardId The id of the card. + * @param {SetHeightBodyParams} setHeightBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerUpdateCardHeight(cardId: string, setHeightBodyParams: SetHeightBodyParams, options?: any): AxiosPromise { + return localVarFp.cardControllerUpdateCardHeight(cardId, setHeightBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the title of a single card. + * @param {string} cardId The id of the card. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + cardControllerUpdateCardTitle(cardId: string, renameBodyParams: RenameBodyParams, options?: any): AxiosPromise { + return localVarFp.cardControllerUpdateCardTitle(cardId, renameBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * BoardCardApi - interface + * @export + * @interface BoardCardApi + */ +export interface BoardCardApiInterface { + /** + * + * @summary Create a new element on a card. + * @param {string} cardId The id of the card. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApiInterface + */ + cardControllerCreateElement(cardId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Delete a single card. + * @param {string} cardId The id of the card. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApiInterface + */ + cardControllerDeleteCard(cardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get a list of cards by their ids. + * @param {Array} ids Array of Ids to be loaded + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApiInterface + */ + cardControllerGetCards(ids: Array, options?: any): AxiosPromise; + + /** + * + * @summary Move a single card. + * @param {string} cardId The id of the card. + * @param {MoveCardBodyParams} moveCardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApiInterface + */ + cardControllerMoveCard(cardId: string, moveCardBodyParams: MoveCardBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the height of a single card. + * @param {string} cardId The id of the card. + * @param {SetHeightBodyParams} setHeightBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApiInterface + */ + cardControllerUpdateCardHeight(cardId: string, setHeightBodyParams: SetHeightBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the title of a single card. + * @param {string} cardId The id of the card. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApiInterface + */ + cardControllerUpdateCardTitle(cardId: string, renameBodyParams: RenameBodyParams, options?: any): AxiosPromise; + +} + +/** + * BoardCardApi - object-oriented interface + * @export + * @class BoardCardApi + * @extends {BaseAPI} + */ +export class BoardCardApi extends BaseAPI implements BoardCardApiInterface { + /** + * + * @summary Create a new element on a card. + * @param {string} cardId The id of the card. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApi + */ + public cardControllerCreateElement(cardId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any) { + return BoardCardApiFp(this.configuration).cardControllerCreateElement(cardId, createContentElementBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a single card. + * @param {string} cardId The id of the card. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApi + */ + public cardControllerDeleteCard(cardId: string, options?: any) { + return BoardCardApiFp(this.configuration).cardControllerDeleteCard(cardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get a list of cards by their ids. + * @param {Array} ids Array of Ids to be loaded + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApi + */ + public cardControllerGetCards(ids: Array, options?: any) { + return BoardCardApiFp(this.configuration).cardControllerGetCards(ids, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Move a single card. + * @param {string} cardId The id of the card. + * @param {MoveCardBodyParams} moveCardBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApi + */ + public cardControllerMoveCard(cardId: string, moveCardBodyParams: MoveCardBodyParams, options?: any) { + return BoardCardApiFp(this.configuration).cardControllerMoveCard(cardId, moveCardBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the height of a single card. + * @param {string} cardId The id of the card. + * @param {SetHeightBodyParams} setHeightBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApi + */ + public cardControllerUpdateCardHeight(cardId: string, setHeightBodyParams: SetHeightBodyParams, options?: any) { + return BoardCardApiFp(this.configuration).cardControllerUpdateCardHeight(cardId, setHeightBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the title of a single card. + * @param {string} cardId The id of the card. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardCardApi + */ + public cardControllerUpdateCardTitle(cardId: string, renameBodyParams: RenameBodyParams, options?: any) { + return BoardCardApiFp(this.configuration).cardControllerUpdateCardTitle(cardId, renameBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/board-column-api.ts b/src/serverApi/v3/api/board-column-api.ts new file mode 100644 index 0000000..2b5a1e0 --- /dev/null +++ b/src/serverApi/v3/api/board-column-api.ts @@ -0,0 +1,428 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CardResponse } from '../models'; +// @ts-ignore +import { CreateCardBodyParams } from '../models'; +// @ts-ignore +import { MoveColumnBodyParams } from '../models'; +// @ts-ignore +import { RenameBodyParams } from '../models'; +/** + * BoardColumnApi - axios parameter creator + * @export + */ +export const BoardColumnApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a new card on a column. + * @param {string} columnId The id of the column. + * @param {CreateCardBodyParams} [createCardBodyParams] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerCreateCard: async (columnId: string, createCardBodyParams?: CreateCardBodyParams, options: any = {}): Promise => { + // verify required parameter 'columnId' is not null or undefined + assertParamExists('columnControllerCreateCard', 'columnId', columnId) + const localVarPath = `/columns/{columnId}/cards` + .replace(`{${"columnId"}}`, encodeURIComponent(String(columnId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createCardBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a single column. + * @param {string} columnId The id of the column. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerDeleteColumn: async (columnId: string, options: any = {}): Promise => { + // verify required parameter 'columnId' is not null or undefined + assertParamExists('columnControllerDeleteColumn', 'columnId', columnId) + const localVarPath = `/columns/{columnId}` + .replace(`{${"columnId"}}`, encodeURIComponent(String(columnId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Move a single column. + * @param {string} columnId The id of the column. + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerMoveColumn: async (columnId: string, moveColumnBodyParams: MoveColumnBodyParams, options: any = {}): Promise => { + // verify required parameter 'columnId' is not null or undefined + assertParamExists('columnControllerMoveColumn', 'columnId', columnId) + // verify required parameter 'moveColumnBodyParams' is not null or undefined + assertParamExists('columnControllerMoveColumn', 'moveColumnBodyParams', moveColumnBodyParams) + const localVarPath = `/columns/{columnId}/position` + .replace(`{${"columnId"}}`, encodeURIComponent(String(columnId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(moveColumnBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the title of a single column. + * @param {string} columnId The id of the column. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerUpdateColumnTitle: async (columnId: string, renameBodyParams: RenameBodyParams, options: any = {}): Promise => { + // verify required parameter 'columnId' is not null or undefined + assertParamExists('columnControllerUpdateColumnTitle', 'columnId', columnId) + // verify required parameter 'renameBodyParams' is not null or undefined + assertParamExists('columnControllerUpdateColumnTitle', 'renameBodyParams', renameBodyParams) + const localVarPath = `/columns/{columnId}/title` + .replace(`{${"columnId"}}`, encodeURIComponent(String(columnId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(renameBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * BoardColumnApi - functional programming interface + * @export + */ +export const BoardColumnApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = BoardColumnApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a new card on a column. + * @param {string} columnId The id of the column. + * @param {CreateCardBodyParams} [createCardBodyParams] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async columnControllerCreateCard(columnId: string, createCardBodyParams?: CreateCardBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.columnControllerCreateCard(columnId, createCardBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a single column. + * @param {string} columnId The id of the column. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async columnControllerDeleteColumn(columnId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.columnControllerDeleteColumn(columnId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Move a single column. + * @param {string} columnId The id of the column. + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async columnControllerMoveColumn(columnId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.columnControllerMoveColumn(columnId, moveColumnBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the title of a single column. + * @param {string} columnId The id of the column. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async columnControllerUpdateColumnTitle(columnId: string, renameBodyParams: RenameBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.columnControllerUpdateColumnTitle(columnId, renameBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * BoardColumnApi - factory interface + * @export + */ +export const BoardColumnApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = BoardColumnApiFp(configuration) + return { + /** + * + * @summary Create a new card on a column. + * @param {string} columnId The id of the column. + * @param {CreateCardBodyParams} [createCardBodyParams] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerCreateCard(columnId: string, createCardBodyParams?: CreateCardBodyParams, options?: any): AxiosPromise { + return localVarFp.columnControllerCreateCard(columnId, createCardBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a single column. + * @param {string} columnId The id of the column. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerDeleteColumn(columnId: string, options?: any): AxiosPromise { + return localVarFp.columnControllerDeleteColumn(columnId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Move a single column. + * @param {string} columnId The id of the column. + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerMoveColumn(columnId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any): AxiosPromise { + return localVarFp.columnControllerMoveColumn(columnId, moveColumnBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the title of a single column. + * @param {string} columnId The id of the column. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + columnControllerUpdateColumnTitle(columnId: string, renameBodyParams: RenameBodyParams, options?: any): AxiosPromise { + return localVarFp.columnControllerUpdateColumnTitle(columnId, renameBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * BoardColumnApi - interface + * @export + * @interface BoardColumnApi + */ +export interface BoardColumnApiInterface { + /** + * + * @summary Create a new card on a column. + * @param {string} columnId The id of the column. + * @param {CreateCardBodyParams} [createCardBodyParams] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApiInterface + */ + columnControllerCreateCard(columnId: string, createCardBodyParams?: CreateCardBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Delete a single column. + * @param {string} columnId The id of the column. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApiInterface + */ + columnControllerDeleteColumn(columnId: string, options?: any): AxiosPromise; + + /** + * + * @summary Move a single column. + * @param {string} columnId The id of the column. + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApiInterface + */ + columnControllerMoveColumn(columnId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the title of a single column. + * @param {string} columnId The id of the column. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApiInterface + */ + columnControllerUpdateColumnTitle(columnId: string, renameBodyParams: RenameBodyParams, options?: any): AxiosPromise; + +} + +/** + * BoardColumnApi - object-oriented interface + * @export + * @class BoardColumnApi + * @extends {BaseAPI} + */ +export class BoardColumnApi extends BaseAPI implements BoardColumnApiInterface { + /** + * + * @summary Create a new card on a column. + * @param {string} columnId The id of the column. + * @param {CreateCardBodyParams} [createCardBodyParams] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApi + */ + public columnControllerCreateCard(columnId: string, createCardBodyParams?: CreateCardBodyParams, options?: any) { + return BoardColumnApiFp(this.configuration).columnControllerCreateCard(columnId, createCardBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a single column. + * @param {string} columnId The id of the column. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApi + */ + public columnControllerDeleteColumn(columnId: string, options?: any) { + return BoardColumnApiFp(this.configuration).columnControllerDeleteColumn(columnId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Move a single column. + * @param {string} columnId The id of the column. + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApi + */ + public columnControllerMoveColumn(columnId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any) { + return BoardColumnApiFp(this.configuration).columnControllerMoveColumn(columnId, moveColumnBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the title of a single column. + * @param {string} columnId The id of the column. + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardColumnApi + */ + public columnControllerUpdateColumnTitle(columnId: string, renameBodyParams: RenameBodyParams, options?: any) { + return BoardColumnApiFp(this.configuration).columnControllerUpdateColumnTitle(columnId, renameBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/board-element-api.ts b/src/serverApi/v3/api/board-element-api.ts new file mode 100644 index 0000000..b11b5cb --- /dev/null +++ b/src/serverApi/v3/api/board-element-api.ts @@ -0,0 +1,523 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CreateSubmissionItemBodyParams } from '../models'; +// @ts-ignore +import { DrawingElementResponse } from '../models'; +// @ts-ignore +import { ExternalToolElementResponse } from '../models'; +// @ts-ignore +import { FileElementResponse } from '../models'; +// @ts-ignore +import { LinkElementResponse } from '../models'; +// @ts-ignore +import { MoveContentElementBody } from '../models'; +// @ts-ignore +import { RichTextElementResponse } from '../models'; +// @ts-ignore +import { SubmissionContainerElementResponse } from '../models'; +// @ts-ignore +import { SubmissionItemResponse } from '../models'; +// @ts-ignore +import { UpdateElementContentBodyParams } from '../models'; +/** + * BoardElementApi - axios parameter creator + * @export + */ +export const BoardElementApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a new submission item having parent a submission container element. + * @param {string} contentElementId The id of the element. + * @param {CreateSubmissionItemBodyParams} createSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerCreateSubmissionItem: async (contentElementId: string, createSubmissionItemBodyParams: CreateSubmissionItemBodyParams, options: any = {}): Promise => { + // verify required parameter 'contentElementId' is not null or undefined + assertParamExists('elementControllerCreateSubmissionItem', 'contentElementId', contentElementId) + // verify required parameter 'createSubmissionItemBodyParams' is not null or undefined + assertParamExists('elementControllerCreateSubmissionItem', 'createSubmissionItemBodyParams', createSubmissionItemBodyParams) + const localVarPath = `/elements/{contentElementId}/submissions` + .replace(`{${"contentElementId"}}`, encodeURIComponent(String(contentElementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createSubmissionItemBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a single content element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerDeleteElement: async (contentElementId: string, options: any = {}): Promise => { + // verify required parameter 'contentElementId' is not null or undefined + assertParamExists('elementControllerDeleteElement', 'contentElementId', contentElementId) + const localVarPath = `/elements/{contentElementId}` + .replace(`{${"contentElementId"}}`, encodeURIComponent(String(contentElementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Move a single content element. + * @param {string} contentElementId The id of the element. + * @param {MoveContentElementBody} moveContentElementBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerMoveElement: async (contentElementId: string, moveContentElementBody: MoveContentElementBody, options: any = {}): Promise => { + // verify required parameter 'contentElementId' is not null or undefined + assertParamExists('elementControllerMoveElement', 'contentElementId', contentElementId) + // verify required parameter 'moveContentElementBody' is not null or undefined + assertParamExists('elementControllerMoveElement', 'moveContentElementBody', moveContentElementBody) + const localVarPath = `/elements/{contentElementId}/position` + .replace(`{${"contentElementId"}}`, encodeURIComponent(String(contentElementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(moveContentElementBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Check if user has read permission for any board element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerReadPermission: async (contentElementId: string, options: any = {}): Promise => { + // verify required parameter 'contentElementId' is not null or undefined + assertParamExists('elementControllerReadPermission', 'contentElementId', contentElementId) + const localVarPath = `/elements/{contentElementId}/permission` + .replace(`{${"contentElementId"}}`, encodeURIComponent(String(contentElementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update a single content element. + * @param {string} contentElementId The id of the element. + * @param {UpdateElementContentBodyParams} updateElementContentBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerUpdateElement: async (contentElementId: string, updateElementContentBodyParams: UpdateElementContentBodyParams, options: any = {}): Promise => { + // verify required parameter 'contentElementId' is not null or undefined + assertParamExists('elementControllerUpdateElement', 'contentElementId', contentElementId) + // verify required parameter 'updateElementContentBodyParams' is not null or undefined + assertParamExists('elementControllerUpdateElement', 'updateElementContentBodyParams', updateElementContentBodyParams) + const localVarPath = `/elements/{contentElementId}/content` + .replace(`{${"contentElementId"}}`, encodeURIComponent(String(contentElementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateElementContentBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * BoardElementApi - functional programming interface + * @export + */ +export const BoardElementApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = BoardElementApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a new submission item having parent a submission container element. + * @param {string} contentElementId The id of the element. + * @param {CreateSubmissionItemBodyParams} createSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async elementControllerCreateSubmissionItem(contentElementId: string, createSubmissionItemBodyParams: CreateSubmissionItemBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.elementControllerCreateSubmissionItem(contentElementId, createSubmissionItemBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a single content element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async elementControllerDeleteElement(contentElementId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.elementControllerDeleteElement(contentElementId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Move a single content element. + * @param {string} contentElementId The id of the element. + * @param {MoveContentElementBody} moveContentElementBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async elementControllerMoveElement(contentElementId: string, moveContentElementBody: MoveContentElementBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.elementControllerMoveElement(contentElementId, moveContentElementBody, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Check if user has read permission for any board element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async elementControllerReadPermission(contentElementId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.elementControllerReadPermission(contentElementId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update a single content element. + * @param {string} contentElementId The id of the element. + * @param {UpdateElementContentBodyParams} updateElementContentBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async elementControllerUpdateElement(contentElementId: string, updateElementContentBodyParams: UpdateElementContentBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.elementControllerUpdateElement(contentElementId, updateElementContentBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * BoardElementApi - factory interface + * @export + */ +export const BoardElementApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = BoardElementApiFp(configuration) + return { + /** + * + * @summary Create a new submission item having parent a submission container element. + * @param {string} contentElementId The id of the element. + * @param {CreateSubmissionItemBodyParams} createSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerCreateSubmissionItem(contentElementId: string, createSubmissionItemBodyParams: CreateSubmissionItemBodyParams, options?: any): AxiosPromise { + return localVarFp.elementControllerCreateSubmissionItem(contentElementId, createSubmissionItemBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a single content element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerDeleteElement(contentElementId: string, options?: any): AxiosPromise { + return localVarFp.elementControllerDeleteElement(contentElementId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Move a single content element. + * @param {string} contentElementId The id of the element. + * @param {MoveContentElementBody} moveContentElementBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerMoveElement(contentElementId: string, moveContentElementBody: MoveContentElementBody, options?: any): AxiosPromise { + return localVarFp.elementControllerMoveElement(contentElementId, moveContentElementBody, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Check if user has read permission for any board element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerReadPermission(contentElementId: string, options?: any): AxiosPromise { + return localVarFp.elementControllerReadPermission(contentElementId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update a single content element. + * @param {string} contentElementId The id of the element. + * @param {UpdateElementContentBodyParams} updateElementContentBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + elementControllerUpdateElement(contentElementId: string, updateElementContentBodyParams: UpdateElementContentBodyParams, options?: any): AxiosPromise { + return localVarFp.elementControllerUpdateElement(contentElementId, updateElementContentBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * BoardElementApi - interface + * @export + * @interface BoardElementApi + */ +export interface BoardElementApiInterface { + /** + * + * @summary Create a new submission item having parent a submission container element. + * @param {string} contentElementId The id of the element. + * @param {CreateSubmissionItemBodyParams} createSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApiInterface + */ + elementControllerCreateSubmissionItem(contentElementId: string, createSubmissionItemBodyParams: CreateSubmissionItemBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Delete a single content element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApiInterface + */ + elementControllerDeleteElement(contentElementId: string, options?: any): AxiosPromise; + + /** + * + * @summary Move a single content element. + * @param {string} contentElementId The id of the element. + * @param {MoveContentElementBody} moveContentElementBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApiInterface + */ + elementControllerMoveElement(contentElementId: string, moveContentElementBody: MoveContentElementBody, options?: any): AxiosPromise; + + /** + * + * @summary Check if user has read permission for any board element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApiInterface + */ + elementControllerReadPermission(contentElementId: string, options?: any): AxiosPromise; + + /** + * + * @summary Update a single content element. + * @param {string} contentElementId The id of the element. + * @param {UpdateElementContentBodyParams} updateElementContentBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApiInterface + */ + elementControllerUpdateElement(contentElementId: string, updateElementContentBodyParams: UpdateElementContentBodyParams, options?: any): AxiosPromise; + +} + +/** + * BoardElementApi - object-oriented interface + * @export + * @class BoardElementApi + * @extends {BaseAPI} + */ +export class BoardElementApi extends BaseAPI implements BoardElementApiInterface { + /** + * + * @summary Create a new submission item having parent a submission container element. + * @param {string} contentElementId The id of the element. + * @param {CreateSubmissionItemBodyParams} createSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApi + */ + public elementControllerCreateSubmissionItem(contentElementId: string, createSubmissionItemBodyParams: CreateSubmissionItemBodyParams, options?: any) { + return BoardElementApiFp(this.configuration).elementControllerCreateSubmissionItem(contentElementId, createSubmissionItemBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a single content element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApi + */ + public elementControllerDeleteElement(contentElementId: string, options?: any) { + return BoardElementApiFp(this.configuration).elementControllerDeleteElement(contentElementId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Move a single content element. + * @param {string} contentElementId The id of the element. + * @param {MoveContentElementBody} moveContentElementBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApi + */ + public elementControllerMoveElement(contentElementId: string, moveContentElementBody: MoveContentElementBody, options?: any) { + return BoardElementApiFp(this.configuration).elementControllerMoveElement(contentElementId, moveContentElementBody, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Check if user has read permission for any board element. + * @param {string} contentElementId The id of the element. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApi + */ + public elementControllerReadPermission(contentElementId: string, options?: any) { + return BoardElementApiFp(this.configuration).elementControllerReadPermission(contentElementId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update a single content element. + * @param {string} contentElementId The id of the element. + * @param {UpdateElementContentBodyParams} updateElementContentBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardElementApi + */ + public elementControllerUpdateElement(contentElementId: string, updateElementContentBodyParams: UpdateElementContentBodyParams, options?: any) { + return BoardElementApiFp(this.configuration).elementControllerUpdateElement(contentElementId, updateElementContentBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/board-submission-api.ts b/src/serverApi/v3/api/board-submission-api.ts new file mode 100644 index 0000000..5a6b0a0 --- /dev/null +++ b/src/serverApi/v3/api/board-submission-api.ts @@ -0,0 +1,422 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CreateContentElementBodyParams } from '../models'; +// @ts-ignore +import { FileElementResponse } from '../models'; +// @ts-ignore +import { RichTextElementResponse } from '../models'; +// @ts-ignore +import { SubmissionsResponse } from '../models'; +// @ts-ignore +import { UpdateSubmissionItemBodyParams } from '../models'; +/** + * BoardSubmissionApi - axios parameter creator + * @export + */ +export const BoardSubmissionApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a new element in a submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerCreateElement: async (submissionItemId: string, createContentElementBodyParams: CreateContentElementBodyParams, options: any = {}): Promise => { + // verify required parameter 'submissionItemId' is not null or undefined + assertParamExists('boardSubmissionControllerCreateElement', 'submissionItemId', submissionItemId) + // verify required parameter 'createContentElementBodyParams' is not null or undefined + assertParamExists('boardSubmissionControllerCreateElement', 'createContentElementBodyParams', createContentElementBodyParams) + const localVarPath = `/board-submissions/{submissionItemId}/elements` + .replace(`{${"submissionItemId"}}`, encodeURIComponent(String(submissionItemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createContentElementBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerDeleteSubmissionItem: async (submissionItemId: string, options: any = {}): Promise => { + // verify required parameter 'submissionItemId' is not null or undefined + assertParamExists('boardSubmissionControllerDeleteSubmissionItem', 'submissionItemId', submissionItemId) + const localVarPath = `/board-submissions/{submissionItemId}` + .replace(`{${"submissionItemId"}}`, encodeURIComponent(String(submissionItemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get a list of submission items by their parent container. + * @param {string} submissionContainerId The id of the submission container. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerGetSubmissionItems: async (submissionContainerId: string, options: any = {}): Promise => { + // verify required parameter 'submissionContainerId' is not null or undefined + assertParamExists('boardSubmissionControllerGetSubmissionItems', 'submissionContainerId', submissionContainerId) + const localVarPath = `/board-submissions/{submissionContainerId}` + .replace(`{${"submissionContainerId"}}`, encodeURIComponent(String(submissionContainerId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {UpdateSubmissionItemBodyParams} updateSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerUpdateSubmissionItem: async (submissionItemId: string, updateSubmissionItemBodyParams: UpdateSubmissionItemBodyParams, options: any = {}): Promise => { + // verify required parameter 'submissionItemId' is not null or undefined + assertParamExists('boardSubmissionControllerUpdateSubmissionItem', 'submissionItemId', submissionItemId) + // verify required parameter 'updateSubmissionItemBodyParams' is not null or undefined + assertParamExists('boardSubmissionControllerUpdateSubmissionItem', 'updateSubmissionItemBodyParams', updateSubmissionItemBodyParams) + const localVarPath = `/board-submissions/{submissionItemId}` + .replace(`{${"submissionItemId"}}`, encodeURIComponent(String(submissionItemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateSubmissionItemBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * BoardSubmissionApi - functional programming interface + * @export + */ +export const BoardSubmissionApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = BoardSubmissionApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a new element in a submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardSubmissionControllerCreateElement(submissionItemId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardSubmissionControllerCreateElement(submissionItemId, createContentElementBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardSubmissionControllerDeleteSubmissionItem(submissionItemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardSubmissionControllerDeleteSubmissionItem(submissionItemId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get a list of submission items by their parent container. + * @param {string} submissionContainerId The id of the submission container. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardSubmissionControllerGetSubmissionItems(submissionContainerId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardSubmissionControllerGetSubmissionItems(submissionContainerId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {UpdateSubmissionItemBodyParams} updateSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async boardSubmissionControllerUpdateSubmissionItem(submissionItemId: string, updateSubmissionItemBodyParams: UpdateSubmissionItemBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.boardSubmissionControllerUpdateSubmissionItem(submissionItemId, updateSubmissionItemBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * BoardSubmissionApi - factory interface + * @export + */ +export const BoardSubmissionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = BoardSubmissionApiFp(configuration) + return { + /** + * + * @summary Create a new element in a submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerCreateElement(submissionItemId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any): AxiosPromise { + return localVarFp.boardSubmissionControllerCreateElement(submissionItemId, createContentElementBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerDeleteSubmissionItem(submissionItemId: string, options?: any): AxiosPromise { + return localVarFp.boardSubmissionControllerDeleteSubmissionItem(submissionItemId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get a list of submission items by their parent container. + * @param {string} submissionContainerId The id of the submission container. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerGetSubmissionItems(submissionContainerId: string, options?: any): AxiosPromise { + return localVarFp.boardSubmissionControllerGetSubmissionItems(submissionContainerId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {UpdateSubmissionItemBodyParams} updateSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + boardSubmissionControllerUpdateSubmissionItem(submissionItemId: string, updateSubmissionItemBodyParams: UpdateSubmissionItemBodyParams, options?: any): AxiosPromise { + return localVarFp.boardSubmissionControllerUpdateSubmissionItem(submissionItemId, updateSubmissionItemBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * BoardSubmissionApi - interface + * @export + * @interface BoardSubmissionApi + */ +export interface BoardSubmissionApiInterface { + /** + * + * @summary Create a new element in a submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApiInterface + */ + boardSubmissionControllerCreateElement(submissionItemId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Delete a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApiInterface + */ + boardSubmissionControllerDeleteSubmissionItem(submissionItemId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get a list of submission items by their parent container. + * @param {string} submissionContainerId The id of the submission container. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApiInterface + */ + boardSubmissionControllerGetSubmissionItems(submissionContainerId: string, options?: any): AxiosPromise; + + /** + * + * @summary Update a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {UpdateSubmissionItemBodyParams} updateSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApiInterface + */ + boardSubmissionControllerUpdateSubmissionItem(submissionItemId: string, updateSubmissionItemBodyParams: UpdateSubmissionItemBodyParams, options?: any): AxiosPromise; + +} + +/** + * BoardSubmissionApi - object-oriented interface + * @export + * @class BoardSubmissionApi + * @extends {BaseAPI} + */ +export class BoardSubmissionApi extends BaseAPI implements BoardSubmissionApiInterface { + /** + * + * @summary Create a new element in a submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {CreateContentElementBodyParams} createContentElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApi + */ + public boardSubmissionControllerCreateElement(submissionItemId: string, createContentElementBodyParams: CreateContentElementBodyParams, options?: any) { + return BoardSubmissionApiFp(this.configuration).boardSubmissionControllerCreateElement(submissionItemId, createContentElementBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApi + */ + public boardSubmissionControllerDeleteSubmissionItem(submissionItemId: string, options?: any) { + return BoardSubmissionApiFp(this.configuration).boardSubmissionControllerDeleteSubmissionItem(submissionItemId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get a list of submission items by their parent container. + * @param {string} submissionContainerId The id of the submission container. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApi + */ + public boardSubmissionControllerGetSubmissionItems(submissionContainerId: string, options?: any) { + return BoardSubmissionApiFp(this.configuration).boardSubmissionControllerGetSubmissionItems(submissionContainerId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update a single submission item. + * @param {string} submissionItemId The id of the submission item. + * @param {UpdateSubmissionItemBodyParams} updateSubmissionItemBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof BoardSubmissionApi + */ + public boardSubmissionControllerUpdateSubmissionItem(submissionItemId: string, updateSubmissionItemBodyParams: UpdateSubmissionItemBodyParams, options?: any) { + return BoardSubmissionApiFp(this.configuration).boardSubmissionControllerUpdateSubmissionItem(submissionItemId, updateSubmissionItemBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/collaborative-storage-api.ts b/src/serverApi/v3/api/collaborative-storage-api.ts new file mode 100644 index 0000000..9dad5d9 --- /dev/null +++ b/src/serverApi/v3/api/collaborative-storage-api.ts @@ -0,0 +1,162 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { TeamPermissionsBody } from '../models'; +/** + * CollaborativeStorageApi - axios parameter creator + * @export + */ +export const CollaborativeStorageApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Updates the CRUD Permissions(+Share) for a specific Role in a Team + * @param {string} teamId + * @param {string} roleId + * @param {TeamPermissionsBody} teamPermissionsBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + collaborativeStorageControllerUpdateTeamPermissionsForRole: async (teamId: string, roleId: string, teamPermissionsBody: TeamPermissionsBody, options: any = {}): Promise => { + // verify required parameter 'teamId' is not null or undefined + assertParamExists('collaborativeStorageControllerUpdateTeamPermissionsForRole', 'teamId', teamId) + // verify required parameter 'roleId' is not null or undefined + assertParamExists('collaborativeStorageControllerUpdateTeamPermissionsForRole', 'roleId', roleId) + // verify required parameter 'teamPermissionsBody' is not null or undefined + assertParamExists('collaborativeStorageControllerUpdateTeamPermissionsForRole', 'teamPermissionsBody', teamPermissionsBody) + const localVarPath = `/collaborative-storage/team/{teamId}/role/{roleId}/permissions` + .replace(`{${"teamId"}}`, encodeURIComponent(String(teamId))) + .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(teamPermissionsBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * CollaborativeStorageApi - functional programming interface + * @export + */ +export const CollaborativeStorageApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = CollaborativeStorageApiAxiosParamCreator(configuration) + return { + /** + * Updates the CRUD Permissions(+Share) for a specific Role in a Team + * @param {string} teamId + * @param {string} roleId + * @param {TeamPermissionsBody} teamPermissionsBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId: string, roleId: string, teamPermissionsBody: TeamPermissionsBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId, roleId, teamPermissionsBody, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * CollaborativeStorageApi - factory interface + * @export + */ +export const CollaborativeStorageApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = CollaborativeStorageApiFp(configuration) + return { + /** + * Updates the CRUD Permissions(+Share) for a specific Role in a Team + * @param {string} teamId + * @param {string} roleId + * @param {TeamPermissionsBody} teamPermissionsBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId: string, roleId: string, teamPermissionsBody: TeamPermissionsBody, options?: any): AxiosPromise { + return localVarFp.collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId, roleId, teamPermissionsBody, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * CollaborativeStorageApi - interface + * @export + * @interface CollaborativeStorageApi + */ +export interface CollaborativeStorageApiInterface { + /** + * Updates the CRUD Permissions(+Share) for a specific Role in a Team + * @param {string} teamId + * @param {string} roleId + * @param {TeamPermissionsBody} teamPermissionsBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollaborativeStorageApiInterface + */ + collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId: string, roleId: string, teamPermissionsBody: TeamPermissionsBody, options?: any): AxiosPromise; + +} + +/** + * CollaborativeStorageApi - object-oriented interface + * @export + * @class CollaborativeStorageApi + * @extends {BaseAPI} + */ +export class CollaborativeStorageApi extends BaseAPI implements CollaborativeStorageApiInterface { + /** + * Updates the CRUD Permissions(+Share) for a specific Role in a Team + * @param {string} teamId + * @param {string} roleId + * @param {TeamPermissionsBody} teamPermissionsBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollaborativeStorageApi + */ + public collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId: string, roleId: string, teamPermissionsBody: TeamPermissionsBody, options?: any) { + return CollaborativeStorageApiFp(this.configuration).collaborativeStorageControllerUpdateTeamPermissionsForRole(teamId, roleId, teamPermissionsBody, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/collaborative-text-editor-api.ts b/src/serverApi/v3/api/collaborative-text-editor-api.ts new file mode 100644 index 0000000..bb7b251 --- /dev/null +++ b/src/serverApi/v3/api/collaborative-text-editor-api.ts @@ -0,0 +1,234 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CollaborativeTextEditorParentType } from '../models'; +// @ts-ignore +import { CollaborativeTextEditorResponse } from '../models'; +/** + * CollaborativeTextEditorApi - axios parameter creator + * @export + */ +export const CollaborativeTextEditorApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Delete all etherpad sessions for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + collaborativeTextEditorControllerDeleteSessionsByUser: async (options: any = {}): Promise => { + const localVarPath = `/collaborative-text-editor/delete-sessions`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get or create CollaborativeTextEditor for parent + * @param {string} parentId + * @param {CollaborativeTextEditorParentType} parentType Parent type of the collaborative text editor. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent: async (parentId: string, parentType: CollaborativeTextEditorParentType, options: any = {}): Promise => { + // verify required parameter 'parentId' is not null or undefined + assertParamExists('collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent', 'parentId', parentId) + // verify required parameter 'parentType' is not null or undefined + assertParamExists('collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent', 'parentType', parentType) + const localVarPath = `/collaborative-text-editor/{parentType}/{parentId}` + .replace(`{${"parentId"}}`, encodeURIComponent(String(parentId))) + .replace(`{${"parentType"}}`, encodeURIComponent(String(parentType))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * CollaborativeTextEditorApi - functional programming interface + * @export + */ +export const CollaborativeTextEditorApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = CollaborativeTextEditorApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Delete all etherpad sessions for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async collaborativeTextEditorControllerDeleteSessionsByUser(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.collaborativeTextEditorControllerDeleteSessionsByUser(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get or create CollaborativeTextEditor for parent + * @param {string} parentId + * @param {CollaborativeTextEditorParentType} parentType Parent type of the collaborative text editor. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId: string, parentType: CollaborativeTextEditorParentType, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId, parentType, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * CollaborativeTextEditorApi - factory interface + * @export + */ +export const CollaborativeTextEditorApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = CollaborativeTextEditorApiFp(configuration) + return { + /** + * + * @summary Delete all etherpad sessions for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + collaborativeTextEditorControllerDeleteSessionsByUser(options?: any): AxiosPromise { + return localVarFp.collaborativeTextEditorControllerDeleteSessionsByUser(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get or create CollaborativeTextEditor for parent + * @param {string} parentId + * @param {CollaborativeTextEditorParentType} parentType Parent type of the collaborative text editor. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId: string, parentType: CollaborativeTextEditorParentType, options?: any): AxiosPromise { + return localVarFp.collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId, parentType, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * CollaborativeTextEditorApi - interface + * @export + * @interface CollaborativeTextEditorApi + */ +export interface CollaborativeTextEditorApiInterface { + /** + * + * @summary Delete all etherpad sessions for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollaborativeTextEditorApiInterface + */ + collaborativeTextEditorControllerDeleteSessionsByUser(options?: any): AxiosPromise; + + /** + * + * @summary Get or create CollaborativeTextEditor for parent + * @param {string} parentId + * @param {CollaborativeTextEditorParentType} parentType Parent type of the collaborative text editor. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollaborativeTextEditorApiInterface + */ + collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId: string, parentType: CollaborativeTextEditorParentType, options?: any): AxiosPromise; + +} + +/** + * CollaborativeTextEditorApi - object-oriented interface + * @export + * @class CollaborativeTextEditorApi + * @extends {BaseAPI} + */ +export class CollaborativeTextEditorApi extends BaseAPI implements CollaborativeTextEditorApiInterface { + /** + * + * @summary Delete all etherpad sessions for user + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollaborativeTextEditorApi + */ + public collaborativeTextEditorControllerDeleteSessionsByUser(options?: any) { + return CollaborativeTextEditorApiFp(this.configuration).collaborativeTextEditorControllerDeleteSessionsByUser(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get or create CollaborativeTextEditor for parent + * @param {string} parentId + * @param {CollaborativeTextEditorParentType} parentType Parent type of the collaborative text editor. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CollaborativeTextEditorApi + */ + public collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId: string, parentType: CollaborativeTextEditorParentType, options?: any) { + return CollaborativeTextEditorApiFp(this.configuration).collaborativeTextEditorControllerGetOrCreateCollaborativeTextEditorForParent(parentId, parentType, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/courses-api.ts b/src/serverApi/v3/api/courses-api.ts new file mode 100644 index 0000000..f0c56a9 --- /dev/null +++ b/src/serverApi/v3/api/courses-api.ts @@ -0,0 +1,503 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { CourseExportBodyParams } from '../models'; +// @ts-ignore +import { CourseMetadataListResponse } from '../models'; +/** + * CoursesApi - axios parameter creator + * @export + */ +export const CoursesApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} courseId The id of the course + * @param {'1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0'} version The version of CC export + * @param {CourseExportBodyParams} courseExportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerExportCourse: async (courseId: string, version: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0', courseExportBodyParams: CourseExportBodyParams, options: any = {}): Promise => { + // verify required parameter 'courseId' is not null or undefined + assertParamExists('courseControllerExportCourse', 'courseId', courseId) + // verify required parameter 'version' is not null or undefined + assertParamExists('courseControllerExportCourse', 'version', version) + // verify required parameter 'courseExportBodyParams' is not null or undefined + assertParamExists('courseControllerExportCourse', 'courseExportBodyParams', courseExportBodyParams) + const localVarPath = `/courses/{courseId}/export` + .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (version !== undefined) { + localVarQueryParameter['version'] = version; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(courseExportBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerFindForUser: async (skip?: number, limit?: number, options: any = {}): Promise => { + const localVarPath = `/courses`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get permissions for a user in a course. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerGetUserPermissions: async (courseId: string, options: any = {}): Promise => { + // verify required parameter 'courseId' is not null or undefined + assertParamExists('courseControllerGetUserPermissions', 'courseId', courseId) + const localVarPath = `/courses/{courseId}/user-permissions` + .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Imports a course from a Common Cartridge file. + * @param {any} file The Common Cartridge file to import. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerImportCourse: async (file: any, options: any = {}): Promise => { + // verify required parameter 'file' is not null or undefined + assertParamExists('courseControllerImportCourse', 'file', file) + const localVarPath = `/courses/import`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)(); + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + if (file !== undefined) { + localVarFormParams.append('file', file as any); + } + + + localVarHeaderParameter['Content-Type'] = 'multipart/form-data'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = localVarFormParams; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Stop the synchronization of a course with a group. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerStopSynchronization: async (courseId: string, options: any = {}): Promise => { + // verify required parameter 'courseId' is not null or undefined + assertParamExists('courseControllerStopSynchronization', 'courseId', courseId) + const localVarPath = `/courses/{courseId}/stop-sync` + .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * CoursesApi - functional programming interface + * @export + */ +export const CoursesApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = CoursesApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} courseId The id of the course + * @param {'1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0'} version The version of CC export + * @param {CourseExportBodyParams} courseExportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async courseControllerExportCourse(courseId: string, version: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0', courseExportBodyParams: CourseExportBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.courseControllerExportCourse(courseId, version, courseExportBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async courseControllerFindForUser(skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.courseControllerFindForUser(skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get permissions for a user in a course. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async courseControllerGetUserPermissions(courseId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.courseControllerGetUserPermissions(courseId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Imports a course from a Common Cartridge file. + * @param {any} file The Common Cartridge file to import. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async courseControllerImportCourse(file: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.courseControllerImportCourse(file, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Stop the synchronization of a course with a group. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async courseControllerStopSynchronization(courseId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.courseControllerStopSynchronization(courseId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * CoursesApi - factory interface + * @export + */ +export const CoursesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = CoursesApiFp(configuration) + return { + /** + * + * @param {string} courseId The id of the course + * @param {'1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0'} version The version of CC export + * @param {CourseExportBodyParams} courseExportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerExportCourse(courseId: string, version: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0', courseExportBodyParams: CourseExportBodyParams, options?: any): AxiosPromise { + return localVarFp.courseControllerExportCourse(courseId, version, courseExportBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerFindForUser(skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.courseControllerFindForUser(skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get permissions for a user in a course. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerGetUserPermissions(courseId: string, options?: any): AxiosPromise { + return localVarFp.courseControllerGetUserPermissions(courseId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Imports a course from a Common Cartridge file. + * @param {any} file The Common Cartridge file to import. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerImportCourse(file: any, options?: any): AxiosPromise { + return localVarFp.courseControllerImportCourse(file, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Stop the synchronization of a course with a group. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + courseControllerStopSynchronization(courseId: string, options?: any): AxiosPromise { + return localVarFp.courseControllerStopSynchronization(courseId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * CoursesApi - interface + * @export + * @interface CoursesApi + */ +export interface CoursesApiInterface { + /** + * + * @param {string} courseId The id of the course + * @param {'1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0'} version The version of CC export + * @param {CourseExportBodyParams} courseExportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApiInterface + */ + courseControllerExportCourse(courseId: string, version: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0', courseExportBodyParams: CourseExportBodyParams, options?: any): AxiosPromise; + + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApiInterface + */ + courseControllerFindForUser(skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * + * @summary Get permissions for a user in a course. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApiInterface + */ + courseControllerGetUserPermissions(courseId: string, options?: any): AxiosPromise; + + /** + * + * @summary Imports a course from a Common Cartridge file. + * @param {any} file The Common Cartridge file to import. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApiInterface + */ + courseControllerImportCourse(file: any, options?: any): AxiosPromise; + + /** + * + * @summary Stop the synchronization of a course with a group. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApiInterface + */ + courseControllerStopSynchronization(courseId: string, options?: any): AxiosPromise; + +} + +/** + * CoursesApi - object-oriented interface + * @export + * @class CoursesApi + * @extends {BaseAPI} + */ +export class CoursesApi extends BaseAPI implements CoursesApiInterface { + /** + * + * @param {string} courseId The id of the course + * @param {'1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0'} version The version of CC export + * @param {CourseExportBodyParams} courseExportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApi + */ + public courseControllerExportCourse(courseId: string, version: '1.0.0' | '1.1.0' | '1.2.0' | '1.3.0' | '1.4.0', courseExportBodyParams: CourseExportBodyParams, options?: any) { + return CoursesApiFp(this.configuration).courseControllerExportCourse(courseId, version, courseExportBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApi + */ + public courseControllerFindForUser(skip?: number, limit?: number, options?: any) { + return CoursesApiFp(this.configuration).courseControllerFindForUser(skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get permissions for a user in a course. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApi + */ + public courseControllerGetUserPermissions(courseId: string, options?: any) { + return CoursesApiFp(this.configuration).courseControllerGetUserPermissions(courseId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Imports a course from a Common Cartridge file. + * @param {any} file The Common Cartridge file to import. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApi + */ + public courseControllerImportCourse(file: any, options?: any) { + return CoursesApiFp(this.configuration).courseControllerImportCourse(file, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Stop the synchronization of a course with a group. + * @param {string} courseId The id of the course + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof CoursesApi + */ + public courseControllerStopSynchronization(courseId: string, options?: any) { + return CoursesApiFp(this.configuration).courseControllerStopSynchronization(courseId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/dashboard-api.ts b/src/serverApi/v3/api/dashboard-api.ts new file mode 100644 index 0000000..8b5ad4f --- /dev/null +++ b/src/serverApi/v3/api/dashboard-api.ts @@ -0,0 +1,334 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { DashboardResponse } from '../models'; +// @ts-ignore +import { MoveElementParams } from '../models'; +// @ts-ignore +import { PatchGroupParams } from '../models'; +/** + * DashboardApi - axios parameter creator + * @export + */ +export const DashboardApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + dashboardControllerFindForUser: async (options: any = {}): Promise => { + const localVarPath = `/dashboard`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {MoveElementParams} moveElementParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + dashboardControllerMoveElement: async (dashboardId: string, moveElementParams: MoveElementParams, options: any = {}): Promise => { + // verify required parameter 'dashboardId' is not null or undefined + assertParamExists('dashboardControllerMoveElement', 'dashboardId', dashboardId) + // verify required parameter 'moveElementParams' is not null or undefined + assertParamExists('dashboardControllerMoveElement', 'moveElementParams', moveElementParams) + const localVarPath = `/dashboard/{dashboardId}/moveElement` + .replace(`{${"dashboardId"}}`, encodeURIComponent(String(dashboardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(moveElementParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {number} x + * @param {number} y + * @param {PatchGroupParams} patchGroupParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + dashboardControllerPatchGroup: async (dashboardId: string, x: number, y: number, patchGroupParams: PatchGroupParams, options: any = {}): Promise => { + // verify required parameter 'dashboardId' is not null or undefined + assertParamExists('dashboardControllerPatchGroup', 'dashboardId', dashboardId) + // verify required parameter 'x' is not null or undefined + assertParamExists('dashboardControllerPatchGroup', 'x', x) + // verify required parameter 'y' is not null or undefined + assertParamExists('dashboardControllerPatchGroup', 'y', y) + // verify required parameter 'patchGroupParams' is not null or undefined + assertParamExists('dashboardControllerPatchGroup', 'patchGroupParams', patchGroupParams) + const localVarPath = `/dashboard/{dashboardId}/element` + .replace(`{${"dashboardId"}}`, encodeURIComponent(String(dashboardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (x !== undefined) { + localVarQueryParameter['x'] = x; + } + + if (y !== undefined) { + localVarQueryParameter['y'] = y; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(patchGroupParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * DashboardApi - functional programming interface + * @export + */ +export const DashboardApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = DashboardApiAxiosParamCreator(configuration) + return { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async dashboardControllerFindForUser(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.dashboardControllerFindForUser(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {MoveElementParams} moveElementParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async dashboardControllerMoveElement(dashboardId: string, moveElementParams: MoveElementParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.dashboardControllerMoveElement(dashboardId, moveElementParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {number} x + * @param {number} y + * @param {PatchGroupParams} patchGroupParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async dashboardControllerPatchGroup(dashboardId: string, x: number, y: number, patchGroupParams: PatchGroupParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.dashboardControllerPatchGroup(dashboardId, x, y, patchGroupParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * DashboardApi - factory interface + * @export + */ +export const DashboardApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = DashboardApiFp(configuration) + return { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + dashboardControllerFindForUser(options?: any): AxiosPromise { + return localVarFp.dashboardControllerFindForUser(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {MoveElementParams} moveElementParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + dashboardControllerMoveElement(dashboardId: string, moveElementParams: MoveElementParams, options?: any): AxiosPromise { + return localVarFp.dashboardControllerMoveElement(dashboardId, moveElementParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {number} x + * @param {number} y + * @param {PatchGroupParams} patchGroupParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + dashboardControllerPatchGroup(dashboardId: string, x: number, y: number, patchGroupParams: PatchGroupParams, options?: any): AxiosPromise { + return localVarFp.dashboardControllerPatchGroup(dashboardId, x, y, patchGroupParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * DashboardApi - interface + * @export + * @interface DashboardApi + */ +export interface DashboardApiInterface { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DashboardApiInterface + */ + dashboardControllerFindForUser(options?: any): AxiosPromise; + + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {MoveElementParams} moveElementParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DashboardApiInterface + */ + dashboardControllerMoveElement(dashboardId: string, moveElementParams: MoveElementParams, options?: any): AxiosPromise; + + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {number} x + * @param {number} y + * @param {PatchGroupParams} patchGroupParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DashboardApiInterface + */ + dashboardControllerPatchGroup(dashboardId: string, x: number, y: number, patchGroupParams: PatchGroupParams, options?: any): AxiosPromise; + +} + +/** + * DashboardApi - object-oriented interface + * @export + * @class DashboardApi + * @extends {BaseAPI} + */ +export class DashboardApi extends BaseAPI implements DashboardApiInterface { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DashboardApi + */ + public dashboardControllerFindForUser(options?: any) { + return DashboardApiFp(this.configuration).dashboardControllerFindForUser(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {MoveElementParams} moveElementParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DashboardApi + */ + public dashboardControllerMoveElement(dashboardId: string, moveElementParams: MoveElementParams, options?: any) { + return DashboardApiFp(this.configuration).dashboardControllerMoveElement(dashboardId, moveElementParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} dashboardId The id of the dashboard. + * @param {number} x + * @param {number} y + * @param {PatchGroupParams} patchGroupParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DashboardApi + */ + public dashboardControllerPatchGroup(dashboardId: string, x: number, y: number, patchGroupParams: PatchGroupParams, options?: any) { + return DashboardApiFp(this.configuration).dashboardControllerPatchGroup(dashboardId, x, y, patchGroupParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/default-api.ts b/src/serverApi/v3/api/default-api.ts new file mode 100644 index 0000000..69e85b9 --- /dev/null +++ b/src/serverApi/v3/api/default-api.ts @@ -0,0 +1,206 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ConfigResponse } from '../models'; +/** + * DefaultApi - axios parameter creator + * @export + */ +export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Useable configuration for clients + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + serverConfigControllerPublicConfig: async (options: any = {}): Promise => { + const localVarPath = `/config/public`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Default route to test public access + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + serverControllerGetHello: async (options: any = {}): Promise => { + const localVarPath = `/`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * DefaultApi - functional programming interface + * @export + */ +export const DefaultApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Useable configuration for clients + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async serverConfigControllerPublicConfig(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.serverConfigControllerPublicConfig(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Default route to test public access + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async serverControllerGetHello(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.serverControllerGetHello(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * DefaultApi - factory interface + * @export + */ +export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = DefaultApiFp(configuration) + return { + /** + * + * @summary Useable configuration for clients + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + serverConfigControllerPublicConfig(options?: any): AxiosPromise { + return localVarFp.serverConfigControllerPublicConfig(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Default route to test public access + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + serverControllerGetHello(options?: any): AxiosPromise { + return localVarFp.serverControllerGetHello(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * DefaultApi - interface + * @export + * @interface DefaultApi + */ +export interface DefaultApiInterface { + /** + * + * @summary Useable configuration for clients + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DefaultApiInterface + */ + serverConfigControllerPublicConfig(options?: any): AxiosPromise; + + /** + * + * @summary Default route to test public access + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DefaultApiInterface + */ + serverControllerGetHello(options?: any): AxiosPromise; + +} + +/** + * DefaultApi - object-oriented interface + * @export + * @class DefaultApi + * @extends {BaseAPI} + */ +export class DefaultApi extends BaseAPI implements DefaultApiInterface { + /** + * + * @summary Useable configuration for clients + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DefaultApi + */ + public serverConfigControllerPublicConfig(options?: any) { + return DefaultApiFp(this.configuration).serverConfigControllerPublicConfig(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Default route to test public access + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof DefaultApi + */ + public serverControllerGetHello(options?: any) { + return DefaultApiFp(this.configuration).serverControllerGetHello(options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/group-api.ts b/src/serverApi/v3/api/group-api.ts new file mode 100644 index 0000000..a733d80 --- /dev/null +++ b/src/serverApi/v3/api/group-api.ts @@ -0,0 +1,397 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { ClassInfoSearchListResponse } from '../models'; +// @ts-ignore +import { ClassRequestContext } from '../models'; +// @ts-ignore +import { ClassSortQueryType } from '../models'; +// @ts-ignore +import { GroupListResponse } from '../models'; +// @ts-ignore +import { GroupResponse } from '../models'; +// @ts-ignore +import { SchoolYearQueryType } from '../models'; +/** + * GroupApi - axios parameter creator + * @export + */ +export const GroupApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Get a list of classes and groups of type class for the current user. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {ClassSortQueryType} [sortBy] + * @param {SchoolYearQueryType} [type] + * @param {ClassRequestContext} [calledFrom] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + groupControllerFindClasses: async (skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: ClassSortQueryType, type?: SchoolYearQueryType, calledFrom?: ClassRequestContext, options: any = {}): Promise => { + const localVarPath = `/groups/class`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (sortOrder !== undefined) { + localVarQueryParameter['sortOrder'] = sortOrder; + } + + if (sortBy !== undefined) { + localVarQueryParameter['sortBy'] = sortBy; + } + + if (type !== undefined) { + localVarQueryParameter['type'] = type; + } + + if (calledFrom !== undefined) { + localVarQueryParameter['calledFrom'] = calledFrom; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get a list of all groups. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {boolean} [availableGroupsForCourseSync] if true only available groups for a course sync are returned. + * @param {string} [nameQuery] search string for group names. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + groupControllerGetAllGroups: async (skip?: number, limit?: number, availableGroupsForCourseSync?: boolean, nameQuery?: string, options: any = {}): Promise => { + const localVarPath = `/groups`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (availableGroupsForCourseSync !== undefined) { + localVarQueryParameter['availableGroupsForCourseSync'] = availableGroupsForCourseSync; + } + + if (nameQuery !== undefined) { + localVarQueryParameter['nameQuery'] = nameQuery; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get a group by id. + * @param {string} groupId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + groupControllerGetGroup: async (groupId: string, options: any = {}): Promise => { + // verify required parameter 'groupId' is not null or undefined + assertParamExists('groupControllerGetGroup', 'groupId', groupId) + const localVarPath = `/groups/{groupId}` + .replace(`{${"groupId"}}`, encodeURIComponent(String(groupId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * GroupApi - functional programming interface + * @export + */ +export const GroupApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = GroupApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Get a list of classes and groups of type class for the current user. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {ClassSortQueryType} [sortBy] + * @param {SchoolYearQueryType} [type] + * @param {ClassRequestContext} [calledFrom] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async groupControllerFindClasses(skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: ClassSortQueryType, type?: SchoolYearQueryType, calledFrom?: ClassRequestContext, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.groupControllerFindClasses(skip, limit, sortOrder, sortBy, type, calledFrom, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get a list of all groups. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {boolean} [availableGroupsForCourseSync] if true only available groups for a course sync are returned. + * @param {string} [nameQuery] search string for group names. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async groupControllerGetAllGroups(skip?: number, limit?: number, availableGroupsForCourseSync?: boolean, nameQuery?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.groupControllerGetAllGroups(skip, limit, availableGroupsForCourseSync, nameQuery, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get a group by id. + * @param {string} groupId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async groupControllerGetGroup(groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.groupControllerGetGroup(groupId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * GroupApi - factory interface + * @export + */ +export const GroupApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = GroupApiFp(configuration) + return { + /** + * + * @summary Get a list of classes and groups of type class for the current user. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {ClassSortQueryType} [sortBy] + * @param {SchoolYearQueryType} [type] + * @param {ClassRequestContext} [calledFrom] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + groupControllerFindClasses(skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: ClassSortQueryType, type?: SchoolYearQueryType, calledFrom?: ClassRequestContext, options?: any): AxiosPromise { + return localVarFp.groupControllerFindClasses(skip, limit, sortOrder, sortBy, type, calledFrom, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get a list of all groups. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {boolean} [availableGroupsForCourseSync] if true only available groups for a course sync are returned. + * @param {string} [nameQuery] search string for group names. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + groupControllerGetAllGroups(skip?: number, limit?: number, availableGroupsForCourseSync?: boolean, nameQuery?: string, options?: any): AxiosPromise { + return localVarFp.groupControllerGetAllGroups(skip, limit, availableGroupsForCourseSync, nameQuery, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get a group by id. + * @param {string} groupId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + groupControllerGetGroup(groupId: string, options?: any): AxiosPromise { + return localVarFp.groupControllerGetGroup(groupId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * GroupApi - interface + * @export + * @interface GroupApi + */ +export interface GroupApiInterface { + /** + * + * @summary Get a list of classes and groups of type class for the current user. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {ClassSortQueryType} [sortBy] + * @param {SchoolYearQueryType} [type] + * @param {ClassRequestContext} [calledFrom] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApiInterface + */ + groupControllerFindClasses(skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: ClassSortQueryType, type?: SchoolYearQueryType, calledFrom?: ClassRequestContext, options?: any): AxiosPromise; + + /** + * + * @summary Get a list of all groups. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {boolean} [availableGroupsForCourseSync] if true only available groups for a course sync are returned. + * @param {string} [nameQuery] search string for group names. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApiInterface + */ + groupControllerGetAllGroups(skip?: number, limit?: number, availableGroupsForCourseSync?: boolean, nameQuery?: string, options?: any): AxiosPromise; + + /** + * + * @summary Get a group by id. + * @param {string} groupId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApiInterface + */ + groupControllerGetGroup(groupId: string, options?: any): AxiosPromise; + +} + +/** + * GroupApi - object-oriented interface + * @export + * @class GroupApi + * @extends {BaseAPI} + */ +export class GroupApi extends BaseAPI implements GroupApiInterface { + /** + * + * @summary Get a list of classes and groups of type class for the current user. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {ClassSortQueryType} [sortBy] + * @param {SchoolYearQueryType} [type] + * @param {ClassRequestContext} [calledFrom] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public groupControllerFindClasses(skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: ClassSortQueryType, type?: SchoolYearQueryType, calledFrom?: ClassRequestContext, options?: any) { + return GroupApiFp(this.configuration).groupControllerFindClasses(skip, limit, sortOrder, sortBy, type, calledFrom, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get a list of all groups. + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {boolean} [availableGroupsForCourseSync] if true only available groups for a course sync are returned. + * @param {string} [nameQuery] search string for group names. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public groupControllerGetAllGroups(skip?: number, limit?: number, availableGroupsForCourseSync?: boolean, nameQuery?: string, options?: any) { + return GroupApiFp(this.configuration).groupControllerGetAllGroups(skip, limit, availableGroupsForCourseSync, nameQuery, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get a group by id. + * @param {string} groupId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof GroupApi + */ + public groupControllerGetGroup(groupId: string, options?: any) { + return GroupApiFp(this.configuration).groupControllerGetGroup(groupId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/lesson-api.ts b/src/serverApi/v3/api/lesson-api.ts new file mode 100644 index 0000000..4722059 --- /dev/null +++ b/src/serverApi/v3/api/lesson-api.ts @@ -0,0 +1,298 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { LessonMetadataListResponse } from '../models'; +// @ts-ignore +import { LessonResponse } from '../models'; +/** + * LessonApi - axios parameter creator + * @export + */ +export const LessonApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + lessonControllerDelete: async (lessonId: string, options: any = {}): Promise => { + // verify required parameter 'lessonId' is not null or undefined + assertParamExists('lessonControllerDelete', 'lessonId', lessonId) + const localVarPath = `/lessons/{lessonId}` + .replace(`{${"lessonId"}}`, encodeURIComponent(String(lessonId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} courseId The id of the course the lesson belongs to. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + lessonControllerGetCourseLessons: async (courseId: string, options: any = {}): Promise => { + // verify required parameter 'courseId' is not null or undefined + assertParamExists('lessonControllerGetCourseLessons', 'courseId', courseId) + const localVarPath = `/lessons/course/{courseId}` + .replace(`{${"courseId"}}`, encodeURIComponent(String(courseId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + lessonControllerGetLesson: async (lessonId: string, options: any = {}): Promise => { + // verify required parameter 'lessonId' is not null or undefined + assertParamExists('lessonControllerGetLesson', 'lessonId', lessonId) + const localVarPath = `/lessons/{lessonId}` + .replace(`{${"lessonId"}}`, encodeURIComponent(String(lessonId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * LessonApi - functional programming interface + * @export + */ +export const LessonApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = LessonApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async lessonControllerDelete(lessonId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.lessonControllerDelete(lessonId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} courseId The id of the course the lesson belongs to. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async lessonControllerGetCourseLessons(courseId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.lessonControllerGetCourseLessons(courseId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async lessonControllerGetLesson(lessonId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.lessonControllerGetLesson(lessonId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * LessonApi - factory interface + * @export + */ +export const LessonApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = LessonApiFp(configuration) + return { + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + lessonControllerDelete(lessonId: string, options?: any): AxiosPromise { + return localVarFp.lessonControllerDelete(lessonId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} courseId The id of the course the lesson belongs to. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + lessonControllerGetCourseLessons(courseId: string, options?: any): AxiosPromise { + return localVarFp.lessonControllerGetCourseLessons(courseId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + lessonControllerGetLesson(lessonId: string, options?: any): AxiosPromise { + return localVarFp.lessonControllerGetLesson(lessonId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * LessonApi - interface + * @export + * @interface LessonApi + */ +export interface LessonApiInterface { + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof LessonApiInterface + */ + lessonControllerDelete(lessonId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} courseId The id of the course the lesson belongs to. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof LessonApiInterface + */ + lessonControllerGetCourseLessons(courseId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof LessonApiInterface + */ + lessonControllerGetLesson(lessonId: string, options?: any): AxiosPromise; + +} + +/** + * LessonApi - object-oriented interface + * @export + * @class LessonApi + * @extends {BaseAPI} + */ +export class LessonApi extends BaseAPI implements LessonApiInterface { + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof LessonApi + */ + public lessonControllerDelete(lessonId: string, options?: any) { + return LessonApiFp(this.configuration).lessonControllerDelete(lessonId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} courseId The id of the course the lesson belongs to. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof LessonApi + */ + public lessonControllerGetCourseLessons(courseId: string, options?: any) { + return LessonApiFp(this.configuration).lessonControllerGetCourseLessons(courseId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} lessonId The id of the lesson. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof LessonApi + */ + public lessonControllerGetLesson(lessonId: string, options?: any) { + return LessonApiFp(this.configuration).lessonControllerGetLesson(lessonId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/me-api.ts b/src/serverApi/v3/api/me-api.ts new file mode 100644 index 0000000..23755e6 --- /dev/null +++ b/src/serverApi/v3/api/me-api.ts @@ -0,0 +1,141 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { MeResponse } from '../models'; +/** + * MeApi - axios parameter creator + * @export + */ +export const MeApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Resolve jwt and response informations about the owner of the jwt. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + meControllerMe: async (options: any = {}): Promise => { + const localVarPath = `/me`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MeApi - functional programming interface + * @export + */ +export const MeApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MeApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Resolve jwt and response informations about the owner of the jwt. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async meControllerMe(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.meControllerMe(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MeApi - factory interface + * @export + */ +export const MeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MeApiFp(configuration) + return { + /** + * + * @summary Resolve jwt and response informations about the owner of the jwt. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + meControllerMe(options?: any): AxiosPromise { + return localVarFp.meControllerMe(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MeApi - interface + * @export + * @interface MeApi + */ +export interface MeApiInterface { + /** + * + * @summary Resolve jwt and response informations about the owner of the jwt. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MeApiInterface + */ + meControllerMe(options?: any): AxiosPromise; + +} + +/** + * MeApi - object-oriented interface + * @export + * @class MeApi + * @extends {BaseAPI} + */ +export class MeApi extends BaseAPI implements MeApiInterface { + /** + * + * @summary Resolve jwt and response informations about the owner of the jwt. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MeApi + */ + public meControllerMe(options?: any) { + return MeApiFp(this.configuration).meControllerMe(options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/media-board-api.ts b/src/serverApi/v3/api/media-board-api.ts new file mode 100644 index 0000000..e0bfbec --- /dev/null +++ b/src/serverApi/v3/api/media-board-api.ts @@ -0,0 +1,588 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CollapsableBodyParams } from '../models'; +// @ts-ignore +import { ColorBodyParams } from '../models'; +// @ts-ignore +import { LayoutBodyParams } from '../models'; +// @ts-ignore +import { MediaAvailableLineResponse } from '../models'; +// @ts-ignore +import { MediaBoardResponse } from '../models'; +// @ts-ignore +import { MediaLineResponse } from '../models'; +/** + * MediaBoardApi - axios parameter creator + * @export + */ +export const MediaBoardApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Collapse available line in media board. + * @param {string} boardId The id of the board. + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerCollapseMediaAvailableLine: async (boardId: string, collapsableBodyParams: CollapsableBodyParams, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('mediaBoardControllerCollapseMediaAvailableLine', 'boardId', boardId) + // verify required parameter 'collapsableBodyParams' is not null or undefined + assertParamExists('mediaBoardControllerCollapseMediaAvailableLine', 'collapsableBodyParams', collapsableBodyParams) + const localVarPath = `/media-boards/{boardId}/media-available-line/collapse` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(collapsableBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Create a new line on a media board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerCreateLine: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('mediaBoardControllerCreateLine', 'boardId', boardId) + const localVarPath = `/media-boards/{boardId}/media-lines` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the media available line for the board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerGetMediaAvailableLine: async (boardId: string, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('mediaBoardControllerGetMediaAvailableLine', 'boardId', boardId) + const localVarPath = `/media-boards/{boardId}/media-available-line` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the media shelf of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerGetMediaBoardForUser: async (options: any = {}): Promise => { + const localVarPath = `/media-boards/me`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Set layout for media board. + * @param {string} boardId The id of the board. + * @param {LayoutBodyParams} layoutBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerSetMediaBoardLayout: async (boardId: string, layoutBodyParams: LayoutBodyParams, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('mediaBoardControllerSetMediaBoardLayout', 'boardId', boardId) + // verify required parameter 'layoutBodyParams' is not null or undefined + assertParamExists('mediaBoardControllerSetMediaBoardLayout', 'layoutBodyParams', layoutBodyParams) + const localVarPath = `/media-boards/{boardId}/layout` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(layoutBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the color of available line in media board. + * @param {string} boardId The id of the board. + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerUpdateMediaAvailableLineColor: async (boardId: string, colorBodyParams: ColorBodyParams, options: any = {}): Promise => { + // verify required parameter 'boardId' is not null or undefined + assertParamExists('mediaBoardControllerUpdateMediaAvailableLineColor', 'boardId', boardId) + // verify required parameter 'colorBodyParams' is not null or undefined + assertParamExists('mediaBoardControllerUpdateMediaAvailableLineColor', 'colorBodyParams', colorBodyParams) + const localVarPath = `/media-boards/{boardId}/media-available-line/color` + .replace(`{${"boardId"}}`, encodeURIComponent(String(boardId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(colorBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MediaBoardApi - functional programming interface + * @export + */ +export const MediaBoardApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MediaBoardApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Collapse available line in media board. + * @param {string} boardId The id of the board. + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaBoardControllerCollapseMediaAvailableLine(boardId: string, collapsableBodyParams: CollapsableBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaBoardControllerCollapseMediaAvailableLine(boardId, collapsableBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Create a new line on a media board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaBoardControllerCreateLine(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaBoardControllerCreateLine(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get the media available line for the board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaBoardControllerGetMediaAvailableLine(boardId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaBoardControllerGetMediaAvailableLine(boardId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get the media shelf of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaBoardControllerGetMediaBoardForUser(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaBoardControllerGetMediaBoardForUser(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Set layout for media board. + * @param {string} boardId The id of the board. + * @param {LayoutBodyParams} layoutBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaBoardControllerSetMediaBoardLayout(boardId: string, layoutBodyParams: LayoutBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaBoardControllerSetMediaBoardLayout(boardId, layoutBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the color of available line in media board. + * @param {string} boardId The id of the board. + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaBoardControllerUpdateMediaAvailableLineColor(boardId: string, colorBodyParams: ColorBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaBoardControllerUpdateMediaAvailableLineColor(boardId, colorBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MediaBoardApi - factory interface + * @export + */ +export const MediaBoardApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MediaBoardApiFp(configuration) + return { + /** + * + * @summary Collapse available line in media board. + * @param {string} boardId The id of the board. + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerCollapseMediaAvailableLine(boardId: string, collapsableBodyParams: CollapsableBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaBoardControllerCollapseMediaAvailableLine(boardId, collapsableBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Create a new line on a media board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerCreateLine(boardId: string, options?: any): AxiosPromise { + return localVarFp.mediaBoardControllerCreateLine(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the media available line for the board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerGetMediaAvailableLine(boardId: string, options?: any): AxiosPromise { + return localVarFp.mediaBoardControllerGetMediaAvailableLine(boardId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the media shelf of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerGetMediaBoardForUser(options?: any): AxiosPromise { + return localVarFp.mediaBoardControllerGetMediaBoardForUser(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Set layout for media board. + * @param {string} boardId The id of the board. + * @param {LayoutBodyParams} layoutBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerSetMediaBoardLayout(boardId: string, layoutBodyParams: LayoutBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaBoardControllerSetMediaBoardLayout(boardId, layoutBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the color of available line in media board. + * @param {string} boardId The id of the board. + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaBoardControllerUpdateMediaAvailableLineColor(boardId: string, colorBodyParams: ColorBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaBoardControllerUpdateMediaAvailableLineColor(boardId, colorBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MediaBoardApi - interface + * @export + * @interface MediaBoardApi + */ +export interface MediaBoardApiInterface { + /** + * + * @summary Collapse available line in media board. + * @param {string} boardId The id of the board. + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApiInterface + */ + mediaBoardControllerCollapseMediaAvailableLine(boardId: string, collapsableBodyParams: CollapsableBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Create a new line on a media board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApiInterface + */ + mediaBoardControllerCreateLine(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get the media available line for the board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApiInterface + */ + mediaBoardControllerGetMediaAvailableLine(boardId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get the media shelf of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApiInterface + */ + mediaBoardControllerGetMediaBoardForUser(options?: any): AxiosPromise; + + /** + * + * @summary Set layout for media board. + * @param {string} boardId The id of the board. + * @param {LayoutBodyParams} layoutBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApiInterface + */ + mediaBoardControllerSetMediaBoardLayout(boardId: string, layoutBodyParams: LayoutBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the color of available line in media board. + * @param {string} boardId The id of the board. + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApiInterface + */ + mediaBoardControllerUpdateMediaAvailableLineColor(boardId: string, colorBodyParams: ColorBodyParams, options?: any): AxiosPromise; + +} + +/** + * MediaBoardApi - object-oriented interface + * @export + * @class MediaBoardApi + * @extends {BaseAPI} + */ +export class MediaBoardApi extends BaseAPI implements MediaBoardApiInterface { + /** + * + * @summary Collapse available line in media board. + * @param {string} boardId The id of the board. + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApi + */ + public mediaBoardControllerCollapseMediaAvailableLine(boardId: string, collapsableBodyParams: CollapsableBodyParams, options?: any) { + return MediaBoardApiFp(this.configuration).mediaBoardControllerCollapseMediaAvailableLine(boardId, collapsableBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Create a new line on a media board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApi + */ + public mediaBoardControllerCreateLine(boardId: string, options?: any) { + return MediaBoardApiFp(this.configuration).mediaBoardControllerCreateLine(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the media available line for the board. + * @param {string} boardId The id of the board. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApi + */ + public mediaBoardControllerGetMediaAvailableLine(boardId: string, options?: any) { + return MediaBoardApiFp(this.configuration).mediaBoardControllerGetMediaAvailableLine(boardId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the media shelf of the user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApi + */ + public mediaBoardControllerGetMediaBoardForUser(options?: any) { + return MediaBoardApiFp(this.configuration).mediaBoardControllerGetMediaBoardForUser(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Set layout for media board. + * @param {string} boardId The id of the board. + * @param {LayoutBodyParams} layoutBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApi + */ + public mediaBoardControllerSetMediaBoardLayout(boardId: string, layoutBodyParams: LayoutBodyParams, options?: any) { + return MediaBoardApiFp(this.configuration).mediaBoardControllerSetMediaBoardLayout(boardId, layoutBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the color of available line in media board. + * @param {string} boardId The id of the board. + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaBoardApi + */ + public mediaBoardControllerUpdateMediaAvailableLineColor(boardId: string, colorBodyParams: ColorBodyParams, options?: any) { + return MediaBoardApiFp(this.configuration).mediaBoardControllerUpdateMediaAvailableLineColor(boardId, colorBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/media-element-api.ts b/src/serverApi/v3/api/media-element-api.ts new file mode 100644 index 0000000..0810a91 --- /dev/null +++ b/src/serverApi/v3/api/media-element-api.ts @@ -0,0 +1,329 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CreateMediaElementBodyParams } from '../models'; +// @ts-ignore +import { MediaExternalToolElementResponse } from '../models'; +// @ts-ignore +import { MoveElementBodyParams } from '../models'; +/** + * MediaElementApi - axios parameter creator + * @export + */ +export const MediaElementApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a new element. + * @param {CreateMediaElementBodyParams} createMediaElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaElementControllerCreateElement: async (createMediaElementBodyParams: CreateMediaElementBodyParams, options: any = {}): Promise => { + // verify required parameter 'createMediaElementBodyParams' is not null or undefined + assertParamExists('mediaElementControllerCreateElement', 'createMediaElementBodyParams', createMediaElementBodyParams) + const localVarPath = `/media-elements`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createMediaElementBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a single element. + * @param {string} elementId The id of the element + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaElementControllerDeleteElement: async (elementId: string, options: any = {}): Promise => { + // verify required parameter 'elementId' is not null or undefined + assertParamExists('mediaElementControllerDeleteElement', 'elementId', elementId) + const localVarPath = `/media-elements/{elementId}` + .replace(`{${"elementId"}}`, encodeURIComponent(String(elementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Move a single element. + * @param {string} elementId The id of the element + * @param {MoveElementBodyParams} moveElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaElementControllerMoveElement: async (elementId: string, moveElementBodyParams: MoveElementBodyParams, options: any = {}): Promise => { + // verify required parameter 'elementId' is not null or undefined + assertParamExists('mediaElementControllerMoveElement', 'elementId', elementId) + // verify required parameter 'moveElementBodyParams' is not null or undefined + assertParamExists('mediaElementControllerMoveElement', 'moveElementBodyParams', moveElementBodyParams) + const localVarPath = `/media-elements/{elementId}/position` + .replace(`{${"elementId"}}`, encodeURIComponent(String(elementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(moveElementBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MediaElementApi - functional programming interface + * @export + */ +export const MediaElementApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MediaElementApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a new element. + * @param {CreateMediaElementBodyParams} createMediaElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaElementControllerCreateElement(createMediaElementBodyParams: CreateMediaElementBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaElementControllerCreateElement(createMediaElementBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a single element. + * @param {string} elementId The id of the element + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaElementControllerDeleteElement(elementId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaElementControllerDeleteElement(elementId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Move a single element. + * @param {string} elementId The id of the element + * @param {MoveElementBodyParams} moveElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaElementControllerMoveElement(elementId: string, moveElementBodyParams: MoveElementBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaElementControllerMoveElement(elementId, moveElementBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MediaElementApi - factory interface + * @export + */ +export const MediaElementApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MediaElementApiFp(configuration) + return { + /** + * + * @summary Create a new element. + * @param {CreateMediaElementBodyParams} createMediaElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaElementControllerCreateElement(createMediaElementBodyParams: CreateMediaElementBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaElementControllerCreateElement(createMediaElementBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a single element. + * @param {string} elementId The id of the element + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaElementControllerDeleteElement(elementId: string, options?: any): AxiosPromise { + return localVarFp.mediaElementControllerDeleteElement(elementId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Move a single element. + * @param {string} elementId The id of the element + * @param {MoveElementBodyParams} moveElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaElementControllerMoveElement(elementId: string, moveElementBodyParams: MoveElementBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaElementControllerMoveElement(elementId, moveElementBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MediaElementApi - interface + * @export + * @interface MediaElementApi + */ +export interface MediaElementApiInterface { + /** + * + * @summary Create a new element. + * @param {CreateMediaElementBodyParams} createMediaElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaElementApiInterface + */ + mediaElementControllerCreateElement(createMediaElementBodyParams: CreateMediaElementBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Delete a single element. + * @param {string} elementId The id of the element + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaElementApiInterface + */ + mediaElementControllerDeleteElement(elementId: string, options?: any): AxiosPromise; + + /** + * + * @summary Move a single element. + * @param {string} elementId The id of the element + * @param {MoveElementBodyParams} moveElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaElementApiInterface + */ + mediaElementControllerMoveElement(elementId: string, moveElementBodyParams: MoveElementBodyParams, options?: any): AxiosPromise; + +} + +/** + * MediaElementApi - object-oriented interface + * @export + * @class MediaElementApi + * @extends {BaseAPI} + */ +export class MediaElementApi extends BaseAPI implements MediaElementApiInterface { + /** + * + * @summary Create a new element. + * @param {CreateMediaElementBodyParams} createMediaElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaElementApi + */ + public mediaElementControllerCreateElement(createMediaElementBodyParams: CreateMediaElementBodyParams, options?: any) { + return MediaElementApiFp(this.configuration).mediaElementControllerCreateElement(createMediaElementBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a single element. + * @param {string} elementId The id of the element + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaElementApi + */ + public mediaElementControllerDeleteElement(elementId: string, options?: any) { + return MediaElementApiFp(this.configuration).mediaElementControllerDeleteElement(elementId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Move a single element. + * @param {string} elementId The id of the element + * @param {MoveElementBodyParams} moveElementBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaElementApi + */ + public mediaElementControllerMoveElement(elementId: string, moveElementBodyParams: MoveElementBodyParams, options?: any) { + return MediaElementApiFp(this.configuration).mediaElementControllerMoveElement(elementId, moveElementBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/media-line-api.ts b/src/serverApi/v3/api/media-line-api.ts new file mode 100644 index 0000000..300e709 --- /dev/null +++ b/src/serverApi/v3/api/media-line-api.ts @@ -0,0 +1,521 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CollapsableBodyParams } from '../models'; +// @ts-ignore +import { ColorBodyParams } from '../models'; +// @ts-ignore +import { MoveColumnBodyParams } from '../models'; +// @ts-ignore +import { RenameBodyParams } from '../models'; +/** + * MediaLineApi - axios parameter creator + * @export + */ +export const MediaLineApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Collapse available line in media board. + * @param {string} lineId The id of the line + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerCollapseMediaLine: async (lineId: string, collapsableBodyParams: CollapsableBodyParams, options: any = {}): Promise => { + // verify required parameter 'lineId' is not null or undefined + assertParamExists('mediaLineControllerCollapseMediaLine', 'lineId', lineId) + // verify required parameter 'collapsableBodyParams' is not null or undefined + assertParamExists('mediaLineControllerCollapseMediaLine', 'collapsableBodyParams', collapsableBodyParams) + const localVarPath = `/media-lines/{lineId}/collapse` + .replace(`{${"lineId"}}`, encodeURIComponent(String(lineId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(collapsableBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Delete a single line. + * @param {string} lineId The id of the line + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerDeleteLine: async (lineId: string, options: any = {}): Promise => { + // verify required parameter 'lineId' is not null or undefined + assertParamExists('mediaLineControllerDeleteLine', 'lineId', lineId) + const localVarPath = `/media-lines/{lineId}` + .replace(`{${"lineId"}}`, encodeURIComponent(String(lineId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Move a single line. + * @param {string} lineId The id of the line + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerMoveLine: async (lineId: string, moveColumnBodyParams: MoveColumnBodyParams, options: any = {}): Promise => { + // verify required parameter 'lineId' is not null or undefined + assertParamExists('mediaLineControllerMoveLine', 'lineId', lineId) + // verify required parameter 'moveColumnBodyParams' is not null or undefined + assertParamExists('mediaLineControllerMoveLine', 'moveColumnBodyParams', moveColumnBodyParams) + const localVarPath = `/media-lines/{lineId}/position` + .replace(`{${"lineId"}}`, encodeURIComponent(String(lineId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(moveColumnBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the color of a single line. + * @param {string} lineId The id of the line + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerUpdateBackgroundColor: async (lineId: string, colorBodyParams: ColorBodyParams, options: any = {}): Promise => { + // verify required parameter 'lineId' is not null or undefined + assertParamExists('mediaLineControllerUpdateBackgroundColor', 'lineId', lineId) + // verify required parameter 'colorBodyParams' is not null or undefined + assertParamExists('mediaLineControllerUpdateBackgroundColor', 'colorBodyParams', colorBodyParams) + const localVarPath = `/media-lines/{lineId}/color` + .replace(`{${"lineId"}}`, encodeURIComponent(String(lineId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(colorBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Update the title of a single line. + * @param {string} lineId The id of the line + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerUpdateLineTitle: async (lineId: string, renameBodyParams: RenameBodyParams, options: any = {}): Promise => { + // verify required parameter 'lineId' is not null or undefined + assertParamExists('mediaLineControllerUpdateLineTitle', 'lineId', lineId) + // verify required parameter 'renameBodyParams' is not null or undefined + assertParamExists('mediaLineControllerUpdateLineTitle', 'renameBodyParams', renameBodyParams) + const localVarPath = `/media-lines/{lineId}/title` + .replace(`{${"lineId"}}`, encodeURIComponent(String(lineId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(renameBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MediaLineApi - functional programming interface + * @export + */ +export const MediaLineApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MediaLineApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Collapse available line in media board. + * @param {string} lineId The id of the line + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaLineControllerCollapseMediaLine(lineId: string, collapsableBodyParams: CollapsableBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaLineControllerCollapseMediaLine(lineId, collapsableBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Delete a single line. + * @param {string} lineId The id of the line + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaLineControllerDeleteLine(lineId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaLineControllerDeleteLine(lineId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Move a single line. + * @param {string} lineId The id of the line + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaLineControllerMoveLine(lineId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaLineControllerMoveLine(lineId, moveColumnBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the color of a single line. + * @param {string} lineId The id of the line + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaLineControllerUpdateBackgroundColor(lineId: string, colorBodyParams: ColorBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaLineControllerUpdateBackgroundColor(lineId, colorBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Update the title of a single line. + * @param {string} lineId The id of the line + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async mediaLineControllerUpdateLineTitle(lineId: string, renameBodyParams: RenameBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.mediaLineControllerUpdateLineTitle(lineId, renameBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MediaLineApi - factory interface + * @export + */ +export const MediaLineApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MediaLineApiFp(configuration) + return { + /** + * + * @summary Collapse available line in media board. + * @param {string} lineId The id of the line + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerCollapseMediaLine(lineId: string, collapsableBodyParams: CollapsableBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaLineControllerCollapseMediaLine(lineId, collapsableBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Delete a single line. + * @param {string} lineId The id of the line + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerDeleteLine(lineId: string, options?: any): AxiosPromise { + return localVarFp.mediaLineControllerDeleteLine(lineId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Move a single line. + * @param {string} lineId The id of the line + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerMoveLine(lineId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaLineControllerMoveLine(lineId, moveColumnBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the color of a single line. + * @param {string} lineId The id of the line + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerUpdateBackgroundColor(lineId: string, colorBodyParams: ColorBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaLineControllerUpdateBackgroundColor(lineId, colorBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Update the title of a single line. + * @param {string} lineId The id of the line + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + mediaLineControllerUpdateLineTitle(lineId: string, renameBodyParams: RenameBodyParams, options?: any): AxiosPromise { + return localVarFp.mediaLineControllerUpdateLineTitle(lineId, renameBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MediaLineApi - interface + * @export + * @interface MediaLineApi + */ +export interface MediaLineApiInterface { + /** + * + * @summary Collapse available line in media board. + * @param {string} lineId The id of the line + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApiInterface + */ + mediaLineControllerCollapseMediaLine(lineId: string, collapsableBodyParams: CollapsableBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Delete a single line. + * @param {string} lineId The id of the line + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApiInterface + */ + mediaLineControllerDeleteLine(lineId: string, options?: any): AxiosPromise; + + /** + * + * @summary Move a single line. + * @param {string} lineId The id of the line + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApiInterface + */ + mediaLineControllerMoveLine(lineId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the color of a single line. + * @param {string} lineId The id of the line + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApiInterface + */ + mediaLineControllerUpdateBackgroundColor(lineId: string, colorBodyParams: ColorBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Update the title of a single line. + * @param {string} lineId The id of the line + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApiInterface + */ + mediaLineControllerUpdateLineTitle(lineId: string, renameBodyParams: RenameBodyParams, options?: any): AxiosPromise; + +} + +/** + * MediaLineApi - object-oriented interface + * @export + * @class MediaLineApi + * @extends {BaseAPI} + */ +export class MediaLineApi extends BaseAPI implements MediaLineApiInterface { + /** + * + * @summary Collapse available line in media board. + * @param {string} lineId The id of the line + * @param {CollapsableBodyParams} collapsableBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApi + */ + public mediaLineControllerCollapseMediaLine(lineId: string, collapsableBodyParams: CollapsableBodyParams, options?: any) { + return MediaLineApiFp(this.configuration).mediaLineControllerCollapseMediaLine(lineId, collapsableBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Delete a single line. + * @param {string} lineId The id of the line + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApi + */ + public mediaLineControllerDeleteLine(lineId: string, options?: any) { + return MediaLineApiFp(this.configuration).mediaLineControllerDeleteLine(lineId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Move a single line. + * @param {string} lineId The id of the line + * @param {MoveColumnBodyParams} moveColumnBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApi + */ + public mediaLineControllerMoveLine(lineId: string, moveColumnBodyParams: MoveColumnBodyParams, options?: any) { + return MediaLineApiFp(this.configuration).mediaLineControllerMoveLine(lineId, moveColumnBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the color of a single line. + * @param {string} lineId The id of the line + * @param {ColorBodyParams} colorBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApi + */ + public mediaLineControllerUpdateBackgroundColor(lineId: string, colorBodyParams: ColorBodyParams, options?: any) { + return MediaLineApiFp(this.configuration).mediaLineControllerUpdateBackgroundColor(lineId, colorBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Update the title of a single line. + * @param {string} lineId The id of the line + * @param {RenameBodyParams} renameBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MediaLineApi + */ + public mediaLineControllerUpdateLineTitle(lineId: string, renameBodyParams: RenameBodyParams, options?: any) { + return MediaLineApiFp(this.configuration).mediaLineControllerUpdateLineTitle(lineId, renameBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/meta-tag-extractor-api.ts b/src/serverApi/v3/api/meta-tag-extractor-api.ts new file mode 100644 index 0000000..83d29b9 --- /dev/null +++ b/src/serverApi/v3/api/meta-tag-extractor-api.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { GetMetaTagDataBody } from '../models'; +// @ts-ignore +import { MetaTagExtractorResponse } from '../models'; +/** + * MetaTagExtractorApi - axios parameter creator + * @export + */ +export const MetaTagExtractorApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary return extract meta tags + * @param {GetMetaTagDataBody} getMetaTagDataBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + metaTagExtractorControllerGetMetaTags: async (getMetaTagDataBody: GetMetaTagDataBody, options: any = {}): Promise => { + // verify required parameter 'getMetaTagDataBody' is not null or undefined + assertParamExists('metaTagExtractorControllerGetMetaTags', 'getMetaTagDataBody', getMetaTagDataBody) + const localVarPath = `/meta-tag-extractor`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(getMetaTagDataBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * MetaTagExtractorApi - functional programming interface + * @export + */ +export const MetaTagExtractorApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = MetaTagExtractorApiAxiosParamCreator(configuration) + return { + /** + * + * @summary return extract meta tags + * @param {GetMetaTagDataBody} getMetaTagDataBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async metaTagExtractorControllerGetMetaTags(getMetaTagDataBody: GetMetaTagDataBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.metaTagExtractorControllerGetMetaTags(getMetaTagDataBody, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * MetaTagExtractorApi - factory interface + * @export + */ +export const MetaTagExtractorApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = MetaTagExtractorApiFp(configuration) + return { + /** + * + * @summary return extract meta tags + * @param {GetMetaTagDataBody} getMetaTagDataBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + metaTagExtractorControllerGetMetaTags(getMetaTagDataBody: GetMetaTagDataBody, options?: any): AxiosPromise { + return localVarFp.metaTagExtractorControllerGetMetaTags(getMetaTagDataBody, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * MetaTagExtractorApi - interface + * @export + * @interface MetaTagExtractorApi + */ +export interface MetaTagExtractorApiInterface { + /** + * + * @summary return extract meta tags + * @param {GetMetaTagDataBody} getMetaTagDataBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MetaTagExtractorApiInterface + */ + metaTagExtractorControllerGetMetaTags(getMetaTagDataBody: GetMetaTagDataBody, options?: any): AxiosPromise; + +} + +/** + * MetaTagExtractorApi - object-oriented interface + * @export + * @class MetaTagExtractorApi + * @extends {BaseAPI} + */ +export class MetaTagExtractorApi extends BaseAPI implements MetaTagExtractorApiInterface { + /** + * + * @summary return extract meta tags + * @param {GetMetaTagDataBody} getMetaTagDataBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof MetaTagExtractorApi + */ + public metaTagExtractorControllerGetMetaTags(getMetaTagDataBody: GetMetaTagDataBody, options?: any) { + return MetaTagExtractorApiFp(this.configuration).metaTagExtractorControllerGetMetaTags(getMetaTagDataBody, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/news-api.ts b/src/serverApi/v3/api/news-api.ts new file mode 100644 index 0000000..e3c6093 --- /dev/null +++ b/src/serverApi/v3/api/news-api.ts @@ -0,0 +1,624 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { CreateNewsParams } from '../models'; +// @ts-ignore +import { NewsListResponse } from '../models'; +// @ts-ignore +import { NewsResponse } from '../models'; +// @ts-ignore +import { UpdateNewsParams } from '../models'; +/** + * NewsApi - axios parameter creator + * @export + */ +export const NewsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Create a news by a user in a given scope (school or team). + * @param {CreateNewsParams} createNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerCreate: async (createNewsParams: CreateNewsParams, options: any = {}): Promise => { + // verify required parameter 'createNewsParams' is not null or undefined + assertParamExists('newsControllerCreate', 'createNewsParams', createNewsParams) + const localVarPath = `/news`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(createNewsParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Delete a news. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerDelete: async (newsId: string, options: any = {}): Promise => { + // verify required parameter 'newsId' is not null or undefined + assertParamExists('newsControllerDelete', 'newsId', newsId) + const localVarPath = `/news/{newsId}` + .replace(`{${"newsId"}}`, encodeURIComponent(String(newsId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Responds with all news for a user. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerFindAll: async (targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options: any = {}): Promise => { + const localVarPath = `/news`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (targetModel !== undefined) { + localVarQueryParameter['targetModel'] = targetModel; + } + + if (targetId !== undefined) { + localVarQueryParameter['targetId'] = targetId; + } + + if (unpublished !== undefined) { + localVarQueryParameter['unpublished'] = unpublished; + } + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Retrieve a specific news entry by id. A user may only read news of scopes he has the read permission. The news entity has school and user names populated. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerFindOne: async (newsId: string, options: any = {}): Promise => { + // verify required parameter 'newsId' is not null or undefined + assertParamExists('newsControllerFindOne', 'newsId', newsId) + const localVarPath = `/news/{newsId}` + .replace(`{${"newsId"}}`, encodeURIComponent(String(newsId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Update properties of a news. + * @param {string} newsId The id of the news. + * @param {UpdateNewsParams} updateNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerUpdate: async (newsId: string, updateNewsParams: UpdateNewsParams, options: any = {}): Promise => { + // verify required parameter 'newsId' is not null or undefined + assertParamExists('newsControllerUpdate', 'newsId', newsId) + // verify required parameter 'updateNewsParams' is not null or undefined + assertParamExists('newsControllerUpdate', 'updateNewsParams', updateNewsParams) + const localVarPath = `/news/{newsId}` + .replace(`{${"newsId"}}`, encodeURIComponent(String(newsId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateNewsParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Responds with news of a given team for a user. + * @param {string} teamId The id of the team. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + teamNewsControllerFindAllForTeam: async (teamId: string, targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options: any = {}): Promise => { + // verify required parameter 'teamId' is not null or undefined + assertParamExists('teamNewsControllerFindAllForTeam', 'teamId', teamId) + const localVarPath = `/team/{teamId}/news` + .replace(`{${"teamId"}}`, encodeURIComponent(String(teamId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (targetModel !== undefined) { + localVarQueryParameter['targetModel'] = targetModel; + } + + if (targetId !== undefined) { + localVarQueryParameter['targetId'] = targetId; + } + + if (unpublished !== undefined) { + localVarQueryParameter['unpublished'] = unpublished; + } + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * NewsApi - functional programming interface + * @export + */ +export const NewsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = NewsApiAxiosParamCreator(configuration) + return { + /** + * Create a news by a user in a given scope (school or team). + * @param {CreateNewsParams} createNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async newsControllerCreate(createNewsParams: CreateNewsParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.newsControllerCreate(createNewsParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Delete a news. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async newsControllerDelete(newsId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.newsControllerDelete(newsId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Responds with all news for a user. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async newsControllerFindAll(targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.newsControllerFindAll(targetModel, targetId, unpublished, skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Retrieve a specific news entry by id. A user may only read news of scopes he has the read permission. The news entity has school and user names populated. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async newsControllerFindOne(newsId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.newsControllerFindOne(newsId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Update properties of a news. + * @param {string} newsId The id of the news. + * @param {UpdateNewsParams} updateNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async newsControllerUpdate(newsId: string, updateNewsParams: UpdateNewsParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.newsControllerUpdate(newsId, updateNewsParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Responds with news of a given team for a user. + * @param {string} teamId The id of the team. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async teamNewsControllerFindAllForTeam(teamId: string, targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.teamNewsControllerFindAllForTeam(teamId, targetModel, targetId, unpublished, skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * NewsApi - factory interface + * @export + */ +export const NewsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = NewsApiFp(configuration) + return { + /** + * Create a news by a user in a given scope (school or team). + * @param {CreateNewsParams} createNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerCreate(createNewsParams: CreateNewsParams, options?: any): AxiosPromise { + return localVarFp.newsControllerCreate(createNewsParams, options).then((request) => request(axios, basePath)); + }, + /** + * Delete a news. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerDelete(newsId: string, options?: any): AxiosPromise { + return localVarFp.newsControllerDelete(newsId, options).then((request) => request(axios, basePath)); + }, + /** + * Responds with all news for a user. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerFindAll(targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.newsControllerFindAll(targetModel, targetId, unpublished, skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * Retrieve a specific news entry by id. A user may only read news of scopes he has the read permission. The news entity has school and user names populated. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerFindOne(newsId: string, options?: any): AxiosPromise { + return localVarFp.newsControllerFindOne(newsId, options).then((request) => request(axios, basePath)); + }, + /** + * Update properties of a news. + * @param {string} newsId The id of the news. + * @param {UpdateNewsParams} updateNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + newsControllerUpdate(newsId: string, updateNewsParams: UpdateNewsParams, options?: any): AxiosPromise { + return localVarFp.newsControllerUpdate(newsId, updateNewsParams, options).then((request) => request(axios, basePath)); + }, + /** + * Responds with news of a given team for a user. + * @param {string} teamId The id of the team. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + teamNewsControllerFindAllForTeam(teamId: string, targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.teamNewsControllerFindAllForTeam(teamId, targetModel, targetId, unpublished, skip, limit, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * NewsApi - interface + * @export + * @interface NewsApi + */ +export interface NewsApiInterface { + /** + * Create a news by a user in a given scope (school or team). + * @param {CreateNewsParams} createNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApiInterface + */ + newsControllerCreate(createNewsParams: CreateNewsParams, options?: any): AxiosPromise; + + /** + * Delete a news. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApiInterface + */ + newsControllerDelete(newsId: string, options?: any): AxiosPromise; + + /** + * Responds with all news for a user. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApiInterface + */ + newsControllerFindAll(targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * Retrieve a specific news entry by id. A user may only read news of scopes he has the read permission. The news entity has school and user names populated. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApiInterface + */ + newsControllerFindOne(newsId: string, options?: any): AxiosPromise; + + /** + * Update properties of a news. + * @param {string} newsId The id of the news. + * @param {UpdateNewsParams} updateNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApiInterface + */ + newsControllerUpdate(newsId: string, updateNewsParams: UpdateNewsParams, options?: any): AxiosPromise; + + /** + * Responds with news of a given team for a user. + * @param {string} teamId The id of the team. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApiInterface + */ + teamNewsControllerFindAllForTeam(teamId: string, targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any): AxiosPromise; + +} + +/** + * NewsApi - object-oriented interface + * @export + * @class NewsApi + * @extends {BaseAPI} + */ +export class NewsApi extends BaseAPI implements NewsApiInterface { + /** + * Create a news by a user in a given scope (school or team). + * @param {CreateNewsParams} createNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApi + */ + public newsControllerCreate(createNewsParams: CreateNewsParams, options?: any) { + return NewsApiFp(this.configuration).newsControllerCreate(createNewsParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Delete a news. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApi + */ + public newsControllerDelete(newsId: string, options?: any) { + return NewsApiFp(this.configuration).newsControllerDelete(newsId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Responds with all news for a user. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApi + */ + public newsControllerFindAll(targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any) { + return NewsApiFp(this.configuration).newsControllerFindAll(targetModel, targetId, unpublished, skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Retrieve a specific news entry by id. A user may only read news of scopes he has the read permission. The news entity has school and user names populated. + * @param {string} newsId The id of the news. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApi + */ + public newsControllerFindOne(newsId: string, options?: any) { + return NewsApiFp(this.configuration).newsControllerFindOne(newsId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Update properties of a news. + * @param {string} newsId The id of the news. + * @param {UpdateNewsParams} updateNewsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApi + */ + public newsControllerUpdate(newsId: string, updateNewsParams: UpdateNewsParams, options?: any) { + return NewsApiFp(this.configuration).newsControllerUpdate(newsId, updateNewsParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Responds with news of a given team for a user. + * @param {string} teamId The id of the team. + * @param {'schools' | 'courses' | 'teams'} [targetModel] Target model to which the news are related + * @param {string} [targetId] Specific target id to which the news are related (works only together with targetModel) + * @param {boolean} [unpublished] Flag that filters if the news should be published or not + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof NewsApi + */ + public teamNewsControllerFindAllForTeam(teamId: string, targetModel?: 'schools' | 'courses' | 'teams', targetId?: string, unpublished?: boolean, skip?: number, limit?: number, options?: any) { + return NewsApiFp(this.configuration).teamNewsControllerFindAllForTeam(teamId, targetModel, targetId, unpublished, skip, limit, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/oauth2-api.ts b/src/serverApi/v3/api/oauth2-api.ts new file mode 100644 index 0000000..8b3e0e5 --- /dev/null +++ b/src/serverApi/v3/api/oauth2-api.ts @@ -0,0 +1,1061 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ConsentRequestBody } from '../models'; +// @ts-ignore +import { ConsentResponse } from '../models'; +// @ts-ignore +import { ConsentSessionResponse } from '../models'; +// @ts-ignore +import { LoginRequestBody } from '../models'; +// @ts-ignore +import { LoginResponse } from '../models'; +// @ts-ignore +import { OauthClientCreateBody } from '../models'; +// @ts-ignore +import { OauthClientResponse } from '../models'; +// @ts-ignore +import { OauthClientUpdateBody } from '../models'; +// @ts-ignore +import { RedirectResponse } from '../models'; +/** + * Oauth2Api - axios parameter creator + * @export + */ +export const Oauth2ApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerAcceptLogoutRequest: async (challenge: string, options: any = {}): Promise => { + // verify required parameter 'challenge' is not null or undefined + assertParamExists('oauthProviderControllerAcceptLogoutRequest', 'challenge', challenge) + const localVarPath = `/oauth2/logoutRequest/{challenge}` + .replace(`{${"challenge"}}`, encodeURIComponent(String(challenge))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {OauthClientCreateBody} oauthClientCreateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerCreateOAuth2Client: async (oauthClientCreateBody: OauthClientCreateBody, options: any = {}): Promise => { + // verify required parameter 'oauthClientCreateBody' is not null or undefined + assertParamExists('oauthProviderControllerCreateOAuth2Client', 'oauthClientCreateBody', oauthClientCreateBody) + const localVarPath = `/oauth2/clients`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(oauthClientCreateBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerDeleteOAuth2Client: async (id: string, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('oauthProviderControllerDeleteOAuth2Client', 'id', id) + const localVarPath = `/oauth2/clients/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerGetConsentRequest: async (challenge: string, options: any = {}): Promise => { + // verify required parameter 'challenge' is not null or undefined + assertParamExists('oauthProviderControllerGetConsentRequest', 'challenge', challenge) + const localVarPath = `/oauth2/consentRequest/{challenge}` + .replace(`{${"challenge"}}`, encodeURIComponent(String(challenge))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerGetLoginRequest: async (challenge: string, options: any = {}): Promise => { + // verify required parameter 'challenge' is not null or undefined + assertParamExists('oauthProviderControllerGetLoginRequest', 'challenge', challenge) + const localVarPath = `/oauth2/loginRequest/{challenge}` + .replace(`{${"challenge"}}`, encodeURIComponent(String(challenge))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerGetOAuth2Client: async (id: string, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('oauthProviderControllerGetOAuth2Client', 'id', id) + const localVarPath = `/oauth2/clients/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerListConsentSessions: async (options: any = {}): Promise => { + const localVarPath = `/oauth2/auth/sessions/consent`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {number} limit The maximum amount of clients to returned, upper bound is 500 clients. + * @param {number} offset The offset from where to start looking. + * @param {string} clientName The name of the clients to filter by. + * @param {string} owner The owner of the clients to filter by. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerListOAuth2Clients: async (limit: number, offset: number, clientName: string, owner: string, options: any = {}): Promise => { + // verify required parameter 'limit' is not null or undefined + assertParamExists('oauthProviderControllerListOAuth2Clients', 'limit', limit) + // verify required parameter 'offset' is not null or undefined + assertParamExists('oauthProviderControllerListOAuth2Clients', 'offset', offset) + // verify required parameter 'clientName' is not null or undefined + assertParamExists('oauthProviderControllerListOAuth2Clients', 'clientName', clientName) + // verify required parameter 'owner' is not null or undefined + assertParamExists('oauthProviderControllerListOAuth2Clients', 'owner', owner) + const localVarPath = `/oauth2/clients` + .replace(`{${"limit"}}`, encodeURIComponent(String(limit))) + .replace(`{${"offset"}}`, encodeURIComponent(String(offset))) + .replace(`{${"client_name"}}`, encodeURIComponent(String(clientName))) + .replace(`{${"owner"}}`, encodeURIComponent(String(owner))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} challenge The login challenge. + * @param {ConsentRequestBody} consentRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerPatchConsentRequest: async (challenge: string, consentRequestBody: ConsentRequestBody, accept?: boolean, options: any = {}): Promise => { + // verify required parameter 'challenge' is not null or undefined + assertParamExists('oauthProviderControllerPatchConsentRequest', 'challenge', challenge) + // verify required parameter 'consentRequestBody' is not null or undefined + assertParamExists('oauthProviderControllerPatchConsentRequest', 'consentRequestBody', consentRequestBody) + const localVarPath = `/oauth2/consentRequest/{challenge}` + .replace(`{${"challenge"}}`, encodeURIComponent(String(challenge))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (accept !== undefined) { + localVarQueryParameter['accept'] = accept; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(consentRequestBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} challenge The login challenge. + * @param {LoginRequestBody} loginRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerPatchLoginRequest: async (challenge: string, loginRequestBody: LoginRequestBody, accept?: boolean, options: any = {}): Promise => { + // verify required parameter 'challenge' is not null or undefined + assertParamExists('oauthProviderControllerPatchLoginRequest', 'challenge', challenge) + // verify required parameter 'loginRequestBody' is not null or undefined + assertParamExists('oauthProviderControllerPatchLoginRequest', 'loginRequestBody', loginRequestBody) + const localVarPath = `/oauth2/loginRequest/{challenge}` + .replace(`{${"challenge"}}`, encodeURIComponent(String(challenge))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (accept !== undefined) { + localVarQueryParameter['accept'] = accept; + } + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(loginRequestBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} client The Oauth2 client id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerRevokeConsentSession: async (client: string, options: any = {}): Promise => { + // verify required parameter 'client' is not null or undefined + assertParamExists('oauthProviderControllerRevokeConsentSession', 'client', client) + const localVarPath = `/oauth2/auth/sessions/consent`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (client !== undefined) { + localVarQueryParameter['client'] = client; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {OauthClientUpdateBody} oauthClientUpdateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerUpdateOAuth2Client: async (id: string, oauthClientUpdateBody: OauthClientUpdateBody, options: any = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('oauthProviderControllerUpdateOAuth2Client', 'id', id) + // verify required parameter 'oauthClientUpdateBody' is not null or undefined + assertParamExists('oauthProviderControllerUpdateOAuth2Client', 'oauthClientUpdateBody', oauthClientUpdateBody) + const localVarPath = `/oauth2/clients/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(oauthClientUpdateBody, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * Oauth2Api - functional programming interface + * @export + */ +export const Oauth2ApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = Oauth2ApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerAcceptLogoutRequest(challenge: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerAcceptLogoutRequest(challenge, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {OauthClientCreateBody} oauthClientCreateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody: OauthClientCreateBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerDeleteOAuth2Client(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerDeleteOAuth2Client(id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerGetConsentRequest(challenge: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerGetConsentRequest(challenge, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerGetLoginRequest(challenge: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerGetLoginRequest(challenge, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerGetOAuth2Client(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerGetOAuth2Client(id, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerListConsentSessions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerListConsentSessions(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {number} limit The maximum amount of clients to returned, upper bound is 500 clients. + * @param {number} offset The offset from where to start looking. + * @param {string} clientName The name of the clients to filter by. + * @param {string} owner The owner of the clients to filter by. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerListOAuth2Clients(limit: number, offset: number, clientName: string, owner: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerListOAuth2Clients(limit, offset, clientName, owner, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {ConsentRequestBody} consentRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerPatchConsentRequest(challenge: string, consentRequestBody: ConsentRequestBody, accept?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerPatchConsentRequest(challenge, consentRequestBody, accept, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {LoginRequestBody} loginRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerPatchLoginRequest(challenge: string, loginRequestBody: LoginRequestBody, accept?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerPatchLoginRequest(challenge, loginRequestBody, accept, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} client The Oauth2 client id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerRevokeConsentSession(client: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerRevokeConsentSession(client, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {OauthClientUpdateBody} oauthClientUpdateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthProviderControllerUpdateOAuth2Client(id: string, oauthClientUpdateBody: OauthClientUpdateBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthProviderControllerUpdateOAuth2Client(id, oauthClientUpdateBody, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * Oauth2Api - factory interface + * @export + */ +export const Oauth2ApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = Oauth2ApiFp(configuration) + return { + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerAcceptLogoutRequest(challenge: string, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerAcceptLogoutRequest(challenge, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {OauthClientCreateBody} oauthClientCreateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody: OauthClientCreateBody, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerDeleteOAuth2Client(id: string, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerDeleteOAuth2Client(id, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerGetConsentRequest(challenge: string, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerGetConsentRequest(challenge, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerGetLoginRequest(challenge: string, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerGetLoginRequest(challenge, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerGetOAuth2Client(id: string, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerGetOAuth2Client(id, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerListConsentSessions(options?: any): AxiosPromise> { + return localVarFp.oauthProviderControllerListConsentSessions(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {number} limit The maximum amount of clients to returned, upper bound is 500 clients. + * @param {number} offset The offset from where to start looking. + * @param {string} clientName The name of the clients to filter by. + * @param {string} owner The owner of the clients to filter by. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerListOAuth2Clients(limit: number, offset: number, clientName: string, owner: string, options?: any): AxiosPromise> { + return localVarFp.oauthProviderControllerListOAuth2Clients(limit, offset, clientName, owner, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {ConsentRequestBody} consentRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerPatchConsentRequest(challenge: string, consentRequestBody: ConsentRequestBody, accept?: boolean, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerPatchConsentRequest(challenge, consentRequestBody, accept, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} challenge The login challenge. + * @param {LoginRequestBody} loginRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerPatchLoginRequest(challenge: string, loginRequestBody: LoginRequestBody, accept?: boolean, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerPatchLoginRequest(challenge, loginRequestBody, accept, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} client The Oauth2 client id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerRevokeConsentSession(client: string, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerRevokeConsentSession(client, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} id The Oauth Client Id. + * @param {OauthClientUpdateBody} oauthClientUpdateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthProviderControllerUpdateOAuth2Client(id: string, oauthClientUpdateBody: OauthClientUpdateBody, options?: any): AxiosPromise { + return localVarFp.oauthProviderControllerUpdateOAuth2Client(id, oauthClientUpdateBody, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * Oauth2Api - interface + * @export + * @interface Oauth2Api + */ +export interface Oauth2ApiInterface { + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerAcceptLogoutRequest(challenge: string, options?: any): AxiosPromise; + + /** + * + * @param {OauthClientCreateBody} oauthClientCreateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody: OauthClientCreateBody, options?: any): AxiosPromise; + + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerDeleteOAuth2Client(id: string, options?: any): AxiosPromise; + + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerGetConsentRequest(challenge: string, options?: any): AxiosPromise; + + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerGetLoginRequest(challenge: string, options?: any): AxiosPromise; + + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerGetOAuth2Client(id: string, options?: any): AxiosPromise; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerListConsentSessions(options?: any): AxiosPromise>; + + /** + * + * @param {number} limit The maximum amount of clients to returned, upper bound is 500 clients. + * @param {number} offset The offset from where to start looking. + * @param {string} clientName The name of the clients to filter by. + * @param {string} owner The owner of the clients to filter by. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerListOAuth2Clients(limit: number, offset: number, clientName: string, owner: string, options?: any): AxiosPromise>; + + /** + * + * @param {string} challenge The login challenge. + * @param {ConsentRequestBody} consentRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerPatchConsentRequest(challenge: string, consentRequestBody: ConsentRequestBody, accept?: boolean, options?: any): AxiosPromise; + + /** + * + * @param {string} challenge The login challenge. + * @param {LoginRequestBody} loginRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerPatchLoginRequest(challenge: string, loginRequestBody: LoginRequestBody, accept?: boolean, options?: any): AxiosPromise; + + /** + * + * @param {string} client The Oauth2 client id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerRevokeConsentSession(client: string, options?: any): AxiosPromise; + + /** + * + * @param {string} id The Oauth Client Id. + * @param {OauthClientUpdateBody} oauthClientUpdateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2ApiInterface + */ + oauthProviderControllerUpdateOAuth2Client(id: string, oauthClientUpdateBody: OauthClientUpdateBody, options?: any): AxiosPromise; + +} + +/** + * Oauth2Api - object-oriented interface + * @export + * @class Oauth2Api + * @extends {BaseAPI} + */ +export class Oauth2Api extends BaseAPI implements Oauth2ApiInterface { + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerAcceptLogoutRequest(challenge: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerAcceptLogoutRequest(challenge, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {OauthClientCreateBody} oauthClientCreateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody: OauthClientCreateBody, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerCreateOAuth2Client(oauthClientCreateBody, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerDeleteOAuth2Client(id: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerDeleteOAuth2Client(id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerGetConsentRequest(challenge: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerGetConsentRequest(challenge, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} challenge The login challenge. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerGetLoginRequest(challenge: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerGetLoginRequest(challenge, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} id The Oauth Client Id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerGetOAuth2Client(id: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerGetOAuth2Client(id, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerListConsentSessions(options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerListConsentSessions(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {number} limit The maximum amount of clients to returned, upper bound is 500 clients. + * @param {number} offset The offset from where to start looking. + * @param {string} clientName The name of the clients to filter by. + * @param {string} owner The owner of the clients to filter by. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerListOAuth2Clients(limit: number, offset: number, clientName: string, owner: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerListOAuth2Clients(limit, offset, clientName, owner, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} challenge The login challenge. + * @param {ConsentRequestBody} consentRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerPatchConsentRequest(challenge: string, consentRequestBody: ConsentRequestBody, accept?: boolean, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerPatchConsentRequest(challenge, consentRequestBody, accept, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} challenge The login challenge. + * @param {LoginRequestBody} loginRequestBody + * @param {boolean} [accept] Accepts the login request. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerPatchLoginRequest(challenge: string, loginRequestBody: LoginRequestBody, accept?: boolean, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerPatchLoginRequest(challenge, loginRequestBody, accept, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} client The Oauth2 client id. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerRevokeConsentSession(client: string, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerRevokeConsentSession(client, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} id The Oauth Client Id. + * @param {OauthClientUpdateBody} oauthClientUpdateBody + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof Oauth2Api + */ + public oauthProviderControllerUpdateOAuth2Client(id: string, oauthClientUpdateBody: OauthClientUpdateBody, options?: any) { + return Oauth2ApiFp(this.configuration).oauthProviderControllerUpdateOAuth2Client(id, oauthClientUpdateBody, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/pseudonym-api.ts b/src/serverApi/v3/api/pseudonym-api.ts new file mode 100644 index 0000000..4cc2439 --- /dev/null +++ b/src/serverApi/v3/api/pseudonym-api.ts @@ -0,0 +1,149 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { PseudonymResponse } from '../models'; +/** + * PseudonymApi - axios parameter creator + * @export + */ +export const PseudonymApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Returns the related user and tool information to a pseudonym + * @param {string} pseudonym + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + pseudonymControllerGetPseudonym: async (pseudonym: string, options: any = {}): Promise => { + // verify required parameter 'pseudonym' is not null or undefined + assertParamExists('pseudonymControllerGetPseudonym', 'pseudonym', pseudonym) + const localVarPath = `/pseudonyms/{pseudonym}` + .replace(`{${"pseudonym"}}`, encodeURIComponent(String(pseudonym))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * PseudonymApi - functional programming interface + * @export + */ +export const PseudonymApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = PseudonymApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Returns the related user and tool information to a pseudonym + * @param {string} pseudonym + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async pseudonymControllerGetPseudonym(pseudonym: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.pseudonymControllerGetPseudonym(pseudonym, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * PseudonymApi - factory interface + * @export + */ +export const PseudonymApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = PseudonymApiFp(configuration) + return { + /** + * + * @summary Returns the related user and tool information to a pseudonym + * @param {string} pseudonym + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + pseudonymControllerGetPseudonym(pseudonym: string, options?: any): AxiosPromise { + return localVarFp.pseudonymControllerGetPseudonym(pseudonym, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * PseudonymApi - interface + * @export + * @interface PseudonymApi + */ +export interface PseudonymApiInterface { + /** + * + * @summary Returns the related user and tool information to a pseudonym + * @param {string} pseudonym + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof PseudonymApiInterface + */ + pseudonymControllerGetPseudonym(pseudonym: string, options?: any): AxiosPromise; + +} + +/** + * PseudonymApi - object-oriented interface + * @export + * @class PseudonymApi + * @extends {BaseAPI} + */ +export class PseudonymApi extends BaseAPI implements PseudonymApiInterface { + /** + * + * @summary Returns the related user and tool information to a pseudonym + * @param {string} pseudonym + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof PseudonymApi + */ + public pseudonymControllerGetPseudonym(pseudonym: string, options?: any) { + return PseudonymApiFp(this.configuration).pseudonymControllerGetPseudonym(pseudonym, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/rooms-api.ts b/src/serverApi/v3/api/rooms-api.ts new file mode 100644 index 0000000..6b7e8ea --- /dev/null +++ b/src/serverApi/v3/api/rooms-api.ts @@ -0,0 +1,494 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { CopyApiResponse } from '../models'; +// @ts-ignore +import { LessonCopyApiParams } from '../models'; +// @ts-ignore +import { PatchOrderParams } from '../models'; +// @ts-ignore +import { PatchVisibilityParams } from '../models'; +// @ts-ignore +import { SingleColumnBoardResponse } from '../models'; +/** + * RoomsApi - axios parameter creator + * @export + */ +export const RoomsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerCopyCourse: async (roomId: string, options: any = {}): Promise => { + // verify required parameter 'roomId' is not null or undefined + assertParamExists('roomsControllerCopyCourse', 'roomId', roomId) + const localVarPath = `/rooms/{roomId}/copy` + .replace(`{${"roomId"}}`, encodeURIComponent(String(roomId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} lessonId The id of the lesson. + * @param {LessonCopyApiParams} lessonCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerCopyLesson: async (lessonId: string, lessonCopyApiParams: LessonCopyApiParams, options: any = {}): Promise => { + // verify required parameter 'lessonId' is not null or undefined + assertParamExists('roomsControllerCopyLesson', 'lessonId', lessonId) + // verify required parameter 'lessonCopyApiParams' is not null or undefined + assertParamExists('roomsControllerCopyLesson', 'lessonCopyApiParams', lessonCopyApiParams) + const localVarPath = `/rooms/lessons/{lessonId}/copy` + .replace(`{${"lessonId"}}`, encodeURIComponent(String(lessonId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(lessonCopyApiParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerGetRoomBoard: async (roomId: string, options: any = {}): Promise => { + // verify required parameter 'roomId' is not null or undefined + assertParamExists('roomsControllerGetRoomBoard', 'roomId', roomId) + const localVarPath = `/rooms/{roomId}/board` + .replace(`{${"roomId"}}`, encodeURIComponent(String(roomId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} roomId The id of the room. + * @param {string} elementId The id of the element within the room. + * @param {PatchVisibilityParams} patchVisibilityParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerPatchElementVisibility: async (roomId: string, elementId: string, patchVisibilityParams: PatchVisibilityParams, options: any = {}): Promise => { + // verify required parameter 'roomId' is not null or undefined + assertParamExists('roomsControllerPatchElementVisibility', 'roomId', roomId) + // verify required parameter 'elementId' is not null or undefined + assertParamExists('roomsControllerPatchElementVisibility', 'elementId', elementId) + // verify required parameter 'patchVisibilityParams' is not null or undefined + assertParamExists('roomsControllerPatchElementVisibility', 'patchVisibilityParams', patchVisibilityParams) + const localVarPath = `/rooms/{roomId}/elements/{elementId}/visibility` + .replace(`{${"roomId"}}`, encodeURIComponent(String(roomId))) + .replace(`{${"elementId"}}`, encodeURIComponent(String(elementId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(patchVisibilityParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} roomId The id of the room. + * @param {PatchOrderParams} patchOrderParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerPatchOrderingOfElements: async (roomId: string, patchOrderParams: PatchOrderParams, options: any = {}): Promise => { + // verify required parameter 'roomId' is not null or undefined + assertParamExists('roomsControllerPatchOrderingOfElements', 'roomId', roomId) + // verify required parameter 'patchOrderParams' is not null or undefined + assertParamExists('roomsControllerPatchOrderingOfElements', 'patchOrderParams', patchOrderParams) + const localVarPath = `/rooms/{roomId}/board/order` + .replace(`{${"roomId"}}`, encodeURIComponent(String(roomId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(patchOrderParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * RoomsApi - functional programming interface + * @export + */ +export const RoomsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = RoomsApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async roomsControllerCopyCourse(roomId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.roomsControllerCopyCourse(roomId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} lessonId The id of the lesson. + * @param {LessonCopyApiParams} lessonCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async roomsControllerCopyLesson(lessonId: string, lessonCopyApiParams: LessonCopyApiParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.roomsControllerCopyLesson(lessonId, lessonCopyApiParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async roomsControllerGetRoomBoard(roomId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.roomsControllerGetRoomBoard(roomId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} roomId The id of the room. + * @param {string} elementId The id of the element within the room. + * @param {PatchVisibilityParams} patchVisibilityParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async roomsControllerPatchElementVisibility(roomId: string, elementId: string, patchVisibilityParams: PatchVisibilityParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.roomsControllerPatchElementVisibility(roomId, elementId, patchVisibilityParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} roomId The id of the room. + * @param {PatchOrderParams} patchOrderParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async roomsControllerPatchOrderingOfElements(roomId: string, patchOrderParams: PatchOrderParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.roomsControllerPatchOrderingOfElements(roomId, patchOrderParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * RoomsApi - factory interface + * @export + */ +export const RoomsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = RoomsApiFp(configuration) + return { + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerCopyCourse(roomId: string, options?: any): AxiosPromise { + return localVarFp.roomsControllerCopyCourse(roomId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} lessonId The id of the lesson. + * @param {LessonCopyApiParams} lessonCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerCopyLesson(lessonId: string, lessonCopyApiParams: LessonCopyApiParams, options?: any): AxiosPromise { + return localVarFp.roomsControllerCopyLesson(lessonId, lessonCopyApiParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerGetRoomBoard(roomId: string, options?: any): AxiosPromise { + return localVarFp.roomsControllerGetRoomBoard(roomId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} roomId The id of the room. + * @param {string} elementId The id of the element within the room. + * @param {PatchVisibilityParams} patchVisibilityParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerPatchElementVisibility(roomId: string, elementId: string, patchVisibilityParams: PatchVisibilityParams, options?: any): AxiosPromise { + return localVarFp.roomsControllerPatchElementVisibility(roomId, elementId, patchVisibilityParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} roomId The id of the room. + * @param {PatchOrderParams} patchOrderParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + roomsControllerPatchOrderingOfElements(roomId: string, patchOrderParams: PatchOrderParams, options?: any): AxiosPromise { + return localVarFp.roomsControllerPatchOrderingOfElements(roomId, patchOrderParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * RoomsApi - interface + * @export + * @interface RoomsApi + */ +export interface RoomsApiInterface { + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApiInterface + */ + roomsControllerCopyCourse(roomId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} lessonId The id of the lesson. + * @param {LessonCopyApiParams} lessonCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApiInterface + */ + roomsControllerCopyLesson(lessonId: string, lessonCopyApiParams: LessonCopyApiParams, options?: any): AxiosPromise; + + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApiInterface + */ + roomsControllerGetRoomBoard(roomId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} roomId The id of the room. + * @param {string} elementId The id of the element within the room. + * @param {PatchVisibilityParams} patchVisibilityParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApiInterface + */ + roomsControllerPatchElementVisibility(roomId: string, elementId: string, patchVisibilityParams: PatchVisibilityParams, options?: any): AxiosPromise; + + /** + * + * @param {string} roomId The id of the room. + * @param {PatchOrderParams} patchOrderParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApiInterface + */ + roomsControllerPatchOrderingOfElements(roomId: string, patchOrderParams: PatchOrderParams, options?: any): AxiosPromise; + +} + +/** + * RoomsApi - object-oriented interface + * @export + * @class RoomsApi + * @extends {BaseAPI} + */ +export class RoomsApi extends BaseAPI implements RoomsApiInterface { + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApi + */ + public roomsControllerCopyCourse(roomId: string, options?: any) { + return RoomsApiFp(this.configuration).roomsControllerCopyCourse(roomId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} lessonId The id of the lesson. + * @param {LessonCopyApiParams} lessonCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApi + */ + public roomsControllerCopyLesson(lessonId: string, lessonCopyApiParams: LessonCopyApiParams, options?: any) { + return RoomsApiFp(this.configuration).roomsControllerCopyLesson(lessonId, lessonCopyApiParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} roomId The id of the room. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApi + */ + public roomsControllerGetRoomBoard(roomId: string, options?: any) { + return RoomsApiFp(this.configuration).roomsControllerGetRoomBoard(roomId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} roomId The id of the room. + * @param {string} elementId The id of the element within the room. + * @param {PatchVisibilityParams} patchVisibilityParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApi + */ + public roomsControllerPatchElementVisibility(roomId: string, elementId: string, patchVisibilityParams: PatchVisibilityParams, options?: any) { + return RoomsApiFp(this.configuration).roomsControllerPatchElementVisibility(roomId, elementId, patchVisibilityParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} roomId The id of the room. + * @param {PatchOrderParams} patchOrderParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RoomsApi + */ + public roomsControllerPatchOrderingOfElements(roomId: string, patchOrderParams: PatchOrderParams, options?: any) { + return RoomsApiFp(this.configuration).roomsControllerPatchOrderingOfElements(roomId, patchOrderParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/school-api.ts b/src/serverApi/v3/api/school-api.ts new file mode 100644 index 0000000..94b3ca6 --- /dev/null +++ b/src/serverApi/v3/api/school-api.ts @@ -0,0 +1,807 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { SchoolExistsResponse } from '../models'; +// @ts-ignore +import { SchoolForExternalInviteResponse } from '../models'; +// @ts-ignore +import { SchoolForLdapLoginResponse } from '../models'; +// @ts-ignore +import { SchoolResponse } from '../models'; +// @ts-ignore +import { SchoolSystemResponse } from '../models'; +// @ts-ignore +import { SchoolUpdateBodyParams } from '../models'; +// @ts-ignore +import { SchulConneXProvisioningOptionsParams } from '../models'; +// @ts-ignore +import { SchulConneXProvisioningOptionsResponse } from '../models'; +/** + * SchoolApi - axios parameter creator + * @export + */ +export const SchoolApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerDoesSchoolExist: async (schoolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerDoesSchoolExist', 'schoolId', schoolId) + const localVarPath = `/school/exists/id/{schoolId}` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Gets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetProvisioningOptions: async (schoolId: string, systemId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerGetProvisioningOptions', 'schoolId', schoolId) + // verify required parameter 'systemId' is not null or undefined + assertParamExists('schoolControllerGetProvisioningOptions', 'systemId', systemId) + const localVarPath = `/schools/{schoolId}/systems/{systemId}/provisioning-options` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))) + .replace(`{${"systemId"}}`, encodeURIComponent(String(systemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolById: async (schoolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerGetSchoolById', 'schoolId', schoolId) + const localVarPath = `/school/id/{schoolId}` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} [federalStateId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolListForExternalInvite: async (federalStateId?: string, options: any = {}): Promise => { + const localVarPath = `/school/list-for-external-invite`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (federalStateId !== undefined) { + localVarQueryParameter['federalStateId'] = federalStateId; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolListForLadpLogin: async (options: any = {}): Promise => { + const localVarPath = `/school/list-for-ldap-login`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get systems from school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolSystems: async (schoolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerGetSchoolSystems', 'schoolId', schoolId) + const localVarPath = `/school/{schoolId}/systems` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerRemoveSystemFromSchool: async (schoolId: string, systemId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerRemoveSystemFromSchool', 'schoolId', schoolId) + // verify required parameter 'systemId' is not null or undefined + assertParamExists('schoolControllerRemoveSystemFromSchool', 'systemId', systemId) + const localVarPath = `/school/{schoolId}/system/{systemId}/remove` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))) + .replace(`{${"systemId"}}`, encodeURIComponent(String(systemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Sets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {SchulConneXProvisioningOptionsParams} schulConneXProvisioningOptionsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerSetProvisioningOptions: async (schoolId: string, systemId: string, schulConneXProvisioningOptionsParams: SchulConneXProvisioningOptionsParams, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerSetProvisioningOptions', 'schoolId', schoolId) + // verify required parameter 'systemId' is not null or undefined + assertParamExists('schoolControllerSetProvisioningOptions', 'systemId', systemId) + // verify required parameter 'schulConneXProvisioningOptionsParams' is not null or undefined + assertParamExists('schoolControllerSetProvisioningOptions', 'schulConneXProvisioningOptionsParams', schulConneXProvisioningOptionsParams) + const localVarPath = `/schools/{schoolId}/systems/{systemId}/provisioning-options` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))) + .replace(`{${"systemId"}}`, encodeURIComponent(String(systemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(schulConneXProvisioningOptionsParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updating school props by school administrators + * @param {string} schoolId + * @param {SchoolUpdateBodyParams} schoolUpdateBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerUpdateSchool: async (schoolId: string, schoolUpdateBodyParams: SchoolUpdateBodyParams, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('schoolControllerUpdateSchool', 'schoolId', schoolId) + // verify required parameter 'schoolUpdateBodyParams' is not null or undefined + assertParamExists('schoolControllerUpdateSchool', 'schoolUpdateBodyParams', schoolUpdateBodyParams) + const localVarPath = `/school/{schoolId}` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(schoolUpdateBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * SchoolApi - functional programming interface + * @export + */ +export const SchoolApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = SchoolApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerDoesSchoolExist(schoolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerDoesSchoolExist(schoolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Gets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerGetProvisioningOptions(schoolId: string, systemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerGetProvisioningOptions(schoolId, systemId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerGetSchoolById(schoolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerGetSchoolById(schoolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} [federalStateId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerGetSchoolListForExternalInvite(federalStateId?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerGetSchoolListForExternalInvite(federalStateId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerGetSchoolListForLadpLogin(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerGetSchoolListForLadpLogin(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get systems from school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerGetSchoolSystems(schoolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerGetSchoolSystems(schoolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerRemoveSystemFromSchool(schoolId: string, systemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerRemoveSystemFromSchool(schoolId, systemId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Sets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {SchulConneXProvisioningOptionsParams} schulConneXProvisioningOptionsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerSetProvisioningOptions(schoolId: string, systemId: string, schulConneXProvisioningOptionsParams: SchulConneXProvisioningOptionsParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerSetProvisioningOptions(schoolId, systemId, schulConneXProvisioningOptionsParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updating school props by school administrators + * @param {string} schoolId + * @param {SchoolUpdateBodyParams} schoolUpdateBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async schoolControllerUpdateSchool(schoolId: string, schoolUpdateBodyParams: SchoolUpdateBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.schoolControllerUpdateSchool(schoolId, schoolUpdateBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * SchoolApi - factory interface + * @export + */ +export const SchoolApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = SchoolApiFp(configuration) + return { + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerDoesSchoolExist(schoolId: string, options?: any): AxiosPromise { + return localVarFp.schoolControllerDoesSchoolExist(schoolId, options).then((request) => request(axios, basePath)); + }, + /** + * Gets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetProvisioningOptions(schoolId: string, systemId: string, options?: any): AxiosPromise { + return localVarFp.schoolControllerGetProvisioningOptions(schoolId, systemId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolById(schoolId: string, options?: any): AxiosPromise { + return localVarFp.schoolControllerGetSchoolById(schoolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} [federalStateId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolListForExternalInvite(federalStateId?: string, options?: any): AxiosPromise> { + return localVarFp.schoolControllerGetSchoolListForExternalInvite(federalStateId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolListForLadpLogin(options?: any): AxiosPromise> { + return localVarFp.schoolControllerGetSchoolListForLadpLogin(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get systems from school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerGetSchoolSystems(schoolId: string, options?: any): AxiosPromise> { + return localVarFp.schoolControllerGetSchoolSystems(schoolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerRemoveSystemFromSchool(schoolId: string, systemId: string, options?: any): AxiosPromise { + return localVarFp.schoolControllerRemoveSystemFromSchool(schoolId, systemId, options).then((request) => request(axios, basePath)); + }, + /** + * Sets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {SchulConneXProvisioningOptionsParams} schulConneXProvisioningOptionsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerSetProvisioningOptions(schoolId: string, systemId: string, schulConneXProvisioningOptionsParams: SchulConneXProvisioningOptionsParams, options?: any): AxiosPromise { + return localVarFp.schoolControllerSetProvisioningOptions(schoolId, systemId, schulConneXProvisioningOptionsParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updating school props by school administrators + * @param {string} schoolId + * @param {SchoolUpdateBodyParams} schoolUpdateBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + schoolControllerUpdateSchool(schoolId: string, schoolUpdateBodyParams: SchoolUpdateBodyParams, options?: any): AxiosPromise { + return localVarFp.schoolControllerUpdateSchool(schoolId, schoolUpdateBodyParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * SchoolApi - interface + * @export + * @interface SchoolApi + */ +export interface SchoolApiInterface { + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerDoesSchoolExist(schoolId: string, options?: any): AxiosPromise; + + /** + * Gets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerGetProvisioningOptions(schoolId: string, systemId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerGetSchoolById(schoolId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} [federalStateId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerGetSchoolListForExternalInvite(federalStateId?: string, options?: any): AxiosPromise>; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerGetSchoolListForLadpLogin(options?: any): AxiosPromise>; + + /** + * + * @summary Get systems from school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerGetSchoolSystems(schoolId: string, options?: any): AxiosPromise>; + + /** + * + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerRemoveSystemFromSchool(schoolId: string, systemId: string, options?: any): AxiosPromise; + + /** + * Sets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {SchulConneXProvisioningOptionsParams} schulConneXProvisioningOptionsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerSetProvisioningOptions(schoolId: string, systemId: string, schulConneXProvisioningOptionsParams: SchulConneXProvisioningOptionsParams, options?: any): AxiosPromise; + + /** + * + * @summary Updating school props by school administrators + * @param {string} schoolId + * @param {SchoolUpdateBodyParams} schoolUpdateBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApiInterface + */ + schoolControllerUpdateSchool(schoolId: string, schoolUpdateBodyParams: SchoolUpdateBodyParams, options?: any): AxiosPromise; + +} + +/** + * SchoolApi - object-oriented interface + * @export + * @class SchoolApi + * @extends {BaseAPI} + */ +export class SchoolApi extends BaseAPI implements SchoolApiInterface { + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerDoesSchoolExist(schoolId: string, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerDoesSchoolExist(schoolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Gets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerGetProvisioningOptions(schoolId: string, systemId: string, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerGetProvisioningOptions(schoolId, systemId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerGetSchoolById(schoolId: string, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerGetSchoolById(schoolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} [federalStateId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerGetSchoolListForExternalInvite(federalStateId?: string, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerGetSchoolListForExternalInvite(federalStateId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerGetSchoolListForLadpLogin(options?: any) { + return SchoolApiFp(this.configuration).schoolControllerGetSchoolListForLadpLogin(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get systems from school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerGetSchoolSystems(schoolId: string, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerGetSchoolSystems(schoolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} schoolId + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerRemoveSystemFromSchool(schoolId: string, systemId: string, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerRemoveSystemFromSchool(schoolId, systemId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Sets all provisioning options for a system at a school + * @param {string} schoolId + * @param {string} systemId + * @param {SchulConneXProvisioningOptionsParams} schulConneXProvisioningOptionsParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerSetProvisioningOptions(schoolId: string, systemId: string, schulConneXProvisioningOptionsParams: SchulConneXProvisioningOptionsParams, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerSetProvisioningOptions(schoolId, systemId, schulConneXProvisioningOptionsParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updating school props by school administrators + * @param {string} schoolId + * @param {SchoolUpdateBodyParams} schoolUpdateBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SchoolApi + */ + public schoolControllerUpdateSchool(schoolId: string, schoolUpdateBodyParams: SchoolUpdateBodyParams, options?: any) { + return SchoolApiFp(this.configuration).schoolControllerUpdateSchool(schoolId, schoolUpdateBodyParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/share-token-api.ts b/src/serverApi/v3/api/share-token-api.ts new file mode 100644 index 0000000..199db1a --- /dev/null +++ b/src/serverApi/v3/api/share-token-api.ts @@ -0,0 +1,333 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ApiValidationError } from '../models'; +// @ts-ignore +import { CopyApiResponse } from '../models'; +// @ts-ignore +import { ShareTokenBodyParams } from '../models'; +// @ts-ignore +import { ShareTokenImportBodyParams } from '../models'; +// @ts-ignore +import { ShareTokenInfoResponse } from '../models'; +// @ts-ignore +import { ShareTokenResponse } from '../models'; +/** + * ShareTokenApi - axios parameter creator + * @export + */ +export const ShareTokenApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Create a share token. + * @param {ShareTokenBodyParams} shareTokenBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + shareTokenControllerCreateShareToken: async (shareTokenBodyParams: ShareTokenBodyParams, options: any = {}): Promise => { + // verify required parameter 'shareTokenBodyParams' is not null or undefined + assertParamExists('shareTokenControllerCreateShareToken', 'shareTokenBodyParams', shareTokenBodyParams) + const localVarPath = `/sharetoken`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(shareTokenBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Import a share token payload. + * @param {string} token The token that identifies the shared object + * @param {ShareTokenImportBodyParams} shareTokenImportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + shareTokenControllerImportShareToken: async (token: string, shareTokenImportBodyParams: ShareTokenImportBodyParams, options: any = {}): Promise => { + // verify required parameter 'token' is not null or undefined + assertParamExists('shareTokenControllerImportShareToken', 'token', token) + // verify required parameter 'shareTokenImportBodyParams' is not null or undefined + assertParamExists('shareTokenControllerImportShareToken', 'shareTokenImportBodyParams', shareTokenImportBodyParams) + const localVarPath = `/sharetoken/{token}/import` + .replace(`{${"token"}}`, encodeURIComponent(String(token))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(shareTokenImportBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Look up a share token. + * @param {string} token The token that identifies the shared object + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + shareTokenControllerLookupShareToken: async (token: string, options: any = {}): Promise => { + // verify required parameter 'token' is not null or undefined + assertParamExists('shareTokenControllerLookupShareToken', 'token', token) + const localVarPath = `/sharetoken/{token}` + .replace(`{${"token"}}`, encodeURIComponent(String(token))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ShareTokenApi - functional programming interface + * @export + */ +export const ShareTokenApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ShareTokenApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Create a share token. + * @param {ShareTokenBodyParams} shareTokenBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async shareTokenControllerCreateShareToken(shareTokenBodyParams: ShareTokenBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.shareTokenControllerCreateShareToken(shareTokenBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Import a share token payload. + * @param {string} token The token that identifies the shared object + * @param {ShareTokenImportBodyParams} shareTokenImportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async shareTokenControllerImportShareToken(token: string, shareTokenImportBodyParams: ShareTokenImportBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.shareTokenControllerImportShareToken(token, shareTokenImportBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Look up a share token. + * @param {string} token The token that identifies the shared object + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async shareTokenControllerLookupShareToken(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.shareTokenControllerLookupShareToken(token, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * ShareTokenApi - factory interface + * @export + */ +export const ShareTokenApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ShareTokenApiFp(configuration) + return { + /** + * + * @summary Create a share token. + * @param {ShareTokenBodyParams} shareTokenBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + shareTokenControllerCreateShareToken(shareTokenBodyParams: ShareTokenBodyParams, options?: any): AxiosPromise { + return localVarFp.shareTokenControllerCreateShareToken(shareTokenBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Import a share token payload. + * @param {string} token The token that identifies the shared object + * @param {ShareTokenImportBodyParams} shareTokenImportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + shareTokenControllerImportShareToken(token: string, shareTokenImportBodyParams: ShareTokenImportBodyParams, options?: any): AxiosPromise { + return localVarFp.shareTokenControllerImportShareToken(token, shareTokenImportBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Look up a share token. + * @param {string} token The token that identifies the shared object + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + shareTokenControllerLookupShareToken(token: string, options?: any): AxiosPromise { + return localVarFp.shareTokenControllerLookupShareToken(token, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * ShareTokenApi - interface + * @export + * @interface ShareTokenApi + */ +export interface ShareTokenApiInterface { + /** + * + * @summary Create a share token. + * @param {ShareTokenBodyParams} shareTokenBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ShareTokenApiInterface + */ + shareTokenControllerCreateShareToken(shareTokenBodyParams: ShareTokenBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Import a share token payload. + * @param {string} token The token that identifies the shared object + * @param {ShareTokenImportBodyParams} shareTokenImportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ShareTokenApiInterface + */ + shareTokenControllerImportShareToken(token: string, shareTokenImportBodyParams: ShareTokenImportBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Look up a share token. + * @param {string} token The token that identifies the shared object + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ShareTokenApiInterface + */ + shareTokenControllerLookupShareToken(token: string, options?: any): AxiosPromise; + +} + +/** + * ShareTokenApi - object-oriented interface + * @export + * @class ShareTokenApi + * @extends {BaseAPI} + */ +export class ShareTokenApi extends BaseAPI implements ShareTokenApiInterface { + /** + * + * @summary Create a share token. + * @param {ShareTokenBodyParams} shareTokenBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ShareTokenApi + */ + public shareTokenControllerCreateShareToken(shareTokenBodyParams: ShareTokenBodyParams, options?: any) { + return ShareTokenApiFp(this.configuration).shareTokenControllerCreateShareToken(shareTokenBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Import a share token payload. + * @param {string} token The token that identifies the shared object + * @param {ShareTokenImportBodyParams} shareTokenImportBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ShareTokenApi + */ + public shareTokenControllerImportShareToken(token: string, shareTokenImportBodyParams: ShareTokenImportBodyParams, options?: any) { + return ShareTokenApiFp(this.configuration).shareTokenControllerImportShareToken(token, shareTokenImportBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Look up a share token. + * @param {string} token The token that identifies the shared object + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ShareTokenApi + */ + public shareTokenControllerLookupShareToken(token: string, options?: any) { + return ShareTokenApiFp(this.configuration).shareTokenControllerLookupShareToken(token, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/ssoapi.ts b/src/serverApi/v3/api/ssoapi.ts new file mode 100644 index 0000000..ba07baa --- /dev/null +++ b/src/serverApi/v3/api/ssoapi.ts @@ -0,0 +1,220 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { OAuthTokenDto } from '../models'; +/** + * SSOApi - axios parameter creator + * @export + */ +export const SSOApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthSSOControllerGetHydraOauthToken: async (oauthClientId: string, options: any = {}): Promise => { + // verify required parameter 'oauthClientId' is not null or undefined + assertParamExists('oauthSSOControllerGetHydraOauthToken', 'oauthClientId', oauthClientId) + const localVarPath = `/sso/hydra/{oauthClientId}` + .replace(`{${"oauthClientId"}}`, encodeURIComponent(String(oauthClientId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthSSOControllerRequestAuthToken: async (oauthClientId: string, options: any = {}): Promise => { + // verify required parameter 'oauthClientId' is not null or undefined + assertParamExists('oauthSSOControllerRequestAuthToken', 'oauthClientId', oauthClientId) + const localVarPath = `/sso/auth/{oauthClientId}` + .replace(`{${"oauthClientId"}}`, encodeURIComponent(String(oauthClientId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * SSOApi - functional programming interface + * @export + */ +export const SSOApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = SSOApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthSSOControllerGetHydraOauthToken(oauthClientId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthSSOControllerGetHydraOauthToken(oauthClientId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async oauthSSOControllerRequestAuthToken(oauthClientId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.oauthSSOControllerRequestAuthToken(oauthClientId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * SSOApi - factory interface + * @export + */ +export const SSOApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = SSOApiFp(configuration) + return { + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthSSOControllerGetHydraOauthToken(oauthClientId: string, options?: any): AxiosPromise { + return localVarFp.oauthSSOControllerGetHydraOauthToken(oauthClientId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + oauthSSOControllerRequestAuthToken(oauthClientId: string, options?: any): AxiosPromise { + return localVarFp.oauthSSOControllerRequestAuthToken(oauthClientId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * SSOApi - interface + * @export + * @interface SSOApi + */ +export interface SSOApiInterface { + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SSOApiInterface + */ + oauthSSOControllerGetHydraOauthToken(oauthClientId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SSOApiInterface + */ + oauthSSOControllerRequestAuthToken(oauthClientId: string, options?: any): AxiosPromise; + +} + +/** + * SSOApi - object-oriented interface + * @export + * @class SSOApi + * @extends {BaseAPI} + */ +export class SSOApi extends BaseAPI implements SSOApiInterface { + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SSOApi + */ + public oauthSSOControllerGetHydraOauthToken(oauthClientId: string, options?: any) { + return SSOApiFp(this.configuration).oauthSSOControllerGetHydraOauthToken(oauthClientId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} oauthClientId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SSOApi + */ + public oauthSSOControllerRequestAuthToken(oauthClientId: string, options?: any) { + return SSOApiFp(this.configuration).oauthSSOControllerRequestAuthToken(oauthClientId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/submission-api.ts b/src/serverApi/v3/api/submission-api.ts new file mode 100644 index 0000000..92fc9b9 --- /dev/null +++ b/src/serverApi/v3/api/submission-api.ts @@ -0,0 +1,220 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { SubmissionStatusListResponse } from '../models'; +/** + * SubmissionApi - axios parameter creator + * @export + */ +export const SubmissionApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} submissionId The id of the submission. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + submissionControllerDelete: async (submissionId: string, options: any = {}): Promise => { + // verify required parameter 'submissionId' is not null or undefined + assertParamExists('submissionControllerDelete', 'submissionId', submissionId) + const localVarPath = `/submissions/{submissionId}` + .replace(`{${"submissionId"}}`, encodeURIComponent(String(submissionId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + submissionControllerFindStatusesByTask: async (taskId: string, options: any = {}): Promise => { + // verify required parameter 'taskId' is not null or undefined + assertParamExists('submissionControllerFindStatusesByTask', 'taskId', taskId) + const localVarPath = `/submissions/status/task/{taskId}` + .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * SubmissionApi - functional programming interface + * @export + */ +export const SubmissionApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = SubmissionApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} submissionId The id of the submission. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async submissionControllerDelete(submissionId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.submissionControllerDelete(submissionId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async submissionControllerFindStatusesByTask(taskId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.submissionControllerFindStatusesByTask(taskId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * SubmissionApi - factory interface + * @export + */ +export const SubmissionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = SubmissionApiFp(configuration) + return { + /** + * + * @param {string} submissionId The id of the submission. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + submissionControllerDelete(submissionId: string, options?: any): AxiosPromise { + return localVarFp.submissionControllerDelete(submissionId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + submissionControllerFindStatusesByTask(taskId: string, options?: any): AxiosPromise { + return localVarFp.submissionControllerFindStatusesByTask(taskId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * SubmissionApi - interface + * @export + * @interface SubmissionApi + */ +export interface SubmissionApiInterface { + /** + * + * @param {string} submissionId The id of the submission. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SubmissionApiInterface + */ + submissionControllerDelete(submissionId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SubmissionApiInterface + */ + submissionControllerFindStatusesByTask(taskId: string, options?: any): AxiosPromise; + +} + +/** + * SubmissionApi - object-oriented interface + * @export + * @class SubmissionApi + * @extends {BaseAPI} + */ +export class SubmissionApi extends BaseAPI implements SubmissionApiInterface { + /** + * + * @param {string} submissionId The id of the submission. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SubmissionApi + */ + public submissionControllerDelete(submissionId: string, options?: any) { + return SubmissionApiFp(this.configuration).submissionControllerDelete(submissionId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SubmissionApi + */ + public submissionControllerFindStatusesByTask(taskId: string, options?: any) { + return SubmissionApiFp(this.configuration).submissionControllerFindStatusesByTask(taskId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/systems-api.ts b/src/serverApi/v3/api/systems-api.ts new file mode 100644 index 0000000..ac58c6b --- /dev/null +++ b/src/serverApi/v3/api/systems-api.ts @@ -0,0 +1,308 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { PublicSystemListResponse } from '../models'; +// @ts-ignore +import { PublicSystemResponse } from '../models'; +// @ts-ignore +import { SystemType } from '../models'; +/** + * SystemsApi - axios parameter creator + * @export + */ +export const SystemsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Deletes a system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + systemControllerDeleteSystem: async (systemId: string, options: any = {}): Promise => { + // verify required parameter 'systemId' is not null or undefined + assertParamExists('systemControllerDeleteSystem', 'systemId', systemId) + const localVarPath = `/systems/{systemId}` + .replace(`{${"systemId"}}`, encodeURIComponent(String(systemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This endpoint is used to show users the possible login systems that exist. No sensible data should be returned! + * @summary Finds all publicly available systems. + * @param {SystemType} [types] The type of the system. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + systemControllerFind: async (types?: SystemType, options: any = {}): Promise => { + const localVarPath = `/systems/public`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (types !== undefined) { + localVarQueryParameter['types'] = types; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * This endpoint is used to get information about a possible login systems. No sensible data should be returned! + * @summary Finds a publicly available system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + systemControllerGetSystem: async (systemId: string, options: any = {}): Promise => { + // verify required parameter 'systemId' is not null or undefined + assertParamExists('systemControllerGetSystem', 'systemId', systemId) + const localVarPath = `/systems/public/{systemId}` + .replace(`{${"systemId"}}`, encodeURIComponent(String(systemId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * SystemsApi - functional programming interface + * @export + */ +export const SystemsApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = SystemsApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Deletes a system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async systemControllerDeleteSystem(systemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.systemControllerDeleteSystem(systemId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * This endpoint is used to show users the possible login systems that exist. No sensible data should be returned! + * @summary Finds all publicly available systems. + * @param {SystemType} [types] The type of the system. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async systemControllerFind(types?: SystemType, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.systemControllerFind(types, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * This endpoint is used to get information about a possible login systems. No sensible data should be returned! + * @summary Finds a publicly available system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async systemControllerGetSystem(systemId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.systemControllerGetSystem(systemId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * SystemsApi - factory interface + * @export + */ +export const SystemsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = SystemsApiFp(configuration) + return { + /** + * + * @summary Deletes a system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + systemControllerDeleteSystem(systemId: string, options?: any): AxiosPromise { + return localVarFp.systemControllerDeleteSystem(systemId, options).then((request) => request(axios, basePath)); + }, + /** + * This endpoint is used to show users the possible login systems that exist. No sensible data should be returned! + * @summary Finds all publicly available systems. + * @param {SystemType} [types] The type of the system. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + systemControllerFind(types?: SystemType, options?: any): AxiosPromise { + return localVarFp.systemControllerFind(types, options).then((request) => request(axios, basePath)); + }, + /** + * This endpoint is used to get information about a possible login systems. No sensible data should be returned! + * @summary Finds a publicly available system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + systemControllerGetSystem(systemId: string, options?: any): AxiosPromise { + return localVarFp.systemControllerGetSystem(systemId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * SystemsApi - interface + * @export + * @interface SystemsApi + */ +export interface SystemsApiInterface { + /** + * + * @summary Deletes a system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SystemsApiInterface + */ + systemControllerDeleteSystem(systemId: string, options?: any): AxiosPromise; + + /** + * This endpoint is used to show users the possible login systems that exist. No sensible data should be returned! + * @summary Finds all publicly available systems. + * @param {SystemType} [types] The type of the system. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SystemsApiInterface + */ + systemControllerFind(types?: SystemType, options?: any): AxiosPromise; + + /** + * This endpoint is used to get information about a possible login systems. No sensible data should be returned! + * @summary Finds a publicly available system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SystemsApiInterface + */ + systemControllerGetSystem(systemId: string, options?: any): AxiosPromise; + +} + +/** + * SystemsApi - object-oriented interface + * @export + * @class SystemsApi + * @extends {BaseAPI} + */ +export class SystemsApi extends BaseAPI implements SystemsApiInterface { + /** + * + * @summary Deletes a system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SystemsApi + */ + public systemControllerDeleteSystem(systemId: string, options?: any) { + return SystemsApiFp(this.configuration).systemControllerDeleteSystem(systemId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This endpoint is used to show users the possible login systems that exist. No sensible data should be returned! + * @summary Finds all publicly available systems. + * @param {SystemType} [types] The type of the system. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SystemsApi + */ + public systemControllerFind(types?: SystemType, options?: any) { + return SystemsApiFp(this.configuration).systemControllerFind(types, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * This endpoint is used to get information about a possible login systems. No sensible data should be returned! + * @summary Finds a publicly available system. + * @param {string} systemId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SystemsApi + */ + public systemControllerGetSystem(systemId: string, options?: any) { + return SystemsApiFp(this.configuration).systemControllerGetSystem(systemId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/task-api.ts b/src/serverApi/v3/api/task-api.ts new file mode 100644 index 0000000..6612db4 --- /dev/null +++ b/src/serverApi/v3/api/task-api.ts @@ -0,0 +1,636 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { CopyApiResponse } from '../models'; +// @ts-ignore +import { TaskCopyApiParams } from '../models'; +// @ts-ignore +import { TaskListResponse } from '../models'; +// @ts-ignore +import { TaskResponse } from '../models'; +/** + * TaskApi - axios parameter creator + * @export + */ +export const TaskApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {string} taskId The id of the task. + * @param {TaskCopyApiParams} taskCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerCopyTask: async (taskId: string, taskCopyApiParams: TaskCopyApiParams, options: any = {}): Promise => { + // verify required parameter 'taskId' is not null or undefined + assertParamExists('taskControllerCopyTask', 'taskId', taskId) + // verify required parameter 'taskCopyApiParams' is not null or undefined + assertParamExists('taskControllerCopyTask', 'taskCopyApiParams', taskCopyApiParams) + const localVarPath = `/tasks/{taskId}/copy` + .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(taskCopyApiParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerDelete: async (taskId: string, options: any = {}): Promise => { + // verify required parameter 'taskId' is not null or undefined + assertParamExists('taskControllerDelete', 'taskId', taskId) + const localVarPath = `/tasks/{taskId}` + .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerFindAll: async (skip?: number, limit?: number, options: any = {}): Promise => { + const localVarPath = `/tasks`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerFindAllFinished: async (skip?: number, limit?: number, options: any = {}): Promise => { + const localVarPath = `/tasks/finished`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerFinish: async (taskId: string, options: any = {}): Promise => { + // verify required parameter 'taskId' is not null or undefined + assertParamExists('taskControllerFinish', 'taskId', taskId) + const localVarPath = `/tasks/{taskId}/finish` + .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerRestore: async (taskId: string, options: any = {}): Promise => { + // verify required parameter 'taskId' is not null or undefined + assertParamExists('taskControllerRestore', 'taskId', taskId) + const localVarPath = `/tasks/{taskId}/restore` + .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerRevertPublished: async (taskId: string, options: any = {}): Promise => { + // verify required parameter 'taskId' is not null or undefined + assertParamExists('taskControllerRevertPublished', 'taskId', taskId) + const localVarPath = `/tasks/{taskId}/revertPublished` + .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * TaskApi - functional programming interface + * @export + */ +export const TaskApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = TaskApiAxiosParamCreator(configuration) + return { + /** + * + * @param {string} taskId The id of the task. + * @param {TaskCopyApiParams} taskCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerCopyTask(taskId: string, taskCopyApiParams: TaskCopyApiParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerCopyTask(taskId, taskCopyApiParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerDelete(taskId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerDelete(taskId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerFindAll(skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerFindAll(skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerFindAllFinished(skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerFindAllFinished(skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerFinish(taskId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerFinish(taskId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerRestore(taskId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerRestore(taskId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async taskControllerRevertPublished(taskId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.taskControllerRevertPublished(taskId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * TaskApi - factory interface + * @export + */ +export const TaskApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = TaskApiFp(configuration) + return { + /** + * + * @param {string} taskId The id of the task. + * @param {TaskCopyApiParams} taskCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerCopyTask(taskId: string, taskCopyApiParams: TaskCopyApiParams, options?: any): AxiosPromise { + return localVarFp.taskControllerCopyTask(taskId, taskCopyApiParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerDelete(taskId: string, options?: any): AxiosPromise { + return localVarFp.taskControllerDelete(taskId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerFindAll(skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.taskControllerFindAll(skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerFindAllFinished(skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.taskControllerFindAllFinished(skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerFinish(taskId: string, options?: any): AxiosPromise { + return localVarFp.taskControllerFinish(taskId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerRestore(taskId: string, options?: any): AxiosPromise { + return localVarFp.taskControllerRestore(taskId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + taskControllerRevertPublished(taskId: string, options?: any): AxiosPromise { + return localVarFp.taskControllerRevertPublished(taskId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * TaskApi - interface + * @export + * @interface TaskApi + */ +export interface TaskApiInterface { + /** + * + * @param {string} taskId The id of the task. + * @param {TaskCopyApiParams} taskCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerCopyTask(taskId: string, taskCopyApiParams: TaskCopyApiParams, options?: any): AxiosPromise; + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerDelete(taskId: string, options?: any): AxiosPromise; + + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerFindAll(skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerFindAllFinished(skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerFinish(taskId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerRestore(taskId: string, options?: any): AxiosPromise; + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApiInterface + */ + taskControllerRevertPublished(taskId: string, options?: any): AxiosPromise; + +} + +/** + * TaskApi - object-oriented interface + * @export + * @class TaskApi + * @extends {BaseAPI} + */ +export class TaskApi extends BaseAPI implements TaskApiInterface { + /** + * + * @param {string} taskId The id of the task. + * @param {TaskCopyApiParams} taskCopyApiParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerCopyTask(taskId: string, taskCopyApiParams: TaskCopyApiParams, options?: any) { + return TaskApiFp(this.configuration).taskControllerCopyTask(taskId, taskCopyApiParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerDelete(taskId: string, options?: any) { + return TaskApiFp(this.configuration).taskControllerDelete(taskId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerFindAll(skip?: number, limit?: number, options?: any) { + return TaskApiFp(this.configuration).taskControllerFindAll(skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerFindAllFinished(skip?: number, limit?: number, options?: any) { + return TaskApiFp(this.configuration).taskControllerFindAllFinished(skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerFinish(taskId: string, options?: any) { + return TaskApiFp(this.configuration).taskControllerFinish(taskId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerRestore(taskId: string, options?: any) { + return TaskApiFp(this.configuration).taskControllerRestore(taskId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} taskId The id of the task. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof TaskApi + */ + public taskControllerRevertPublished(taskId: string, options?: any) { + return TaskApiFp(this.configuration).taskControllerRevertPublished(taskId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/tool-api.ts b/src/serverApi/v3/api/tool-api.ts new file mode 100644 index 0000000..68c4055 --- /dev/null +++ b/src/serverApi/v3/api/tool-api.ts @@ -0,0 +1,2576 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ContextExternalToolBodyParams } from '../models'; +// @ts-ignore +import { ContextExternalToolConfigurationTemplateListResponse } from '../models'; +// @ts-ignore +import { ContextExternalToolConfigurationTemplateResponse } from '../models'; +// @ts-ignore +import { ContextExternalToolPostParams } from '../models'; +// @ts-ignore +import { ContextExternalToolResponse } from '../models'; +// @ts-ignore +import { ContextExternalToolSearchListResponse } from '../models'; +// @ts-ignore +import { ExternalToolBulkCreateParams } from '../models'; +// @ts-ignore +import { ExternalToolCreateParams } from '../models'; +// @ts-ignore +import { ExternalToolMetadataResponse } from '../models'; +// @ts-ignore +import { ExternalToolResponse } from '../models'; +// @ts-ignore +import { ExternalToolSearchListResponse } from '../models'; +// @ts-ignore +import { ExternalToolUpdateParams } from '../models'; +// @ts-ignore +import { SchoolExternalToolConfigurationTemplateListResponse } from '../models'; +// @ts-ignore +import { SchoolExternalToolConfigurationTemplateResponse } from '../models'; +// @ts-ignore +import { SchoolExternalToolMetadataResponse } from '../models'; +// @ts-ignore +import { SchoolExternalToolPostParams } from '../models'; +// @ts-ignore +import { SchoolExternalToolResponse } from '../models'; +// @ts-ignore +import { SchoolExternalToolSearchListResponse } from '../models'; +// @ts-ignore +import { ToolContextType } from '../models'; +// @ts-ignore +import { ToolContextTypesListResponse } from '../models'; +// @ts-ignore +import { ToolLaunchRequestResponse } from '../models'; +// @ts-ignore +import { ToolReferenceListResponse } from '../models'; +// @ts-ignore +import { ToolReferenceResponse } from '../models'; +// @ts-ignore +import { ValidationError } from '../models'; +/** + * ToolApi - axios parameter creator + * @export + */ +export const ToolApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Lists all available tools that can be added for a given context + * @param {any} contextType + * @param {string} contextId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetAvailableToolsForContext: async (contextType: any, contextId: string, options: any = {}): Promise => { + // verify required parameter 'contextType' is not null or undefined + assertParamExists('toolConfigurationControllerGetAvailableToolsForContext', 'contextType', contextType) + // verify required parameter 'contextId' is not null or undefined + assertParamExists('toolConfigurationControllerGetAvailableToolsForContext', 'contextId', contextId) + const localVarPath = `/tools/{contextType}/{contextId}/available-tools` + .replace(`{${"contextType"}}`, encodeURIComponent(String(contextType))) + .replace(`{${"contextId"}}`, encodeURIComponent(String(contextId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Lists all available tools that can be added for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetAvailableToolsForSchool: async (schoolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('toolConfigurationControllerGetAvailableToolsForSchool', 'schoolId', schoolId) + const localVarPath = `/tools/school/{schoolId}/available-tools` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the latest configuration template for a Context External Tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetConfigurationTemplateForContext: async (contextExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolId' is not null or undefined + assertParamExists('toolConfigurationControllerGetConfigurationTemplateForContext', 'contextExternalToolId', contextExternalToolId) + const localVarPath = `/tools/context-external-tools/{contextExternalToolId}/configuration-template` + .replace(`{${"contextExternalToolId"}}`, encodeURIComponent(String(contextExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get the latest configuration template for a School External Tool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetConfigurationTemplateForSchool: async (schoolExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolId' is not null or undefined + assertParamExists('toolConfigurationControllerGetConfigurationTemplateForSchool', 'schoolExternalToolId', schoolExternalToolId) + const localVarPath = `/tools/school-external-tools/{schoolExternalToolId}/configuration-template` + .replace(`{${"schoolExternalToolId"}}`, encodeURIComponent(String(schoolExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Lists all context types available in the SVS + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetToolContextTypes: async (options: any = {}): Promise => { + const localVarPath = `/tools/context-types`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Creates a ContextExternalTool + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerCreateContextExternalTool: async (contextExternalToolPostParams: ContextExternalToolPostParams, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolPostParams' is not null or undefined + assertParamExists('toolContextControllerCreateContextExternalTool', 'contextExternalToolPostParams', contextExternalToolPostParams) + const localVarPath = `/tools/context-external-tools`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(contextExternalToolPostParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Deletes a ContextExternalTool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerDeleteContextExternalTool: async (contextExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolId' is not null or undefined + assertParamExists('toolContextControllerDeleteContextExternalTool', 'contextExternalToolId', contextExternalToolId) + const localVarPath = `/tools/context-external-tools/{contextExternalToolId}` + .replace(`{${"contextExternalToolId"}}`, encodeURIComponent(String(contextExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Searches a ContextExternalTool for the given id + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerGetContextExternalTool: async (contextExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolId' is not null or undefined + assertParamExists('toolContextControllerGetContextExternalTool', 'contextExternalToolId', contextExternalToolId) + const localVarPath = `/tools/context-external-tools/{contextExternalToolId}` + .replace(`{${"contextExternalToolId"}}`, encodeURIComponent(String(contextExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns a list of ContextExternalTools for the given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerGetContextExternalToolsForContext: async (contextId: string, contextType: ToolContextType, options: any = {}): Promise => { + // verify required parameter 'contextId' is not null or undefined + assertParamExists('toolContextControllerGetContextExternalToolsForContext', 'contextId', contextId) + // verify required parameter 'contextType' is not null or undefined + assertParamExists('toolContextControllerGetContextExternalToolsForContext', 'contextType', contextType) + const localVarPath = `/tools/context-external-tools/{contextType}/{contextId}` + .replace(`{${"contextId"}}`, encodeURIComponent(String(contextId))) + .replace(`{${"contextType"}}`, encodeURIComponent(String(contextType))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updates a ContextExternalTool + * @param {string} contextExternalToolId + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerUpdateContextExternalTool: async (contextExternalToolId: string, contextExternalToolPostParams: ContextExternalToolPostParams, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolId' is not null or undefined + assertParamExists('toolContextControllerUpdateContextExternalTool', 'contextExternalToolId', contextExternalToolId) + // verify required parameter 'contextExternalToolPostParams' is not null or undefined + assertParamExists('toolContextControllerUpdateContextExternalTool', 'contextExternalToolPostParams', contextExternalToolPostParams) + const localVarPath = `/tools/context-external-tools/{contextExternalToolId}` + .replace(`{${"contextExternalToolId"}}`, encodeURIComponent(String(contextExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(contextExternalToolPostParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Creates an ExternalTool + * @param {ExternalToolCreateParams} externalToolCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerCreateExternalTool: async (externalToolCreateParams: ExternalToolCreateParams, options: any = {}): Promise => { + // verify required parameter 'externalToolCreateParams' is not null or undefined + assertParamExists('toolControllerCreateExternalTool', 'externalToolCreateParams', externalToolCreateParams) + const localVarPath = `/tools/external-tools`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(externalToolCreateParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Deletes an ExternalTool + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerDeleteExternalTool: async (externalToolId: string, options: any = {}): Promise => { + // verify required parameter 'externalToolId' is not null or undefined + assertParamExists('toolControllerDeleteExternalTool', 'externalToolId', externalToolId) + const localVarPath = `/tools/external-tools/{externalToolId}` + .replace(`{${"externalToolId"}}`, encodeURIComponent(String(externalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns a list of ExternalTools + * @param {string} [name] Name of the external tool + * @param {string} [clientId] OAuth2 client id of the external tool + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {'id' | 'name'} [sortBy] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerFindExternalTool: async (name?: string, clientId?: string, skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: 'id' | 'name', options: any = {}): Promise => { + const localVarPath = `/tools/external-tools`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (name !== undefined) { + localVarQueryParameter['name'] = name; + } + + if (clientId !== undefined) { + localVarQueryParameter['clientId'] = clientId; + } + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + if (sortOrder !== undefined) { + localVarQueryParameter['sortOrder'] = sortOrder; + } + + if (sortBy !== undefined) { + localVarQueryParameter['sortBy'] = sortBy; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns a pdf of the external tool information + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetDatasheet: async (externalToolId: string, options: any = {}): Promise => { + // verify required parameter 'externalToolId' is not null or undefined + assertParamExists('toolControllerGetDatasheet', 'externalToolId', externalToolId) + const localVarPath = `/tools/external-tools/{externalToolId}/datasheet` + .replace(`{${"externalToolId"}}`, encodeURIComponent(String(externalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns an ExternalTool for the given id + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetExternalTool: async (externalToolId: string, options: any = {}): Promise => { + // verify required parameter 'externalToolId' is not null or undefined + assertParamExists('toolControllerGetExternalTool', 'externalToolId', externalToolId) + const localVarPath = `/tools/external-tools/{externalToolId}` + .replace(`{${"externalToolId"}}`, encodeURIComponent(String(externalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Gets the logo of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetExternalToolLogo: async (externalToolId: string, options: any = {}): Promise => { + // verify required parameter 'externalToolId' is not null or undefined + assertParamExists('toolControllerGetExternalToolLogo', 'externalToolId', externalToolId) + const localVarPath = `/tools/external-tools/{externalToolId}/logo` + .replace(`{${"externalToolId"}}`, encodeURIComponent(String(externalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Gets the metadata of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetMetaDataForExternalTool: async (externalToolId: string, options: any = {}): Promise => { + // verify required parameter 'externalToolId' is not null or undefined + assertParamExists('toolControllerGetMetaDataForExternalTool', 'externalToolId', externalToolId) + const localVarPath = `/tools/external-tools/{externalToolId}/metadata` + .replace(`{${"externalToolId"}}`, encodeURIComponent(String(externalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Creates multiple ExternalTools at the same time. + * @param {ExternalToolBulkCreateParams} externalToolBulkCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerImportExternalTools: async (externalToolBulkCreateParams: ExternalToolBulkCreateParams, options: any = {}): Promise => { + // verify required parameter 'externalToolBulkCreateParams' is not null or undefined + assertParamExists('toolControllerImportExternalTools', 'externalToolBulkCreateParams', externalToolBulkCreateParams) + const localVarPath = `/tools/external-tools/import`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(externalToolBulkCreateParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updates an ExternalTool + * @param {string} externalToolId + * @param {ExternalToolUpdateParams} externalToolUpdateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerUpdateExternalTool: async (externalToolId: string, externalToolUpdateParams: ExternalToolUpdateParams, options: any = {}): Promise => { + // verify required parameter 'externalToolId' is not null or undefined + assertParamExists('toolControllerUpdateExternalTool', 'externalToolId', externalToolId) + // verify required parameter 'externalToolUpdateParams' is not null or undefined + assertParamExists('toolControllerUpdateExternalTool', 'externalToolUpdateParams', externalToolUpdateParams) + const localVarPath = `/tools/external-tools/{externalToolId}` + .replace(`{${"externalToolId"}}`, encodeURIComponent(String(externalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(externalToolUpdateParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get tool launch request for a context external tool id + * @param {string} contextExternalToolId The id of the context external tool + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolLaunchControllerGetContextExternalToolLaunchRequest: async (contextExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolId' is not null or undefined + assertParamExists('toolLaunchControllerGetContextExternalToolLaunchRequest', 'contextExternalToolId', contextExternalToolId) + const localVarPath = `/tools/context/{contextExternalToolId}/launch` + .replace(`{${"contextExternalToolId"}}`, encodeURIComponent(String(contextExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get tool launch request for a school external tool + * @param {string} schoolExternalToolId The id of the school external tool + * @param {ContextExternalToolBodyParams} contextExternalToolBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolLaunchControllerGetSchoolExternalToolLaunchRequest: async (schoolExternalToolId: string, contextExternalToolBodyParams: ContextExternalToolBodyParams, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolId' is not null or undefined + assertParamExists('toolLaunchControllerGetSchoolExternalToolLaunchRequest', 'schoolExternalToolId', schoolExternalToolId) + // verify required parameter 'contextExternalToolBodyParams' is not null or undefined + assertParamExists('toolLaunchControllerGetSchoolExternalToolLaunchRequest', 'contextExternalToolBodyParams', contextExternalToolBodyParams) + const localVarPath = `/tools/school/{schoolExternalToolId}/launch` + .replace(`{${"schoolExternalToolId"}}`, encodeURIComponent(String(schoolExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(contextExternalToolBodyParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get ExternalTool Reference for a given context external tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolReferenceControllerGetToolReference: async (contextExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'contextExternalToolId' is not null or undefined + assertParamExists('toolReferenceControllerGetToolReference', 'contextExternalToolId', contextExternalToolId) + const localVarPath = `/tools/tool-references/context-external-tools/{contextExternalToolId}` + .replace(`{${"contextExternalToolId"}}`, encodeURIComponent(String(contextExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Get ExternalTool References for a given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolReferenceControllerGetToolReferencesForContext: async (contextId: string, contextType: ToolContextType, options: any = {}): Promise => { + // verify required parameter 'contextId' is not null or undefined + assertParamExists('toolReferenceControllerGetToolReferencesForContext', 'contextId', contextId) + // verify required parameter 'contextType' is not null or undefined + assertParamExists('toolReferenceControllerGetToolReferencesForContext', 'contextType', contextType) + const localVarPath = `/tools/tool-references/{contextType}/{contextId}` + .replace(`{${"contextId"}}`, encodeURIComponent(String(contextId))) + .replace(`{${"contextType"}}`, encodeURIComponent(String(contextType))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Creates a SchoolExternalTool + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerCreateSchoolExternalTool: async (schoolExternalToolPostParams: SchoolExternalToolPostParams, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolPostParams' is not null or undefined + assertParamExists('toolSchoolControllerCreateSchoolExternalTool', 'schoolExternalToolPostParams', schoolExternalToolPostParams) + const localVarPath = `/tools/school-external-tools`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(schoolExternalToolPostParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Deletes a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerDeleteSchoolExternalTool: async (schoolExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolId' is not null or undefined + assertParamExists('toolSchoolControllerDeleteSchoolExternalTool', 'schoolExternalToolId', schoolExternalToolId) + const localVarPath = `/tools/school-external-tools/{schoolExternalToolId}` + .replace(`{${"schoolExternalToolId"}}`, encodeURIComponent(String(schoolExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Gets the metadata of an school external tool. + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerGetMetaDataForExternalTool: async (schoolExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolId' is not null or undefined + assertParamExists('toolSchoolControllerGetMetaDataForExternalTool', 'schoolExternalToolId', schoolExternalToolId) + const localVarPath = `/tools/school-external-tools/{schoolExternalToolId}/metadata` + .replace(`{${"schoolExternalToolId"}}`, encodeURIComponent(String(schoolExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns a SchoolExternalTool for the given id + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerGetSchoolExternalTool: async (schoolExternalToolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolId' is not null or undefined + assertParamExists('toolSchoolControllerGetSchoolExternalTool', 'schoolExternalToolId', schoolExternalToolId) + const localVarPath = `/tools/school-external-tools/{schoolExternalToolId}` + .replace(`{${"schoolExternalToolId"}}`, encodeURIComponent(String(schoolExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns a list of SchoolExternalTools for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerGetSchoolExternalTools: async (schoolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('toolSchoolControllerGetSchoolExternalTools', 'schoolId', schoolId) + const localVarPath = `/tools/school-external-tools`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (schoolId !== undefined) { + localVarQueryParameter['schoolId'] = schoolId; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Updates a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerUpdateSchoolExternalTool: async (schoolExternalToolId: string, schoolExternalToolPostParams: SchoolExternalToolPostParams, options: any = {}): Promise => { + // verify required parameter 'schoolExternalToolId' is not null or undefined + assertParamExists('toolSchoolControllerUpdateSchoolExternalTool', 'schoolExternalToolId', schoolExternalToolId) + // verify required parameter 'schoolExternalToolPostParams' is not null or undefined + assertParamExists('toolSchoolControllerUpdateSchoolExternalTool', 'schoolExternalToolPostParams', schoolExternalToolPostParams) + const localVarPath = `/tools/school-external-tools/{schoolExternalToolId}` + .replace(`{${"schoolExternalToolId"}}`, encodeURIComponent(String(schoolExternalToolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(schoolExternalToolPostParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * ToolApi - functional programming interface + * @export + */ +export const ToolApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ToolApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Lists all available tools that can be added for a given context + * @param {any} contextType + * @param {string} contextId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolConfigurationControllerGetAvailableToolsForContext(contextType: any, contextId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolConfigurationControllerGetAvailableToolsForContext(contextType, contextId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Lists all available tools that can be added for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolConfigurationControllerGetAvailableToolsForSchool(schoolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolConfigurationControllerGetAvailableToolsForSchool(schoolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get the latest configuration template for a Context External Tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get the latest configuration template for a School External Tool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Lists all context types available in the SVS + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolConfigurationControllerGetToolContextTypes(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolConfigurationControllerGetToolContextTypes(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Creates a ContextExternalTool + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolContextControllerCreateContextExternalTool(contextExternalToolPostParams: ContextExternalToolPostParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolContextControllerCreateContextExternalTool(contextExternalToolPostParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Deletes a ContextExternalTool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolContextControllerDeleteContextExternalTool(contextExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolContextControllerDeleteContextExternalTool(contextExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Searches a ContextExternalTool for the given id + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolContextControllerGetContextExternalTool(contextExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolContextControllerGetContextExternalTool(contextExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns a list of ContextExternalTools for the given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolContextControllerGetContextExternalToolsForContext(contextId: string, contextType: ToolContextType, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolContextControllerGetContextExternalToolsForContext(contextId, contextType, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updates a ContextExternalTool + * @param {string} contextExternalToolId + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolContextControllerUpdateContextExternalTool(contextExternalToolId: string, contextExternalToolPostParams: ContextExternalToolPostParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolContextControllerUpdateContextExternalTool(contextExternalToolId, contextExternalToolPostParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Creates an ExternalTool + * @param {ExternalToolCreateParams} externalToolCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerCreateExternalTool(externalToolCreateParams: ExternalToolCreateParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerCreateExternalTool(externalToolCreateParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Deletes an ExternalTool + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerDeleteExternalTool(externalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerDeleteExternalTool(externalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns a list of ExternalTools + * @param {string} [name] Name of the external tool + * @param {string} [clientId] OAuth2 client id of the external tool + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {'id' | 'name'} [sortBy] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerFindExternalTool(name?: string, clientId?: string, skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: 'id' | 'name', options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerFindExternalTool(name, clientId, skip, limit, sortOrder, sortBy, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns a pdf of the external tool information + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerGetDatasheet(externalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerGetDatasheet(externalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns an ExternalTool for the given id + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerGetExternalTool(externalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerGetExternalTool(externalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Gets the logo of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerGetExternalToolLogo(externalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerGetExternalToolLogo(externalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Gets the metadata of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerGetMetaDataForExternalTool(externalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerGetMetaDataForExternalTool(externalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Creates multiple ExternalTools at the same time. + * @param {ExternalToolBulkCreateParams} externalToolBulkCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerImportExternalTools(externalToolBulkCreateParams: ExternalToolBulkCreateParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerImportExternalTools(externalToolBulkCreateParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updates an ExternalTool + * @param {string} externalToolId + * @param {ExternalToolUpdateParams} externalToolUpdateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolControllerUpdateExternalTool(externalToolId: string, externalToolUpdateParams: ExternalToolUpdateParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolControllerUpdateExternalTool(externalToolId, externalToolUpdateParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get tool launch request for a context external tool id + * @param {string} contextExternalToolId The id of the context external tool + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get tool launch request for a school external tool + * @param {string} schoolExternalToolId The id of the school external tool + * @param {ContextExternalToolBodyParams} contextExternalToolBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId: string, contextExternalToolBodyParams: ContextExternalToolBodyParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId, contextExternalToolBodyParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get ExternalTool Reference for a given context external tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolReferenceControllerGetToolReference(contextExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolReferenceControllerGetToolReference(contextExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Get ExternalTool References for a given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolReferenceControllerGetToolReferencesForContext(contextId: string, contextType: ToolContextType, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolReferenceControllerGetToolReferencesForContext(contextId, contextType, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Creates a SchoolExternalTool + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Deletes a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Gets the metadata of an school external tool. + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns a SchoolExternalTool for the given id + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns a list of SchoolExternalTools for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolSchoolControllerGetSchoolExternalTools(schoolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolSchoolControllerGetSchoolExternalTools(schoolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Updates a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId: string, schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId, schoolExternalToolPostParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * ToolApi - factory interface + * @export + */ +export const ToolApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ToolApiFp(configuration) + return { + /** + * + * @summary Lists all available tools that can be added for a given context + * @param {any} contextType + * @param {string} contextId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetAvailableToolsForContext(contextType: any, contextId: string, options?: any): AxiosPromise { + return localVarFp.toolConfigurationControllerGetAvailableToolsForContext(contextType, contextId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Lists all available tools that can be added for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetAvailableToolsForSchool(schoolId: string, options?: any): AxiosPromise { + return localVarFp.toolConfigurationControllerGetAvailableToolsForSchool(schoolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the latest configuration template for a Context External Tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get the latest configuration template for a School External Tool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Lists all context types available in the SVS + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolConfigurationControllerGetToolContextTypes(options?: any): AxiosPromise { + return localVarFp.toolConfigurationControllerGetToolContextTypes(options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Creates a ContextExternalTool + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerCreateContextExternalTool(contextExternalToolPostParams: ContextExternalToolPostParams, options?: any): AxiosPromise { + return localVarFp.toolContextControllerCreateContextExternalTool(contextExternalToolPostParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Deletes a ContextExternalTool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerDeleteContextExternalTool(contextExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolContextControllerDeleteContextExternalTool(contextExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Searches a ContextExternalTool for the given id + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerGetContextExternalTool(contextExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolContextControllerGetContextExternalTool(contextExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns a list of ContextExternalTools for the given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerGetContextExternalToolsForContext(contextId: string, contextType: ToolContextType, options?: any): AxiosPromise { + return localVarFp.toolContextControllerGetContextExternalToolsForContext(contextId, contextType, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updates a ContextExternalTool + * @param {string} contextExternalToolId + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolContextControllerUpdateContextExternalTool(contextExternalToolId: string, contextExternalToolPostParams: ContextExternalToolPostParams, options?: any): AxiosPromise { + return localVarFp.toolContextControllerUpdateContextExternalTool(contextExternalToolId, contextExternalToolPostParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Creates an ExternalTool + * @param {ExternalToolCreateParams} externalToolCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerCreateExternalTool(externalToolCreateParams: ExternalToolCreateParams, options?: any): AxiosPromise { + return localVarFp.toolControllerCreateExternalTool(externalToolCreateParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Deletes an ExternalTool + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerDeleteExternalTool(externalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolControllerDeleteExternalTool(externalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns a list of ExternalTools + * @param {string} [name] Name of the external tool + * @param {string} [clientId] OAuth2 client id of the external tool + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {'id' | 'name'} [sortBy] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerFindExternalTool(name?: string, clientId?: string, skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: 'id' | 'name', options?: any): AxiosPromise { + return localVarFp.toolControllerFindExternalTool(name, clientId, skip, limit, sortOrder, sortBy, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns a pdf of the external tool information + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetDatasheet(externalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolControllerGetDatasheet(externalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns an ExternalTool for the given id + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetExternalTool(externalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolControllerGetExternalTool(externalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Gets the logo of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetExternalToolLogo(externalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolControllerGetExternalToolLogo(externalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Gets the metadata of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerGetMetaDataForExternalTool(externalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolControllerGetMetaDataForExternalTool(externalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Creates multiple ExternalTools at the same time. + * @param {ExternalToolBulkCreateParams} externalToolBulkCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerImportExternalTools(externalToolBulkCreateParams: ExternalToolBulkCreateParams, options?: any): AxiosPromise { + return localVarFp.toolControllerImportExternalTools(externalToolBulkCreateParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updates an ExternalTool + * @param {string} externalToolId + * @param {ExternalToolUpdateParams} externalToolUpdateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolControllerUpdateExternalTool(externalToolId: string, externalToolUpdateParams: ExternalToolUpdateParams, options?: any): AxiosPromise { + return localVarFp.toolControllerUpdateExternalTool(externalToolId, externalToolUpdateParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get tool launch request for a context external tool id + * @param {string} contextExternalToolId The id of the context external tool + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get tool launch request for a school external tool + * @param {string} schoolExternalToolId The id of the school external tool + * @param {ContextExternalToolBodyParams} contextExternalToolBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId: string, contextExternalToolBodyParams: ContextExternalToolBodyParams, options?: any): AxiosPromise { + return localVarFp.toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId, contextExternalToolBodyParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get ExternalTool Reference for a given context external tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolReferenceControllerGetToolReference(contextExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolReferenceControllerGetToolReference(contextExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Get ExternalTool References for a given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolReferenceControllerGetToolReferencesForContext(contextId: string, contextType: ToolContextType, options?: any): AxiosPromise { + return localVarFp.toolReferenceControllerGetToolReferencesForContext(contextId, contextType, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Creates a SchoolExternalTool + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any): AxiosPromise { + return localVarFp.toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Deletes a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Gets the metadata of an school external tool. + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns a SchoolExternalTool for the given id + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId: string, options?: any): AxiosPromise { + return localVarFp.toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns a list of SchoolExternalTools for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerGetSchoolExternalTools(schoolId: string, options?: any): AxiosPromise { + return localVarFp.toolSchoolControllerGetSchoolExternalTools(schoolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Updates a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId: string, schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any): AxiosPromise { + return localVarFp.toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId, schoolExternalToolPostParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * ToolApi - interface + * @export + * @interface ToolApi + */ +export interface ToolApiInterface { + /** + * + * @summary Lists all available tools that can be added for a given context + * @param {any} contextType + * @param {string} contextId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolConfigurationControllerGetAvailableToolsForContext(contextType: any, contextId: string, options?: any): AxiosPromise; + + /** + * + * @summary Lists all available tools that can be added for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolConfigurationControllerGetAvailableToolsForSchool(schoolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get the latest configuration template for a Context External Tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get the latest configuration template for a School External Tool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Lists all context types available in the SVS + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolConfigurationControllerGetToolContextTypes(options?: any): AxiosPromise; + + /** + * + * @summary Creates a ContextExternalTool + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolContextControllerCreateContextExternalTool(contextExternalToolPostParams: ContextExternalToolPostParams, options?: any): AxiosPromise; + + /** + * + * @summary Deletes a ContextExternalTool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolContextControllerDeleteContextExternalTool(contextExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Searches a ContextExternalTool for the given id + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolContextControllerGetContextExternalTool(contextExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns a list of ContextExternalTools for the given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolContextControllerGetContextExternalToolsForContext(contextId: string, contextType: ToolContextType, options?: any): AxiosPromise; + + /** + * + * @summary Updates a ContextExternalTool + * @param {string} contextExternalToolId + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolContextControllerUpdateContextExternalTool(contextExternalToolId: string, contextExternalToolPostParams: ContextExternalToolPostParams, options?: any): AxiosPromise; + + /** + * + * @summary Creates an ExternalTool + * @param {ExternalToolCreateParams} externalToolCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerCreateExternalTool(externalToolCreateParams: ExternalToolCreateParams, options?: any): AxiosPromise; + + /** + * + * @summary Deletes an ExternalTool + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerDeleteExternalTool(externalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns a list of ExternalTools + * @param {string} [name] Name of the external tool + * @param {string} [clientId] OAuth2 client id of the external tool + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {'id' | 'name'} [sortBy] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerFindExternalTool(name?: string, clientId?: string, skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: 'id' | 'name', options?: any): AxiosPromise; + + /** + * + * @summary Returns a pdf of the external tool information + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerGetDatasheet(externalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns an ExternalTool for the given id + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerGetExternalTool(externalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Gets the logo of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerGetExternalToolLogo(externalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Gets the metadata of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerGetMetaDataForExternalTool(externalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Creates multiple ExternalTools at the same time. + * @param {ExternalToolBulkCreateParams} externalToolBulkCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerImportExternalTools(externalToolBulkCreateParams: ExternalToolBulkCreateParams, options?: any): AxiosPromise; + + /** + * + * @summary Updates an ExternalTool + * @param {string} externalToolId + * @param {ExternalToolUpdateParams} externalToolUpdateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolControllerUpdateExternalTool(externalToolId: string, externalToolUpdateParams: ExternalToolUpdateParams, options?: any): AxiosPromise; + + /** + * + * @summary Get tool launch request for a context external tool id + * @param {string} contextExternalToolId The id of the context external tool + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get tool launch request for a school external tool + * @param {string} schoolExternalToolId The id of the school external tool + * @param {ContextExternalToolBodyParams} contextExternalToolBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId: string, contextExternalToolBodyParams: ContextExternalToolBodyParams, options?: any): AxiosPromise; + + /** + * + * @summary Get ExternalTool Reference for a given context external tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolReferenceControllerGetToolReference(contextExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Get ExternalTool References for a given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolReferenceControllerGetToolReferencesForContext(contextId: string, contextType: ToolContextType, options?: any): AxiosPromise; + + /** + * + * @summary Creates a SchoolExternalTool + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any): AxiosPromise; + + /** + * + * @summary Deletes a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Gets the metadata of an school external tool. + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns a SchoolExternalTool for the given id + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns a list of SchoolExternalTools for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolSchoolControllerGetSchoolExternalTools(schoolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Updates a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApiInterface + */ + toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId: string, schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any): AxiosPromise; + +} + +/** + * ToolApi - object-oriented interface + * @export + * @class ToolApi + * @extends {BaseAPI} + */ +export class ToolApi extends BaseAPI implements ToolApiInterface { + /** + * + * @summary Lists all available tools that can be added for a given context + * @param {any} contextType + * @param {string} contextId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolConfigurationControllerGetAvailableToolsForContext(contextType: any, contextId: string, options?: any) { + return ToolApiFp(this.configuration).toolConfigurationControllerGetAvailableToolsForContext(contextType, contextId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Lists all available tools that can be added for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolConfigurationControllerGetAvailableToolsForSchool(schoolId: string, options?: any) { + return ToolApiFp(this.configuration).toolConfigurationControllerGetAvailableToolsForSchool(schoolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the latest configuration template for a Context External Tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolConfigurationControllerGetConfigurationTemplateForContext(contextExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get the latest configuration template for a School External Tool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolConfigurationControllerGetConfigurationTemplateForSchool(schoolExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Lists all context types available in the SVS + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolConfigurationControllerGetToolContextTypes(options?: any) { + return ToolApiFp(this.configuration).toolConfigurationControllerGetToolContextTypes(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Creates a ContextExternalTool + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolContextControllerCreateContextExternalTool(contextExternalToolPostParams: ContextExternalToolPostParams, options?: any) { + return ToolApiFp(this.configuration).toolContextControllerCreateContextExternalTool(contextExternalToolPostParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Deletes a ContextExternalTool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolContextControllerDeleteContextExternalTool(contextExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolContextControllerDeleteContextExternalTool(contextExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Searches a ContextExternalTool for the given id + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolContextControllerGetContextExternalTool(contextExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolContextControllerGetContextExternalTool(contextExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns a list of ContextExternalTools for the given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolContextControllerGetContextExternalToolsForContext(contextId: string, contextType: ToolContextType, options?: any) { + return ToolApiFp(this.configuration).toolContextControllerGetContextExternalToolsForContext(contextId, contextType, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updates a ContextExternalTool + * @param {string} contextExternalToolId + * @param {ContextExternalToolPostParams} contextExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolContextControllerUpdateContextExternalTool(contextExternalToolId: string, contextExternalToolPostParams: ContextExternalToolPostParams, options?: any) { + return ToolApiFp(this.configuration).toolContextControllerUpdateContextExternalTool(contextExternalToolId, contextExternalToolPostParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Creates an ExternalTool + * @param {ExternalToolCreateParams} externalToolCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerCreateExternalTool(externalToolCreateParams: ExternalToolCreateParams, options?: any) { + return ToolApiFp(this.configuration).toolControllerCreateExternalTool(externalToolCreateParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Deletes an ExternalTool + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerDeleteExternalTool(externalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolControllerDeleteExternalTool(externalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns a list of ExternalTools + * @param {string} [name] Name of the external tool + * @param {string} [clientId] OAuth2 client id of the external tool + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {'asc' | 'desc'} [sortOrder] + * @param {'id' | 'name'} [sortBy] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerFindExternalTool(name?: string, clientId?: string, skip?: number, limit?: number, sortOrder?: 'asc' | 'desc', sortBy?: 'id' | 'name', options?: any) { + return ToolApiFp(this.configuration).toolControllerFindExternalTool(name, clientId, skip, limit, sortOrder, sortBy, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns a pdf of the external tool information + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerGetDatasheet(externalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolControllerGetDatasheet(externalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns an ExternalTool for the given id + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerGetExternalTool(externalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolControllerGetExternalTool(externalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Gets the logo of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerGetExternalToolLogo(externalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolControllerGetExternalToolLogo(externalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Gets the metadata of an external tool. + * @param {string} externalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerGetMetaDataForExternalTool(externalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolControllerGetMetaDataForExternalTool(externalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Creates multiple ExternalTools at the same time. + * @param {ExternalToolBulkCreateParams} externalToolBulkCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerImportExternalTools(externalToolBulkCreateParams: ExternalToolBulkCreateParams, options?: any) { + return ToolApiFp(this.configuration).toolControllerImportExternalTools(externalToolBulkCreateParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updates an ExternalTool + * @param {string} externalToolId + * @param {ExternalToolUpdateParams} externalToolUpdateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolControllerUpdateExternalTool(externalToolId: string, externalToolUpdateParams: ExternalToolUpdateParams, options?: any) { + return ToolApiFp(this.configuration).toolControllerUpdateExternalTool(externalToolId, externalToolUpdateParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get tool launch request for a context external tool id + * @param {string} contextExternalToolId The id of the context external tool + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolLaunchControllerGetContextExternalToolLaunchRequest(contextExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get tool launch request for a school external tool + * @param {string} schoolExternalToolId The id of the school external tool + * @param {ContextExternalToolBodyParams} contextExternalToolBodyParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId: string, contextExternalToolBodyParams: ContextExternalToolBodyParams, options?: any) { + return ToolApiFp(this.configuration).toolLaunchControllerGetSchoolExternalToolLaunchRequest(schoolExternalToolId, contextExternalToolBodyParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get ExternalTool Reference for a given context external tool + * @param {string} contextExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolReferenceControllerGetToolReference(contextExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolReferenceControllerGetToolReference(contextExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Get ExternalTool References for a given context + * @param {string} contextId + * @param {ToolContextType} contextType + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolReferenceControllerGetToolReferencesForContext(contextId: string, contextType: ToolContextType, options?: any) { + return ToolApiFp(this.configuration).toolReferenceControllerGetToolReferencesForContext(contextId, contextType, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Creates a SchoolExternalTool + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any) { + return ToolApiFp(this.configuration).toolSchoolControllerCreateSchoolExternalTool(schoolExternalToolPostParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Deletes a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolSchoolControllerDeleteSchoolExternalTool(schoolExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Gets the metadata of an school external tool. + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolSchoolControllerGetMetaDataForExternalTool(schoolExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns a SchoolExternalTool for the given id + * @param {string} schoolExternalToolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId: string, options?: any) { + return ToolApiFp(this.configuration).toolSchoolControllerGetSchoolExternalTool(schoolExternalToolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns a list of SchoolExternalTools for a given school + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolSchoolControllerGetSchoolExternalTools(schoolId: string, options?: any) { + return ToolApiFp(this.configuration).toolSchoolControllerGetSchoolExternalTools(schoolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Updates a SchoolExternalTool + * @param {string} schoolExternalToolId + * @param {SchoolExternalToolPostParams} schoolExternalToolPostParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId: string, schoolExternalToolPostParams: SchoolExternalToolPostParams, options?: any) { + return ToolApiFp(this.configuration).toolSchoolControllerUpdateSchoolExternalTool(schoolExternalToolId, schoolExternalToolPostParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/user-api.ts b/src/serverApi/v3/api/user-api.ts new file mode 100644 index 0000000..55f3a23 --- /dev/null +++ b/src/serverApi/v3/api/user-api.ts @@ -0,0 +1,218 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ChangeLanguageParams } from '../models'; +// @ts-ignore +import { ResolvedUserResponse } from '../models'; +// @ts-ignore +import { SuccessfulResponse } from '../models'; +/** + * UserApi - axios parameter creator + * @export + */ +export const UserApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {ChangeLanguageParams} changeLanguageParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userControllerChangeLanguage: async (changeLanguageParams: ChangeLanguageParams, options: any = {}): Promise => { + // verify required parameter 'changeLanguageParams' is not null or undefined + assertParamExists('userControllerChangeLanguage', 'changeLanguageParams', changeLanguageParams) + const localVarPath = `/user/language`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(changeLanguageParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userControllerMe: async (options: any = {}): Promise => { + const localVarPath = `/user/me`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UserApi - functional programming interface + * @export + */ +export const UserApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration) + return { + /** + * + * @param {ChangeLanguageParams} changeLanguageParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userControllerChangeLanguage(changeLanguageParams: ChangeLanguageParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userControllerChangeLanguage(changeLanguageParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userControllerMe(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userControllerMe(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * UserApi - factory interface + * @export + */ +export const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UserApiFp(configuration) + return { + /** + * + * @param {ChangeLanguageParams} changeLanguageParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userControllerChangeLanguage(changeLanguageParams: ChangeLanguageParams, options?: any): AxiosPromise { + return localVarFp.userControllerChangeLanguage(changeLanguageParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userControllerMe(options?: any): AxiosPromise { + return localVarFp.userControllerMe(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UserApi - interface + * @export + * @interface UserApi + */ +export interface UserApiInterface { + /** + * + * @param {ChangeLanguageParams} changeLanguageParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApiInterface + */ + userControllerChangeLanguage(changeLanguageParams: ChangeLanguageParams, options?: any): AxiosPromise; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApiInterface + */ + userControllerMe(options?: any): AxiosPromise; + +} + +/** + * UserApi - object-oriented interface + * @export + * @class UserApi + * @extends {BaseAPI} + */ +export class UserApi extends BaseAPI implements UserApiInterface { + /** + * + * @param {ChangeLanguageParams} changeLanguageParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public userControllerChangeLanguage(changeLanguageParams: ChangeLanguageParams, options?: any) { + return UserApiFp(this.configuration).userControllerChangeLanguage(changeLanguageParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserApi + */ + public userControllerMe(options?: any) { + return UserApiFp(this.configuration).userControllerMe(options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/user-import-api.ts b/src/serverApi/v3/api/user-import-api.ts new file mode 100644 index 0000000..4860f28 --- /dev/null +++ b/src/serverApi/v3/api/user-import-api.ts @@ -0,0 +1,947 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ImportUserListResponse } from '../models'; +// @ts-ignore +import { ImportUserResponse } from '../models'; +// @ts-ignore +import { UpdateFlagParams } from '../models'; +// @ts-ignore +import { UpdateMatchParams } from '../models'; +// @ts-ignore +import { UserMatchListResponse } from '../models'; +/** + * UserImportApi - axios parameter creator + * @export + */ +export const UserImportApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Cancel current migration process + * @summary Cancel migration wizard + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerCancelMigration: async (options: any = {}): Promise => { + const localVarPath = `/user/import/cancel`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerEndSchoolInMaintenance: async (options: any = {}): Promise => { + const localVarPath = `/user/import/startSync`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} [firstName] + * @param {string} [lastName] + * @param {string} [loginName] + * @param {Array<'auto' | 'admin' | 'none'>} [match] + * @param {boolean} [flagged] + * @param {string} [classes] + * @param {'student' | 'teacher' | 'admin'} [role] + * @param {'asc' | 'desc'} [sortOrder] + * @param {'firstName' | 'lastName'} [sortBy] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerFindAllImportUsers: async (firstName?: string, lastName?: string, loginName?: string, match?: Array<'auto' | 'admin' | 'none'>, flagged?: boolean, classes?: string, role?: 'student' | 'teacher' | 'admin', sortOrder?: 'asc' | 'desc', sortBy?: 'firstName' | 'lastName', skip?: number, limit?: number, options: any = {}): Promise => { + const localVarPath = `/user/import`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (firstName !== undefined) { + localVarQueryParameter['firstName'] = firstName; + } + + if (lastName !== undefined) { + localVarQueryParameter['lastName'] = lastName; + } + + if (loginName !== undefined) { + localVarQueryParameter['loginName'] = loginName; + } + + if (match) { + localVarQueryParameter['match'] = match; + } + + if (flagged !== undefined) { + localVarQueryParameter['flagged'] = flagged; + } + + if (classes !== undefined) { + localVarQueryParameter['classes'] = classes; + } + + if (role !== undefined) { + localVarQueryParameter['role'] = role; + } + + if (sortOrder !== undefined) { + localVarQueryParameter['sortOrder'] = sortOrder; + } + + if (sortBy !== undefined) { + localVarQueryParameter['sortBy'] = sortBy; + } + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} [name] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerFindAllUnmatchedUsers: async (name?: string, skip?: number, limit?: number, options: any = {}): Promise => { + const localVarPath = `/user/import/unassigned`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (name !== undefined) { + localVarQueryParameter['name'] = name; + } + + if (skip !== undefined) { + localVarQueryParameter['skip'] = skip; + } + + if (limit !== undefined) { + localVarQueryParameter['limit'] = limit; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Populates import users from specific user migration populate endpoint. + * @summary Populates import users + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerPopulateImportUsers: async (options: any = {}): Promise => { + const localVarPath = `/user/import/populate-import-users`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerRemoveMatch: async (importUserId: string, options: any = {}): Promise => { + // verify required parameter 'importUserId' is not null or undefined + assertParamExists('importUserControllerRemoveMatch', 'importUserId', importUserId) + const localVarPath = `/user/import/{importUserId}/match` + .replace(`{${"importUserId"}}`, encodeURIComponent(String(importUserId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerSaveAllUsersMatches: async (options: any = {}): Promise => { + const localVarPath = `/user/import/migrate`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateMatchParams} updateMatchParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerSetMatch: async (importUserId: string, updateMatchParams: UpdateMatchParams, options: any = {}): Promise => { + // verify required parameter 'importUserId' is not null or undefined + assertParamExists('importUserControllerSetMatch', 'importUserId', importUserId) + // verify required parameter 'updateMatchParams' is not null or undefined + assertParamExists('importUserControllerSetMatch', 'updateMatchParams', updateMatchParams) + const localVarPath = `/user/import/{importUserId}/match` + .replace(`{${"importUserId"}}`, encodeURIComponent(String(importUserId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateMatchParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {boolean} useCentralLdap + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerStartSchoolInUserMigration: async (useCentralLdap: boolean, options: any = {}): Promise => { + // verify required parameter 'useCentralLdap' is not null or undefined + assertParamExists('importUserControllerStartSchoolInUserMigration', 'useCentralLdap', useCentralLdap) + const localVarPath = `/user/import/startUserMigration`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (useCentralLdap !== undefined) { + localVarQueryParameter['useCentralLdap'] = useCentralLdap; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateFlagParams} updateFlagParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerUpdateFlag: async (importUserId: string, updateFlagParams: UpdateFlagParams, options: any = {}): Promise => { + // verify required parameter 'importUserId' is not null or undefined + assertParamExists('importUserControllerUpdateFlag', 'importUserId', importUserId) + // verify required parameter 'updateFlagParams' is not null or undefined + assertParamExists('importUserControllerUpdateFlag', 'updateFlagParams', updateFlagParams) + const localVarPath = `/user/import/{importUserId}/flag` + .replace(`{${"importUserId"}}`, encodeURIComponent(String(importUserId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(updateFlagParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UserImportApi - functional programming interface + * @export + */ +export const UserImportApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UserImportApiAxiosParamCreator(configuration) + return { + /** + * Cancel current migration process + * @summary Cancel migration wizard + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerCancelMigration(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerCancelMigration(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerEndSchoolInMaintenance(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerEndSchoolInMaintenance(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} [firstName] + * @param {string} [lastName] + * @param {string} [loginName] + * @param {Array<'auto' | 'admin' | 'none'>} [match] + * @param {boolean} [flagged] + * @param {string} [classes] + * @param {'student' | 'teacher' | 'admin'} [role] + * @param {'asc' | 'desc'} [sortOrder] + * @param {'firstName' | 'lastName'} [sortBy] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerFindAllImportUsers(firstName?: string, lastName?: string, loginName?: string, match?: Array<'auto' | 'admin' | 'none'>, flagged?: boolean, classes?: string, role?: 'student' | 'teacher' | 'admin', sortOrder?: 'asc' | 'desc', sortBy?: 'firstName' | 'lastName', skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerFindAllImportUsers(firstName, lastName, loginName, match, flagged, classes, role, sortOrder, sortBy, skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} [name] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerFindAllUnmatchedUsers(name?: string, skip?: number, limit?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerFindAllUnmatchedUsers(name, skip, limit, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Populates import users from specific user migration populate endpoint. + * @summary Populates import users + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerPopulateImportUsers(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerPopulateImportUsers(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerRemoveMatch(importUserId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerRemoveMatch(importUserId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerSaveAllUsersMatches(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerSaveAllUsersMatches(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateMatchParams} updateMatchParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerSetMatch(importUserId: string, updateMatchParams: UpdateMatchParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerSetMatch(importUserId, updateMatchParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {boolean} useCentralLdap + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerStartSchoolInUserMigration(useCentralLdap: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerStartSchoolInUserMigration(useCentralLdap, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateFlagParams} updateFlagParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async importUserControllerUpdateFlag(importUserId: string, updateFlagParams: UpdateFlagParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.importUserControllerUpdateFlag(importUserId, updateFlagParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * UserImportApi - factory interface + * @export + */ +export const UserImportApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UserImportApiFp(configuration) + return { + /** + * Cancel current migration process + * @summary Cancel migration wizard + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerCancelMigration(options?: any): AxiosPromise { + return localVarFp.importUserControllerCancelMigration(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerEndSchoolInMaintenance(options?: any): AxiosPromise { + return localVarFp.importUserControllerEndSchoolInMaintenance(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} [firstName] + * @param {string} [lastName] + * @param {string} [loginName] + * @param {Array<'auto' | 'admin' | 'none'>} [match] + * @param {boolean} [flagged] + * @param {string} [classes] + * @param {'student' | 'teacher' | 'admin'} [role] + * @param {'asc' | 'desc'} [sortOrder] + * @param {'firstName' | 'lastName'} [sortBy] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerFindAllImportUsers(firstName?: string, lastName?: string, loginName?: string, match?: Array<'auto' | 'admin' | 'none'>, flagged?: boolean, classes?: string, role?: 'student' | 'teacher' | 'admin', sortOrder?: 'asc' | 'desc', sortBy?: 'firstName' | 'lastName', skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.importUserControllerFindAllImportUsers(firstName, lastName, loginName, match, flagged, classes, role, sortOrder, sortBy, skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} [name] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerFindAllUnmatchedUsers(name?: string, skip?: number, limit?: number, options?: any): AxiosPromise { + return localVarFp.importUserControllerFindAllUnmatchedUsers(name, skip, limit, options).then((request) => request(axios, basePath)); + }, + /** + * Populates import users from specific user migration populate endpoint. + * @summary Populates import users + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerPopulateImportUsers(options?: any): AxiosPromise { + return localVarFp.importUserControllerPopulateImportUsers(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerRemoveMatch(importUserId: string, options?: any): AxiosPromise { + return localVarFp.importUserControllerRemoveMatch(importUserId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerSaveAllUsersMatches(options?: any): AxiosPromise { + return localVarFp.importUserControllerSaveAllUsersMatches(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateMatchParams} updateMatchParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerSetMatch(importUserId: string, updateMatchParams: UpdateMatchParams, options?: any): AxiosPromise { + return localVarFp.importUserControllerSetMatch(importUserId, updateMatchParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {boolean} useCentralLdap + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerStartSchoolInUserMigration(useCentralLdap: boolean, options?: any): AxiosPromise { + return localVarFp.importUserControllerStartSchoolInUserMigration(useCentralLdap, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateFlagParams} updateFlagParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + importUserControllerUpdateFlag(importUserId: string, updateFlagParams: UpdateFlagParams, options?: any): AxiosPromise { + return localVarFp.importUserControllerUpdateFlag(importUserId, updateFlagParams, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UserImportApi - interface + * @export + * @interface UserImportApi + */ +export interface UserImportApiInterface { + /** + * Cancel current migration process + * @summary Cancel migration wizard + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerCancelMigration(options?: any): AxiosPromise; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerEndSchoolInMaintenance(options?: any): AxiosPromise; + + /** + * + * @param {string} [firstName] + * @param {string} [lastName] + * @param {string} [loginName] + * @param {Array<'auto' | 'admin' | 'none'>} [match] + * @param {boolean} [flagged] + * @param {string} [classes] + * @param {'student' | 'teacher' | 'admin'} [role] + * @param {'asc' | 'desc'} [sortOrder] + * @param {'firstName' | 'lastName'} [sortBy] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerFindAllImportUsers(firstName?: string, lastName?: string, loginName?: string, match?: Array<'auto' | 'admin' | 'none'>, flagged?: boolean, classes?: string, role?: 'student' | 'teacher' | 'admin', sortOrder?: 'asc' | 'desc', sortBy?: 'firstName' | 'lastName', skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * + * @param {string} [name] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerFindAllUnmatchedUsers(name?: string, skip?: number, limit?: number, options?: any): AxiosPromise; + + /** + * Populates import users from specific user migration populate endpoint. + * @summary Populates import users + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerPopulateImportUsers(options?: any): AxiosPromise; + + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerRemoveMatch(importUserId: string, options?: any): AxiosPromise; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerSaveAllUsersMatches(options?: any): AxiosPromise; + + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateMatchParams} updateMatchParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerSetMatch(importUserId: string, updateMatchParams: UpdateMatchParams, options?: any): AxiosPromise; + + /** + * + * @param {boolean} useCentralLdap + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerStartSchoolInUserMigration(useCentralLdap: boolean, options?: any): AxiosPromise; + + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateFlagParams} updateFlagParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApiInterface + */ + importUserControllerUpdateFlag(importUserId: string, updateFlagParams: UpdateFlagParams, options?: any): AxiosPromise; + +} + +/** + * UserImportApi - object-oriented interface + * @export + * @class UserImportApi + * @extends {BaseAPI} + */ +export class UserImportApi extends BaseAPI implements UserImportApiInterface { + /** + * Cancel current migration process + * @summary Cancel migration wizard + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerCancelMigration(options?: any) { + return UserImportApiFp(this.configuration).importUserControllerCancelMigration(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerEndSchoolInMaintenance(options?: any) { + return UserImportApiFp(this.configuration).importUserControllerEndSchoolInMaintenance(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} [firstName] + * @param {string} [lastName] + * @param {string} [loginName] + * @param {Array<'auto' | 'admin' | 'none'>} [match] + * @param {boolean} [flagged] + * @param {string} [classes] + * @param {'student' | 'teacher' | 'admin'} [role] + * @param {'asc' | 'desc'} [sortOrder] + * @param {'firstName' | 'lastName'} [sortBy] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerFindAllImportUsers(firstName?: string, lastName?: string, loginName?: string, match?: Array<'auto' | 'admin' | 'none'>, flagged?: boolean, classes?: string, role?: 'student' | 'teacher' | 'admin', sortOrder?: 'asc' | 'desc', sortBy?: 'firstName' | 'lastName', skip?: number, limit?: number, options?: any) { + return UserImportApiFp(this.configuration).importUserControllerFindAllImportUsers(firstName, lastName, loginName, match, flagged, classes, role, sortOrder, sortBy, skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} [name] + * @param {number} [skip] Number of elements (not pages) to be skipped + * @param {number} [limit] Page limit, defaults to 10. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerFindAllUnmatchedUsers(name?: string, skip?: number, limit?: number, options?: any) { + return UserImportApiFp(this.configuration).importUserControllerFindAllUnmatchedUsers(name, skip, limit, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Populates import users from specific user migration populate endpoint. + * @summary Populates import users + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerPopulateImportUsers(options?: any) { + return UserImportApiFp(this.configuration).importUserControllerPopulateImportUsers(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerRemoveMatch(importUserId: string, options?: any) { + return UserImportApiFp(this.configuration).importUserControllerRemoveMatch(importUserId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerSaveAllUsersMatches(options?: any) { + return UserImportApiFp(this.configuration).importUserControllerSaveAllUsersMatches(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateMatchParams} updateMatchParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerSetMatch(importUserId: string, updateMatchParams: UpdateMatchParams, options?: any) { + return UserImportApiFp(this.configuration).importUserControllerSetMatch(importUserId, updateMatchParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {boolean} useCentralLdap + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerStartSchoolInUserMigration(useCentralLdap: boolean, options?: any) { + return UserImportApiFp(this.configuration).importUserControllerStartSchoolInUserMigration(useCentralLdap, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} importUserId The id of an importuser object, that matches an internal user with an external user. + * @param {UpdateFlagParams} updateFlagParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserImportApi + */ + public importUserControllerUpdateFlag(importUserId: string, updateFlagParams: UpdateFlagParams, options?: any) { + return UserImportApiFp(this.configuration).importUserControllerUpdateFlag(importUserId, updateFlagParams, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/user-login-migration-api.ts b/src/serverApi/v3/api/user-login-migration-api.ts new file mode 100644 index 0000000..b2e4746 --- /dev/null +++ b/src/serverApi/v3/api/user-login-migration-api.ts @@ -0,0 +1,677 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { ForceMigrationParams } from '../models'; +// @ts-ignore +import { Oauth2MigrationParams } from '../models'; +// @ts-ignore +import { UserLoginMigrationMandatoryParams } from '../models'; +// @ts-ignore +import { UserLoginMigrationResponse } from '../models'; +// @ts-ignore +import { UserLoginMigrationSearchListResponse } from '../models'; +/** + * UserLoginMigrationApi - axios parameter creator + * @export + */ +export const UserLoginMigrationApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerCloseMigration: async (options: any = {}): Promise => { + const localVarPath = `/user-login-migrations/close`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerFindUserLoginMigrationBySchool: async (schoolId: string, options: any = {}): Promise => { + // verify required parameter 'schoolId' is not null or undefined + assertParamExists('userLoginMigrationControllerFindUserLoginMigrationBySchool', 'schoolId', schoolId) + const localVarPath = `/user-login-migrations/schools/{schoolId}` + .replace(`{${"schoolId"}}`, encodeURIComponent(String(schoolId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Force migrate an administrator account and its school + * @param {ForceMigrationParams} forceMigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerForceMigration: async (forceMigrationParams: ForceMigrationParams, options: any = {}): Promise => { + // verify required parameter 'forceMigrationParams' is not null or undefined + assertParamExists('userLoginMigrationControllerForceMigration', 'forceMigrationParams', forceMigrationParams) + const localVarPath = `/user-login-migrations/force-migration`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(forceMigrationParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Currently there can only be one migration for a user. Therefore only one migration is returned. + * @summary Get UserLoginMigrations + * @param {string} [userId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerGetMigrations: async (userId?: string, options: any = {}): Promise => { + const localVarPath = `/user-login-migrations`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + if (userId !== undefined) { + localVarQueryParameter['userId'] = userId; + } + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {Oauth2MigrationParams} oauth2MigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerMigrateUserLogin: async (oauth2MigrationParams: Oauth2MigrationParams, options: any = {}): Promise => { + // verify required parameter 'oauth2MigrationParams' is not null or undefined + assertParamExists('userLoginMigrationControllerMigrateUserLogin', 'oauth2MigrationParams', oauth2MigrationParams) + const localVarPath = `/user-login-migrations/migrate-to-oauth2`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(oauth2MigrationParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerRestartMigration: async (options: any = {}): Promise => { + const localVarPath = `/user-login-migrations/restart`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {UserLoginMigrationMandatoryParams} userLoginMigrationMandatoryParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerSetMigrationMandatory: async (userLoginMigrationMandatoryParams: UserLoginMigrationMandatoryParams, options: any = {}): Promise => { + // verify required parameter 'userLoginMigrationMandatoryParams' is not null or undefined + assertParamExists('userLoginMigrationControllerSetMigrationMandatory', 'userLoginMigrationMandatoryParams', userLoginMigrationMandatoryParams) + const localVarPath = `/user-login-migrations/mandatory`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(userLoginMigrationMandatoryParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerStartMigration: async (options: any = {}): Promise => { + const localVarPath = `/user-login-migrations/start`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UserLoginMigrationApi - functional programming interface + * @export + */ +export const UserLoginMigrationApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UserLoginMigrationApiAxiosParamCreator(configuration) + return { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerCloseMigration(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerCloseMigration(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Force migrate an administrator account and its school + * @param {ForceMigrationParams} forceMigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerForceMigration(forceMigrationParams: ForceMigrationParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerForceMigration(forceMigrationParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Currently there can only be one migration for a user. Therefore only one migration is returned. + * @summary Get UserLoginMigrations + * @param {string} [userId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerGetMigrations(userId?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerGetMigrations(userId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {Oauth2MigrationParams} oauth2MigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams: Oauth2MigrationParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerRestartMigration(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerRestartMigration(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {UserLoginMigrationMandatoryParams} userLoginMigrationMandatoryParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams: UserLoginMigrationMandatoryParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationControllerStartMigration(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationControllerStartMigration(options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * UserLoginMigrationApi - factory interface + * @export + */ +export const UserLoginMigrationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UserLoginMigrationApiFp(configuration) + return { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerCloseMigration(options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerCloseMigration(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId: string, options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Force migrate an administrator account and its school + * @param {ForceMigrationParams} forceMigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerForceMigration(forceMigrationParams: ForceMigrationParams, options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerForceMigration(forceMigrationParams, options).then((request) => request(axios, basePath)); + }, + /** + * Currently there can only be one migration for a user. Therefore only one migration is returned. + * @summary Get UserLoginMigrations + * @param {string} [userId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerGetMigrations(userId?: string, options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerGetMigrations(userId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {Oauth2MigrationParams} oauth2MigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams: Oauth2MigrationParams, options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerRestartMigration(options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerRestartMigration(options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {UserLoginMigrationMandatoryParams} userLoginMigrationMandatoryParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams: UserLoginMigrationMandatoryParams, options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationControllerStartMigration(options?: any): AxiosPromise { + return localVarFp.userLoginMigrationControllerStartMigration(options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UserLoginMigrationApi - interface + * @export + * @interface UserLoginMigrationApi + */ +export interface UserLoginMigrationApiInterface { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerCloseMigration(options?: any): AxiosPromise; + + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId: string, options?: any): AxiosPromise; + + /** + * + * @summary Force migrate an administrator account and its school + * @param {ForceMigrationParams} forceMigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerForceMigration(forceMigrationParams: ForceMigrationParams, options?: any): AxiosPromise; + + /** + * Currently there can only be one migration for a user. Therefore only one migration is returned. + * @summary Get UserLoginMigrations + * @param {string} [userId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerGetMigrations(userId?: string, options?: any): AxiosPromise; + + /** + * + * @param {Oauth2MigrationParams} oauth2MigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams: Oauth2MigrationParams, options?: any): AxiosPromise; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerRestartMigration(options?: any): AxiosPromise; + + /** + * + * @param {UserLoginMigrationMandatoryParams} userLoginMigrationMandatoryParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams: UserLoginMigrationMandatoryParams, options?: any): AxiosPromise; + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApiInterface + */ + userLoginMigrationControllerStartMigration(options?: any): AxiosPromise; + +} + +/** + * UserLoginMigrationApi - object-oriented interface + * @export + * @class UserLoginMigrationApi + * @extends {BaseAPI} + */ +export class UserLoginMigrationApi extends BaseAPI implements UserLoginMigrationApiInterface { + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerCloseMigration(options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerCloseMigration(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {string} schoolId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId: string, options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerFindUserLoginMigrationBySchool(schoolId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Force migrate an administrator account and its school + * @param {ForceMigrationParams} forceMigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerForceMigration(forceMigrationParams: ForceMigrationParams, options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerForceMigration(forceMigrationParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Currently there can only be one migration for a user. Therefore only one migration is returned. + * @summary Get UserLoginMigrations + * @param {string} [userId] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerGetMigrations(userId?: string, options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerGetMigrations(userId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {Oauth2MigrationParams} oauth2MigrationParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams: Oauth2MigrationParams, options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerMigrateUserLogin(oauth2MigrationParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerRestartMigration(options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerRestartMigration(options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {UserLoginMigrationMandatoryParams} userLoginMigrationMandatoryParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams: UserLoginMigrationMandatoryParams, options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerSetMigrationMandatory(userLoginMigrationMandatoryParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationApi + */ + public userLoginMigrationControllerStartMigration(options?: any) { + return UserLoginMigrationApiFp(this.configuration).userLoginMigrationControllerStartMigration(options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/user-login-migration-rollback-api.ts b/src/serverApi/v3/api/user-login-migration-rollback-api.ts new file mode 100644 index 0000000..150bc76 --- /dev/null +++ b/src/serverApi/v3/api/user-login-migration-rollback-api.ts @@ -0,0 +1,147 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +/** + * UserLoginMigrationRollbackApi - axios parameter creator + * @export + */ +export const UserLoginMigrationRollbackApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Rollback a user from a user login migration + * @param {string} userId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationRollbackControllerMigrateUserLogin: async (userId: string, options: any = {}): Promise => { + // verify required parameter 'userId' is not null or undefined + assertParamExists('userLoginMigrationRollbackControllerMigrateUserLogin', 'userId', userId) + const localVarPath = `/user-login-migrations/users/{userId}/rollback-migration` + .replace(`{${"userId"}}`, encodeURIComponent(String(userId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * UserLoginMigrationRollbackApi - functional programming interface + * @export + */ +export const UserLoginMigrationRollbackApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = UserLoginMigrationRollbackApiAxiosParamCreator(configuration) + return { + /** + * + * @summary Rollback a user from a user login migration + * @param {string} userId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async userLoginMigrationRollbackControllerMigrateUserLogin(userId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.userLoginMigrationRollbackControllerMigrateUserLogin(userId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * UserLoginMigrationRollbackApi - factory interface + * @export + */ +export const UserLoginMigrationRollbackApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = UserLoginMigrationRollbackApiFp(configuration) + return { + /** + * + * @summary Rollback a user from a user login migration + * @param {string} userId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + userLoginMigrationRollbackControllerMigrateUserLogin(userId: string, options?: any): AxiosPromise { + return localVarFp.userLoginMigrationRollbackControllerMigrateUserLogin(userId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * UserLoginMigrationRollbackApi - interface + * @export + * @interface UserLoginMigrationRollbackApi + */ +export interface UserLoginMigrationRollbackApiInterface { + /** + * + * @summary Rollback a user from a user login migration + * @param {string} userId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationRollbackApiInterface + */ + userLoginMigrationRollbackControllerMigrateUserLogin(userId: string, options?: any): AxiosPromise; + +} + +/** + * UserLoginMigrationRollbackApi - object-oriented interface + * @export + * @class UserLoginMigrationRollbackApi + * @extends {BaseAPI} + */ +export class UserLoginMigrationRollbackApi extends BaseAPI implements UserLoginMigrationRollbackApiInterface { + /** + * + * @summary Rollback a user from a user login migration + * @param {string} userId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof UserLoginMigrationRollbackApi + */ + public userLoginMigrationRollbackControllerMigrateUserLogin(userId: string, options?: any) { + return UserLoginMigrationRollbackApiFp(this.configuration).userLoginMigrationRollbackControllerMigrateUserLogin(userId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/api/video-conference-api.ts b/src/serverApi/v3/api/video-conference-api.ts new file mode 100644 index 0000000..7845aa6 --- /dev/null +++ b/src/serverApi/v3/api/video-conference-api.ts @@ -0,0 +1,717 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import { Configuration } from '../configuration'; +// Some imports not used depending on template conditions +// @ts-ignore +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +// @ts-ignore +import { VideoConferenceCreateParams } from '../models'; +// @ts-ignore +import { VideoConferenceInfoResponse } from '../models'; +// @ts-ignore +import { VideoConferenceJoinResponse } from '../models'; +// @ts-ignore +import { VideoConferenceScope } from '../models'; +/** + * VideoConferenceApi - axios parameter creator + * @export + */ +export const VideoConferenceApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * Use this endpoint to end a running video conference. + * @summary Ends a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerEnd: async (scope: VideoConferenceScope, scopeId: string, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceControllerEnd', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceControllerEnd', 'scopeId', scopeId) + const localVarPath = `/videoconference2/{scope}/{scopeId}/end` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this endpoint to get information about a running video conference. + * @summary Returns information about a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerInfo: async (scope: VideoConferenceScope, scopeId: string, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceControllerInfo', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceControllerInfo', 'scopeId', scopeId) + const localVarPath = `/videoconference2/{scope}/{scopeId}/info` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this endpoint to get a link to join an existing video conference. The conference must be running. + * @summary Creates a join link for a video conference, if it has started. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerJoin: async (scope: VideoConferenceScope, scopeId: string, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceControllerJoin', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceControllerJoin', 'scopeId', scopeId) + const localVarPath = `/videoconference2/{scope}/{scopeId}/join` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Use this endpoint to start a video conference. If the conference is not yet running, it will be created. + * @summary Creates the video conference, if it has not started yet. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerStart: async (scope: VideoConferenceScope, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceControllerStart', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceControllerStart', 'scopeId', scopeId) + // verify required parameter 'videoConferenceCreateParams' is not null or undefined + assertParamExists('videoConferenceControllerStart', 'videoConferenceCreateParams', videoConferenceCreateParams) + const localVarPath = `/videoconference2/{scope}/{scopeId}/start` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(videoConferenceCreateParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Creates a join link for a video conference and creates the video conference, if it has not started yet. + * @param {string} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceDeprecatedControllerCreateAndJoin: async (scope: string, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerCreateAndJoin', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerCreateAndJoin', 'scopeId', scopeId) + // verify required parameter 'videoConferenceCreateParams' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerCreateAndJoin', 'videoConferenceCreateParams', videoConferenceCreateParams) + const localVarPath = `/videoconference/{scope}/{scopeId}` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(videoConferenceCreateParams, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Ends a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceDeprecatedControllerEnd: async (scope: string, scopeId: string, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerEnd', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerEnd', 'scopeId', scopeId) + const localVarPath = `/videoconference/{scope}/{scopeId}` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Returns information about a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceDeprecatedControllerInfo: async (scope: string, scopeId: string, options: any = {}): Promise => { + // verify required parameter 'scope' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerInfo', 'scope', scope) + // verify required parameter 'scopeId' is not null or undefined + assertParamExists('videoConferenceDeprecatedControllerInfo', 'scopeId', scopeId) + const localVarPath = `/videoconference/{scope}/{scopeId}` + .replace(`{${"scope"}}`, encodeURIComponent(String(scope))) + .replace(`{${"scopeId"}}`, encodeURIComponent(String(scopeId))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication bearer required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration) + + + + setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + } +}; + +/** + * VideoConferenceApi - functional programming interface + * @export + */ +export const VideoConferenceApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = VideoConferenceApiAxiosParamCreator(configuration) + return { + /** + * Use this endpoint to end a running video conference. + * @summary Ends a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceControllerEnd(scope: VideoConferenceScope, scopeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceControllerEnd(scope, scopeId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Use this endpoint to get information about a running video conference. + * @summary Returns information about a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceControllerInfo(scope: VideoConferenceScope, scopeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceControllerInfo(scope, scopeId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Use this endpoint to get a link to join an existing video conference. The conference must be running. + * @summary Creates a join link for a video conference, if it has started. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceControllerJoin(scope: VideoConferenceScope, scopeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceControllerJoin(scope, scopeId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * Use this endpoint to start a video conference. If the conference is not yet running, it will be created. + * @summary Creates the video conference, if it has not started yet. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceControllerStart(scope: VideoConferenceScope, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceControllerStart(scope, scopeId, videoConferenceCreateParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Creates a join link for a video conference and creates the video conference, if it has not started yet. + * @param {string} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceDeprecatedControllerCreateAndJoin(scope: string, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceDeprecatedControllerCreateAndJoin(scope, scopeId, videoConferenceCreateParams, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Ends a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceDeprecatedControllerEnd(scope: string, scopeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceDeprecatedControllerEnd(scope, scopeId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + /** + * + * @summary Returns information about a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async videoConferenceDeprecatedControllerInfo(scope: string, scopeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.videoConferenceDeprecatedControllerInfo(scope, scopeId, options); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, + } +}; + +/** + * VideoConferenceApi - factory interface + * @export + */ +export const VideoConferenceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = VideoConferenceApiFp(configuration) + return { + /** + * Use this endpoint to end a running video conference. + * @summary Ends a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerEnd(scope: VideoConferenceScope, scopeId: string, options?: any): AxiosPromise { + return localVarFp.videoConferenceControllerEnd(scope, scopeId, options).then((request) => request(axios, basePath)); + }, + /** + * Use this endpoint to get information about a running video conference. + * @summary Returns information about a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerInfo(scope: VideoConferenceScope, scopeId: string, options?: any): AxiosPromise { + return localVarFp.videoConferenceControllerInfo(scope, scopeId, options).then((request) => request(axios, basePath)); + }, + /** + * Use this endpoint to get a link to join an existing video conference. The conference must be running. + * @summary Creates a join link for a video conference, if it has started. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerJoin(scope: VideoConferenceScope, scopeId: string, options?: any): AxiosPromise { + return localVarFp.videoConferenceControllerJoin(scope, scopeId, options).then((request) => request(axios, basePath)); + }, + /** + * Use this endpoint to start a video conference. If the conference is not yet running, it will be created. + * @summary Creates the video conference, if it has not started yet. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceControllerStart(scope: VideoConferenceScope, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any): AxiosPromise { + return localVarFp.videoConferenceControllerStart(scope, scopeId, videoConferenceCreateParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Creates a join link for a video conference and creates the video conference, if it has not started yet. + * @param {string} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceDeprecatedControllerCreateAndJoin(scope: string, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any): AxiosPromise { + return localVarFp.videoConferenceDeprecatedControllerCreateAndJoin(scope, scopeId, videoConferenceCreateParams, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Ends a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceDeprecatedControllerEnd(scope: string, scopeId: string, options?: any): AxiosPromise { + return localVarFp.videoConferenceDeprecatedControllerEnd(scope, scopeId, options).then((request) => request(axios, basePath)); + }, + /** + * + * @summary Returns information about a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + videoConferenceDeprecatedControllerInfo(scope: string, scopeId: string, options?: any): AxiosPromise { + return localVarFp.videoConferenceDeprecatedControllerInfo(scope, scopeId, options).then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * VideoConferenceApi - interface + * @export + * @interface VideoConferenceApi + */ +export interface VideoConferenceApiInterface { + /** + * Use this endpoint to end a running video conference. + * @summary Ends a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceControllerEnd(scope: VideoConferenceScope, scopeId: string, options?: any): AxiosPromise; + + /** + * Use this endpoint to get information about a running video conference. + * @summary Returns information about a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceControllerInfo(scope: VideoConferenceScope, scopeId: string, options?: any): AxiosPromise; + + /** + * Use this endpoint to get a link to join an existing video conference. The conference must be running. + * @summary Creates a join link for a video conference, if it has started. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceControllerJoin(scope: VideoConferenceScope, scopeId: string, options?: any): AxiosPromise; + + /** + * Use this endpoint to start a video conference. If the conference is not yet running, it will be created. + * @summary Creates the video conference, if it has not started yet. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceControllerStart(scope: VideoConferenceScope, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any): AxiosPromise; + + /** + * + * @summary Creates a join link for a video conference and creates the video conference, if it has not started yet. + * @param {string} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceDeprecatedControllerCreateAndJoin(scope: string, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any): AxiosPromise; + + /** + * + * @summary Ends a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceDeprecatedControllerEnd(scope: string, scopeId: string, options?: any): AxiosPromise; + + /** + * + * @summary Returns information about a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApiInterface + */ + videoConferenceDeprecatedControllerInfo(scope: string, scopeId: string, options?: any): AxiosPromise; + +} + +/** + * VideoConferenceApi - object-oriented interface + * @export + * @class VideoConferenceApi + * @extends {BaseAPI} + */ +export class VideoConferenceApi extends BaseAPI implements VideoConferenceApiInterface { + /** + * Use this endpoint to end a running video conference. + * @summary Ends a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceControllerEnd(scope: VideoConferenceScope, scopeId: string, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceControllerEnd(scope, scopeId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this endpoint to get information about a running video conference. + * @summary Returns information about a running video conference. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceControllerInfo(scope: VideoConferenceScope, scopeId: string, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceControllerInfo(scope, scopeId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this endpoint to get a link to join an existing video conference. The conference must be running. + * @summary Creates a join link for a video conference, if it has started. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceControllerJoin(scope: VideoConferenceScope, scopeId: string, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceControllerJoin(scope, scopeId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * Use this endpoint to start a video conference. If the conference is not yet running, it will be created. + * @summary Creates the video conference, if it has not started yet. + * @param {VideoConferenceScope} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceControllerStart(scope: VideoConferenceScope, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceControllerStart(scope, scopeId, videoConferenceCreateParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Creates a join link for a video conference and creates the video conference, if it has not started yet. + * @param {string} scope + * @param {string} scopeId + * @param {VideoConferenceCreateParams} videoConferenceCreateParams + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceDeprecatedControllerCreateAndJoin(scope: string, scopeId: string, videoConferenceCreateParams: VideoConferenceCreateParams, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceDeprecatedControllerCreateAndJoin(scope, scopeId, videoConferenceCreateParams, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Ends a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceDeprecatedControllerEnd(scope: string, scopeId: string, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceDeprecatedControllerEnd(scope, scopeId, options).then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Returns information about a running video conference. + * @param {string} scope + * @param {string} scopeId + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof VideoConferenceApi + */ + public videoConferenceDeprecatedControllerInfo(scope: string, scopeId: string, options?: any) { + return VideoConferenceApiFp(this.configuration).videoConferenceDeprecatedControllerInfo(scope, scopeId, options).then((request) => request(this.axios, this.basePath)); + } +} diff --git a/src/serverApi/v3/base.ts b/src/serverApi/v3/base.ts new file mode 100644 index 0000000..5cf198d --- /dev/null +++ b/src/serverApi/v3/base.ts @@ -0,0 +1,71 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Configuration } from "./configuration"; +// Some imports not used depending on template conditions +// @ts-ignore +import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; + +export const BASE_PATH = "http://localhost:3030/api/v3".replace(/\/+$/, ""); + +/** + * + * @export + */ +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +/** + * + * @export + * @interface RequestArgs + */ +export interface RequestArgs { + url: string; + options: any; +} + +/** + * + * @export + * @class BaseAPI + */ +export class BaseAPI { + protected configuration: Configuration | undefined; + + constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) { + if (configuration) { + this.configuration = configuration; + this.basePath = configuration.basePath || this.basePath; + } + } +}; + +/** + * + * @export + * @class RequiredError + * @extends {Error} + */ +export class RequiredError extends Error { + name: "RequiredError" = "RequiredError"; + constructor(public field: string, msg?: string) { + super(msg); + } +} diff --git a/src/serverApi/v3/common.ts b/src/serverApi/v3/common.ts new file mode 100644 index 0000000..927bdf8 --- /dev/null +++ b/src/serverApi/v3/common.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Configuration } from "./configuration"; +import { RequiredError, RequestArgs } from "./base"; +import { AxiosInstance } from 'axios'; + +/** + * + * @export + */ +export const DUMMY_BASE_URL = 'https://example.com' + +/** + * + * @throws {RequiredError} + * @export + */ +export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) { + if (paramValue === null || paramValue === undefined) { + throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); + } +} + +/** + * + * @export + */ +export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) { + if (configuration && configuration.apiKey) { + const localVarApiKeyValue = typeof configuration.apiKey === 'function' + ? await configuration.apiKey(keyParamName) + : await configuration.apiKey; + object[keyParamName] = localVarApiKeyValue; + } +} + +/** + * + * @export + */ +export const setBasicAuthToObject = function (object: any, configuration?: Configuration) { + if (configuration && (configuration.username || configuration.password)) { + object["auth"] = { username: configuration.username, password: configuration.password }; + } +} + +/** + * + * @export + */ +export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) { + if (configuration && configuration.accessToken) { + const accessToken = typeof configuration.accessToken === 'function' + ? await configuration.accessToken() + : await configuration.accessToken; + object["Authorization"] = "Bearer " + accessToken; + } +} + +/** + * + * @export + */ +export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) { + if (configuration && configuration.accessToken) { + const localVarAccessTokenValue = typeof configuration.accessToken === 'function' + ? await configuration.accessToken(name, scopes) + : await configuration.accessToken; + object["Authorization"] = "Bearer " + localVarAccessTokenValue; + } +} + +/** + * + * @export + */ +export const setSearchParams = function (url: URL, ...objects: any[]) { + const searchParams = new URLSearchParams(url.search); + for (const object of objects) { + for (const key in object) { + if (Array.isArray(object[key])) { + searchParams.delete(key); + for (const item of object[key]) { + searchParams.append(key, item); + } + } else { + searchParams.set(key, object[key]); + } + } + } + url.search = searchParams.toString(); +} + +/** + * + * @export + */ +export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) { + const nonString = typeof value !== 'string'; + const needsSerialization = nonString && configuration && configuration.isJsonMime + ? configuration.isJsonMime(requestOptions.headers['Content-Type']) + : nonString; + return needsSerialization + ? JSON.stringify(value !== undefined ? value : {}) + : (value || ""); +} + +/** + * + * @export + */ +export const toPathString = function (url: URL) { + return url.pathname + url.search + url.hash +} + +/** + * + * @export + */ +export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) { + return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { + const axiosRequestArgs = {...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url}; + return axios.request(axiosRequestArgs); + }; +} diff --git a/src/serverApi/v3/configuration.ts b/src/serverApi/v3/configuration.ts new file mode 100644 index 0000000..ce202f2 --- /dev/null +++ b/src/serverApi/v3/configuration.ts @@ -0,0 +1,101 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ConfigurationParameters { + apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); + username?: string; + password?: string; + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + basePath?: string; + baseOptions?: any; + formDataCtor?: new () => any; +} + +export class Configuration { + /** + * parameter for apiKey security + * @param name security name + * @memberof Configuration + */ + apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); + /** + * parameter for basic security + * + * @type {string} + * @memberof Configuration + */ + username?: string; + /** + * parameter for basic security + * + * @type {string} + * @memberof Configuration + */ + password?: string; + /** + * parameter for oauth2 security + * @param name security name + * @param scopes oauth2 scope + * @memberof Configuration + */ + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); + /** + * override base path + * + * @type {string} + * @memberof Configuration + */ + basePath?: string; + /** + * base options for axios calls + * + * @type {any} + * @memberof Configuration + */ + baseOptions?: any; + /** + * The FormData constructor that will be used to create multipart form data + * requests. You can inject this here so that execution environments that + * do not support the FormData class can still run the generated client. + * + * @type {new () => FormData} + */ + formDataCtor?: new () => any; + + constructor(param: ConfigurationParameters = {}) { + this.apiKey = param.apiKey; + this.username = param.username; + this.password = param.password; + this.accessToken = param.accessToken; + this.basePath = param.basePath; + this.baseOptions = param.baseOptions; + this.formDataCtor = param.formDataCtor; + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public isJsonMime(mime: string): boolean { + const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); + return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); + } +} diff --git a/src/serverApi/v3/git_push.sh b/src/serverApi/v3/git_push.sh new file mode 100644 index 0000000..ced3be2 --- /dev/null +++ b/src/serverApi/v3/git_push.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=`git remote` +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' + diff --git a/src/serverApi/v3/index.ts b/src/serverApi/v3/index.ts new file mode 100644 index 0000000..8b762df --- /dev/null +++ b/src/serverApi/v3/index.ts @@ -0,0 +1,18 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export * from "./api"; +export * from "./configuration"; +export * from "./models"; diff --git a/src/serverApi/v3/models/account-by-id-body-params.ts b/src/serverApi/v3/models/account-by-id-body-params.ts new file mode 100644 index 0000000..cc342d7 --- /dev/null +++ b/src/serverApi/v3/models/account-by-id-body-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface AccountByIdBodyParams + */ +export interface AccountByIdBodyParams { + /** + * The new user name for the user. + * @type {string} + * @memberof AccountByIdBodyParams + */ + username?: string | null; + /** + * The new password for the user. + * @type {string} + * @memberof AccountByIdBodyParams + */ + password?: string | null; + /** + * The new activation state of the user. + * @type {boolean} + * @memberof AccountByIdBodyParams + */ + activated?: boolean | null; +} + + diff --git a/src/serverApi/v3/models/account-response.ts b/src/serverApi/v3/models/account-response.ts new file mode 100644 index 0000000..4b846c7 --- /dev/null +++ b/src/serverApi/v3/models/account-response.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface AccountResponse + */ +export interface AccountResponse { + /** + * + * @type {string} + * @memberof AccountResponse + */ + id: string; + /** + * + * @type {string} + * @memberof AccountResponse + */ + username: string; + /** + * + * @type {string} + * @memberof AccountResponse + */ + userId: string; + /** + * + * @type {boolean} + * @memberof AccountResponse + */ + activated: boolean; + /** + * + * @type {string} + * @memberof AccountResponse + */ + updatedAt: string; +} + + diff --git a/src/serverApi/v3/models/account-search-list-response.ts b/src/serverApi/v3/models/account-search-list-response.ts new file mode 100644 index 0000000..54b725c --- /dev/null +++ b/src/serverApi/v3/models/account-search-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { AccountResponse } from './account-response'; + +/** + * + * @export + * @interface AccountSearchListResponse + */ +export interface AccountSearchListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof AccountSearchListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof AccountSearchListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof AccountSearchListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof AccountSearchListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/action.ts b/src/serverApi/v3/models/action.ts new file mode 100644 index 0000000..1a5acf4 --- /dev/null +++ b/src/serverApi/v3/models/action.ts @@ -0,0 +1,28 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum Action { + READ = 'read', + WRITE = 'write' +} + + + diff --git a/src/serverApi/v3/models/alert-response.ts b/src/serverApi/v3/models/alert-response.ts new file mode 100644 index 0000000..d8d2b81 --- /dev/null +++ b/src/serverApi/v3/models/alert-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Message } from './message'; + +/** + * + * @export + * @interface AlertResponse + */ +export interface AlertResponse { + /** + * + * @type {Array} + * @memberof AlertResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/api-validation-error.ts b/src/serverApi/v3/models/api-validation-error.ts new file mode 100644 index 0000000..9461d4e --- /dev/null +++ b/src/serverApi/v3/models/api-validation-error.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ApiValidationError + */ +export interface ApiValidationError { + /** + * The response status code. + * @type {number} + * @memberof ApiValidationError + */ + code: number; + /** + * The error type. + * @type {string} + * @memberof ApiValidationError + */ + type: string; + /** + * The error title. + * @type {string} + * @memberof ApiValidationError + */ + title: string; + /** + * The error message. + * @type {string} + * @memberof ApiValidationError + */ + message: string; + /** + * The error details. + * @type {object} + * @memberof ApiValidationError + */ + details?: object; +} + + diff --git a/src/serverApi/v3/models/authorization-body-params.ts b/src/serverApi/v3/models/authorization-body-params.ts new file mode 100644 index 0000000..b15cefc --- /dev/null +++ b/src/serverApi/v3/models/authorization-body-params.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { AuthorizationContextParams } from './authorization-context-params'; + +/** + * + * @export + * @interface AuthorizationBodyParams + */ +export interface AuthorizationBodyParams { + /** + * + * @type {AuthorizationContextParams} + * @memberof AuthorizationBodyParams + */ + context: AuthorizationContextParams; + /** + * The entity or domain object the operation should be performed on. + * @type {string} + * @memberof AuthorizationBodyParams + */ + referenceType: AuthorizationBodyParamsReferenceType; + /** + * The id of the entity/domain object of the defined referenceType. + * @type {string} + * @memberof AuthorizationBodyParams + */ + referenceId: string; +} + +/** + * @export + * @enum {string} + */ +export enum AuthorizationBodyParamsReferenceType { + USERS = 'users', + SCHOOLS = 'schools', + COURSES = 'courses', + COURSEGROUPS = 'coursegroups', + TASKS = 'tasks', + LESSONS = 'lessons', + TEAMS = 'teams', + SUBMISSIONS = 'submissions', + SCHOOL_EXTERNAL_TOOLS = 'school-external-tools', + BOARDNODES = 'boardnodes', + CONTEXT_EXTERNAL_TOOLS = 'context-external-tools', + EXTERNAL_TOOLS = 'external-tools', + INSTANCES = 'instances' +} + + + diff --git a/src/serverApi/v3/models/authorization-context-params.ts b/src/serverApi/v3/models/authorization-context-params.ts new file mode 100644 index 0000000..e15d09e --- /dev/null +++ b/src/serverApi/v3/models/authorization-context-params.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { Action } from './action'; +import { Permission } from './permission'; + +/** + * + * @export + * @interface AuthorizationContextParams + */ +export interface AuthorizationContextParams { + /** + * + * @type {Action} + * @memberof AuthorizationContextParams + */ + action: Action; + /** + * User permissions that are needed to execute the operation. + * @type {Array} + * @memberof AuthorizationContextParams + */ + requiredPermissions: Array; +} + + diff --git a/src/serverApi/v3/models/authorized-reponse.ts b/src/serverApi/v3/models/authorized-reponse.ts new file mode 100644 index 0000000..c4919e1 --- /dev/null +++ b/src/serverApi/v3/models/authorized-reponse.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface AuthorizedReponse + */ +export interface AuthorizedReponse { + /** + * + * @type {string} + * @memberof AuthorizedReponse + */ + userId: string; + /** + * + * @type {boolean} + * @memberof AuthorizedReponse + */ + isAuthorized: boolean; +} + + diff --git a/src/serverApi/v3/models/basic-tool-config-params.ts b/src/serverApi/v3/models/basic-tool-config-params.ts new file mode 100644 index 0000000..151a54f --- /dev/null +++ b/src/serverApi/v3/models/basic-tool-config-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface BasicToolConfigParams + */ +export interface BasicToolConfigParams { + /** + * + * @type {string} + * @memberof BasicToolConfigParams + */ + type: string; + /** + * + * @type {string} + * @memberof BasicToolConfigParams + */ + baseUrl: string; +} + + diff --git a/src/serverApi/v3/models/board-context-response.ts b/src/serverApi/v3/models/board-context-response.ts new file mode 100644 index 0000000..cb404f0 --- /dev/null +++ b/src/serverApi/v3/models/board-context-response.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { BoardExternalReferenceType } from './board-external-reference-type'; + +/** + * + * @export + * @interface BoardContextResponse + */ +export interface BoardContextResponse { + /** + * + * @type {string} + * @memberof BoardContextResponse + */ + id: string; + /** + * + * @type {BoardExternalReferenceType} + * @memberof BoardContextResponse + */ + type: BoardExternalReferenceType; +} + + diff --git a/src/serverApi/v3/models/board-element-response.ts b/src/serverApi/v3/models/board-element-response.ts new file mode 100644 index 0000000..73f2a93 --- /dev/null +++ b/src/serverApi/v3/models/board-element-response.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface BoardElementResponse + */ +export interface BoardElementResponse { + /** + * the type of the element in the content. For possible types, please refer to the enum + * @type {string} + * @memberof BoardElementResponse + */ + type: BoardElementResponseType; + /** + * Content of the Board, either: a task or a lesson specific for the board + * @type {object} + * @memberof BoardElementResponse + */ + content: object; +} + +/** + * @export + * @enum {string} + */ +export enum BoardElementResponseType { + TASK = 'task', + LESSON = 'lesson', + COLUMN_BOARD = 'column-board' +} + + + diff --git a/src/serverApi/v3/models/board-external-reference-type.ts b/src/serverApi/v3/models/board-external-reference-type.ts new file mode 100644 index 0000000..cae1dd6 --- /dev/null +++ b/src/serverApi/v3/models/board-external-reference-type.ts @@ -0,0 +1,28 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum BoardExternalReferenceType { + COURSE = 'course', + USER = 'user' +} + + + diff --git a/src/serverApi/v3/models/board-layout.ts b/src/serverApi/v3/models/board-layout.ts new file mode 100644 index 0000000..87b1ad0 --- /dev/null +++ b/src/serverApi/v3/models/board-layout.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum BoardLayout { + COLUMNS = 'columns', + LIST = 'list', + GRID = 'grid' +} + + + diff --git a/src/serverApi/v3/models/board-parent-type.ts b/src/serverApi/v3/models/board-parent-type.ts new file mode 100644 index 0000000..e96d9f1 --- /dev/null +++ b/src/serverApi/v3/models/board-parent-type.ts @@ -0,0 +1,28 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum BoardParentType { + COURSE = 'course', + USER = 'user' +} + + + diff --git a/src/serverApi/v3/models/board-response.ts b/src/serverApi/v3/models/board-response.ts new file mode 100644 index 0000000..e963e04 --- /dev/null +++ b/src/serverApi/v3/models/board-response.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ColumnResponse } from './column-response'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface BoardResponse + */ +export interface BoardResponse { + /** + * + * @type {string} + * @memberof BoardResponse + */ + id: string; + /** + * + * @type {string} + * @memberof BoardResponse + */ + title: string; + /** + * + * @type {Array} + * @memberof BoardResponse + */ + columns: Array; + /** + * + * @type {TimestampsResponse} + * @memberof BoardResponse + */ + timestamps: TimestampsResponse; + /** + * + * @type {boolean} + * @memberof BoardResponse + */ + isVisible: boolean; + /** + * + * @type {string} + * @memberof BoardResponse + */ + layout: string; +} + + diff --git a/src/serverApi/v3/models/card-list-response.ts b/src/serverApi/v3/models/card-list-response.ts new file mode 100644 index 0000000..fed4cfc --- /dev/null +++ b/src/serverApi/v3/models/card-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CardResponse } from './card-response'; + +/** + * + * @export + * @interface CardListResponse + */ +export interface CardListResponse { + /** + * + * @type {Array} + * @memberof CardListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/card-response.ts b/src/serverApi/v3/models/card-response.ts new file mode 100644 index 0000000..fc5ec6a --- /dev/null +++ b/src/serverApi/v3/models/card-response.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CollaborativeTextEditorElementResponse } from './collaborative-text-editor-element-response'; +import { DrawingElementResponse } from './drawing-element-response'; +import { ExternalToolElementResponse } from './external-tool-element-response'; +import { FileElementResponse } from './file-element-response'; +import { LinkElementResponse } from './link-element-response'; +import { RichTextElementResponse } from './rich-text-element-response'; +import { SubmissionContainerElementResponse } from './submission-container-element-response'; +import { TimestampsResponse } from './timestamps-response'; +import { VisibilitySettingsResponse } from './visibility-settings-response'; + +/** + * + * @export + * @interface CardResponse + */ +export interface CardResponse { + /** + * + * @type {string} + * @memberof CardResponse + */ + id: string; + /** + * + * @type {string} + * @memberof CardResponse + */ + title?: string; + /** + * + * @type {number} + * @memberof CardResponse + */ + height: number; + /** + * + * @type {Array} + * @memberof CardResponse + */ + elements: Array; + /** + * + * @type {VisibilitySettingsResponse} + * @memberof CardResponse + */ + visibilitySettings: VisibilitySettingsResponse; + /** + * + * @type {TimestampsResponse} + * @memberof CardResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/card-skeleton-response.ts b/src/serverApi/v3/models/card-skeleton-response.ts new file mode 100644 index 0000000..1c89434 --- /dev/null +++ b/src/serverApi/v3/models/card-skeleton-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CardSkeletonResponse + */ +export interface CardSkeletonResponse { + /** + * + * @type {string} + * @memberof CardSkeletonResponse + */ + cardId: string; + /** + * The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise + * @type {number} + * @memberof CardSkeletonResponse + */ + height: number; +} + + diff --git a/src/serverApi/v3/models/change-language-params.ts b/src/serverApi/v3/models/change-language-params.ts new file mode 100644 index 0000000..00fcff6 --- /dev/null +++ b/src/serverApi/v3/models/change-language-params.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LanguageType } from './language-type'; + +/** + * + * @export + * @interface ChangeLanguageParams + */ +export interface ChangeLanguageParams { + /** + * + * @type {LanguageType} + * @memberof ChangeLanguageParams + */ + language: LanguageType; +} + + diff --git a/src/serverApi/v3/models/class-info-response.ts b/src/serverApi/v3/models/class-info-response.ts new file mode 100644 index 0000000..07f13c3 --- /dev/null +++ b/src/serverApi/v3/models/class-info-response.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CourseInfoResponse } from './course-info-response'; + +/** + * + * @export + * @interface ClassInfoResponse + */ +export interface ClassInfoResponse { + /** + * + * @type {string} + * @memberof ClassInfoResponse + */ + id: string; + /** + * + * @type {string} + * @memberof ClassInfoResponse + */ + type: ClassInfoResponseType; + /** + * + * @type {string} + * @memberof ClassInfoResponse + */ + name: string; + /** + * + * @type {string} + * @memberof ClassInfoResponse + */ + externalSourceName?: string; + /** + * + * @type {Array} + * @memberof ClassInfoResponse + */ + teacherNames: Array; + /** + * + * @type {string} + * @memberof ClassInfoResponse + */ + schoolYear?: string; + /** + * + * @type {boolean} + * @memberof ClassInfoResponse + */ + isUpgradable?: boolean; + /** + * + * @type {number} + * @memberof ClassInfoResponse + */ + studentCount: number; + /** + * + * @type {Array} + * @memberof ClassInfoResponse + */ + synchronizedCourses?: Array; +} + +/** + * @export + * @enum {string} + */ +export enum ClassInfoResponseType { + CLASS = 'class', + GROUP = 'group' +} + + + diff --git a/src/serverApi/v3/models/class-info-search-list-response.ts b/src/serverApi/v3/models/class-info-search-list-response.ts new file mode 100644 index 0000000..6f5ffa6 --- /dev/null +++ b/src/serverApi/v3/models/class-info-search-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ClassInfoResponse } from './class-info-response'; + +/** + * + * @export + * @interface ClassInfoSearchListResponse + */ +export interface ClassInfoSearchListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof ClassInfoSearchListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof ClassInfoSearchListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof ClassInfoSearchListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof ClassInfoSearchListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/class-request-context.ts b/src/serverApi/v3/models/class-request-context.ts new file mode 100644 index 0000000..f2eccf9 --- /dev/null +++ b/src/serverApi/v3/models/class-request-context.ts @@ -0,0 +1,28 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum ClassRequestContext { + COURSE = 'course', + CLASS_OVERVIEW = 'class-overview' +} + + + diff --git a/src/serverApi/v3/models/class-response.ts b/src/serverApi/v3/models/class-response.ts new file mode 100644 index 0000000..a89480e --- /dev/null +++ b/src/serverApi/v3/models/class-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ClassResponse + */ +export interface ClassResponse { + /** + * + * @type {string} + * @memberof ClassResponse + */ + name: string; + /** + * + * @type {number} + * @memberof ClassResponse + */ + gradeLevel: number; +} + + diff --git a/src/serverApi/v3/models/class-sort-query-type.ts b/src/serverApi/v3/models/class-sort-query-type.ts new file mode 100644 index 0000000..89a6eab --- /dev/null +++ b/src/serverApi/v3/models/class-sort-query-type.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum ClassSortQueryType { + NAME = 'name', + EXTERNAL_SOURCE_NAME = 'externalSourceName', + SYNCHRONIZED_COURSES = 'synchronizedCourses', + STUDENT_COUNT = 'studentCount', + TEACHER_NAMES = 'teacherNames' +} + + + diff --git a/src/serverApi/v3/models/collaborative-text-editor-element-response.ts b/src/serverApi/v3/models/collaborative-text-editor-element-response.ts new file mode 100644 index 0000000..0f36619 --- /dev/null +++ b/src/serverApi/v3/models/collaborative-text-editor-element-response.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface CollaborativeTextEditorElementResponse + */ +export interface CollaborativeTextEditorElementResponse { + /** + * + * @type {string} + * @memberof CollaborativeTextEditorElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof CollaborativeTextEditorElementResponse + */ + type: ContentElementType; + /** + * + * @type {TimestampsResponse} + * @memberof CollaborativeTextEditorElementResponse + */ + timestamps: TimestampsResponse; + /** + * + * @type {object} + * @memberof CollaborativeTextEditorElementResponse + */ + content: object; +} + + diff --git a/src/serverApi/v3/models/collaborative-text-editor-parent-type.ts b/src/serverApi/v3/models/collaborative-text-editor-parent-type.ts new file mode 100644 index 0000000..225151c --- /dev/null +++ b/src/serverApi/v3/models/collaborative-text-editor-parent-type.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum CollaborativeTextEditorParentType { + CONTENT_ELEMENT = 'content-element' +} + + + diff --git a/src/serverApi/v3/models/collaborative-text-editor-response.ts b/src/serverApi/v3/models/collaborative-text-editor-response.ts new file mode 100644 index 0000000..b90df0f --- /dev/null +++ b/src/serverApi/v3/models/collaborative-text-editor-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CollaborativeTextEditorResponse + */ +export interface CollaborativeTextEditorResponse { + /** + * + * @type {string} + * @memberof CollaborativeTextEditorResponse + */ + url: string; +} + + diff --git a/src/serverApi/v3/models/collapsable-body-params.ts b/src/serverApi/v3/models/collapsable-body-params.ts new file mode 100644 index 0000000..2a65905 --- /dev/null +++ b/src/serverApi/v3/models/collapsable-body-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CollapsableBodyParams + */ +export interface CollapsableBodyParams { + /** + * + * @type {boolean} + * @memberof CollapsableBodyParams + */ + collapsed: boolean; +} + + diff --git a/src/serverApi/v3/models/color-body-params.ts b/src/serverApi/v3/models/color-body-params.ts new file mode 100644 index 0000000..5efc42d --- /dev/null +++ b/src/serverApi/v3/models/color-body-params.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MediaBoardColors } from './media-board-colors'; + +/** + * + * @export + * @interface ColorBodyParams + */ +export interface ColorBodyParams { + /** + * + * @type {MediaBoardColors} + * @memberof ColorBodyParams + */ + backgroundColor: MediaBoardColors; +} + + diff --git a/src/serverApi/v3/models/column-response.ts b/src/serverApi/v3/models/column-response.ts new file mode 100644 index 0000000..b4a1423 --- /dev/null +++ b/src/serverApi/v3/models/column-response.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CardSkeletonResponse } from './card-skeleton-response'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface ColumnResponse + */ +export interface ColumnResponse { + /** + * + * @type {string} + * @memberof ColumnResponse + */ + id: string; + /** + * + * @type {string} + * @memberof ColumnResponse + */ + title: string; + /** + * + * @type {Array} + * @memberof ColumnResponse + */ + cards: Array; + /** + * + * @type {TimestampsResponse} + * @memberof ColumnResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/config-response.ts b/src/serverApi/v3/models/config-response.ts new file mode 100644 index 0000000..fef6f00 --- /dev/null +++ b/src/serverApi/v3/models/config-response.ts @@ -0,0 +1,430 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LanguageType } from './language-type'; +import { SchulcloudTheme } from './schulcloud-theme'; +import { Timezone } from './timezone'; + +/** + * + * @export + * @interface ConfigResponse + */ +export interface ConfigResponse { + /** + * + * @type {string} + * @memberof ConfigResponse + */ + ACCESSIBILITY_REPORT_EMAIL: string; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_NEW_SCHOOL_ADMINISTRATION_PAGE_AS_DEFAULT_ENABLED: boolean; + /** + * + * @type {number} + * @memberof ConfigResponse + */ + MIGRATION_END_GRACE_PERIOD_MS: number; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_CTL_TOOLS_TAB_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_LTI_TOOLS_TAB_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SHOW_OUTDATED_USERS: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_ENABLE_LDAP_SYNC_DURING_MIGRATION: boolean; + /** + * + * @type {number} + * @memberof ConfigResponse + */ + CTL_TOOLS_RELOAD_TIME_MS: number; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SHOW_NEW_CLASS_VIEW_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_CTL_TOOLS_COPY_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SHOW_MIGRATION_WIZARD: boolean; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + MIGRATION_WIZARD_DOCUMENTATION_LINK?: string; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_TLDRAW_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + TLDRAW__ASSETS_ENABLED: boolean; + /** + * + * @type {number} + * @memberof ConfigResponse + */ + TLDRAW__ASSETS_MAX_SIZE: number; + /** + * + * @type {Array} + * @memberof ConfigResponse + */ + TLDRAW__ASSETS_ALLOWED_MIME_TYPES_LIST: Array; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + ADMIN_TABLES_DISPLAY_CONSENT_COLUMN: boolean; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + ALERT_STATUS_URL: string | null; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_ES_COLLECTIONS_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_EXTENSIONS_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_TEAMS_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_LERNSTORE_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_ADMIN_TOGGLE_STUDENT_LERNSTORE_VIEW_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + TEACHER_STUDENT_VISIBILITY__IS_ENABLED_BY_DEFAULT: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + TEACHER_STUDENT_VISIBILITY__IS_VISIBLE: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SCHOOL_POLICY_ENABLED_NEW: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SCHOOL_TERMS_OF_USE_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_NEXBOARD_COPY_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_VIDEOCONFERENCE_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_SUBMISSIONS_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_COLLABORATIVE_TEXT_EDITOR_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_LINK_ELEMENT_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_EXTERNAL_TOOLS_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_SHARE: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COLUMN_BOARD_SOCKET_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COURSE_SHARE: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_LOGIN_LINK_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_LESSON_SHARE: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_TASK_SHARE: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_BOARD_LAYOUT_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_USER_MIGRATION_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COPY_SERVICE_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_CONSENT_NECESSARY: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COMMON_CARTRIDGE_COURSE_EXPORT_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_COMMON_CARTRIDGE_COURSE_IMPORT_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SCHOOL_SANIS_USER_MIGRATION_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SCHULCONNEX_COURSE_SYNC_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_ALLOW_INSECURE_LDAP_URL_ENABLED: boolean; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + GHOST_BASE_URL: string; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + ROCKETCHAT_SERVICE_ENABLED: boolean; + /** + * + * @type {Array} + * @memberof ConfigResponse + */ + I18N__AVAILABLE_LANGUAGES: Array; + /** + * + * @type {LanguageType} + * @memberof ConfigResponse + */ + I18N__DEFAULT_LANGUAGE: LanguageType; + /** + * + * @type {LanguageType} + * @memberof ConfigResponse + */ + I18N__FALLBACK_LANGUAGE: LanguageType; + /** + * + * @type {Timezone} + * @memberof ConfigResponse + */ + I18N__DEFAULT_TIMEZONE: Timezone; + /** + * + * @type {number} + * @memberof ConfigResponse + */ + JWT_SHOW_TIMEOUT_WARNING_SECONDS: number; + /** + * + * @type {number} + * @memberof ConfigResponse + */ + JWT_TIMEOUT_SECONDS: number; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + NOT_AUTHENTICATED_REDIRECT_URL: string; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + DOCUMENT_BASE_DIR: string; + /** + * + * @type {SchulcloudTheme} + * @memberof ConfigResponse + */ + SC_THEME: SchulcloudTheme; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + SC_TITLE: string; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + TRAINING_URL: string; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_MEDIA_SHELF_ENABLED: boolean; + /** + * + * @type {string} + * @memberof ConfigResponse + */ + BOARD_COLLABORATION_URI: string; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_SCHULCONNEX_MEDIA_LICENSE_ENABLED: boolean; + /** + * + * @type {boolean} + * @memberof ConfigResponse + */ + FEATURE_AI_TUTOR_ENABLED: boolean; +} + + diff --git a/src/serverApi/v3/models/consent-request-body.ts b/src/serverApi/v3/models/consent-request-body.ts new file mode 100644 index 0000000..503d7a8 --- /dev/null +++ b/src/serverApi/v3/models/consent-request-body.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ConsentRequestBody + */ +export interface ConsentRequestBody { + /** + * The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied. + * @type {string} + * @memberof ConsentRequestBody + */ + error?: string; + /** + * Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs. + * @type {string} + * @memberof ConsentRequestBody + */ + error_debug?: string; + /** + * Description of the error in a human readable format. + * @type {string} + * @memberof ConsentRequestBody + */ + error_description?: string; + /** + * Hint to help resolve the error. + * @type {string} + * @memberof ConsentRequestBody + */ + error_hint?: string; + /** + * Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400. + * @type {number} + * @memberof ConsentRequestBody + */ + status_code?: number; + /** + * The Oauth2 client id. + * @type {Array} + * @memberof ConsentRequestBody + */ + grant_scope?: Array; + /** + * Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope. + * @type {boolean} + * @memberof ConsentRequestBody + */ + remember?: boolean; + /** + * RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely. + * @type {number} + * @memberof ConsentRequestBody + */ + remember_for?: number; +} + + diff --git a/src/serverApi/v3/models/consent-response.ts b/src/serverApi/v3/models/consent-response.ts new file mode 100644 index 0000000..8ce4dec --- /dev/null +++ b/src/serverApi/v3/models/consent-response.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { OauthClientResponse } from './oauth-client-response'; +import { OidcContextResponse } from './oidc-context-response'; + +/** + * + * @export + * @interface ConsentResponse + */ +export interface ConsentResponse { + /** + * ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session + * @type {string} + * @memberof ConsentResponse + */ + acr: string; + /** + * + * @type {Array} + * @memberof ConsentResponse + */ + amr?: Array; + /** + * Is the id/authorization challenge of the consent authorization request. It is used to identify the session. + * @type {string} + * @memberof ConsentResponse + */ + challenge: string; + /** + * + * @type {OauthClientResponse} + * @memberof ConsentResponse + */ + client: OauthClientResponse; + /** + * + * @type {object} + * @memberof ConsentResponse + */ + context: object; + /** + * LoginChallenge is the login challenge this consent challenge belongs to. + * @type {string} + * @memberof ConsentResponse + */ + login_challenge: string; + /** + * LoginSessionID is the login session ID. + * @type {string} + * @memberof ConsentResponse + */ + login_session_id: string; + /** + * + * @type {OidcContextResponse} + * @memberof ConsentResponse + */ + oidc_context: OidcContextResponse; + /** + * RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. + * @type {string} + * @memberof ConsentResponse + */ + request_url: string; + /** + * + * @type {Array} + * @memberof ConsentResponse + */ + requested_access_token_audience?: Array; + /** + * The request scopes of the login request. + * @type {Array} + * @memberof ConsentResponse + */ + requested_scope?: Array; + /** + * Skip, if true, implies that the client has requested the same scopes from the same user previously. + * @type {boolean} + * @memberof ConsentResponse + */ + skip: boolean; + /** + * Subject is the user id of the end-user that is authenticated. + * @type {string} + * @memberof ConsentResponse + */ + subject: string; +} + + diff --git a/src/serverApi/v3/models/consent-session-response.ts b/src/serverApi/v3/models/consent-session-response.ts new file mode 100644 index 0000000..c757c57 --- /dev/null +++ b/src/serverApi/v3/models/consent-session-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ConsentSessionResponse + */ +export interface ConsentSessionResponse { + /** + * The id of the client. + * @type {string} + * @memberof ConsentSessionResponse + */ + client_id: string; + /** + * The name of the client. + * @type {string} + * @memberof ConsentSessionResponse + */ + client_name: string; + /** + * The id/challenge of the consent authorization request. + * @type {string} + * @memberof ConsentSessionResponse + */ + challenge: string; +} + + diff --git a/src/serverApi/v3/models/consents-response.ts b/src/serverApi/v3/models/consents-response.ts new file mode 100644 index 0000000..644cd69 --- /dev/null +++ b/src/serverApi/v3/models/consents-response.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ParentConsentResponse } from './parent-consent-response'; +import { UserConsentResponse } from './user-consent-response'; + +/** + * + * @export + * @interface ConsentsResponse + */ +export interface ConsentsResponse { + /** + * + * @type {UserConsentResponse} + * @memberof ConsentsResponse + */ + userConsent: UserConsentResponse; + /** + * + * @type {Array} + * @memberof ConsentsResponse + */ + parentConsents: Array; +} + + diff --git a/src/serverApi/v3/models/content-element-type.ts b/src/serverApi/v3/models/content-element-type.ts new file mode 100644 index 0000000..d4de337 --- /dev/null +++ b/src/serverApi/v3/models/content-element-type.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum ContentElementType { + FILE = 'file', + DRAWING = 'drawing', + LINK = 'link', + RICH_TEXT = 'richText', + SUBMISSION_CONTAINER = 'submissionContainer', + EXTERNAL_TOOL = 'externalTool', + COLLABORATIVE_TEXT_EDITOR = 'collaborativeTextEditor' +} + + + diff --git a/src/serverApi/v3/models/context-external-tool-body-params.ts b/src/serverApi/v3/models/context-external-tool-body-params.ts new file mode 100644 index 0000000..f7628b2 --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-body-params.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ToolContextType } from './tool-context-type'; + +/** + * + * @export + * @interface ContextExternalToolBodyParams + */ +export interface ContextExternalToolBodyParams { + /** + * + * @type {string} + * @memberof ContextExternalToolBodyParams + */ + contextId: string; + /** + * + * @type {ToolContextType} + * @memberof ContextExternalToolBodyParams + */ + contextType: ToolContextType; +} + + diff --git a/src/serverApi/v3/models/context-external-tool-configuration-status-response.ts b/src/serverApi/v3/models/context-external-tool-configuration-status-response.ts new file mode 100644 index 0000000..ae4a66f --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-configuration-status-response.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ContextExternalToolConfigurationStatusResponse + */ +export interface ContextExternalToolConfigurationStatusResponse { + /** + * Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool? + * @type {boolean} + * @memberof ContextExternalToolConfigurationStatusResponse + */ + isOutdatedOnScopeSchool: boolean; + /** + * Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool? + * @type {boolean} + * @memberof ContextExternalToolConfigurationStatusResponse + */ + isOutdatedOnScopeContext: boolean; + /** + * True, if a mandatory parameter on the context external tool is missing a value + * @type {boolean} + * @memberof ContextExternalToolConfigurationStatusResponse + */ + isIncompleteOnScopeContext: boolean; + /** + * True, if a optional parameter on the context external tool is missing a value. This is happening, when course is copied. + * @type {boolean} + * @memberof ContextExternalToolConfigurationStatusResponse + */ + isIncompleteOperationalOnScopeContext: boolean; + /** + * Is the tool deactivated, because of superhero or school administrator + * @type {boolean} + * @memberof ContextExternalToolConfigurationStatusResponse + */ + isDeactivated: boolean; + /** + * True if the tool is not licensed for user + * @type {boolean} + * @memberof ContextExternalToolConfigurationStatusResponse + */ + isNotLicensed: boolean; +} + + diff --git a/src/serverApi/v3/models/context-external-tool-configuration-template-list-response.ts b/src/serverApi/v3/models/context-external-tool-configuration-template-list-response.ts new file mode 100644 index 0000000..275409b --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-configuration-template-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContextExternalToolConfigurationTemplateResponse } from './context-external-tool-configuration-template-response'; + +/** + * + * @export + * @interface ContextExternalToolConfigurationTemplateListResponse + */ +export interface ContextExternalToolConfigurationTemplateListResponse { + /** + * + * @type {Array} + * @memberof ContextExternalToolConfigurationTemplateListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/context-external-tool-configuration-template-response.ts b/src/serverApi/v3/models/context-external-tool-configuration-template-response.ts new file mode 100644 index 0000000..bf26995 --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-configuration-template-response.ts @@ -0,0 +1,62 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CustomParameterResponse } from './custom-parameter-response'; + +/** + * + * @export + * @interface ContextExternalToolConfigurationTemplateResponse + */ +export interface ContextExternalToolConfigurationTemplateResponse { + /** + * + * @type {string} + * @memberof ContextExternalToolConfigurationTemplateResponse + */ + externalToolId: string; + /** + * + * @type {string} + * @memberof ContextExternalToolConfigurationTemplateResponse + */ + schoolExternalToolId: string; + /** + * + * @type {string} + * @memberof ContextExternalToolConfigurationTemplateResponse + */ + name: string; + /** + * + * @type {string} + * @memberof ContextExternalToolConfigurationTemplateResponse + */ + baseUrl: string; + /** + * + * @type {string} + * @memberof ContextExternalToolConfigurationTemplateResponse + */ + logoUrl?: string; + /** + * + * @type {Array} + * @memberof ContextExternalToolConfigurationTemplateResponse + */ + parameters: Array; +} + + diff --git a/src/serverApi/v3/models/context-external-tool-count-per-context-response.ts b/src/serverApi/v3/models/context-external-tool-count-per-context-response.ts new file mode 100644 index 0000000..946d85f --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-count-per-context-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ContextExternalToolCountPerContextResponse + */ +export interface ContextExternalToolCountPerContextResponse { + /** + * + * @type {number} + * @memberof ContextExternalToolCountPerContextResponse + */ + course: number; + /** + * + * @type {number} + * @memberof ContextExternalToolCountPerContextResponse + */ + boardElement: number; + /** + * + * @type {number} + * @memberof ContextExternalToolCountPerContextResponse + */ + mediaBoard: number; +} + + diff --git a/src/serverApi/v3/models/context-external-tool-post-params.ts b/src/serverApi/v3/models/context-external-tool-post-params.ts new file mode 100644 index 0000000..88c040d --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-post-params.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CustomParameterEntryParam } from './custom-parameter-entry-param'; + +/** + * + * @export + * @interface ContextExternalToolPostParams + */ +export interface ContextExternalToolPostParams { + /** + * + * @type {string} + * @memberof ContextExternalToolPostParams + */ + schoolToolId: string; + /** + * + * @type {string} + * @memberof ContextExternalToolPostParams + */ + contextId: string; + /** + * + * @type {string} + * @memberof ContextExternalToolPostParams + */ + contextType: string; + /** + * + * @type {string} + * @memberof ContextExternalToolPostParams + */ + displayName?: string; + /** + * + * @type {Array} + * @memberof ContextExternalToolPostParams + */ + parameters?: Array; +} + + diff --git a/src/serverApi/v3/models/context-external-tool-response.ts b/src/serverApi/v3/models/context-external-tool-response.ts new file mode 100644 index 0000000..ba05031 --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-response.ts @@ -0,0 +1,79 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CustomParameterEntryResponse } from './custom-parameter-entry-response'; + +/** + * + * @export + * @interface ContextExternalToolResponse + */ +export interface ContextExternalToolResponse { + /** + * + * @type {string} + * @memberof ContextExternalToolResponse + */ + id: string; + /** + * + * @type {string} + * @memberof ContextExternalToolResponse + */ + schoolToolId: string; + /** + * + * @type {string} + * @memberof ContextExternalToolResponse + */ + contextId: string; + /** + * + * @type {string} + * @memberof ContextExternalToolResponse + */ + contextType: ContextExternalToolResponseContextType; + /** + * + * @type {string} + * @memberof ContextExternalToolResponse + */ + displayName?: string; + /** + * + * @type {Array} + * @memberof ContextExternalToolResponse + */ + parameters: Array; + /** + * + * @type {string} + * @memberof ContextExternalToolResponse + */ + logoUrl?: string; +} + +/** + * @export + * @enum {string} + */ +export enum ContextExternalToolResponseContextType { + COURSE = 'course', + BOARD_ELEMENT = 'board-element', + MEDIA_BOARD = 'media-board' +} + + + diff --git a/src/serverApi/v3/models/context-external-tool-search-list-response.ts b/src/serverApi/v3/models/context-external-tool-search-list-response.ts new file mode 100644 index 0000000..366eafe --- /dev/null +++ b/src/serverApi/v3/models/context-external-tool-search-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContextExternalToolResponse } from './context-external-tool-response'; + +/** + * + * @export + * @interface ContextExternalToolSearchListResponse + */ +export interface ContextExternalToolSearchListResponse { + /** + * + * @type {Array} + * @memberof ContextExternalToolSearchListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/copy-api-response.ts b/src/serverApi/v3/models/copy-api-response.ts new file mode 100644 index 0000000..f5739b9 --- /dev/null +++ b/src/serverApi/v3/models/copy-api-response.ts @@ -0,0 +1,119 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CopyApiResponse + */ +export interface CopyApiResponse { + /** + * Id of copied element + * @type {string} + * @memberof CopyApiResponse + */ + id?: string; + /** + * Title of copied element + * @type {string} + * @memberof CopyApiResponse + */ + title?: string; + /** + * Type of copied element + * @type {string} + * @memberof CopyApiResponse + */ + type: CopyApiResponseType; + /** + * Id of destination course + * @type {string} + * @memberof CopyApiResponse + */ + destinationCourseId?: string; + /** + * Copy progress status of copied element + * @type {string} + * @memberof CopyApiResponse + */ + status: CopyApiResponseStatus; + /** + * List of included sub elements with recursive type structure + * @type {Array} + * @memberof CopyApiResponse + */ + elements?: Array; +} + +/** + * @export + * @enum {string} + */ +export enum CopyApiResponseType { + BOARD = 'BOARD', + CARD = 'CARD', + COLLABORATIVE_TEXT_EDITOR_ELEMENT = 'COLLABORATIVE_TEXT_EDITOR_ELEMENT', + COLUMN = 'COLUMN', + COLUMNBOARD = 'COLUMNBOARD', + CONTENT = 'CONTENT', + COURSE = 'COURSE', + COURSEGROUP_GROUP = 'COURSEGROUP_GROUP', + EXTERNAL_TOOL = 'EXTERNAL_TOOL', + EXTERNAL_TOOL_ELEMENT = 'EXTERNAL_TOOL_ELEMENT', + FILE = 'FILE', + FILE_ELEMENT = 'FILE_ELEMENT', + DRAWING_ELEMENT = 'DRAWING_ELEMENT', + FILE_GROUP = 'FILE_GROUP', + LEAF = 'LEAF', + LESSON = 'LESSON', + LESSON_CONTENT_ETHERPAD = 'LESSON_CONTENT_ETHERPAD', + LESSON_CONTENT_GEOGEBRA = 'LESSON_CONTENT_GEOGEBRA', + LESSON_CONTENT_GROUP = 'LESSON_CONTENT_GROUP', + LESSON_CONTENT_LERNSTORE = 'LESSON_CONTENT_LERNSTORE', + LESSON_CONTENT_NEXBOARD = 'LESSON_CONTENT_NEXBOARD', + LESSON_CONTENT_TASK = 'LESSON_CONTENT_TASK', + LESSON_CONTENT_TEXT = 'LESSON_CONTENT_TEXT', + LERNSTORE_MATERIAL = 'LERNSTORE_MATERIAL', + LERNSTORE_MATERIAL_GROUP = 'LERNSTORE_MATERIAL_GROUP', + LINK_ELEMENT = 'LINK_ELEMENT', + LTITOOL_GROUP = 'LTITOOL_GROUP', + MEDIA_BOARD = 'MEDIA_BOARD', + MEDIA_LINE = 'MEDIA_LINE', + MEDIA_EXTERNAL_TOOL_ELEMENT = 'MEDIA_EXTERNAL_TOOL_ELEMENT', + METADATA = 'METADATA', + RICHTEXT_ELEMENT = 'RICHTEXT_ELEMENT', + SUBMISSION_CONTAINER_ELEMENT = 'SUBMISSION_CONTAINER_ELEMENT', + SUBMISSION_ITEM = 'SUBMISSION_ITEM', + SUBMISSION_GROUP = 'SUBMISSION_GROUP', + TASK = 'TASK', + TASK_GROUP = 'TASK_GROUP', + TIME_GROUP = 'TIME_GROUP', + USER_GROUP = 'USER_GROUP' +} +/** + * @export + * @enum {string} + */ +export enum CopyApiResponseStatus { + SUCCESS = 'success', + FAILURE = 'failure', + NOT_DOING = 'not-doing', + NOT_IMPLEMENTED = 'not-implemented', + PARTIAL = 'partial' +} + + + diff --git a/src/serverApi/v3/models/county-response.ts b/src/serverApi/v3/models/county-response.ts new file mode 100644 index 0000000..5bf3c3a --- /dev/null +++ b/src/serverApi/v3/models/county-response.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CountyResponse + */ +export interface CountyResponse { + /** + * + * @type {string} + * @memberof CountyResponse + */ + id: string; + /** + * + * @type {string} + * @memberof CountyResponse + */ + name: string; + /** + * + * @type {number} + * @memberof CountyResponse + */ + countyId: number; + /** + * + * @type {string} + * @memberof CountyResponse + */ + antaresKey: string; +} + + diff --git a/src/serverApi/v3/models/course-export-body-params.ts b/src/serverApi/v3/models/course-export-body-params.ts new file mode 100644 index 0000000..7bdbce2 --- /dev/null +++ b/src/serverApi/v3/models/course-export-body-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CourseExportBodyParams + */ +export interface CourseExportBodyParams { + /** + * The list of ids of topics which should be exported. If empty no topics are exported. + * @type {Array} + * @memberof CourseExportBodyParams + */ + topics: Array; + /** + * The list of ids of tasks which should be exported. If empty no tasks are exported. + * @type {Array} + * @memberof CourseExportBodyParams + */ + tasks: Array; + /** + * The list of ids of column boards which should be exported. If empty no column boards are exported. + * @type {Array} + * @memberof CourseExportBodyParams + */ + columnBoards: Array; +} + + diff --git a/src/serverApi/v3/models/course-info-response.ts b/src/serverApi/v3/models/course-info-response.ts new file mode 100644 index 0000000..326416d --- /dev/null +++ b/src/serverApi/v3/models/course-info-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CourseInfoResponse + */ +export interface CourseInfoResponse { + /** + * + * @type {string} + * @memberof CourseInfoResponse + */ + id: string; + /** + * + * @type {string} + * @memberof CourseInfoResponse + */ + name: string; +} + + diff --git a/src/serverApi/v3/models/course-metadata-list-response.ts b/src/serverApi/v3/models/course-metadata-list-response.ts new file mode 100644 index 0000000..e785745 --- /dev/null +++ b/src/serverApi/v3/models/course-metadata-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CourseMetadataResponse } from './course-metadata-response'; + +/** + * + * @export + * @interface CourseMetadataListResponse + */ +export interface CourseMetadataListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof CourseMetadataListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof CourseMetadataListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof CourseMetadataListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof CourseMetadataListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/course-metadata-response.ts b/src/serverApi/v3/models/course-metadata-response.ts new file mode 100644 index 0000000..2091a47 --- /dev/null +++ b/src/serverApi/v3/models/course-metadata-response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CourseMetadataResponse + */ +export interface CourseMetadataResponse { + /** + * The id of the Grid element + * @type {string} + * @memberof CourseMetadataResponse + */ + id: string; + /** + * Title of the Grid element + * @type {string} + * @memberof CourseMetadataResponse + */ + title: string; + /** + * Short title of the Grid element + * @type {string} + * @memberof CourseMetadataResponse + */ + shortTitle: string; + /** + * Color of the Grid element + * @type {string} + * @memberof CourseMetadataResponse + */ + displayColor: string; + /** + * Start date of the course + * @type {string} + * @memberof CourseMetadataResponse + */ + startDate?: string; + /** + * End date of the course. After this the course counts as archived + * @type {string} + * @memberof CourseMetadataResponse + */ + untilDate?: string; + /** + * Start of the copying process if it is still ongoing - otherwise property is not set. + * @type {string} + * @memberof CourseMetadataResponse + */ + copyingSince?: string; +} + + diff --git a/src/serverApi/v3/models/create-board-body-params.ts b/src/serverApi/v3/models/create-board-body-params.ts new file mode 100644 index 0000000..451b2f9 --- /dev/null +++ b/src/serverApi/v3/models/create-board-body-params.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { BoardLayout } from './board-layout'; +import { BoardParentType } from './board-parent-type'; + +/** + * + * @export + * @interface CreateBoardBodyParams + */ +export interface CreateBoardBodyParams { + /** + * The title of the board + * @type {string} + * @memberof CreateBoardBodyParams + */ + title: string; + /** + * The id of the parent + * @type {string} + * @memberof CreateBoardBodyParams + */ + parentId: string; + /** + * + * @type {BoardParentType} + * @memberof CreateBoardBodyParams + */ + parentType: BoardParentType; + /** + * + * @type {BoardLayout} + * @memberof CreateBoardBodyParams + */ + layout: BoardLayout; +} + + diff --git a/src/serverApi/v3/models/create-board-response.ts b/src/serverApi/v3/models/create-board-response.ts new file mode 100644 index 0000000..200d807 --- /dev/null +++ b/src/serverApi/v3/models/create-board-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CreateBoardResponse + */ +export interface CreateBoardResponse { + /** + * + * @type {string} + * @memberof CreateBoardResponse + */ + id: string; +} + + diff --git a/src/serverApi/v3/models/create-card-body-params.ts b/src/serverApi/v3/models/create-card-body-params.ts new file mode 100644 index 0000000..5f91737 --- /dev/null +++ b/src/serverApi/v3/models/create-card-body-params.ts @@ -0,0 +1,46 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CreateCardBodyParams + */ +export interface CreateCardBodyParams { + /** + * + * @type {Array} + * @memberof CreateCardBodyParams + */ + requiredEmptyElements?: Array; +} + +/** + * @export + * @enum {string} + */ +export enum CreateCardBodyParamsRequiredEmptyElements { + FILE = 'file', + DRAWING = 'drawing', + LINK = 'link', + RICH_TEXT = 'richText', + SUBMISSION_CONTAINER = 'submissionContainer', + EXTERNAL_TOOL = 'externalTool', + COLLABORATIVE_TEXT_EDITOR = 'collaborativeTextEditor' +} + + + diff --git a/src/serverApi/v3/models/create-content-element-body-params.ts b/src/serverApi/v3/models/create-content-element-body-params.ts new file mode 100644 index 0000000..2731715 --- /dev/null +++ b/src/serverApi/v3/models/create-content-element-body-params.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; + +/** + * + * @export + * @interface CreateContentElementBodyParams + */ +export interface CreateContentElementBodyParams { + /** + * + * @type {ContentElementType} + * @memberof CreateContentElementBodyParams + */ + type: ContentElementType; + /** + * to bring element to a specific position, default is last position + * @type {number} + * @memberof CreateContentElementBodyParams + */ + toPosition?: number; +} + + diff --git a/src/serverApi/v3/models/create-media-element-body-params.ts b/src/serverApi/v3/models/create-media-element-body-params.ts new file mode 100644 index 0000000..d2f346b --- /dev/null +++ b/src/serverApi/v3/models/create-media-element-body-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CreateMediaElementBodyParams + */ +export interface CreateMediaElementBodyParams { + /** + * The id of the line where the element is created + * @type {string} + * @memberof CreateMediaElementBodyParams + */ + lineId: string; + /** + * The position where the element is created + * @type {number} + * @memberof CreateMediaElementBodyParams + */ + position: number; + /** + * The id of the school external tool + * @type {string} + * @memberof CreateMediaElementBodyParams + */ + schoolExternalToolId: string; +} + + diff --git a/src/serverApi/v3/models/create-news-params.ts b/src/serverApi/v3/models/create-news-params.ts new file mode 100644 index 0000000..f7bc445 --- /dev/null +++ b/src/serverApi/v3/models/create-news-params.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CreateNewsParams + */ +export interface CreateNewsParams { + /** + * Title of the News entity + * @type {string} + * @memberof CreateNewsParams + */ + title: string; + /** + * Content of the News entity + * @type {string} + * @memberof CreateNewsParams + */ + content: string; + /** + * The point in time from when the News entity schould be displayed. Defaults to now so that the news is published + * @type {string} + * @memberof CreateNewsParams + */ + displayAt?: string; + /** + * Target model to which the News entity is related + * @type {string} + * @memberof CreateNewsParams + */ + targetModel: CreateNewsParamsTargetModel; + /** + * Specific target id to which the News entity is related + * @type {string} + * @memberof CreateNewsParams + */ + targetId: string; +} + +/** + * @export + * @enum {string} + */ +export enum CreateNewsParamsTargetModel { + SCHOOLS = 'schools', + COURSES = 'courses', + TEAMS = 'teams' +} + + + diff --git a/src/serverApi/v3/models/create-submission-item-body-params.ts b/src/serverApi/v3/models/create-submission-item-body-params.ts new file mode 100644 index 0000000..bacc9f4 --- /dev/null +++ b/src/serverApi/v3/models/create-submission-item-body-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CreateSubmissionItemBodyParams + */ +export interface CreateSubmissionItemBodyParams { + /** + * Boolean indicating whether the submission is completed. + * @type {boolean} + * @memberof CreateSubmissionItemBodyParams + */ + completed: boolean; +} + + diff --git a/src/serverApi/v3/models/custom-parameter-entry-param.ts b/src/serverApi/v3/models/custom-parameter-entry-param.ts new file mode 100644 index 0000000..fea9a40 --- /dev/null +++ b/src/serverApi/v3/models/custom-parameter-entry-param.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CustomParameterEntryParam + */ +export interface CustomParameterEntryParam { + /** + * + * @type {string} + * @memberof CustomParameterEntryParam + */ + name: string; + /** + * + * @type {string} + * @memberof CustomParameterEntryParam + */ + value?: string; +} + + diff --git a/src/serverApi/v3/models/custom-parameter-entry-response.ts b/src/serverApi/v3/models/custom-parameter-entry-response.ts new file mode 100644 index 0000000..12b936a --- /dev/null +++ b/src/serverApi/v3/models/custom-parameter-entry-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CustomParameterEntryResponse + */ +export interface CustomParameterEntryResponse { + /** + * + * @type {string} + * @memberof CustomParameterEntryResponse + */ + name: string; + /** + * + * @type {string} + * @memberof CustomParameterEntryResponse + */ + value?: string; +} + + diff --git a/src/serverApi/v3/models/custom-parameter-post-params.ts b/src/serverApi/v3/models/custom-parameter-post-params.ts new file mode 100644 index 0000000..d99fb57 --- /dev/null +++ b/src/serverApi/v3/models/custom-parameter-post-params.ts @@ -0,0 +1,91 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CustomParameterPostParams + */ +export interface CustomParameterPostParams { + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + name: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + displayName: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + description?: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + defaultValue?: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + regex?: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + regexComment?: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + scope: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + location: string; + /** + * + * @type {string} + * @memberof CustomParameterPostParams + */ + type: string; + /** + * + * @type {boolean} + * @memberof CustomParameterPostParams + */ + isOptional: boolean; + /** + * + * @type {boolean} + * @memberof CustomParameterPostParams + */ + isProtected: boolean; +} + + diff --git a/src/serverApi/v3/models/custom-parameter-response.ts b/src/serverApi/v3/models/custom-parameter-response.ts new file mode 100644 index 0000000..43cfcfb --- /dev/null +++ b/src/serverApi/v3/models/custom-parameter-response.ts @@ -0,0 +1,126 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CustomParameterResponse + */ +export interface CustomParameterResponse { + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + name: string; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + displayName: string; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + description?: string; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + defaultValue?: string; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + regex?: string; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + regexComment?: string; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + scope: CustomParameterResponseScope; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + location: CustomParameterResponseLocation; + /** + * + * @type {string} + * @memberof CustomParameterResponse + */ + type: CustomParameterResponseType; + /** + * + * @type {boolean} + * @memberof CustomParameterResponse + */ + isOptional: boolean; + /** + * + * @type {boolean} + * @memberof CustomParameterResponse + */ + isProtected: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum CustomParameterResponseScope { + GLOBAL = 'global', + SCHOOL = 'school', + CONTEXT = 'context' +} +/** + * @export + * @enum {string} + */ +export enum CustomParameterResponseLocation { + PATH = 'path', + BODY = 'body', + QUERY = 'query' +} +/** + * @export + * @enum {string} + */ +export enum CustomParameterResponseType { + STRING = 'string', + NUMBER = 'number', + BOOLEAN = 'boolean', + AUTO_CONTEXTID = 'auto_contextid', + AUTO_CONTEXTNAME = 'auto_contextname', + AUTO_SCHOOLID = 'auto_schoolid', + AUTO_SCHOOLNUMBER = 'auto_schoolnumber', + AUTO_MEDIUMID = 'auto_mediumid', + AUTO_GROUP_EXTERNALUUID = 'auto_group_externaluuid' +} + + + diff --git a/src/serverApi/v3/models/dashboard-grid-element-response.ts b/src/serverApi/v3/models/dashboard-grid-element-response.ts new file mode 100644 index 0000000..26e747d --- /dev/null +++ b/src/serverApi/v3/models/dashboard-grid-element-response.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { DashboardGridSubElementResponse } from './dashboard-grid-sub-element-response'; + +/** + * + * @export + * @interface DashboardGridElementResponse + */ +export interface DashboardGridElementResponse { + /** + * The id of the Grid element + * @type {string} + * @memberof DashboardGridElementResponse + */ + id: string; + /** + * Title of the Grid element + * @type {string} + * @memberof DashboardGridElementResponse + */ + title: string; + /** + * Short title of the Grid element + * @type {string} + * @memberof DashboardGridElementResponse + */ + shortTitle: string; + /** + * Color of the Grid element + * @type {string} + * @memberof DashboardGridElementResponse + */ + displayColor: string; + /** + * X position of the Grid element + * @type {number} + * @memberof DashboardGridElementResponse + */ + xPosition: number; + /** + * Y position of the Grid element + * @type {number} + * @memberof DashboardGridElementResponse + */ + yPosition: number; + /** + * The id of the group element + * @type {string} + * @memberof DashboardGridElementResponse + */ + groupId: string; + /** + * List of all subelements in the group + * @type {Array} + * @memberof DashboardGridElementResponse + */ + groupElements: Array; + /** + * Start of the copying process if it is still ongoing - otherwise property is not set. + * @type {string} + * @memberof DashboardGridElementResponse + */ + copyingSince: string; + /** + * Is the course synchronized with a group? + * @type {boolean} + * @memberof DashboardGridElementResponse + */ + isSynchronized: boolean; +} + + diff --git a/src/serverApi/v3/models/dashboard-grid-sub-element-response.ts b/src/serverApi/v3/models/dashboard-grid-sub-element-response.ts new file mode 100644 index 0000000..d125474 --- /dev/null +++ b/src/serverApi/v3/models/dashboard-grid-sub-element-response.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface DashboardGridSubElementResponse + */ +export interface DashboardGridSubElementResponse { + /** + * The id of the Grid element + * @type {string} + * @memberof DashboardGridSubElementResponse + */ + id: string; + /** + * Title of the Grid element + * @type {string} + * @memberof DashboardGridSubElementResponse + */ + title: string; + /** + * Short title of the Grid element + * @type {string} + * @memberof DashboardGridSubElementResponse + */ + shortTitle: string; + /** + * Color of the Grid element + * @type {string} + * @memberof DashboardGridSubElementResponse + */ + displayColor: string; +} + + diff --git a/src/serverApi/v3/models/dashboard-response.ts b/src/serverApi/v3/models/dashboard-response.ts new file mode 100644 index 0000000..395c190 --- /dev/null +++ b/src/serverApi/v3/models/dashboard-response.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { DashboardGridElementResponse } from './dashboard-grid-element-response'; + +/** + * + * @export + * @interface DashboardResponse + */ +export interface DashboardResponse { + /** + * The id of the Dashboard entity + * @type {string} + * @memberof DashboardResponse + */ + id: string; + /** + * List of all elements visible on the dashboard + * @type {Array} + * @memberof DashboardResponse + */ + gridElements: Array; +} + + diff --git a/src/serverApi/v3/models/drawing-content-body.ts b/src/serverApi/v3/models/drawing-content-body.ts new file mode 100644 index 0000000..a4dee0a --- /dev/null +++ b/src/serverApi/v3/models/drawing-content-body.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface DrawingContentBody + */ +export interface DrawingContentBody { + /** + * + * @type {string} + * @memberof DrawingContentBody + */ + description: string; +} + + diff --git a/src/serverApi/v3/models/drawing-element-content-body.ts b/src/serverApi/v3/models/drawing-element-content-body.ts new file mode 100644 index 0000000..eed2fb5 --- /dev/null +++ b/src/serverApi/v3/models/drawing-element-content-body.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { DrawingContentBody } from './drawing-content-body'; + +/** + * + * @export + * @interface DrawingElementContentBody + */ +export interface DrawingElementContentBody { + /** + * + * @type {ContentElementType} + * @memberof DrawingElementContentBody + */ + type: ContentElementType; + /** + * + * @type {DrawingContentBody} + * @memberof DrawingElementContentBody + */ + content: DrawingContentBody; +} + + diff --git a/src/serverApi/v3/models/drawing-element-content.ts b/src/serverApi/v3/models/drawing-element-content.ts new file mode 100644 index 0000000..96b3e6f --- /dev/null +++ b/src/serverApi/v3/models/drawing-element-content.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface DrawingElementContent + */ +export interface DrawingElementContent { + /** + * + * @type {string} + * @memberof DrawingElementContent + */ + description: string; +} + + diff --git a/src/serverApi/v3/models/drawing-element-response.ts b/src/serverApi/v3/models/drawing-element-response.ts new file mode 100644 index 0000000..39c1eaf --- /dev/null +++ b/src/serverApi/v3/models/drawing-element-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { DrawingElementContent } from './drawing-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface DrawingElementResponse + */ +export interface DrawingElementResponse { + /** + * + * @type {string} + * @memberof DrawingElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof DrawingElementResponse + */ + type: ContentElementType; + /** + * + * @type {TimestampsResponse} + * @memberof DrawingElementResponse + */ + timestamps: TimestampsResponse; + /** + * + * @type {DrawingElementContent} + * @memberof DrawingElementResponse + */ + content: DrawingElementContent; +} + + diff --git a/src/serverApi/v3/models/entity-not-found-error.ts b/src/serverApi/v3/models/entity-not-found-error.ts new file mode 100644 index 0000000..822d78b --- /dev/null +++ b/src/serverApi/v3/models/entity-not-found-error.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface EntityNotFoundError + */ +export interface EntityNotFoundError { + /** + * The response status code. + * @type {number} + * @memberof EntityNotFoundError + */ + code: number; + /** + * The error type. + * @type {string} + * @memberof EntityNotFoundError + */ + type: string; + /** + * The error title. + * @type {string} + * @memberof EntityNotFoundError + */ + title: string; + /** + * The error message. + * @type {string} + * @memberof EntityNotFoundError + */ + message: string; + /** + * The error details. + * @type {object} + * @memberof EntityNotFoundError + */ + details?: object; +} + + diff --git a/src/serverApi/v3/models/external-source-response.ts b/src/serverApi/v3/models/external-source-response.ts new file mode 100644 index 0000000..4b16542 --- /dev/null +++ b/src/serverApi/v3/models/external-source-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ExternalSourceResponse + */ +export interface ExternalSourceResponse { + /** + * + * @type {string} + * @memberof ExternalSourceResponse + */ + externalId: string; + /** + * + * @type {string} + * @memberof ExternalSourceResponse + */ + systemId: string; +} + + diff --git a/src/serverApi/v3/models/external-tool-bulk-create-params.ts b/src/serverApi/v3/models/external-tool-bulk-create-params.ts new file mode 100644 index 0000000..16e4095 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-bulk-create-params.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ExternalToolCreateParams } from './external-tool-create-params'; + +/** + * + * @export + * @interface ExternalToolBulkCreateParams + */ +export interface ExternalToolBulkCreateParams { + /** + * List of external tools + * @type {Array} + * @memberof ExternalToolBulkCreateParams + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/external-tool-content-body.ts b/src/serverApi/v3/models/external-tool-content-body.ts new file mode 100644 index 0000000..72001a8 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-content-body.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ExternalToolContentBody + */ +export interface ExternalToolContentBody { + /** + * + * @type {string} + * @memberof ExternalToolContentBody + */ + contextExternalToolId?: string; +} + + diff --git a/src/serverApi/v3/models/external-tool-create-params.ts b/src/serverApi/v3/models/external-tool-create-params.ts new file mode 100644 index 0000000..c49486e --- /dev/null +++ b/src/serverApi/v3/models/external-tool-create-params.ts @@ -0,0 +1,103 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { BasicToolConfigParams } from './basic-tool-config-params'; +import { CustomParameterPostParams } from './custom-parameter-post-params'; +import { ExternalToolMediumParams } from './external-tool-medium-params'; +import { Lti11ToolConfigCreateParams } from './lti11-tool-config-create-params'; +import { Oauth2ToolConfigCreateParams } from './oauth2-tool-config-create-params'; +import { ToolContextType } from './tool-context-type'; + +/** + * + * @export + * @interface ExternalToolCreateParams + */ +export interface ExternalToolCreateParams { + /** + * Name of the external tool + * @type {string} + * @memberof ExternalToolCreateParams + */ + name: string; + /** + * Description of the external tool + * @type {string} + * @memberof ExternalToolCreateParams + */ + description?: string; + /** + * URL of the external tool + * @type {string} + * @memberof ExternalToolCreateParams + */ + url?: string; + /** + * URL of the logo of the external tool + * @type {string} + * @memberof ExternalToolCreateParams + */ + logoUrl?: string; + /** + * URL of the thumbnail of the external tool + * @type {string} + * @memberof ExternalToolCreateParams + */ + thumbnailUrl?: string; + /** + * Configuration of the external tool + * @type {BasicToolConfigParams | Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams} + * @memberof ExternalToolCreateParams + */ + config: BasicToolConfigParams | Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams; + /** + * Custom parameters of the external tool + * @type {Array} + * @memberof ExternalToolCreateParams + */ + parameters?: Array; + /** + * Tool can be hidden, those tools cant be added to e.g. school, course or board + * @type {boolean} + * @memberof ExternalToolCreateParams + */ + isHidden: boolean; + /** + * Tool can be deactivated, related tools can not be added to e.g. school, course or board anymore + * @type {boolean} + * @memberof ExternalToolCreateParams + */ + isDeactivated: boolean; + /** + * Tool should be opened in a new tab + * @type {boolean} + * @memberof ExternalToolCreateParams + */ + openNewTab: boolean; + /** + * Restrict tools to specific contexts + * @type {Array} + * @memberof ExternalToolCreateParams + */ + restrictToContexts?: Array; + /** + * Medium of the external tool + * @type {ExternalToolMediumParams} + * @memberof ExternalToolCreateParams + */ + medium?: ExternalToolMediumParams; +} + + diff --git a/src/serverApi/v3/models/external-tool-element-content-body.ts b/src/serverApi/v3/models/external-tool-element-content-body.ts new file mode 100644 index 0000000..8a4dbb8 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-element-content-body.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { ExternalToolContentBody } from './external-tool-content-body'; + +/** + * + * @export + * @interface ExternalToolElementContentBody + */ +export interface ExternalToolElementContentBody { + /** + * + * @type {ContentElementType} + * @memberof ExternalToolElementContentBody + */ + type: ContentElementType; + /** + * + * @type {ExternalToolContentBody} + * @memberof ExternalToolElementContentBody + */ + content: ExternalToolContentBody; +} + + diff --git a/src/serverApi/v3/models/external-tool-element-content.ts b/src/serverApi/v3/models/external-tool-element-content.ts new file mode 100644 index 0000000..b818316 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-element-content.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ExternalToolElementContent + */ +export interface ExternalToolElementContent { + /** + * + * @type {string} + * @memberof ExternalToolElementContent + */ + contextExternalToolId: string | null; +} + + diff --git a/src/serverApi/v3/models/external-tool-element-response.ts b/src/serverApi/v3/models/external-tool-element-response.ts new file mode 100644 index 0000000..a517990 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-element-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { ExternalToolElementContent } from './external-tool-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface ExternalToolElementResponse + */ +export interface ExternalToolElementResponse { + /** + * + * @type {string} + * @memberof ExternalToolElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof ExternalToolElementResponse + */ + type: ContentElementType; + /** + * + * @type {ExternalToolElementContent} + * @memberof ExternalToolElementResponse + */ + content: ExternalToolElementContent; + /** + * + * @type {TimestampsResponse} + * @memberof ExternalToolElementResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/external-tool-medium-params.ts b/src/serverApi/v3/models/external-tool-medium-params.ts new file mode 100644 index 0000000..05f28dd --- /dev/null +++ b/src/serverApi/v3/models/external-tool-medium-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ExternalToolMediumParams + */ +export interface ExternalToolMediumParams { + /** + * Id of the medium + * @type {string} + * @memberof ExternalToolMediumParams + */ + mediumId: string; + /** + * Publisher of the medium + * @type {string} + * @memberof ExternalToolMediumParams + */ + publisher?: string; + /** + * The id of the media source + * @type {string} + * @memberof ExternalToolMediumParams + */ + mediaSourceId?: string; +} + + diff --git a/src/serverApi/v3/models/external-tool-medium-response.ts b/src/serverApi/v3/models/external-tool-medium-response.ts new file mode 100644 index 0000000..341a218 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-medium-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ExternalToolMediumResponse + */ +export interface ExternalToolMediumResponse { + /** + * Id of the medium + * @type {string} + * @memberof ExternalToolMediumResponse + */ + mediumId: string; + /** + * Publisher of the medium + * @type {string} + * @memberof ExternalToolMediumResponse + */ + publisher?: string; + /** + * The id of the media source + * @type {string} + * @memberof ExternalToolMediumResponse + */ + mediaSourceId?: string; +} + + diff --git a/src/serverApi/v3/models/external-tool-metadata-response.ts b/src/serverApi/v3/models/external-tool-metadata-response.ts new file mode 100644 index 0000000..62cf31a --- /dev/null +++ b/src/serverApi/v3/models/external-tool-metadata-response.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContextExternalToolCountPerContextResponse } from './context-external-tool-count-per-context-response'; + +/** + * + * @export + * @interface ExternalToolMetadataResponse + */ +export interface ExternalToolMetadataResponse { + /** + * + * @type {number} + * @memberof ExternalToolMetadataResponse + */ + schoolExternalToolCount: number; + /** + * + * @type {ContextExternalToolCountPerContextResponse} + * @memberof ExternalToolMetadataResponse + */ + contextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse; +} + + diff --git a/src/serverApi/v3/models/external-tool-response.ts b/src/serverApi/v3/models/external-tool-response.ts new file mode 100644 index 0000000..92b22f1 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-response.ts @@ -0,0 +1,109 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { BasicToolConfigParams } from './basic-tool-config-params'; +import { CustomParameterResponse } from './custom-parameter-response'; +import { ExternalToolMediumResponse } from './external-tool-medium-response'; +import { Lti11ToolConfigCreateParams } from './lti11-tool-config-create-params'; +import { Oauth2ToolConfigCreateParams } from './oauth2-tool-config-create-params'; +import { ToolContextType } from './tool-context-type'; + +/** + * + * @export + * @interface ExternalToolResponse + */ +export interface ExternalToolResponse { + /** + * Id of the external tool + * @type {string} + * @memberof ExternalToolResponse + */ + id: string; + /** + * Name of the external tool + * @type {string} + * @memberof ExternalToolResponse + */ + name: string; + /** + * Description of the external tool + * @type {string} + * @memberof ExternalToolResponse + */ + description?: string; + /** + * URL of the external tool + * @type {string} + * @memberof ExternalToolResponse + */ + url?: string; + /** + * URL of the logo of the external tool + * @type {string} + * @memberof ExternalToolResponse + */ + logoUrl?: string; + /** + * URL of the thumbnail of the external tool + * @type {string} + * @memberof ExternalToolResponse + */ + thumbnailUrl?: string; + /** + * Configuration of the external tool + * @type {BasicToolConfigParams | Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams} + * @memberof ExternalToolResponse + */ + config: BasicToolConfigParams | Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams; + /** + * Custom parameters of the external tool + * @type {Array} + * @memberof ExternalToolResponse + */ + parameters: Array; + /** + * Is the external tool hidden + * @type {boolean} + * @memberof ExternalToolResponse + */ + isHidden: boolean; + /** + * Is the external tool deactivated + * @type {boolean} + * @memberof ExternalToolResponse + */ + isDeactivated: boolean; + /** + * Should the external tool be opened in a new tab + * @type {boolean} + * @memberof ExternalToolResponse + */ + openNewTab: boolean; + /** + * Contexts in which the external tool is restricted + * @type {Array} + * @memberof ExternalToolResponse + */ + restrictToContexts?: Array; + /** + * Medium of the external tool + * @type {ExternalToolMediumResponse} + * @memberof ExternalToolResponse + */ + medium?: ExternalToolMediumResponse; +} + + diff --git a/src/serverApi/v3/models/external-tool-search-list-response.ts b/src/serverApi/v3/models/external-tool-search-list-response.ts new file mode 100644 index 0000000..cb28cc2 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-search-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ExternalToolResponse } from './external-tool-response'; + +/** + * + * @export + * @interface ExternalToolSearchListResponse + */ +export interface ExternalToolSearchListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof ExternalToolSearchListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof ExternalToolSearchListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof ExternalToolSearchListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof ExternalToolSearchListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/external-tool-update-params.ts b/src/serverApi/v3/models/external-tool-update-params.ts new file mode 100644 index 0000000..f5e6af4 --- /dev/null +++ b/src/serverApi/v3/models/external-tool-update-params.ts @@ -0,0 +1,109 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { BasicToolConfigParams } from './basic-tool-config-params'; +import { CustomParameterPostParams } from './custom-parameter-post-params'; +import { ExternalToolMediumParams } from './external-tool-medium-params'; +import { Lti11ToolConfigUpdateParams } from './lti11-tool-config-update-params'; +import { Oauth2ToolConfigUpdateParams } from './oauth2-tool-config-update-params'; +import { ToolContextType } from './tool-context-type'; + +/** + * + * @export + * @interface ExternalToolUpdateParams + */ +export interface ExternalToolUpdateParams { + /** + * ID of the external tool + * @type {string} + * @memberof ExternalToolUpdateParams + */ + id: string; + /** + * + * @type {string} + * @memberof ExternalToolUpdateParams + */ + name: string; + /** + * Description of the external tool + * @type {string} + * @memberof ExternalToolUpdateParams + */ + description?: string; + /** + * URL of the external tool + * @type {string} + * @memberof ExternalToolUpdateParams + */ + url?: string; + /** + * URL of the logo of the external tool + * @type {string} + * @memberof ExternalToolUpdateParams + */ + logoUrl?: string; + /** + * URL of the thumbnail of the external tool + * @type {string} + * @memberof ExternalToolUpdateParams + */ + thumbnailUrl?: string; + /** + * Configuration of the external tool + * @type {BasicToolConfigParams | Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams} + * @memberof ExternalToolUpdateParams + */ + config: BasicToolConfigParams | Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams; + /** + * Custom parameters of the external tool + * @type {Array} + * @memberof ExternalToolUpdateParams + */ + parameters?: Array; + /** + * + * @type {boolean} + * @memberof ExternalToolUpdateParams + */ + isHidden: boolean; + /** + * Tool can be deactivated, related tools can not be added to e.g. school, course or board anymore + * @type {boolean} + * @memberof ExternalToolUpdateParams + */ + isDeactivated: boolean; + /** + * Open the tool in a new tab + * @type {boolean} + * @memberof ExternalToolUpdateParams + */ + openNewTab: boolean; + /** + * Restrict the tool to certain contexts + * @type {Array} + * @memberof ExternalToolUpdateParams + */ + restrictToContexts?: Array; + /** + * Medium of the external tool + * @type {ExternalToolMediumParams} + * @memberof ExternalToolUpdateParams + */ + medium?: ExternalToolMediumParams; +} + + diff --git a/src/serverApi/v3/models/federal-state-response.ts b/src/serverApi/v3/models/federal-state-response.ts new file mode 100644 index 0000000..e6c4035 --- /dev/null +++ b/src/serverApi/v3/models/federal-state-response.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CountyResponse } from './county-response'; + +/** + * + * @export + * @interface FederalStateResponse + */ +export interface FederalStateResponse { + /** + * + * @type {string} + * @memberof FederalStateResponse + */ + id: string; + /** + * + * @type {string} + * @memberof FederalStateResponse + */ + name: string; + /** + * + * @type {string} + * @memberof FederalStateResponse + */ + abbreviation: string; + /** + * + * @type {string} + * @memberof FederalStateResponse + */ + logoUrl: string; + /** + * + * @type {Array} + * @memberof FederalStateResponse + */ + counties: Array; +} + + diff --git a/src/serverApi/v3/models/file-content-body.ts b/src/serverApi/v3/models/file-content-body.ts new file mode 100644 index 0000000..d40475e --- /dev/null +++ b/src/serverApi/v3/models/file-content-body.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface FileContentBody + */ +export interface FileContentBody { + /** + * + * @type {string} + * @memberof FileContentBody + */ + caption: string; + /** + * + * @type {string} + * @memberof FileContentBody + */ + alternativeText: string; +} + + diff --git a/src/serverApi/v3/models/file-element-content-body.ts b/src/serverApi/v3/models/file-element-content-body.ts new file mode 100644 index 0000000..6de7a1b --- /dev/null +++ b/src/serverApi/v3/models/file-element-content-body.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { FileContentBody } from './file-content-body'; + +/** + * + * @export + * @interface FileElementContentBody + */ +export interface FileElementContentBody { + /** + * + * @type {ContentElementType} + * @memberof FileElementContentBody + */ + type: ContentElementType; + /** + * + * @type {FileContentBody} + * @memberof FileElementContentBody + */ + content: FileContentBody; +} + + diff --git a/src/serverApi/v3/models/file-element-content.ts b/src/serverApi/v3/models/file-element-content.ts new file mode 100644 index 0000000..cd671fc --- /dev/null +++ b/src/serverApi/v3/models/file-element-content.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface FileElementContent + */ +export interface FileElementContent { + /** + * + * @type {string} + * @memberof FileElementContent + */ + caption: string; + /** + * + * @type {string} + * @memberof FileElementContent + */ + alternativeText: string; +} + + diff --git a/src/serverApi/v3/models/file-element-response.ts b/src/serverApi/v3/models/file-element-response.ts new file mode 100644 index 0000000..9b22557 --- /dev/null +++ b/src/serverApi/v3/models/file-element-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { FileElementContent } from './file-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface FileElementResponse + */ +export interface FileElementResponse { + /** + * + * @type {string} + * @memberof FileElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof FileElementResponse + */ + type: ContentElementType; + /** + * + * @type {FileElementContent} + * @memberof FileElementResponse + */ + content: FileElementContent; + /** + * + * @type {TimestampsResponse} + * @memberof FileElementResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/file-storage-type.ts b/src/serverApi/v3/models/file-storage-type.ts new file mode 100644 index 0000000..26143bb --- /dev/null +++ b/src/serverApi/v3/models/file-storage-type.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum FileStorageType { + AWS_S3 = 'awsS3' +} + + + diff --git a/src/serverApi/v3/models/forbidden-operation-error.ts b/src/serverApi/v3/models/forbidden-operation-error.ts new file mode 100644 index 0000000..d5b7f1f --- /dev/null +++ b/src/serverApi/v3/models/forbidden-operation-error.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ForbiddenOperationError + */ +export interface ForbiddenOperationError { + /** + * The response status code. + * @type {number} + * @memberof ForbiddenOperationError + */ + code: number; + /** + * The error type. + * @type {string} + * @memberof ForbiddenOperationError + */ + type: string; + /** + * The error title. + * @type {string} + * @memberof ForbiddenOperationError + */ + title: string; + /** + * The error message. + * @type {string} + * @memberof ForbiddenOperationError + */ + message: string; + /** + * The error details. + * @type {object} + * @memberof ForbiddenOperationError + */ + details?: object; +} + + diff --git a/src/serverApi/v3/models/force-migration-params.ts b/src/serverApi/v3/models/force-migration-params.ts new file mode 100644 index 0000000..7702015 --- /dev/null +++ b/src/serverApi/v3/models/force-migration-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ForceMigrationParams + */ +export interface ForceMigrationParams { + /** + * Email of the administrator + * @type {string} + * @memberof ForceMigrationParams + */ + email: string; + /** + * Target externalId to link it with an external account + * @type {string} + * @memberof ForceMigrationParams + */ + externalUserId: string; + /** + * Target externalId to link it with an external school + * @type {string} + * @memberof ForceMigrationParams + */ + externalSchoolId: string; +} + + diff --git a/src/serverApi/v3/models/get-meta-tag-data-body.ts b/src/serverApi/v3/models/get-meta-tag-data-body.ts new file mode 100644 index 0000000..89b7147 --- /dev/null +++ b/src/serverApi/v3/models/get-meta-tag-data-body.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface GetMetaTagDataBody + */ +export interface GetMetaTagDataBody { + /** + * + * @type {string} + * @memberof GetMetaTagDataBody + */ + url: string; +} + + diff --git a/src/serverApi/v3/models/group-list-response.ts b/src/serverApi/v3/models/group-list-response.ts new file mode 100644 index 0000000..b742655 --- /dev/null +++ b/src/serverApi/v3/models/group-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { GroupResponse } from './group-response'; + +/** + * + * @export + * @interface GroupListResponse + */ +export interface GroupListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof GroupListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof GroupListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof GroupListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof GroupListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/group-response.ts b/src/serverApi/v3/models/group-response.ts new file mode 100644 index 0000000..63ad071 --- /dev/null +++ b/src/serverApi/v3/models/group-response.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ExternalSourceResponse } from './external-source-response'; +import { GroupUserResponse } from './group-user-response'; + +/** + * + * @export + * @interface GroupResponse + */ +export interface GroupResponse { + /** + * + * @type {string} + * @memberof GroupResponse + */ + id: string; + /** + * + * @type {string} + * @memberof GroupResponse + */ + name: string; + /** + * + * @type {string} + * @memberof GroupResponse + */ + type: GroupResponseType; + /** + * + * @type {Array} + * @memberof GroupResponse + */ + users: Array; + /** + * + * @type {ExternalSourceResponse} + * @memberof GroupResponse + */ + externalSource?: ExternalSourceResponse; + /** + * + * @type {string} + * @memberof GroupResponse + */ + organizationId?: string; +} + +/** + * @export + * @enum {string} + */ +export enum GroupResponseType { + CLASS = 'class', + COURSE = 'course', + OTHER = 'other' +} + + + diff --git a/src/serverApi/v3/models/group-user-response.ts b/src/serverApi/v3/models/group-user-response.ts new file mode 100644 index 0000000..d0bd7d9 --- /dev/null +++ b/src/serverApi/v3/models/group-user-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { RoleName } from './role-name'; + +/** + * + * @export + * @interface GroupUserResponse + */ +export interface GroupUserResponse { + /** + * + * @type {string} + * @memberof GroupUserResponse + */ + id: string; + /** + * + * @type {string} + * @memberof GroupUserResponse + */ + firstName: string; + /** + * + * @type {string} + * @memberof GroupUserResponse + */ + lastName: string; + /** + * + * @type {RoleName} + * @memberof GroupUserResponse + */ + role: RoleName; +} + + diff --git a/src/serverApi/v3/models/import-user-list-response.ts b/src/serverApi/v3/models/import-user-list-response.ts new file mode 100644 index 0000000..ce7b763 --- /dev/null +++ b/src/serverApi/v3/models/import-user-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ImportUserResponse } from './import-user-response'; + +/** + * + * @export + * @interface ImportUserListResponse + */ +export interface ImportUserListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof ImportUserListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof ImportUserListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof ImportUserListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof ImportUserListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/import-user-response.ts b/src/serverApi/v3/models/import-user-response.ts new file mode 100644 index 0000000..ee0e1a4 --- /dev/null +++ b/src/serverApi/v3/models/import-user-response.ts @@ -0,0 +1,85 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { UserMatchResponse } from './user-match-response'; + +/** + * + * @export + * @interface ImportUserResponse + */ +export interface ImportUserResponse { + /** + * id reference to a import user + * @type {string} + * @memberof ImportUserResponse + */ + importUserId: string; + /** + * login name from external system + * @type {string} + * @memberof ImportUserResponse + */ + loginName: string; + /** + * external systems user firstname + * @type {string} + * @memberof ImportUserResponse + */ + firstName: string; + /** + * external systems user lastname + * @type {string} + * @memberof ImportUserResponse + */ + lastName: string; + /** + * list of user roles from external system: student, teacher, admin + * @type {Array} + * @memberof ImportUserResponse + */ + roleNames: Array; + /** + * names of classes the user attends from external system + * @type {Array} + * @memberof ImportUserResponse + */ + classNames: Array; + /** + * assignemnt to a local user account + * @type {UserMatchResponse} + * @memberof ImportUserResponse + */ + match?: UserMatchResponse; + /** + * manual flag to apply it as filter + * @type {boolean} + * @memberof ImportUserResponse + */ + flagged: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum ImportUserResponseRoleNames { + STUDENT = 'student', + TEACHER = 'teacher', + ADMIN = 'admin' +} + + + diff --git a/src/serverApi/v3/models/index.ts b/src/serverApi/v3/models/index.ts new file mode 100644 index 0000000..86cca12 --- /dev/null +++ b/src/serverApi/v3/models/index.ts @@ -0,0 +1,257 @@ +export * from './account-by-id-body-params'; +export * from './account-response'; +export * from './account-search-list-response'; +export * from './action'; +export * from './alert-response'; +export * from './api-validation-error'; +export * from './authorization-body-params'; +export * from './authorization-context-params'; +export * from './authorized-reponse'; +export * from './basic-tool-config-params'; +export * from './board-context-response'; +export * from './board-element-response'; +export * from './board-external-reference-type'; +export * from './board-layout'; +export * from './board-parent-type'; +export * from './board-response'; +export * from './card-list-response'; +export * from './card-response'; +export * from './card-skeleton-response'; +export * from './change-language-params'; +export * from './class-info-response'; +export * from './class-info-search-list-response'; +export * from './class-request-context'; +export * from './class-response'; +export * from './class-sort-query-type'; +export * from './collaborative-text-editor-element-response'; +export * from './collaborative-text-editor-parent-type'; +export * from './collaborative-text-editor-response'; +export * from './collapsable-body-params'; +export * from './color-body-params'; +export * from './column-response'; +export * from './config-response'; +export * from './consent-request-body'; +export * from './consent-response'; +export * from './consent-session-response'; +export * from './consents-response'; +export * from './content-element-type'; +export * from './context-external-tool-body-params'; +export * from './context-external-tool-configuration-status-response'; +export * from './context-external-tool-configuration-template-list-response'; +export * from './context-external-tool-configuration-template-response'; +export * from './context-external-tool-count-per-context-response'; +export * from './context-external-tool-post-params'; +export * from './context-external-tool-response'; +export * from './context-external-tool-search-list-response'; +export * from './copy-api-response'; +export * from './county-response'; +export * from './course-export-body-params'; +export * from './course-info-response'; +export * from './course-metadata-list-response'; +export * from './course-metadata-response'; +export * from './create-board-body-params'; +export * from './create-board-response'; +export * from './create-card-body-params'; +export * from './create-content-element-body-params'; +export * from './create-media-element-body-params'; +export * from './create-news-params'; +export * from './create-submission-item-body-params'; +export * from './custom-parameter-entry-param'; +export * from './custom-parameter-entry-response'; +export * from './custom-parameter-post-params'; +export * from './custom-parameter-response'; +export * from './dashboard-grid-element-response'; +export * from './dashboard-grid-sub-element-response'; +export * from './dashboard-response'; +export * from './drawing-content-body'; +export * from './drawing-element-content'; +export * from './drawing-element-content-body'; +export * from './drawing-element-response'; +export * from './entity-not-found-error'; +export * from './external-source-response'; +export * from './external-tool-bulk-create-params'; +export * from './external-tool-content-body'; +export * from './external-tool-create-params'; +export * from './external-tool-element-content'; +export * from './external-tool-element-content-body'; +export * from './external-tool-element-response'; +export * from './external-tool-medium-params'; +export * from './external-tool-medium-response'; +export * from './external-tool-metadata-response'; +export * from './external-tool-response'; +export * from './external-tool-search-list-response'; +export * from './external-tool-update-params'; +export * from './federal-state-response'; +export * from './file-content-body'; +export * from './file-element-content'; +export * from './file-element-content-body'; +export * from './file-element-response'; +export * from './file-storage-type'; +export * from './forbidden-operation-error'; +export * from './force-migration-params'; +export * from './get-meta-tag-data-body'; +export * from './group-list-response'; +export * from './group-response'; +export * from './group-user-response'; +export * from './import-user-list-response'; +export * from './import-user-response'; +export * from './instance-feature'; +export * from './language-type'; +export * from './layout-body-params'; +export * from './ldap-authorization-body-params'; +export * from './lesson-content-response'; +export * from './lesson-copy-api-params'; +export * from './lesson-metadata-list-response'; +export * from './lesson-metadata-response'; +export * from './lesson-response'; +export * from './link-content-body'; +export * from './link-element-content'; +export * from './link-element-content-body'; +export * from './link-element-response'; +export * from './local-authorization-body-params'; +export * from './login-request-body'; +export * from './login-response'; +export * from './lti11-tool-config-create-params'; +export * from './lti11-tool-config-update-params'; +export * from './lti-message-type'; +export * from './lti-privacy-permission'; +export * from './material-response'; +export * from './me-account-response'; +export * from './me-response'; +export * from './me-role-response'; +export * from './me-school-logo-response'; +export * from './me-school-response'; +export * from './me-user-response'; +export * from './media-available-line-element-response'; +export * from './media-available-line-response'; +export * from './media-board-colors'; +export * from './media-board-layout-type'; +export * from './media-board-response'; +export * from './media-external-tool-element-content'; +export * from './media-external-tool-element-response'; +export * from './media-line-response'; +export * from './message'; +export * from './message-origin'; +export * from './meta-tag-extractor-response'; +export * from './move-card-body-params'; +export * from './move-column-body-params'; +export * from './move-content-element-body'; +export * from './move-element-body-params'; +export * from './move-element-params'; +export * from './move-element-position-params'; +export * from './news-list-response'; +export * from './news-response'; +export * from './news-target-model'; +export * from './oauth-token-dto'; +export * from './oauth2-authorization-body-params'; +export * from './oauth2-migration-params'; +export * from './oauth2-tool-config-create-params'; +export * from './oauth2-tool-config-update-params'; +export * from './oauth-client-create-body'; +export * from './oauth-client-response'; +export * from './oauth-client-update-body'; +export * from './oauth-config-response'; +export * from './oidc-context-response'; +export * from './parent-consent-response'; +export * from './patch-group-params'; +export * from './patch-my-account-params'; +export * from './patch-my-password-params'; +export * from './patch-order-params'; +export * from './patch-visibility-params'; +export * from './permission'; +export * from './provider-config-response'; +export * from './pseudonym-response'; +export * from './public-system-list-response'; +export * from './public-system-response'; +export * from './redirect-response'; +export * from './rename-body-params'; +export * from './resolved-user-response'; +export * from './rich-text'; +export * from './rich-text-content-body'; +export * from './rich-text-element-content'; +export * from './rich-text-element-content-body'; +export * from './rich-text-element-response'; +export * from './role-name'; +export * from './school-exists-response'; +export * from './school-external-tool-configuration-status-response'; +export * from './school-external-tool-configuration-template-list-response'; +export * from './school-external-tool-configuration-template-response'; +export * from './school-external-tool-metadata-response'; +export * from './school-external-tool-post-params'; +export * from './school-external-tool-response'; +export * from './school-external-tool-search-list-response'; +export * from './school-feature'; +export * from './school-for-external-invite-response'; +export * from './school-for-ldap-login-response'; +export * from './school-info-response'; +export * from './school-logo'; +export * from './school-permissions-params'; +export * from './school-purpose'; +export * from './school-response'; +export * from './school-system-response'; +export * from './school-update-body-params'; +export * from './school-year-query-type'; +export * from './school-year-response'; +export * from './schul-conne-xprovisioning-options-params'; +export * from './schul-conne-xprovisioning-options-response'; +export * from './schulcloud-theme'; +export * from './set-height-body-params'; +export * from './share-token-body-params'; +export * from './share-token-import-body-params'; +export * from './share-token-info-response'; +export * from './share-token-payload-response'; +export * from './share-token-response'; +export * from './single-column-board-response'; +export * from './student-permission-params'; +export * from './submission-container-content-body'; +export * from './submission-container-element-content'; +export * from './submission-container-element-content-body'; +export * from './submission-container-element-response'; +export * from './submission-item-response'; +export * from './submission-status-list-response'; +export * from './submission-status-response'; +export * from './submissions-response'; +export * from './successful-response'; +export * from './system-for-ldap-login-response'; +export * from './system-type'; +export * from './target-info-response'; +export * from './task-copy-api-params'; +export * from './task-list-response'; +export * from './task-response'; +export * from './task-status-response'; +export * from './teacher-permission-params'; +export * from './team-permissions-body'; +export * from './timestamps-response'; +export * from './timezone'; +export * from './tool-config-type'; +export * from './tool-context-type'; +export * from './tool-context-types-list-response'; +export * from './tool-launch-request-response'; +export * from './tool-reference-list-response'; +export * from './tool-reference-response'; +export * from './update-board-title-params'; +export * from './update-element-content-body-params'; +export * from './update-flag-params'; +export * from './update-match-params'; +export * from './update-news-params'; +export * from './update-submission-item-body-params'; +export * from './user-consent-response'; +export * from './user-data-response'; +export * from './user-info-response'; +export * from './user-list-response'; +export * from './user-login-migration-mandatory-params'; +export * from './user-login-migration-response'; +export * from './user-login-migration-search-list-response'; +export * from './user-match-list-response'; +export * from './user-match-response'; +export * from './user-response'; +export * from './validation-error'; +export * from './video-conference-create-params'; +export * from './video-conference-info-response'; +export * from './video-conference-join-response'; +export * from './video-conference-options-response'; +export * from './video-conference-scope'; +export * from './video-conference-state-response'; +export * from './visibility-body-params'; +export * from './visibility-settings-response'; +export * from './years-response'; diff --git a/src/serverApi/v3/models/instance-feature.ts b/src/serverApi/v3/models/instance-feature.ts new file mode 100644 index 0000000..082b9e3 --- /dev/null +++ b/src/serverApi/v3/models/instance-feature.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum InstanceFeature { + IS_TEAM_CREATION_BY_STUDENTS_ENABLED = 'isTeamCreationByStudentsEnabled' +} + + + diff --git a/src/serverApi/v3/models/language-type.ts b/src/serverApi/v3/models/language-type.ts new file mode 100644 index 0000000..b5bc323 --- /dev/null +++ b/src/serverApi/v3/models/language-type.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum LanguageType { + DE = 'de', + EN = 'en', + ES = 'es', + UK = 'uk' +} + + + diff --git a/src/serverApi/v3/models/layout-body-params.ts b/src/serverApi/v3/models/layout-body-params.ts new file mode 100644 index 0000000..8596bc3 --- /dev/null +++ b/src/serverApi/v3/models/layout-body-params.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MediaBoardLayoutType } from './media-board-layout-type'; + +/** + * + * @export + * @interface LayoutBodyParams + */ +export interface LayoutBodyParams { + /** + * + * @type {MediaBoardLayoutType} + * @memberof LayoutBodyParams + */ + layout: MediaBoardLayoutType; +} + + diff --git a/src/serverApi/v3/models/ldap-authorization-body-params.ts b/src/serverApi/v3/models/ldap-authorization-body-params.ts new file mode 100644 index 0000000..7aedde9 --- /dev/null +++ b/src/serverApi/v3/models/ldap-authorization-body-params.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LdapAuthorizationBodyParams + */ +export interface LdapAuthorizationBodyParams { + /** + * + * @type {string} + * @memberof LdapAuthorizationBodyParams + */ + systemId: string; + /** + * + * @type {string} + * @memberof LdapAuthorizationBodyParams + */ + username: string; + /** + * + * @type {string} + * @memberof LdapAuthorizationBodyParams + */ + password: string; + /** + * + * @type {string} + * @memberof LdapAuthorizationBodyParams + */ + schoolId: string; +} + + diff --git a/src/serverApi/v3/models/lesson-content-response.ts b/src/serverApi/v3/models/lesson-content-response.ts new file mode 100644 index 0000000..a41820e --- /dev/null +++ b/src/serverApi/v3/models/lesson-content-response.ts @@ -0,0 +1,76 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LessonContentResponse + */ +export interface LessonContentResponse { + /** + * + * @type {object} + * @memberof LessonContentResponse + */ + content: object; + /** + * The id of the Material entity + * @type {string} + * @memberof LessonContentResponse + * @deprecated + */ + _id: string; + /** + * The id of the Material entity + * @type {string} + * @memberof LessonContentResponse + */ + id: string; + /** + * Title of the Material entity + * @type {string} + * @memberof LessonContentResponse + */ + title: string; + /** + * + * @type {string} + * @memberof LessonContentResponse + */ + component: LessonContentResponseComponent; + /** + * + * @type {boolean} + * @memberof LessonContentResponse + */ + hidden: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum LessonContentResponseComponent { + ETHERPAD = 'Etherpad', + GEO_GEBRA = 'geoGebra', + INTERNAL = 'internal', + RESOURCES = 'resources', + TEXT = 'text', + NE_XBOARD = 'neXboard' +} + + + diff --git a/src/serverApi/v3/models/lesson-copy-api-params.ts b/src/serverApi/v3/models/lesson-copy-api-params.ts new file mode 100644 index 0000000..dae9382 --- /dev/null +++ b/src/serverApi/v3/models/lesson-copy-api-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LessonCopyApiParams + */ +export interface LessonCopyApiParams { + /** + * Destination course parent Id the lesson is copied to + * @type {string} + * @memberof LessonCopyApiParams + */ + courseId?: string; +} + + diff --git a/src/serverApi/v3/models/lesson-metadata-list-response.ts b/src/serverApi/v3/models/lesson-metadata-list-response.ts new file mode 100644 index 0000000..36beee8 --- /dev/null +++ b/src/serverApi/v3/models/lesson-metadata-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LessonMetadataResponse } from './lesson-metadata-response'; + +/** + * + * @export + * @interface LessonMetadataListResponse + */ +export interface LessonMetadataListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof LessonMetadataListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof LessonMetadataListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof LessonMetadataListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof LessonMetadataListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/lesson-metadata-response.ts b/src/serverApi/v3/models/lesson-metadata-response.ts new file mode 100644 index 0000000..b62574d --- /dev/null +++ b/src/serverApi/v3/models/lesson-metadata-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LessonMetadataResponse + */ +export interface LessonMetadataResponse { + /** + * The id of the Lesson entity + * @type {string} + * @memberof LessonMetadataResponse + */ + _id: string; + /** + * Name of the Lesson entity + * @type {string} + * @memberof LessonMetadataResponse + */ + name: string; +} + + diff --git a/src/serverApi/v3/models/lesson-response.ts b/src/serverApi/v3/models/lesson-response.ts new file mode 100644 index 0000000..4e50d0f --- /dev/null +++ b/src/serverApi/v3/models/lesson-response.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LessonContentResponse } from './lesson-content-response'; +import { MaterialResponse } from './material-response'; + +/** + * + * @export + * @interface LessonResponse + */ +export interface LessonResponse { + /** + * The id of the Lesson entity + * @type {string} + * @memberof LessonResponse + * @deprecated + */ + _id: string; + /** + * The id of the Lesson entity + * @type {string} + * @memberof LessonResponse + */ + id: string; + /** + * Name of the Lesson entity + * @type {string} + * @memberof LessonResponse + */ + name: string; + /** + * The id of the Course entity + * @type {string} + * @memberof LessonResponse + */ + courseId?: string; + /** + * The id of the Course-group entity + * @type {string} + * @memberof LessonResponse + */ + courseGroupId?: string; + /** + * Hidden status of the Lesson entity + * @type {boolean} + * @memberof LessonResponse + */ + hidden: boolean; + /** + * Position of the Lesson entity + * @type {number} + * @memberof LessonResponse + */ + position: number; + /** + * Contents of the Lesson entity + * @type {Array} + * @memberof LessonResponse + */ + contents: Array; + /** + * Materials of the Lesson entity + * @type {Array} + * @memberof LessonResponse + */ + materials: Array; +} + + diff --git a/src/serverApi/v3/models/link-content-body.ts b/src/serverApi/v3/models/link-content-body.ts new file mode 100644 index 0000000..a320815 --- /dev/null +++ b/src/serverApi/v3/models/link-content-body.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LinkContentBody + */ +export interface LinkContentBody { + /** + * + * @type {string} + * @memberof LinkContentBody + */ + url: string; + /** + * + * @type {string} + * @memberof LinkContentBody + */ + title: string; + /** + * + * @type {string} + * @memberof LinkContentBody + */ + description: string; + /** + * + * @type {string} + * @memberof LinkContentBody + */ + imageUrl: string; +} + + diff --git a/src/serverApi/v3/models/link-element-content-body.ts b/src/serverApi/v3/models/link-element-content-body.ts new file mode 100644 index 0000000..10769e1 --- /dev/null +++ b/src/serverApi/v3/models/link-element-content-body.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { LinkContentBody } from './link-content-body'; + +/** + * + * @export + * @interface LinkElementContentBody + */ +export interface LinkElementContentBody { + /** + * + * @type {ContentElementType} + * @memberof LinkElementContentBody + */ + type: ContentElementType; + /** + * + * @type {LinkContentBody} + * @memberof LinkElementContentBody + */ + content: LinkContentBody; +} + + diff --git a/src/serverApi/v3/models/link-element-content.ts b/src/serverApi/v3/models/link-element-content.ts new file mode 100644 index 0000000..e11d853 --- /dev/null +++ b/src/serverApi/v3/models/link-element-content.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LinkElementContent + */ +export interface LinkElementContent { + /** + * + * @type {string} + * @memberof LinkElementContent + */ + url: string; + /** + * + * @type {string} + * @memberof LinkElementContent + */ + title: string; + /** + * + * @type {string} + * @memberof LinkElementContent + */ + description?: string; + /** + * + * @type {string} + * @memberof LinkElementContent + */ + imageUrl?: string; +} + + diff --git a/src/serverApi/v3/models/link-element-response.ts b/src/serverApi/v3/models/link-element-response.ts new file mode 100644 index 0000000..8216523 --- /dev/null +++ b/src/serverApi/v3/models/link-element-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { LinkElementContent } from './link-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface LinkElementResponse + */ +export interface LinkElementResponse { + /** + * + * @type {string} + * @memberof LinkElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof LinkElementResponse + */ + type: ContentElementType; + /** + * + * @type {LinkElementContent} + * @memberof LinkElementResponse + */ + content: LinkElementContent; + /** + * + * @type {TimestampsResponse} + * @memberof LinkElementResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/local-authorization-body-params.ts b/src/serverApi/v3/models/local-authorization-body-params.ts new file mode 100644 index 0000000..4308538 --- /dev/null +++ b/src/serverApi/v3/models/local-authorization-body-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LocalAuthorizationBodyParams + */ +export interface LocalAuthorizationBodyParams { + /** + * + * @type {string} + * @memberof LocalAuthorizationBodyParams + */ + username: string; + /** + * + * @type {string} + * @memberof LocalAuthorizationBodyParams + */ + password: string; +} + + diff --git a/src/serverApi/v3/models/login-request-body.ts b/src/serverApi/v3/models/login-request-body.ts new file mode 100644 index 0000000..c57f11c --- /dev/null +++ b/src/serverApi/v3/models/login-request-body.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LoginRequestBody + */ +export interface LoginRequestBody { + /** + * The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied. + * @type {string} + * @memberof LoginRequestBody + */ + error?: string; + /** + * Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs. + * @type {string} + * @memberof LoginRequestBody + */ + error_debug?: string; + /** + * Description of the error in a human readable format. + * @type {string} + * @memberof LoginRequestBody + */ + error_description?: string; + /** + * Hint to help resolve the error. + * @type {string} + * @memberof LoginRequestBody + */ + error_hint?: string; + /** + * Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400. + * @type {number} + * @memberof LoginRequestBody + */ + status_code?: number; + /** + * Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope. + * @type {boolean} + * @memberof LoginRequestBody + */ + remember?: boolean; + /** + * RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely. + * @type {number} + * @memberof LoginRequestBody + */ + remember_for?: number; +} + + diff --git a/src/serverApi/v3/models/login-response.ts b/src/serverApi/v3/models/login-response.ts new file mode 100644 index 0000000..ace81b4 --- /dev/null +++ b/src/serverApi/v3/models/login-response.ts @@ -0,0 +1,87 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { OauthClientResponse } from './oauth-client-response'; +import { OidcContextResponse } from './oidc-context-response'; + +/** + * + * @export + * @interface LoginResponse + */ +export interface LoginResponse { + /** + * Id of the corresponding client. + * @type {string} + * @memberof LoginResponse + */ + client_id: string; + /** + * The id/challenge of the consent login request. + * @type {string} + * @memberof LoginResponse + */ + challenge: string; + /** + * + * @type {OauthClientResponse} + * @memberof LoginResponse + */ + client: OauthClientResponse; + /** + * + * @type {OidcContextResponse} + * @memberof LoginResponse + */ + oidc_context: OidcContextResponse; + /** + * The original oauth2.0 authorization url request by the client. + * @type {string} + * @memberof LoginResponse + */ + request_url: string; + /** + * + * @type {Array} + * @memberof LoginResponse + */ + requested_access_token_audience: Array; + /** + * The request scopes of the login request. + * @type {Array} + * @memberof LoginResponse + */ + requested_scope?: Array; + /** + * The login session id. This parameter is used as sid for the oidc front-/backchannel logout. + * @type {string} + * @memberof LoginResponse + */ + session_id: string; + /** + * Skip, if true, implies that the client has requested the same scopes from the same user previously. + * @type {boolean} + * @memberof LoginResponse + */ + skip: boolean; + /** + * User id of the end-user that is authenticated. + * @type {string} + * @memberof LoginResponse + */ + subject: string; +} + + diff --git a/src/serverApi/v3/models/lti-message-type.ts b/src/serverApi/v3/models/lti-message-type.ts new file mode 100644 index 0000000..451ee51 --- /dev/null +++ b/src/serverApi/v3/models/lti-message-type.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum LtiMessageType { + BASIC_LTI_LAUNCH_REQUEST = 'basic-lti-launch-request' +} + + + diff --git a/src/serverApi/v3/models/lti-privacy-permission.ts b/src/serverApi/v3/models/lti-privacy-permission.ts new file mode 100644 index 0000000..905853f --- /dev/null +++ b/src/serverApi/v3/models/lti-privacy-permission.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum LtiPrivacyPermission { + ANONYMOUS = 'anonymous', + E_MAIL = 'e-mail', + NAME = 'name', + PUBLIC = 'public', + PSEUDONYMOUS = 'pseudonymous' +} + + + diff --git a/src/serverApi/v3/models/lti11-tool-config-create-params.ts b/src/serverApi/v3/models/lti11-tool-config-create-params.ts new file mode 100644 index 0000000..1b095ce --- /dev/null +++ b/src/serverApi/v3/models/lti11-tool-config-create-params.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LtiMessageType } from './lti-message-type'; +import { LtiPrivacyPermission } from './lti-privacy-permission'; +import { ToolConfigType } from './tool-config-type'; + +/** + * + * @export + * @interface Lti11ToolConfigCreateParams + */ +export interface Lti11ToolConfigCreateParams { + /** + * + * @type {ToolConfigType} + * @memberof Lti11ToolConfigCreateParams + */ + type: ToolConfigType; + /** + * + * @type {string} + * @memberof Lti11ToolConfigCreateParams + */ + baseUrl: string; + /** + * + * @type {string} + * @memberof Lti11ToolConfigCreateParams + */ + key: string; + /** + * + * @type {string} + * @memberof Lti11ToolConfigCreateParams + */ + secret: string; + /** + * + * @type {LtiMessageType} + * @memberof Lti11ToolConfigCreateParams + */ + lti_message_type: LtiMessageType; + /** + * + * @type {LtiPrivacyPermission} + * @memberof Lti11ToolConfigCreateParams + */ + privacy_permission: LtiPrivacyPermission; + /** + * + * @type {string} + * @memberof Lti11ToolConfigCreateParams + */ + launch_presentation_locale: string; +} + + diff --git a/src/serverApi/v3/models/lti11-tool-config-update-params.ts b/src/serverApi/v3/models/lti11-tool-config-update-params.ts new file mode 100644 index 0000000..2d64d7c --- /dev/null +++ b/src/serverApi/v3/models/lti11-tool-config-update-params.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LtiMessageType } from './lti-message-type'; +import { LtiPrivacyPermission } from './lti-privacy-permission'; +import { ToolConfigType } from './tool-config-type'; + +/** + * + * @export + * @interface Lti11ToolConfigUpdateParams + */ +export interface Lti11ToolConfigUpdateParams { + /** + * + * @type {ToolConfigType} + * @memberof Lti11ToolConfigUpdateParams + */ + type: ToolConfigType; + /** + * + * @type {string} + * @memberof Lti11ToolConfigUpdateParams + */ + baseUrl: string; + /** + * + * @type {string} + * @memberof Lti11ToolConfigUpdateParams + */ + key: string; + /** + * + * @type {string} + * @memberof Lti11ToolConfigUpdateParams + */ + secret?: string; + /** + * + * @type {LtiMessageType} + * @memberof Lti11ToolConfigUpdateParams + */ + lti_message_type: LtiMessageType; + /** + * + * @type {LtiPrivacyPermission} + * @memberof Lti11ToolConfigUpdateParams + */ + privacy_permission: LtiPrivacyPermission; + /** + * + * @type {string} + * @memberof Lti11ToolConfigUpdateParams + */ + launch_presentation_locale: string; +} + + diff --git a/src/serverApi/v3/models/material-response.ts b/src/serverApi/v3/models/material-response.ts new file mode 100644 index 0000000..7b03683 --- /dev/null +++ b/src/serverApi/v3/models/material-response.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MaterialResponse + */ +export interface MaterialResponse { + /** + * The id of the Material entity + * @type {string} + * @memberof MaterialResponse + */ + _id: string; + /** + * The id of the Material entity + * @type {string} + * @memberof MaterialResponse + */ + id: string; + /** + * Title of the Material entity + * @type {string} + * @memberof MaterialResponse + */ + title: string; + /** + * ? + * @type {Array} + * @memberof MaterialResponse + */ + relatedResources: Array; + /** + * Url of the material + * @type {string} + * @memberof MaterialResponse + */ + url: string; + /** + * Position of the Lesson entity + * @type {string} + * @memberof MaterialResponse + */ + client: string; + /** + * Description of the material license + * @type {Array} + * @memberof MaterialResponse + */ + license: Array; + /** + * For material from Merlin, the Merlin reference + * @type {string} + * @memberof MaterialResponse + */ + merlinReference: string; +} + + diff --git a/src/serverApi/v3/models/me-account-response.ts b/src/serverApi/v3/models/me-account-response.ts new file mode 100644 index 0000000..c2e9789 --- /dev/null +++ b/src/serverApi/v3/models/me-account-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MeAccountResponse + */ +export interface MeAccountResponse { + /** + * + * @type {string} + * @memberof MeAccountResponse + */ + id: string; +} + + diff --git a/src/serverApi/v3/models/me-response.ts b/src/serverApi/v3/models/me-response.ts new file mode 100644 index 0000000..de91a77 --- /dev/null +++ b/src/serverApi/v3/models/me-response.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LanguageType } from './language-type'; +import { MeAccountResponse } from './me-account-response'; +import { MeRoleResponse } from './me-role-response'; +import { MeSchoolResponse } from './me-school-response'; +import { MeUserResponse } from './me-user-response'; + +/** + * + * @export + * @interface MeResponse + */ +export interface MeResponse { + /** + * + * @type {MeSchoolResponse} + * @memberof MeResponse + */ + school: MeSchoolResponse; + /** + * + * @type {MeUserResponse} + * @memberof MeResponse + */ + user: MeUserResponse; + /** + * + * @type {Array} + * @memberof MeResponse + */ + roles: Array; + /** + * + * @type {Array} + * @memberof MeResponse + */ + permissions: Array; + /** + * + * @type {LanguageType} + * @memberof MeResponse + */ + language: LanguageType; + /** + * + * @type {MeAccountResponse} + * @memberof MeResponse + */ + account: MeAccountResponse; +} + + diff --git a/src/serverApi/v3/models/me-role-response.ts b/src/serverApi/v3/models/me-role-response.ts new file mode 100644 index 0000000..10cc574 --- /dev/null +++ b/src/serverApi/v3/models/me-role-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MeRoleResponse + */ +export interface MeRoleResponse { + /** + * + * @type {string} + * @memberof MeRoleResponse + */ + id: string; + /** + * + * @type {string} + * @memberof MeRoleResponse + */ + name: string; +} + + diff --git a/src/serverApi/v3/models/me-school-logo-response.ts b/src/serverApi/v3/models/me-school-logo-response.ts new file mode 100644 index 0000000..ba1bffe --- /dev/null +++ b/src/serverApi/v3/models/me-school-logo-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MeSchoolLogoResponse + */ +export interface MeSchoolLogoResponse { + /** + * + * @type {string} + * @memberof MeSchoolLogoResponse + */ + url?: string; + /** + * + * @type {string} + * @memberof MeSchoolLogoResponse + */ + name?: string; +} + + diff --git a/src/serverApi/v3/models/me-school-response.ts b/src/serverApi/v3/models/me-school-response.ts new file mode 100644 index 0000000..1a0a1de --- /dev/null +++ b/src/serverApi/v3/models/me-school-response.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MeSchoolLogoResponse } from './me-school-logo-response'; + +/** + * + * @export + * @interface MeSchoolResponse + */ +export interface MeSchoolResponse { + /** + * + * @type {string} + * @memberof MeSchoolResponse + */ + id: string; + /** + * + * @type {string} + * @memberof MeSchoolResponse + */ + name: string; + /** + * + * @type {MeSchoolLogoResponse} + * @memberof MeSchoolResponse + */ + logo: MeSchoolLogoResponse; +} + + diff --git a/src/serverApi/v3/models/me-user-response.ts b/src/serverApi/v3/models/me-user-response.ts new file mode 100644 index 0000000..ac35a38 --- /dev/null +++ b/src/serverApi/v3/models/me-user-response.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MeUserResponse + */ +export interface MeUserResponse { + /** + * + * @type {string} + * @memberof MeUserResponse + */ + id: string; + /** + * + * @type {string} + * @memberof MeUserResponse + */ + firstName: string; + /** + * + * @type {string} + * @memberof MeUserResponse + */ + lastName: string; + /** + * + * @type {string} + * @memberof MeUserResponse + */ + customAvatarBackgroundColor?: string; +} + + diff --git a/src/serverApi/v3/models/media-available-line-element-response.ts b/src/serverApi/v3/models/media-available-line-element-response.ts new file mode 100644 index 0000000..d644761 --- /dev/null +++ b/src/serverApi/v3/models/media-available-line-element-response.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MediaAvailableLineElementResponse + */ +export interface MediaAvailableLineElementResponse { + /** + * School External tool id of the media available line element + * @type {string} + * @memberof MediaAvailableLineElementResponse + */ + schoolExternalToolId: string; + /** + * Name of the media available line element + * @type {string} + * @memberof MediaAvailableLineElementResponse + */ + name: string; + /** + * Description of the media available line element + * @type {string} + * @memberof MediaAvailableLineElementResponse + */ + description?: string; + /** + * Logo url of the media available line element + * @type {string} + * @memberof MediaAvailableLineElementResponse + */ + logoUrl?: string; + /** + * Thumbnail url of the media available line element + * @type {string} + * @memberof MediaAvailableLineElementResponse + */ + thumbnailUrl?: string; +} + + diff --git a/src/serverApi/v3/models/media-available-line-response.ts b/src/serverApi/v3/models/media-available-line-response.ts new file mode 100644 index 0000000..95f7de6 --- /dev/null +++ b/src/serverApi/v3/models/media-available-line-response.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MediaAvailableLineElementResponse } from './media-available-line-element-response'; +import { MediaBoardColors } from './media-board-colors'; + +/** + * + * @export + * @interface MediaAvailableLineResponse + */ +export interface MediaAvailableLineResponse { + /** + * Available media elements in the line + * @type {Array} + * @memberof MediaAvailableLineResponse + */ + elements: Array; + /** + * + * @type {MediaBoardColors} + * @memberof MediaAvailableLineResponse + */ + backgroundColor: MediaBoardColors; + /** + * Collapse available media line + * @type {boolean} + * @memberof MediaAvailableLineResponse + */ + collapsed: boolean; +} + + diff --git a/src/serverApi/v3/models/media-board-colors.ts b/src/serverApi/v3/models/media-board-colors.ts new file mode 100644 index 0000000..ec79094 --- /dev/null +++ b/src/serverApi/v3/models/media-board-colors.ts @@ -0,0 +1,46 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum MediaBoardColors { + TRANSPARENT = 'transparent', + RED = 'red', + PINK = 'pink', + PURPLE = 'purple', + DEEP_PURPLE = 'deepPurple', + INDIGO = 'indigo', + BLUE = 'blue', + LIGHT_BLUE = 'lightBlue', + CYAN = 'cyan', + TEAL = 'teal', + GREEN = 'green', + LIGHT_GREEN = 'lightGreen', + LIME = 'lime', + YELLOW = 'yellow', + AMBER = 'amber', + ORANGE = 'orange', + DEEP_ORANGE = 'deepOrange', + BROWN = 'brown', + GREY = 'grey', + BLUE_GREY = 'blueGrey' +} + + + diff --git a/src/serverApi/v3/models/media-board-layout-type.ts b/src/serverApi/v3/models/media-board-layout-type.ts new file mode 100644 index 0000000..2bd537f --- /dev/null +++ b/src/serverApi/v3/models/media-board-layout-type.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum MediaBoardLayoutType { + COLUMNS = 'columns', + LIST = 'list', + GRID = 'grid' +} + + + diff --git a/src/serverApi/v3/models/media-board-response.ts b/src/serverApi/v3/models/media-board-response.ts new file mode 100644 index 0000000..31caab8 --- /dev/null +++ b/src/serverApi/v3/models/media-board-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MediaBoardLayoutType } from './media-board-layout-type'; +import { MediaLineResponse } from './media-line-response'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface MediaBoardResponse + */ +export interface MediaBoardResponse { + /** + * The id of the media board + * @type {string} + * @memberof MediaBoardResponse + */ + id: string; + /** + * The lines of the media board + * @type {Array} + * @memberof MediaBoardResponse + */ + lines: Array; + /** + * The timestamps of the media board + * @type {TimestampsResponse} + * @memberof MediaBoardResponse + */ + timestamps: TimestampsResponse; + /** + * + * @type {MediaBoardLayoutType} + * @memberof MediaBoardResponse + */ + layout: MediaBoardLayoutType; +} + + diff --git a/src/serverApi/v3/models/media-external-tool-element-content.ts b/src/serverApi/v3/models/media-external-tool-element-content.ts new file mode 100644 index 0000000..1db2f10 --- /dev/null +++ b/src/serverApi/v3/models/media-external-tool-element-content.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MediaExternalToolElementContent + */ +export interface MediaExternalToolElementContent { + /** + * The id of the context external tool + * @type {string} + * @memberof MediaExternalToolElementContent + */ + contextExternalToolId: string; +} + + diff --git a/src/serverApi/v3/models/media-external-tool-element-response.ts b/src/serverApi/v3/models/media-external-tool-element-response.ts new file mode 100644 index 0000000..63e95c4 --- /dev/null +++ b/src/serverApi/v3/models/media-external-tool-element-response.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MediaExternalToolElementContent } from './media-external-tool-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface MediaExternalToolElementResponse + */ +export interface MediaExternalToolElementResponse { + /** + * The id of the media external tool element + * @type {string} + * @memberof MediaExternalToolElementResponse + */ + id: string; + /** + * The content of the media external tool element + * @type {MediaExternalToolElementContent} + * @memberof MediaExternalToolElementResponse + */ + content: MediaExternalToolElementContent; + /** + * The timestamps of the media external tool element + * @type {TimestampsResponse} + * @memberof MediaExternalToolElementResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/media-line-response.ts b/src/serverApi/v3/models/media-line-response.ts new file mode 100644 index 0000000..b78be46 --- /dev/null +++ b/src/serverApi/v3/models/media-line-response.ts @@ -0,0 +1,64 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MediaBoardColors } from './media-board-colors'; +import { MediaExternalToolElementResponse } from './media-external-tool-element-response'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface MediaLineResponse + */ +export interface MediaLineResponse { + /** + * The id of the media line + * @type {string} + * @memberof MediaLineResponse + */ + id: string; + /** + * The title of the media line + * @type {string} + * @memberof MediaLineResponse + */ + title: string; + /** + * The elements of the media line + * @type {Array} + * @memberof MediaLineResponse + */ + elements: Array; + /** + * The timestamps of the media line + * @type {TimestampsResponse} + * @memberof MediaLineResponse + */ + timestamps: TimestampsResponse; + /** + * + * @type {MediaBoardColors} + * @memberof MediaLineResponse + */ + backgroundColor: MediaBoardColors; + /** + * Collapse the media line + * @type {boolean} + * @memberof MediaLineResponse + */ + collapsed: boolean; +} + + diff --git a/src/serverApi/v3/models/message-origin.ts b/src/serverApi/v3/models/message-origin.ts new file mode 100644 index 0000000..d40c815 --- /dev/null +++ b/src/serverApi/v3/models/message-origin.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MessageOrigin + */ +export interface MessageOrigin { + /** + * + * @type {number} + * @memberof MessageOrigin + */ + message_id: number; + /** + * + * @type {string} + * @memberof MessageOrigin + */ + page: string; +} + + diff --git a/src/serverApi/v3/models/message.ts b/src/serverApi/v3/models/message.ts new file mode 100644 index 0000000..15921bc --- /dev/null +++ b/src/serverApi/v3/models/message.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MessageOrigin } from './message-origin'; + +/** + * + * @export + * @interface Message + */ +export interface Message { + /** + * + * @type {string} + * @memberof Message + */ + title: string; + /** + * + * @type {string} + * @memberof Message + */ + text: string; + /** + * + * @type {string} + * @memberof Message + */ + timestamp: string; + /** + * + * @type {MessageOrigin} + * @memberof Message + */ + origin: MessageOrigin; + /** + * + * @type {string} + * @memberof Message + */ + url: string; + /** + * + * @type {string} + * @memberof Message + */ + status: string; + /** + * + * @type {string} + * @memberof Message + */ + createdAt: string; +} + + diff --git a/src/serverApi/v3/models/meta-tag-extractor-response.ts b/src/serverApi/v3/models/meta-tag-extractor-response.ts new file mode 100644 index 0000000..8d755f5 --- /dev/null +++ b/src/serverApi/v3/models/meta-tag-extractor-response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MetaTagExtractorResponse + */ +export interface MetaTagExtractorResponse { + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + url: string; + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + title: string; + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + description: string; + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + imageUrl: string; + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + type: string; + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + parentTitle: string; + /** + * + * @type {string} + * @memberof MetaTagExtractorResponse + */ + parentType: string; +} + + diff --git a/src/serverApi/v3/models/move-card-body-params.ts b/src/serverApi/v3/models/move-card-body-params.ts new file mode 100644 index 0000000..c6fcef2 --- /dev/null +++ b/src/serverApi/v3/models/move-card-body-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MoveCardBodyParams + */ +export interface MoveCardBodyParams { + /** + * + * @type {string} + * @memberof MoveCardBodyParams + */ + toColumnId: string; + /** + * + * @type {number} + * @memberof MoveCardBodyParams + */ + toPosition: number; +} + + diff --git a/src/serverApi/v3/models/move-column-body-params.ts b/src/serverApi/v3/models/move-column-body-params.ts new file mode 100644 index 0000000..fb8d54c --- /dev/null +++ b/src/serverApi/v3/models/move-column-body-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MoveColumnBodyParams + */ +export interface MoveColumnBodyParams { + /** + * The id of the target board + * @type {string} + * @memberof MoveColumnBodyParams + */ + toBoardId: string; + /** + * + * @type {number} + * @memberof MoveColumnBodyParams + */ + toPosition: number; +} + + diff --git a/src/serverApi/v3/models/move-content-element-body.ts b/src/serverApi/v3/models/move-content-element-body.ts new file mode 100644 index 0000000..33a65a8 --- /dev/null +++ b/src/serverApi/v3/models/move-content-element-body.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MoveContentElementBody + */ +export interface MoveContentElementBody { + /** + * + * @type {string} + * @memberof MoveContentElementBody + */ + toCardId: string; + /** + * + * @type {number} + * @memberof MoveContentElementBody + */ + toPosition: number; +} + + diff --git a/src/serverApi/v3/models/move-element-body-params.ts b/src/serverApi/v3/models/move-element-body-params.ts new file mode 100644 index 0000000..ea2a44a --- /dev/null +++ b/src/serverApi/v3/models/move-element-body-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MoveElementBodyParams + */ +export interface MoveElementBodyParams { + /** + * The id of the line where the element is moved to + * @type {string} + * @memberof MoveElementBodyParams + */ + toLineId: string; + /** + * The position where the element is moved to + * @type {number} + * @memberof MoveElementBodyParams + */ + toPosition: number; +} + + diff --git a/src/serverApi/v3/models/move-element-params.ts b/src/serverApi/v3/models/move-element-params.ts new file mode 100644 index 0000000..71e88f1 --- /dev/null +++ b/src/serverApi/v3/models/move-element-params.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { MoveElementPositionParams } from './move-element-position-params'; + +/** + * + * @export + * @interface MoveElementParams + */ +export interface MoveElementParams { + /** + * + * @type {MoveElementPositionParams} + * @memberof MoveElementParams + */ + from: MoveElementPositionParams; + /** + * + * @type {MoveElementPositionParams} + * @memberof MoveElementParams + */ + to: MoveElementPositionParams; +} + + diff --git a/src/serverApi/v3/models/move-element-position-params.ts b/src/serverApi/v3/models/move-element-position-params.ts new file mode 100644 index 0000000..f728249 --- /dev/null +++ b/src/serverApi/v3/models/move-element-position-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface MoveElementPositionParams + */ +export interface MoveElementPositionParams { + /** + * + * @type {number} + * @memberof MoveElementPositionParams + */ + x: number; + /** + * + * @type {number} + * @memberof MoveElementPositionParams + */ + y: number; + /** + * used to identify a position within a group. + * @type {number} + * @memberof MoveElementPositionParams + */ + groupIndex?: number; +} + + diff --git a/src/serverApi/v3/models/news-list-response.ts b/src/serverApi/v3/models/news-list-response.ts new file mode 100644 index 0000000..a2e955c --- /dev/null +++ b/src/serverApi/v3/models/news-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { NewsResponse } from './news-response'; + +/** + * + * @export + * @interface NewsListResponse + */ +export interface NewsListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof NewsListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof NewsListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof NewsListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof NewsListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/news-response.ts b/src/serverApi/v3/models/news-response.ts new file mode 100644 index 0000000..af1c311 --- /dev/null +++ b/src/serverApi/v3/models/news-response.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { NewsTargetModel } from './news-target-model'; +import { SchoolInfoResponse } from './school-info-response'; +import { TargetInfoResponse } from './target-info-response'; +import { UserInfoResponse } from './user-info-response'; + +/** + * + * @export + * @interface NewsResponse + */ +export interface NewsResponse { + /** + * The id of the News entity + * @type {string} + * @memberof NewsResponse + */ + id: string; + /** + * Title of the News entity + * @type {string} + * @memberof NewsResponse + */ + title: string; + /** + * Content of the News entity + * @type {string} + * @memberof NewsResponse + */ + content: string; + /** + * The point in time from when the News entity schould be displayed + * @type {string} + * @memberof NewsResponse + */ + displayAt: string; + /** + * The type of source of the News entity + * @type {string} + * @memberof NewsResponse + */ + source?: NewsResponseSource; + /** + * The source description of the News entity + * @type {string} + * @memberof NewsResponse + */ + sourceDescription?: string; + /** + * + * @type {NewsTargetModel} + * @memberof NewsResponse + */ + targetModel: NewsTargetModel; + /** + * Specific target id to which the News entity is related + * @type {string} + * @memberof NewsResponse + */ + targetId: string; + /** + * The target object with id and name, could be the school, team, or course name + * @type {TargetInfoResponse} + * @memberof NewsResponse + */ + target: TargetInfoResponse; + /** + * The School ownership + * @type {SchoolInfoResponse} + * @memberof NewsResponse + */ + school: SchoolInfoResponse; + /** + * Reference to the User that created the News entity + * @type {UserInfoResponse} + * @memberof NewsResponse + */ + creator: UserInfoResponse; + /** + * Reference to the User that updated the News entity + * @type {UserInfoResponse} + * @memberof NewsResponse + */ + updater?: UserInfoResponse; + /** + * The creation timestamp + * @type {string} + * @memberof NewsResponse + */ + createdAt: string; + /** + * The update timestamp + * @type {string} + * @memberof NewsResponse + */ + updatedAt: string; + /** + * List of permissions the current user has for the News entity + * @type {Array} + * @memberof NewsResponse + */ + permissions: Array; +} + +/** + * @export + * @enum {string} + */ +export enum NewsResponseSource { + INTERNAL = 'internal', + RSS = 'rss' +} + + + diff --git a/src/serverApi/v3/models/news-target-model.ts b/src/serverApi/v3/models/news-target-model.ts new file mode 100644 index 0000000..740df38 --- /dev/null +++ b/src/serverApi/v3/models/news-target-model.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum NewsTargetModel { + SCHOOLS = 'schools', + COURSES = 'courses', + TEAMS = 'teams' +} + + + diff --git a/src/serverApi/v3/models/oauth-client-create-body.ts b/src/serverApi/v3/models/oauth-client-create-body.ts new file mode 100644 index 0000000..eb743bb --- /dev/null +++ b/src/serverApi/v3/models/oauth-client-create-body.ts @@ -0,0 +1,85 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface OauthClientCreateBody + */ +export interface OauthClientCreateBody { + /** + * The Oauth2 client id. + * @type {string} + * @memberof OauthClientCreateBody + */ + client_id: string; + /** + * The Oauth2 client name. + * @type {string} + * @memberof OauthClientCreateBody + */ + client_name: string; + /** + * The Oauth2 client secret. + * @type {string} + * @memberof OauthClientCreateBody + */ + client_secret: string; + /** + * The allowed redirect urls of the Oauth2 client. + * @type {Array} + * @memberof OauthClientCreateBody + */ + redirect_uris?: Array; + /** + * Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none. + * @type {string} + * @memberof OauthClientCreateBody + */ + token_endpoint_auth_method: string; + /** + * SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public. + * @type {string} + * @memberof OauthClientCreateBody + */ + subject_type: string; + /** + * Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens. + * @type {string} + * @memberof OauthClientCreateBody + */ + scope?: string; + /** + * Thr frontchannel logout uri. + * @type {string} + * @memberof OauthClientCreateBody + */ + frontchannel_logout_uri?: string; + /** + * The grant types of the Oauth2 client. + * @type {Array} + * @memberof OauthClientCreateBody + */ + grant_types?: Array; + /** + * The response types of the Oauth2 client. + * @type {Array} + * @memberof OauthClientCreateBody + */ + response_types?: Array; +} + + diff --git a/src/serverApi/v3/models/oauth-client-response.ts b/src/serverApi/v3/models/oauth-client-response.ts new file mode 100644 index 0000000..4891fa4 --- /dev/null +++ b/src/serverApi/v3/models/oauth-client-response.ts @@ -0,0 +1,301 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface OauthClientResponse + */ +export interface OauthClientResponse { + /** + * + * @type {Array} + * @memberof OauthClientResponse + */ + allowed_cors_origins?: Array; + /** + * + * @type {Array} + * @memberof OauthClientResponse + */ + audience: Array; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + authorization_code_grant_access_token_lifespan: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + authorization_code_grant_id_token_lifespan: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + authorization_code_grant_refresh_token_lifespan: string; + /** + * Boolean value specifying whether the RP requires that a sid (session ID) Claim. + * @type {boolean} + * @memberof OauthClientResponse + */ + backchannel_logout_session_required: boolean; + /** + * RP URL that will cause the RP to log itself out when sent a Logout Token by the OP. + * @type {string} + * @memberof OauthClientResponse + */ + backchannel_logout_uri: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + client_credentials_grant_access_token_lifespan: string; + /** + * Id of the client. + * @type {string} + * @memberof OauthClientResponse + */ + client_id: string; + /** + * Human-readable string name of the client presented to the end-user. + * @type {string} + * @memberof OauthClientResponse + */ + client_name: string; + /** + * SecretExpiresAt is an integer holding the time at which the client secret will expire or 0 if it will not expire. + * @type {number} + * @memberof OauthClientResponse + */ + client_secret_expires_at: number; + /** + * ClientUri is an URL string of a web page providing information about the client. + * @type {string} + * @memberof OauthClientResponse + */ + client_uri: string; + /** + * + * @type {Array} + * @memberof OauthClientResponse + */ + contacts?: Array; + /** + * CreatedAt returns the timestamp of the clients creation. + * @type {string} + * @memberof OauthClientResponse + */ + created_at: string; + /** + * Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters. + * @type {boolean} + * @memberof OauthClientResponse + */ + frontchannel_logout_session_required: boolean; + /** + * RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. + * @type {string} + * @memberof OauthClientResponse + */ + frontchannel_logout_uri: string; + /** + * The grant types of the Oauth2 client. + * @type {Array} + * @memberof OauthClientResponse + */ + grant_types?: Array; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + implicit_grant_access_token_lifespan: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + implicit_grant_id_token_lifespan: string; + /** + * + * @type {object} + * @memberof OauthClientResponse + */ + jwks: object; + /** + * URL for the clients JSON Web Key Set [JWK] document + * @type {string} + * @memberof OauthClientResponse + */ + jwks_uri: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + jwt_bearer_grant_access_token_lifespan: string; + /** + * LogoUri is an URL string that references a logo for the client. + * @type {string} + * @memberof OauthClientResponse + */ + logo_uri: string; + /** + * + * @type {object} + * @memberof OauthClientResponse + */ + metadata: object; + /** + * Owner is a string identifying the owner of the OAuth 2.0 Client. + * @type {string} + * @memberof OauthClientResponse + */ + owner: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + password_grant_access_token_lifespan: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + password_grant_refresh_token_lifespan: string; + /** + * PolicyUri is a URL string that points to a human-readable privacy policy document + * @type {string} + * @memberof OauthClientResponse + */ + policy_uri: string; + /** + * + * @type {Array} + * @memberof OauthClientResponse + */ + post_logout_redirect_uris?: Array; + /** + * + * @type {Array} + * @memberof OauthClientResponse + */ + redirect_uris?: Array; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + refresh_token_grant_access_token_lifespan: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + refresh_token_grant_id_token_lifespan: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + refresh_token_grant_refresh_token_lifespan: string; + /** + * RegistrationAccessToken can be used to update, get, or delete the OAuth2 Client. + * @type {string} + * @memberof OauthClientResponse + */ + registration_access_token: string; + /** + * RegistrationClientURI is the URL used to update, get, or delete the OAuth2 Client. + * @type {string} + * @memberof OauthClientResponse + */ + registration_client_uri: string; + /** + * JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. + * @type {string} + * @memberof OauthClientResponse + */ + request_object_signing_alg: string; + /** + * + * @type {Array} + * @memberof OauthClientResponse + */ + request_uris?: Array; + /** + * The response types of the Oauth2 client. + * @type {Array} + * @memberof OauthClientResponse + */ + response_types?: Array; + /** + * Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens. + * @type {string} + * @memberof OauthClientResponse + */ + scope: string; + /** + * URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. + * @type {string} + * @memberof OauthClientResponse + */ + sector_identifier_uri: string; + /** + * SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public. + * @type {string} + * @memberof OauthClientResponse + */ + subject_type: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + token_endpoint_auth_method: string; + /** + * + * @type {string} + * @memberof OauthClientResponse + */ + token_endpoint_auth_signing_alg: string; + /** + * TermsOfServiceUri is a URL string that points to a human-readable terms of service document for the client. + * @type {string} + * @memberof OauthClientResponse + */ + tos_uri: string; + /** + * UpdatedAt returns the timestamp of the last update. + * @type {string} + * @memberof OauthClientResponse + */ + updated_at: string; + /** + * JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. + * @type {string} + * @memberof OauthClientResponse + */ + userinfo_signed_response_alg: string; +} + + diff --git a/src/serverApi/v3/models/oauth-client-update-body.ts b/src/serverApi/v3/models/oauth-client-update-body.ts new file mode 100644 index 0000000..2f9ca23 --- /dev/null +++ b/src/serverApi/v3/models/oauth-client-update-body.ts @@ -0,0 +1,79 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface OauthClientUpdateBody + */ +export interface OauthClientUpdateBody { + /** + * The Oauth2 client name. + * @type {string} + * @memberof OauthClientUpdateBody + */ + client_name: string; + /** + * The Oauth2 client secret. + * @type {string} + * @memberof OauthClientUpdateBody + */ + client_secret?: string; + /** + * The allowed redirect urls of the Oauth2 client. + * @type {Array} + * @memberof OauthClientUpdateBody + */ + redirect_uris?: Array; + /** + * Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none. + * @type {string} + * @memberof OauthClientUpdateBody + */ + token_endpoint_auth_method: string; + /** + * SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public. + * @type {string} + * @memberof OauthClientUpdateBody + */ + subject_type: string; + /** + * Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens. + * @type {string} + * @memberof OauthClientUpdateBody + */ + scope?: string; + /** + * Thr frontchannel logout uri. + * @type {string} + * @memberof OauthClientUpdateBody + */ + frontchannel_logout_uri?: string; + /** + * The grant types of the Oauth2 client. + * @type {Array} + * @memberof OauthClientUpdateBody + */ + grant_types?: Array; + /** + * The response types of the Oauth2 client. + * @type {Array} + * @memberof OauthClientUpdateBody + */ + response_types?: Array; +} + + diff --git a/src/serverApi/v3/models/oauth-config-response.ts b/src/serverApi/v3/models/oauth-config-response.ts new file mode 100644 index 0000000..668c031 --- /dev/null +++ b/src/serverApi/v3/models/oauth-config-response.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface OauthConfigResponse + */ +export interface OauthConfigResponse { + /** + * Client id + * @type {string} + * @memberof OauthConfigResponse + */ + clientId: string; + /** + * Hint for idp redirects (optional) + * @type {string} + * @memberof OauthConfigResponse + */ + idpHint?: string | null; + /** + * Redirect uri + * @type {string} + * @memberof OauthConfigResponse + */ + redirectUri: string; + /** + * Grant type + * @type {string} + * @memberof OauthConfigResponse + */ + grantType: string; + /** + * Token endpoint + * @type {string} + * @memberof OauthConfigResponse + */ + tokenEndpoint: string; + /** + * Auth endpoint + * @type {string} + * @memberof OauthConfigResponse + */ + authEndpoint: string; + /** + * Response type + * @type {string} + * @memberof OauthConfigResponse + */ + responseType: string; + /** + * Scope + * @type {string} + * @memberof OauthConfigResponse + */ + scope: string; + /** + * Provider + * @type {string} + * @memberof OauthConfigResponse + */ + provider: string; + /** + * Logout endpoint + * @type {string} + * @memberof OauthConfigResponse + */ + logoutEndpoint?: string; + /** + * Issuer + * @type {string} + * @memberof OauthConfigResponse + */ + issuer: string; + /** + * Jwks endpoint + * @type {string} + * @memberof OauthConfigResponse + */ + jwksEndpoint: string; +} + + diff --git a/src/serverApi/v3/models/oauth-token-dto.ts b/src/serverApi/v3/models/oauth-token-dto.ts new file mode 100644 index 0000000..d094b53 --- /dev/null +++ b/src/serverApi/v3/models/oauth-token-dto.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface OAuthTokenDto + */ +export interface OAuthTokenDto { + /** + * + * @type {string} + * @memberof OAuthTokenDto + */ + idToken: string; + /** + * + * @type {string} + * @memberof OAuthTokenDto + */ + refreshToken: string; + /** + * + * @type {string} + * @memberof OAuthTokenDto + */ + accessToken: string; +} + + diff --git a/src/serverApi/v3/models/oauth2-authorization-body-params.ts b/src/serverApi/v3/models/oauth2-authorization-body-params.ts new file mode 100644 index 0000000..1118d22 --- /dev/null +++ b/src/serverApi/v3/models/oauth2-authorization-body-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface Oauth2AuthorizationBodyParams + */ +export interface Oauth2AuthorizationBodyParams { + /** + * + * @type {string} + * @memberof Oauth2AuthorizationBodyParams + */ + redirectUri: string; + /** + * + * @type {string} + * @memberof Oauth2AuthorizationBodyParams + */ + code: string; + /** + * + * @type {string} + * @memberof Oauth2AuthorizationBodyParams + */ + systemId: string; +} + + diff --git a/src/serverApi/v3/models/oauth2-migration-params.ts b/src/serverApi/v3/models/oauth2-migration-params.ts new file mode 100644 index 0000000..9d0468c --- /dev/null +++ b/src/serverApi/v3/models/oauth2-migration-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface Oauth2MigrationParams + */ +export interface Oauth2MigrationParams { + /** + * + * @type {string} + * @memberof Oauth2MigrationParams + */ + redirectUri: string; + /** + * + * @type {string} + * @memberof Oauth2MigrationParams + */ + code: string; + /** + * + * @type {string} + * @memberof Oauth2MigrationParams + */ + systemId: string; +} + + diff --git a/src/serverApi/v3/models/oauth2-tool-config-create-params.ts b/src/serverApi/v3/models/oauth2-tool-config-create-params.ts new file mode 100644 index 0000000..51d21e0 --- /dev/null +++ b/src/serverApi/v3/models/oauth2-tool-config-create-params.ts @@ -0,0 +1,79 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface Oauth2ToolConfigCreateParams + */ +export interface Oauth2ToolConfigCreateParams { + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + type: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + baseUrl: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + clientId: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + clientSecret: string; + /** + * + * @type {boolean} + * @memberof Oauth2ToolConfigCreateParams + */ + skipConsent: boolean; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + frontchannelLogoutUri?: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + scope?: string; + /** + * + * @type {Array} + * @memberof Oauth2ToolConfigCreateParams + */ + redirectUris: Array; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigCreateParams + */ + tokenEndpointAuthMethod: string; +} + + diff --git a/src/serverApi/v3/models/oauth2-tool-config-update-params.ts b/src/serverApi/v3/models/oauth2-tool-config-update-params.ts new file mode 100644 index 0000000..04e451d --- /dev/null +++ b/src/serverApi/v3/models/oauth2-tool-config-update-params.ts @@ -0,0 +1,79 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface Oauth2ToolConfigUpdateParams + */ +export interface Oauth2ToolConfigUpdateParams { + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + type: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + baseUrl: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + clientId: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + clientSecret?: string; + /** + * + * @type {boolean} + * @memberof Oauth2ToolConfigUpdateParams + */ + skipConsent: boolean; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + frontchannelLogoutUri?: string; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + scope?: string; + /** + * + * @type {Array} + * @memberof Oauth2ToolConfigUpdateParams + */ + redirectUris: Array; + /** + * + * @type {string} + * @memberof Oauth2ToolConfigUpdateParams + */ + tokenEndpointAuthMethod: string; +} + + diff --git a/src/serverApi/v3/models/oidc-context-response.ts b/src/serverApi/v3/models/oidc-context-response.ts new file mode 100644 index 0000000..f69ee4f --- /dev/null +++ b/src/serverApi/v3/models/oidc-context-response.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface OidcContextResponse + */ +export interface OidcContextResponse { + /** + * + * @type {Array} + * @memberof OidcContextResponse + */ + acr_values: Array; + /** + * + * @type {string} + * @memberof OidcContextResponse + */ + display: string; + /** + * + * @type {object} + * @memberof OidcContextResponse + */ + id_token_hint_claims: object; + /** + * + * @type {string} + * @memberof OidcContextResponse + */ + login_hint: string; + /** + * + * @type {Array} + * @memberof OidcContextResponse + */ + ui_locales: Array; +} + + diff --git a/src/serverApi/v3/models/parent-consent-response.ts b/src/serverApi/v3/models/parent-consent-response.ts new file mode 100644 index 0000000..5e74f58 --- /dev/null +++ b/src/serverApi/v3/models/parent-consent-response.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ParentConsentResponse + */ +export interface ParentConsentResponse { + /** + * + * @type {string} + * @memberof ParentConsentResponse + */ + form: string; + /** + * + * @type {boolean} + * @memberof ParentConsentResponse + */ + privacyConsent: boolean; + /** + * + * @type {boolean} + * @memberof ParentConsentResponse + */ + termsOfUseConsent: boolean; + /** + * + * @type {string} + * @memberof ParentConsentResponse + */ + dateOfPrivacyConsent: string; + /** + * + * @type {string} + * @memberof ParentConsentResponse + */ + dateOfTermsOfUseConsent: string; + /** + * + * @type {string} + * @memberof ParentConsentResponse + */ + _id: string; +} + + diff --git a/src/serverApi/v3/models/patch-group-params.ts b/src/serverApi/v3/models/patch-group-params.ts new file mode 100644 index 0000000..e31c6a8 --- /dev/null +++ b/src/serverApi/v3/models/patch-group-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface PatchGroupParams + */ +export interface PatchGroupParams { + /** + * Title of the Group grid element + * @type {string} + * @memberof PatchGroupParams + */ + title: string; +} + + diff --git a/src/serverApi/v3/models/patch-my-account-params.ts b/src/serverApi/v3/models/patch-my-account-params.ts new file mode 100644 index 0000000..93849c7 --- /dev/null +++ b/src/serverApi/v3/models/patch-my-account-params.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface PatchMyAccountParams + */ +export interface PatchMyAccountParams { + /** + * The current user password to authorize the update action. + * @type {string} + * @memberof PatchMyAccountParams + */ + passwordOld: string; + /** + * The new password for the current user. + * @type {string} + * @memberof PatchMyAccountParams + */ + passwordNew?: string | null; + /** + * The new email address for the current user. + * @type {string} + * @memberof PatchMyAccountParams + */ + email?: string | null; + /** + * The new first name for the current user. + * @type {string} + * @memberof PatchMyAccountParams + */ + firstName?: string | null; + /** + * The new last name for the current user. + * @type {string} + * @memberof PatchMyAccountParams + */ + lastName?: string | null; +} + + diff --git a/src/serverApi/v3/models/patch-my-password-params.ts b/src/serverApi/v3/models/patch-my-password-params.ts new file mode 100644 index 0000000..d221393 --- /dev/null +++ b/src/serverApi/v3/models/patch-my-password-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface PatchMyPasswordParams + */ +export interface PatchMyPasswordParams { + /** + * The new user password. + * @type {string} + * @memberof PatchMyPasswordParams + */ + password: string; + /** + * The confirmed new user password. Must match the password field. + * @type {string} + * @memberof PatchMyPasswordParams + */ + confirmPassword: string; +} + + diff --git a/src/serverApi/v3/models/patch-order-params.ts b/src/serverApi/v3/models/patch-order-params.ts new file mode 100644 index 0000000..c48c90c --- /dev/null +++ b/src/serverApi/v3/models/patch-order-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface PatchOrderParams + */ +export interface PatchOrderParams { + /** + * Array ids determining the new order + * @type {Array} + * @memberof PatchOrderParams + */ + elements: Array; +} + + diff --git a/src/serverApi/v3/models/patch-visibility-params.ts b/src/serverApi/v3/models/patch-visibility-params.ts new file mode 100644 index 0000000..9bfa309 --- /dev/null +++ b/src/serverApi/v3/models/patch-visibility-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface PatchVisibilityParams + */ +export interface PatchVisibilityParams { + /** + * true to publish the element, false to unpublish + * @type {boolean} + * @memberof PatchVisibilityParams + */ + visibility: boolean; +} + + diff --git a/src/serverApi/v3/models/permission.ts b/src/serverApi/v3/models/permission.ts new file mode 100644 index 0000000..cb9a6b6 --- /dev/null +++ b/src/serverApi/v3/models/permission.ts @@ -0,0 +1,186 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum Permission { + ACCOUNT_CREATE = 'ACCOUNT_CREATE', + ACCOUNT_DELETE = 'ACCOUNT_DELETE', + ACCOUNT_EDIT = 'ACCOUNT_EDIT', + ACCOUNT_VIEW = 'ACCOUNT_VIEW', + ADD_SCHOOL_MEMBERS = 'ADD_SCHOOL_MEMBERS', + ADMIN_EDIT = 'ADMIN_EDIT', + ADMIN_VIEW = 'ADMIN_VIEW', + BASE_VIEW = 'BASE_VIEW', + CALENDAR_CREATE = 'CALENDAR_CREATE', + CALENDAR_EDIT = 'CALENDAR_EDIT', + CALENDAR_VIEW = 'CALENDAR_VIEW', + CHANGE_TEAM_ROLES = 'CHANGE_TEAM_ROLES', + CLASS_CREATE = 'CLASS_CREATE', + CLASS_EDIT = 'CLASS_EDIT', + CLASS_FULL_ADMIN = 'CLASS_FULL_ADMIN', + CLASS_LIST = 'CLASS_LIST', + CLASS_REMOVE = 'CLASS_REMOVE', + CLASS_VIEW = 'CLASS_VIEW', + COMMENTS_CREATE = 'COMMENTS_CREATE', + COMMENTS_EDIT = 'COMMENTS_EDIT', + COMMENTS_VIEW = 'COMMENTS_VIEW', + CONTENT_NON_OER_VIEW = 'CONTENT_NON_OER_VIEW', + CONTENT_VIEW = 'CONTENT_VIEW', + CONTEXT_TOOL_ADMIN = 'CONTEXT_TOOL_ADMIN', + CONTEXT_TOOL_USER = 'CONTEXT_TOOL_USER', + COURSEGROUP_CREATE = 'COURSEGROUP_CREATE', + COURSEGROUP_EDIT = 'COURSEGROUP_EDIT', + COURSE_CREATE = 'COURSE_CREATE', + COURSE_DELETE = 'COURSE_DELETE', + COURSE_EDIT = 'COURSE_EDIT', + COURSE_REMOVE = 'COURSE_REMOVE', + COURSE_VIEW = 'COURSE_VIEW', + CREATE_SUPPORT_JWT = 'CREATE_SUPPORT_JWT', + CREATE_TOPICS_AND_TASKS = 'CREATE_TOPICS_AND_TASKS', + DASHBOARD_VIEW = 'DASHBOARD_VIEW', + DATASOURCES_CREATE = 'DATASOURCES_CREATE', + DATASOURCES_DELETE = 'DATASOURCES_DELETE', + DATASOURCES_EDIT = 'DATASOURCES_EDIT', + DATASOURCES_RUN = 'DATASOURCES_RUN', + DATASOURCES_RUN_VIEW = 'DATASOURCES_RUN_VIEW', + DATASOURCES_VIEW = 'DATASOURCES_VIEW', + DEFAULT_FILE_PERMISSIONS = 'DEFAULT_FILE_PERMISSIONS', + DELETE_TEAM = 'DELETE_TEAM', + EDIT_ALL_FILES = 'EDIT_ALL_FILES', + ENTERTHECLOUD_START = 'ENTERTHECLOUD_START', + FEDERALSTATE_CREATE = 'FEDERALSTATE_CREATE', + FEDERALSTATE_EDIT = 'FEDERALSTATE_EDIT', + FEDERALSTATE_VIEW = 'FEDERALSTATE_VIEW', + FILESTORAGE_CREATE = 'FILESTORAGE_CREATE', + FILESTORAGE_EDIT = 'FILESTORAGE_EDIT', + FILESTORAGE_REMOVE = 'FILESTORAGE_REMOVE', + FILESTORAGE_VIEW = 'FILESTORAGE_VIEW', + FILE_CREATE = 'FILE_CREATE', + FILE_DELETE = 'FILE_DELETE', + FILE_MOVE = 'FILE_MOVE', + FOLDER_CREATE = 'FOLDER_CREATE', + FOLDER_DELETE = 'FOLDER_DELETE', + GROUP_LIST = 'GROUP_LIST', + GROUP_FULL_ADMIN = 'GROUP_FULL_ADMIN', + GROUP_VIEW = 'GROUP_VIEW', + HELPDESK_CREATE = 'HELPDESK_CREATE', + HELPDESK_EDIT = 'HELPDESK_EDIT', + HELPDESK_VIEW = 'HELPDESK_VIEW', + HOMEWORK_CREATE = 'HOMEWORK_CREATE', + HOMEWORK_EDIT = 'HOMEWORK_EDIT', + HOMEWORK_VIEW = 'HOMEWORK_VIEW', + IMPORT_USER_MIGRATE = 'IMPORT_USER_MIGRATE', + IMPORT_USER_UPDATE = 'IMPORT_USER_UPDATE', + IMPORT_USER_VIEW = 'IMPORT_USER_VIEW', + INSTANCE_VIEW = 'INSTANCE_VIEW', + INVITE_ADMINISTRATORS = 'INVITE_ADMINISTRATORS', + INVITE_EXPERTS = 'INVITE_EXPERTS', + JOIN_MEETING = 'JOIN_MEETING', + LEAVE_TEAM = 'LEAVE_TEAM', + LERNSTORE_VIEW = 'LERNSTORE_VIEW', + LESSONS_CREATE = 'LESSONS_CREATE', + LESSONS_VIEW = 'LESSONS_VIEW', + LINK_CREATE = 'LINK_CREATE', + NEWS_CREATE = 'NEWS_CREATE', + NEWS_EDIT = 'NEWS_EDIT', + NEWS_VIEW = 'NEWS_VIEW', + NEXTCLOUD_USER = 'NEXTCLOUD_USER', + NOTIFICATION_CREATE = 'NOTIFICATION_CREATE', + NOTIFICATION_EDIT = 'NOTIFICATION_EDIT', + NOTIFICATION_VIEW = 'NOTIFICATION_VIEW', + OAUTH_CLIENT_EDIT = 'OAUTH_CLIENT_EDIT', + OAUTH_CLIENT_VIEW = 'OAUTH_CLIENT_VIEW', + PASSWORD_EDIT = 'PASSWORD_EDIT', + PWRECOVERY_CREATE = 'PWRECOVERY_CREATE', + PWRECOVERY_EDIT = 'PWRECOVERY_EDIT', + PWRECOVERY_VIEW = 'PWRECOVERY_VIEW', + RELEASES_CREATE = 'RELEASES_CREATE', + RELEASES_EDIT = 'RELEASES_EDIT', + RELEASES_VIEW = 'RELEASES_VIEW', + REMOVE_MEMBERS = 'REMOVE_MEMBERS', + RENAME_TEAM = 'RENAME_TEAM', + REQUEST_CONSENTS = 'REQUEST_CONSENTS', + ROLE_CREATE = 'ROLE_CREATE', + ROLE_EDIT = 'ROLE_EDIT', + ROLE_VIEW = 'ROLE_VIEW', + SCHOOL_CHAT_MANAGE = 'SCHOOL_CHAT_MANAGE', + SCHOOL_CREATE = 'SCHOOL_CREATE', + SCHOOL_EDIT = 'SCHOOL_EDIT', + SCHOOL_LOGO_MANAGE = 'SCHOOL_LOGO_MANAGE', + SCHOOL_NEWS_EDIT = 'SCHOOL_NEWS_EDIT', + SCHOOL_PERMISSION_CHANGE = 'SCHOOL_PERMISSION_CHANGE', + SCHOOL_PERMISSION_VIEW = 'SCHOOL_PERMISSION_VIEW', + SCHOOL_STUDENT_TEAM_MANAGE = 'SCHOOL_STUDENT_TEAM_MANAGE', + SCHOOL_SYSTEM_EDIT = 'SCHOOL_SYSTEM_EDIT', + SCHOOL_SYSTEM_VIEW = 'SCHOOL_SYSTEM_VIEW', + SCHOOL_TOOL_ADMIN = 'SCHOOL_TOOL_ADMIN', + SCOPE_PERMISSIONS_VIEW = 'SCOPE_PERMISSIONS_VIEW', + START_MEETING = 'START_MEETING', + STUDENT_CREATE = 'STUDENT_CREATE', + STUDENT_DELETE = 'STUDENT_DELETE', + STUDENT_EDIT = 'STUDENT_EDIT', + STUDENT_LIST = 'STUDENT_LIST', + STUDENT_SKIP_REGISTRATION = 'STUDENT_SKIP_REGISTRATION', + SUBMISSIONS_CREATE = 'SUBMISSIONS_CREATE', + SUBMISSIONS_EDIT = 'SUBMISSIONS_EDIT', + SUBMISSIONS_SCHOOL_VIEW = 'SUBMISSIONS_SCHOOL_VIEW', + SUBMISSIONS_VIEW = 'SUBMISSIONS_VIEW', + SYNC_START = 'SYNC_START', + SYSTEM_CREATE = 'SYSTEM_CREATE', + SYSTEM_EDIT = 'SYSTEM_EDIT', + SYSTEM_VIEW = 'SYSTEM_VIEW', + TASK_DASHBOARD_TEACHER_VIEW_V3 = 'TASK_DASHBOARD_TEACHER_VIEW_V3', + TASK_DASHBOARD_VIEW_V3 = 'TASK_DASHBOARD_VIEW_V3', + TEACHER_CREATE = 'TEACHER_CREATE', + TEACHER_DELETE = 'TEACHER_DELETE', + TEACHER_EDIT = 'TEACHER_EDIT', + TEACHER_LIST = 'TEACHER_LIST', + TEACHER_SKIP_REGISTRATION = 'TEACHER_SKIP_REGISTRATION', + TEAM_CREATE = 'TEAM_CREATE', + TOOL_CREATE_ETHERPAD = 'TOOL_CREATE_ETHERPAD', + TEAM_EDIT = 'TEAM_EDIT', + TEAM_INVITE_EXTERNAL = 'TEAM_INVITE_EXTERNAL', + TEAM_VIEW = 'TEAM_VIEW', + TOOL_ADMIN = 'TOOL_ADMIN', + TOOL_CREATE = 'TOOL_CREATE', + TOOL_EDIT = 'TOOL_EDIT', + TOOL_NEW_VIEW = 'TOOL_NEW_VIEW', + TOOL_VIEW = 'TOOL_VIEW', + TOPIC_CREATE = 'TOPIC_CREATE', + TOPIC_EDIT = 'TOPIC_EDIT', + TOPIC_VIEW = 'TOPIC_VIEW', + UPLOAD_FILES = 'UPLOAD_FILES', + USE_LIBREOFFICE = 'USE_LIBREOFFICE', + USE_ROCKETCHAT = 'USE_ROCKETCHAT', + USERGROUP_CREATE = 'USERGROUP_CREATE', + USERGROUP_EDIT = 'USERGROUP_EDIT', + USERGROUP_VIEW = 'USERGROUP_VIEW', + USER_CHANGE_OWN_NAME = 'USER_CHANGE_OWN_NAME', + USER_CREATE = 'USER_CREATE', + USER_LOGIN_MIGRATION_ADMIN = 'USER_LOGIN_MIGRATION_ADMIN', + USER_LOGIN_MIGRATION_ROLLBACK = 'USER_LOGIN_MIGRATION_ROLLBACK', + USER_LOGIN_MIGRATION_FORCE = 'USER_LOGIN_MIGRATION_FORCE', + USER_MIGRATE = 'USER_MIGRATE', + USER_UPDATE = 'USER_UPDATE', + YEARS_EDIT = 'YEARS_EDIT' +} + + + diff --git a/src/serverApi/v3/models/provider-config-response.ts b/src/serverApi/v3/models/provider-config-response.ts new file mode 100644 index 0000000..1e3b7df --- /dev/null +++ b/src/serverApi/v3/models/provider-config-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ProviderConfigResponse + */ +export interface ProviderConfigResponse { + /** + * + * @type {string} + * @memberof ProviderConfigResponse + */ + provider: string; +} + + diff --git a/src/serverApi/v3/models/pseudonym-response.ts b/src/serverApi/v3/models/pseudonym-response.ts new file mode 100644 index 0000000..c967008 --- /dev/null +++ b/src/serverApi/v3/models/pseudonym-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface PseudonymResponse + */ +export interface PseudonymResponse { + /** + * + * @type {string} + * @memberof PseudonymResponse + */ + id: string; + /** + * + * @type {string} + * @memberof PseudonymResponse + */ + toolId: string; + /** + * + * @type {string} + * @memberof PseudonymResponse + */ + userId: string; +} + + diff --git a/src/serverApi/v3/models/public-system-list-response.ts b/src/serverApi/v3/models/public-system-list-response.ts new file mode 100644 index 0000000..424136a --- /dev/null +++ b/src/serverApi/v3/models/public-system-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { PublicSystemResponse } from './public-system-response'; + +/** + * + * @export + * @interface PublicSystemListResponse + */ +export interface PublicSystemListResponse { + /** + * + * @type {Array} + * @memberof PublicSystemListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/public-system-response.ts b/src/serverApi/v3/models/public-system-response.ts new file mode 100644 index 0000000..6b2b246 --- /dev/null +++ b/src/serverApi/v3/models/public-system-response.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { OauthConfigResponse } from './oauth-config-response'; + +/** + * + * @export + * @interface PublicSystemResponse + */ +export interface PublicSystemResponse { + /** + * Id of the system. + * @type {string} + * @memberof PublicSystemResponse + */ + id: string; + /** + * Flag to request only systems with oauth-config. + * @type {string} + * @memberof PublicSystemResponse + */ + type?: string | null; + /** + * Alias of the system. + * @type {string} + * @memberof PublicSystemResponse + */ + alias?: string | null; + /** + * Display name of the system. + * @type {string} + * @memberof PublicSystemResponse + */ + displayName?: string | null; + /** + * Oauth config of the system. + * @type {OauthConfigResponse} + * @memberof PublicSystemResponse + */ + oauthConfig?: OauthConfigResponse | null; +} + + diff --git a/src/serverApi/v3/models/redirect-response.ts b/src/serverApi/v3/models/redirect-response.ts new file mode 100644 index 0000000..ade4f4d --- /dev/null +++ b/src/serverApi/v3/models/redirect-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RedirectResponse + */ +export interface RedirectResponse { + /** + * RedirectURL is the URL which you should redirect the user to once the authentication process is completed. + * @type {string} + * @memberof RedirectResponse + */ + redirect_to: string; +} + + diff --git a/src/serverApi/v3/models/rename-body-params.ts b/src/serverApi/v3/models/rename-body-params.ts new file mode 100644 index 0000000..e1a7c81 --- /dev/null +++ b/src/serverApi/v3/models/rename-body-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RenameBodyParams + */ +export interface RenameBodyParams { + /** + * + * @type {string} + * @memberof RenameBodyParams + */ + title: string; +} + + diff --git a/src/serverApi/v3/models/resolved-user-response.ts b/src/serverApi/v3/models/resolved-user-response.ts new file mode 100644 index 0000000..182d657 --- /dev/null +++ b/src/serverApi/v3/models/resolved-user-response.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ResolvedUserResponse + */ +export interface ResolvedUserResponse { + /** + * + * @type {string} + * @memberof ResolvedUserResponse + */ + firstName: string; + /** + * + * @type {string} + * @memberof ResolvedUserResponse + */ + lastName: string; + /** + * + * @type {string} + * @memberof ResolvedUserResponse + */ + id: string; + /** + * + * @type {string} + * @memberof ResolvedUserResponse + */ + createdAt: string; + /** + * + * @type {string} + * @memberof ResolvedUserResponse + */ + updatedAt: string; + /** + * + * @type {Array} + * @memberof ResolvedUserResponse + */ + roles: Array; + /** + * + * @type {Array} + * @memberof ResolvedUserResponse + */ + permissions: Array; + /** + * + * @type {string} + * @memberof ResolvedUserResponse + */ + schoolId: string; +} + + diff --git a/src/serverApi/v3/models/rich-text-content-body.ts b/src/serverApi/v3/models/rich-text-content-body.ts new file mode 100644 index 0000000..bf4f5c9 --- /dev/null +++ b/src/serverApi/v3/models/rich-text-content-body.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RichTextContentBody + */ +export interface RichTextContentBody { + /** + * + * @type {string} + * @memberof RichTextContentBody + */ + text: string; + /** + * + * @type {string} + * @memberof RichTextContentBody + */ + inputFormat: string; +} + + diff --git a/src/serverApi/v3/models/rich-text-element-content-body.ts b/src/serverApi/v3/models/rich-text-element-content-body.ts new file mode 100644 index 0000000..5d1cc2d --- /dev/null +++ b/src/serverApi/v3/models/rich-text-element-content-body.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { RichTextContentBody } from './rich-text-content-body'; + +/** + * + * @export + * @interface RichTextElementContentBody + */ +export interface RichTextElementContentBody { + /** + * + * @type {ContentElementType} + * @memberof RichTextElementContentBody + */ + type: ContentElementType; + /** + * + * @type {RichTextContentBody} + * @memberof RichTextElementContentBody + */ + content: RichTextContentBody; +} + + diff --git a/src/serverApi/v3/models/rich-text-element-content.ts b/src/serverApi/v3/models/rich-text-element-content.ts new file mode 100644 index 0000000..70f3617 --- /dev/null +++ b/src/serverApi/v3/models/rich-text-element-content.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RichTextElementContent + */ +export interface RichTextElementContent { + /** + * + * @type {string} + * @memberof RichTextElementContent + */ + text: string; + /** + * + * @type {string} + * @memberof RichTextElementContent + */ + inputFormat: string; +} + + diff --git a/src/serverApi/v3/models/rich-text-element-response.ts b/src/serverApi/v3/models/rich-text-element-response.ts new file mode 100644 index 0000000..439a368 --- /dev/null +++ b/src/serverApi/v3/models/rich-text-element-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { RichTextElementContent } from './rich-text-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface RichTextElementResponse + */ +export interface RichTextElementResponse { + /** + * + * @type {string} + * @memberof RichTextElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof RichTextElementResponse + */ + type: ContentElementType; + /** + * + * @type {RichTextElementContent} + * @memberof RichTextElementResponse + */ + content: RichTextElementContent; + /** + * + * @type {TimestampsResponse} + * @memberof RichTextElementResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/rich-text.ts b/src/serverApi/v3/models/rich-text.ts new file mode 100644 index 0000000..dde790e --- /dev/null +++ b/src/serverApi/v3/models/rich-text.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RichText + */ +export interface RichText { + /** + * Content of the rich text element + * @type {string} + * @memberof RichText + */ + content: string; + /** + * Input format of the rich text element + * @type {string} + * @memberof RichText + */ + type: RichTextType; +} + +/** + * @export + * @enum {string} + */ +export enum RichTextType { + PLAIN_TEXT = 'plainText', + RICH_TEXT_CK5_SIMPLE = 'richTextCk5Simple', + RICH_TEXT_CK4 = 'richTextCk4', + RICH_TEXT_CK5 = 'richTextCk5' +} + + + diff --git a/src/serverApi/v3/models/role-name.ts b/src/serverApi/v3/models/role-name.ts new file mode 100644 index 0000000..c6c0030 --- /dev/null +++ b/src/serverApi/v3/models/role-name.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum RoleName { + ADMINISTRATOR = 'administrator', + COURSE_ADMINISTRATOR = 'courseAdministrator', + COURSE_STUDENT = 'courseStudent', + COURSE_SUBSTITUTION_TEACHER = 'courseSubstitutionTeacher', + COURSE_TEACHER = 'courseTeacher', + DEMO = 'demo', + DEMO_STUDENT = 'demoStudent', + DEMO_TEACHER = 'demoTeacher', + EXPERT = 'expert', + HELPDESK = 'helpdesk', + STUDENT = 'student', + SUPERHERO = 'superhero', + TEACHER = 'teacher', + TEAMADMINISTRATOR = 'teamadministrator', + TEAMEXPERT = 'teamexpert', + TEAMLEADER = 'teamleader', + TEAMMEMBER = 'teammember', + TEAMOWNER = 'teamowner', + USER = 'user' +} + + + diff --git a/src/serverApi/v3/models/school-exists-response.ts b/src/serverApi/v3/models/school-exists-response.ts new file mode 100644 index 0000000..82bc0e9 --- /dev/null +++ b/src/serverApi/v3/models/school-exists-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchoolExistsResponse + */ +export interface SchoolExistsResponse { + /** + * + * @type {boolean} + * @memberof SchoolExistsResponse + */ + exists: boolean; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-configuration-status-response.ts b/src/serverApi/v3/models/school-external-tool-configuration-status-response.ts new file mode 100644 index 0000000..62c0b90 --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-configuration-status-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchoolExternalToolConfigurationStatusResponse + */ +export interface SchoolExternalToolConfigurationStatusResponse { + /** + * Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool? + * @type {boolean} + * @memberof SchoolExternalToolConfigurationStatusResponse + */ + isOutdatedOnScopeSchool: boolean; + /** + * Is the tool deactivated, because of instance administrator? + * @type {boolean} + * @memberof SchoolExternalToolConfigurationStatusResponse + */ + isGloballyDeactivated: boolean; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-configuration-template-list-response.ts b/src/serverApi/v3/models/school-external-tool-configuration-template-list-response.ts new file mode 100644 index 0000000..511cbf3 --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-configuration-template-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { SchoolExternalToolConfigurationTemplateResponse } from './school-external-tool-configuration-template-response'; + +/** + * + * @export + * @interface SchoolExternalToolConfigurationTemplateListResponse + */ +export interface SchoolExternalToolConfigurationTemplateListResponse { + /** + * + * @type {Array} + * @memberof SchoolExternalToolConfigurationTemplateListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-configuration-template-response.ts b/src/serverApi/v3/models/school-external-tool-configuration-template-response.ts new file mode 100644 index 0000000..fb52087 --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-configuration-template-response.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CustomParameterResponse } from './custom-parameter-response'; + +/** + * + * @export + * @interface SchoolExternalToolConfigurationTemplateResponse + */ +export interface SchoolExternalToolConfigurationTemplateResponse { + /** + * + * @type {string} + * @memberof SchoolExternalToolConfigurationTemplateResponse + */ + externalToolId: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolConfigurationTemplateResponse + */ + name: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolConfigurationTemplateResponse + */ + baseUrl: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolConfigurationTemplateResponse + */ + logoUrl?: string; + /** + * + * @type {Array} + * @memberof SchoolExternalToolConfigurationTemplateResponse + */ + parameters: Array; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-metadata-response.ts b/src/serverApi/v3/models/school-external-tool-metadata-response.ts new file mode 100644 index 0000000..2a370bd --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-metadata-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContextExternalToolCountPerContextResponse } from './context-external-tool-count-per-context-response'; + +/** + * + * @export + * @interface SchoolExternalToolMetadataResponse + */ +export interface SchoolExternalToolMetadataResponse { + /** + * + * @type {ContextExternalToolCountPerContextResponse} + * @memberof SchoolExternalToolMetadataResponse + */ + contextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-post-params.ts b/src/serverApi/v3/models/school-external-tool-post-params.ts new file mode 100644 index 0000000..d16021c --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-post-params.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CustomParameterEntryParam } from './custom-parameter-entry-param'; + +/** + * + * @export + * @interface SchoolExternalToolPostParams + */ +export interface SchoolExternalToolPostParams { + /** + * + * @type {string} + * @memberof SchoolExternalToolPostParams + */ + toolId: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolPostParams + */ + schoolId: string; + /** + * + * @type {Array} + * @memberof SchoolExternalToolPostParams + */ + parameters?: Array; + /** + * Tool can be deactivated, related tools can not be added to e.g. course or board anymore + * @type {boolean} + * @memberof SchoolExternalToolPostParams + */ + isDeactivated: boolean; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-response.ts b/src/serverApi/v3/models/school-external-tool-response.ts new file mode 100644 index 0000000..b22fd2e --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-response.ts @@ -0,0 +1,69 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CustomParameterEntryResponse } from './custom-parameter-entry-response'; +import { SchoolExternalToolConfigurationStatusResponse } from './school-external-tool-configuration-status-response'; + +/** + * + * @export + * @interface SchoolExternalToolResponse + */ +export interface SchoolExternalToolResponse { + /** + * + * @type {string} + * @memberof SchoolExternalToolResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolResponse + */ + name: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolResponse + */ + toolId: string; + /** + * + * @type {string} + * @memberof SchoolExternalToolResponse + */ + schoolId: string; + /** + * + * @type {boolean} + * @memberof SchoolExternalToolResponse + */ + isDeactivated: boolean; + /** + * + * @type {Array} + * @memberof SchoolExternalToolResponse + */ + parameters: Array; + /** + * + * @type {SchoolExternalToolConfigurationStatusResponse} + * @memberof SchoolExternalToolResponse + */ + status: SchoolExternalToolConfigurationStatusResponse; +} + + diff --git a/src/serverApi/v3/models/school-external-tool-search-list-response.ts b/src/serverApi/v3/models/school-external-tool-search-list-response.ts new file mode 100644 index 0000000..007a69f --- /dev/null +++ b/src/serverApi/v3/models/school-external-tool-search-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { SchoolExternalToolResponse } from './school-external-tool-response'; + +/** + * + * @export + * @interface SchoolExternalToolSearchListResponse + */ +export interface SchoolExternalToolSearchListResponse { + /** + * + * @type {Array} + * @memberof SchoolExternalToolSearchListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/school-feature.ts b/src/serverApi/v3/models/school-feature.ts new file mode 100644 index 0000000..7fb440f --- /dev/null +++ b/src/serverApi/v3/models/school-feature.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum SchoolFeature { + ROCKET_CHAT = 'rocketChat', + VIDEOCONFERENCE = 'videoconference', + NEXTCLOUD = 'nextcloud', + STUDENT_VISIBILITY = 'studentVisibility', + LDAP_UNIVENTION_MIGRATION_SCHOOL = 'ldapUniventionMigrationSchool', + OAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled', + SHOW_OUTDATED_USERS = 'showOutdatedUsers', + ENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration', + AI_TUTOR = 'aiTutor' +} + + + diff --git a/src/serverApi/v3/models/school-for-external-invite-response.ts b/src/serverApi/v3/models/school-for-external-invite-response.ts new file mode 100644 index 0000000..48f6d4b --- /dev/null +++ b/src/serverApi/v3/models/school-for-external-invite-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchoolForExternalInviteResponse + */ +export interface SchoolForExternalInviteResponse { + /** + * + * @type {string} + * @memberof SchoolForExternalInviteResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SchoolForExternalInviteResponse + */ + name: string; +} + + diff --git a/src/serverApi/v3/models/school-for-ldap-login-response.ts b/src/serverApi/v3/models/school-for-ldap-login-response.ts new file mode 100644 index 0000000..146fb9f --- /dev/null +++ b/src/serverApi/v3/models/school-for-ldap-login-response.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { SystemForLdapLoginResponse } from './system-for-ldap-login-response'; + +/** + * + * @export + * @interface SchoolForLdapLoginResponse + */ +export interface SchoolForLdapLoginResponse { + /** + * + * @type {string} + * @memberof SchoolForLdapLoginResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SchoolForLdapLoginResponse + */ + name: string; + /** + * + * @type {Array} + * @memberof SchoolForLdapLoginResponse + */ + systems: Array; +} + + diff --git a/src/serverApi/v3/models/school-info-response.ts b/src/serverApi/v3/models/school-info-response.ts new file mode 100644 index 0000000..2b288d1 --- /dev/null +++ b/src/serverApi/v3/models/school-info-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchoolInfoResponse + */ +export interface SchoolInfoResponse { + /** + * The id of the School entity + * @type {string} + * @memberof SchoolInfoResponse + */ + id: string; + /** + * The name of the School entity + * @type {string} + * @memberof SchoolInfoResponse + */ + name: string; +} + + diff --git a/src/serverApi/v3/models/school-logo.ts b/src/serverApi/v3/models/school-logo.ts new file mode 100644 index 0000000..bda456a --- /dev/null +++ b/src/serverApi/v3/models/school-logo.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchoolLogo + */ +export interface SchoolLogo { + /** + * + * @type {string} + * @memberof SchoolLogo + */ + dataUrl?: string; + /** + * + * @type {string} + * @memberof SchoolLogo + */ + name?: string; +} + + diff --git a/src/serverApi/v3/models/school-permissions-params.ts b/src/serverApi/v3/models/school-permissions-params.ts new file mode 100644 index 0000000..28e5faf --- /dev/null +++ b/src/serverApi/v3/models/school-permissions-params.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { StudentPermissionParams } from './student-permission-params'; +import { TeacherPermissionParams } from './teacher-permission-params'; + +/** + * + * @export + * @interface SchoolPermissionsParams + */ +export interface SchoolPermissionsParams { + /** + * + * @type {TeacherPermissionParams} + * @memberof SchoolPermissionsParams + */ + teacher?: TeacherPermissionParams; + /** + * + * @type {StudentPermissionParams} + * @memberof SchoolPermissionsParams + */ + student?: StudentPermissionParams; +} + + diff --git a/src/serverApi/v3/models/school-purpose.ts b/src/serverApi/v3/models/school-purpose.ts new file mode 100644 index 0000000..9fa5d3f --- /dev/null +++ b/src/serverApi/v3/models/school-purpose.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum SchoolPurpose { + EXPERT = 'expert', + TOMBSTONE = 'tombstone', + DEMO = 'demo', + TEST = 'test', + MINT_EC = 'MINT-EC' +} + + + diff --git a/src/serverApi/v3/models/school-response.ts b/src/serverApi/v3/models/school-response.ts new file mode 100644 index 0000000..f06a3da --- /dev/null +++ b/src/serverApi/v3/models/school-response.ts @@ -0,0 +1,160 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { CountyResponse } from './county-response'; +import { FederalStateResponse } from './federal-state-response'; +import { FileStorageType } from './file-storage-type'; +import { InstanceFeature } from './instance-feature'; +import { SchoolFeature } from './school-feature'; +import { SchoolLogo } from './school-logo'; +import { SchoolPurpose } from './school-purpose'; +import { SchoolYearResponse } from './school-year-response'; +import { YearsResponse } from './years-response'; + +/** + * + * @export + * @interface SchoolResponse + */ +export interface SchoolResponse { + /** + * + * @type {string} + * @memberof SchoolResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SchoolResponse + */ + createdAt: string; + /** + * + * @type {string} + * @memberof SchoolResponse + */ + updatedAt: string; + /** + * + * @type {string} + * @memberof SchoolResponse + */ + name: string; + /** + * + * @type {string} + * @memberof SchoolResponse + */ + officialSchoolNumber?: string; + /** + * + * @type {SchoolYearResponse} + * @memberof SchoolResponse + */ + currentYear?: SchoolYearResponse; + /** + * + * @type {FederalStateResponse} + * @memberof SchoolResponse + */ + federalState: FederalStateResponse; + /** + * + * @type {CountyResponse} + * @memberof SchoolResponse + */ + county?: CountyResponse; + /** + * + * @type {SchoolPurpose} + * @memberof SchoolResponse + */ + purpose?: SchoolPurpose; + /** + * + * @type {Array} + * @memberof SchoolResponse + */ + features: Array; + /** + * + * @type {Array} + * @memberof SchoolResponse + */ + systemIds: Array; + /** + * + * @type {boolean} + * @memberof SchoolResponse + */ + inUserMigration?: boolean; + /** + * + * @type {boolean} + * @memberof SchoolResponse + */ + inMaintenance: boolean; + /** + * + * @type {boolean} + * @memberof SchoolResponse + */ + isExternal: boolean; + /** + * + * @type {SchoolLogo} + * @memberof SchoolResponse + */ + logo?: SchoolLogo; + /** + * + * @type {FileStorageType} + * @memberof SchoolResponse + */ + fileStorageType?: FileStorageType; + /** + * + * @type {string} + * @memberof SchoolResponse + */ + language?: string; + /** + * + * @type {string} + * @memberof SchoolResponse + */ + timezone?: string; + /** + * + * @type {object} + * @memberof SchoolResponse + */ + permissions?: object; + /** + * + * @type {YearsResponse} + * @memberof SchoolResponse + */ + years: YearsResponse; + /** + * + * @type {Array} + * @memberof SchoolResponse + */ + instanceFeatures: Array; +} + + diff --git a/src/serverApi/v3/models/school-system-response.ts b/src/serverApi/v3/models/school-system-response.ts new file mode 100644 index 0000000..5c96d12 --- /dev/null +++ b/src/serverApi/v3/models/school-system-response.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ProviderConfigResponse } from './provider-config-response'; + +/** + * + * @export + * @interface SchoolSystemResponse + */ +export interface SchoolSystemResponse { + /** + * + * @type {string} + * @memberof SchoolSystemResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SchoolSystemResponse + */ + type: string; + /** + * + * @type {string} + * @memberof SchoolSystemResponse + */ + alias?: string; + /** + * + * @type {ProviderConfigResponse} + * @memberof SchoolSystemResponse + */ + ldapConfig?: ProviderConfigResponse; + /** + * + * @type {ProviderConfigResponse} + * @memberof SchoolSystemResponse + */ + oauthConfig?: ProviderConfigResponse; +} + + diff --git a/src/serverApi/v3/models/school-update-body-params.ts b/src/serverApi/v3/models/school-update-body-params.ts new file mode 100644 index 0000000..fdf075d --- /dev/null +++ b/src/serverApi/v3/models/school-update-body-params.ts @@ -0,0 +1,92 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { LanguageType } from './language-type'; +import { SchoolFeature } from './school-feature'; +import { SchoolLogo } from './school-logo'; +import { SchoolPermissionsParams } from './school-permissions-params'; + +/** + * + * @export + * @interface SchoolUpdateBodyParams + */ +export interface SchoolUpdateBodyParams { + /** + * + * @type {string} + * @memberof SchoolUpdateBodyParams + */ + name?: string; + /** + * + * @type {string} + * @memberof SchoolUpdateBodyParams + */ + officialSchoolNumber?: string; + /** + * + * @type {SchoolLogo} + * @memberof SchoolUpdateBodyParams + */ + logo?: SchoolLogo; + /** + * + * @type {string} + * @memberof SchoolUpdateBodyParams + */ + fileStorageType?: SchoolUpdateBodyParamsFileStorageType; + /** + * + * @type {LanguageType} + * @memberof SchoolUpdateBodyParams + */ + language?: LanguageType; + /** + * + * @type {Array} + * @memberof SchoolUpdateBodyParams + */ + features?: Array; + /** + * + * @type {SchoolPermissionsParams} + * @memberof SchoolUpdateBodyParams + */ + permissions?: SchoolPermissionsParams; + /** + * + * @type {string} + * @memberof SchoolUpdateBodyParams + */ + countyId?: string; + /** + * + * @type {boolean} + * @memberof SchoolUpdateBodyParams + */ + enableStudentTeamCreation?: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum SchoolUpdateBodyParamsFileStorageType { + AWS_S3 = 'awsS3' +} + + + diff --git a/src/serverApi/v3/models/school-year-query-type.ts b/src/serverApi/v3/models/school-year-query-type.ts new file mode 100644 index 0000000..51fbdeb --- /dev/null +++ b/src/serverApi/v3/models/school-year-query-type.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum SchoolYearQueryType { + NEXT_YEAR = 'nextYear', + CURRENT_YEAR = 'currentYear', + PREVIOUS_YEARS = 'previousYears' +} + + + diff --git a/src/serverApi/v3/models/school-year-response.ts b/src/serverApi/v3/models/school-year-response.ts new file mode 100644 index 0000000..3aa40de --- /dev/null +++ b/src/serverApi/v3/models/school-year-response.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchoolYearResponse + */ +export interface SchoolYearResponse { + /** + * + * @type {string} + * @memberof SchoolYearResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SchoolYearResponse + */ + name: string; + /** + * + * @type {string} + * @memberof SchoolYearResponse + */ + startDate: string; + /** + * + * @type {string} + * @memberof SchoolYearResponse + */ + endDate: string; +} + + diff --git a/src/serverApi/v3/models/schul-conne-xprovisioning-options-params.ts b/src/serverApi/v3/models/schul-conne-xprovisioning-options-params.ts new file mode 100644 index 0000000..6b78636 --- /dev/null +++ b/src/serverApi/v3/models/schul-conne-xprovisioning-options-params.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchulConneXProvisioningOptionsParams + */ +export interface SchulConneXProvisioningOptionsParams { + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsParams + */ + groupProvisioningClassesEnabled: boolean; + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsParams + */ + groupProvisioningCoursesEnabled: boolean; + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsParams + */ + groupProvisioningOtherEnabled: boolean; + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsParams + */ + schoolExternalToolProvisioningEnabled: boolean; +} + + diff --git a/src/serverApi/v3/models/schul-conne-xprovisioning-options-response.ts b/src/serverApi/v3/models/schul-conne-xprovisioning-options-response.ts new file mode 100644 index 0000000..02ffbf2 --- /dev/null +++ b/src/serverApi/v3/models/schul-conne-xprovisioning-options-response.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SchulConneXProvisioningOptionsResponse + */ +export interface SchulConneXProvisioningOptionsResponse { + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsResponse + */ + groupProvisioningClassesEnabled: boolean; + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsResponse + */ + groupProvisioningCoursesEnabled: boolean; + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsResponse + */ + groupProvisioningOtherEnabled: boolean; + /** + * + * @type {boolean} + * @memberof SchulConneXProvisioningOptionsResponse + */ + schoolExternalToolProvisioningEnabled: boolean; +} + + diff --git a/src/serverApi/v3/models/schulcloud-theme.ts b/src/serverApi/v3/models/schulcloud-theme.ts new file mode 100644 index 0000000..2343475 --- /dev/null +++ b/src/serverApi/v3/models/schulcloud-theme.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum SchulcloudTheme { + BRB = 'brb', + DEFAULT = 'default', + N21 = 'n21', + THR = 'thr' +} + + + diff --git a/src/serverApi/v3/models/set-height-body-params.ts b/src/serverApi/v3/models/set-height-body-params.ts new file mode 100644 index 0000000..826f309 --- /dev/null +++ b/src/serverApi/v3/models/set-height-body-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SetHeightBodyParams + */ +export interface SetHeightBodyParams { + /** + * + * @type {number} + * @memberof SetHeightBodyParams + */ + height: number; +} + + diff --git a/src/serverApi/v3/models/share-token-body-params.ts b/src/serverApi/v3/models/share-token-body-params.ts new file mode 100644 index 0000000..161695f --- /dev/null +++ b/src/serverApi/v3/models/share-token-body-params.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ShareTokenBodyParams + */ +export interface ShareTokenBodyParams { + /** + * the type of the object being shared + * @type {string} + * @memberof ShareTokenBodyParams + */ + parentType: ShareTokenBodyParamsParentType; + /** + * the id of the object being shared. + * @type {string} + * @memberof ShareTokenBodyParams + */ + parentId: string; + /** + * when defined, the sharetoken will expire after the given number of days. + * @type {number} + * @memberof ShareTokenBodyParams + */ + expiresInDays?: number | null; + /** + * when defined, the sharetoken will be usable exclusively by members of the users school. + * @type {boolean} + * @memberof ShareTokenBodyParams + */ + schoolExclusive?: boolean | null; +} + +/** + * @export + * @enum {string} + */ +export enum ShareTokenBodyParamsParentType { + COURSES = 'courses', + TASKS = 'tasks', + LESSONS = 'lessons', + COLUMN_BOARD = 'columnBoard' +} + + + diff --git a/src/serverApi/v3/models/share-token-import-body-params.ts b/src/serverApi/v3/models/share-token-import-body-params.ts new file mode 100644 index 0000000..20c7c3f --- /dev/null +++ b/src/serverApi/v3/models/share-token-import-body-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ShareTokenImportBodyParams + */ +export interface ShareTokenImportBodyParams { + /** + * the new name of the imported object. + * @type {string} + * @memberof ShareTokenImportBodyParams + */ + newName: string; + /** + * Id of the course to which the lesson/task will be added + * @type {string} + * @memberof ShareTokenImportBodyParams + */ + destinationCourseId?: string | null; +} + + diff --git a/src/serverApi/v3/models/share-token-info-response.ts b/src/serverApi/v3/models/share-token-info-response.ts new file mode 100644 index 0000000..96da6e3 --- /dev/null +++ b/src/serverApi/v3/models/share-token-info-response.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ShareTokenInfoResponse + */ +export interface ShareTokenInfoResponse { + /** + * + * @type {string} + * @memberof ShareTokenInfoResponse + */ + token: string; + /** + * + * @type {string} + * @memberof ShareTokenInfoResponse + */ + parentType: ShareTokenInfoResponseParentType; + /** + * + * @type {string} + * @memberof ShareTokenInfoResponse + */ + parentName: string; +} + +/** + * @export + * @enum {string} + */ +export enum ShareTokenInfoResponseParentType { + COURSES = 'courses', + TASKS = 'tasks', + LESSONS = 'lessons', + COLUMN_BOARD = 'columnBoard' +} + + + diff --git a/src/serverApi/v3/models/share-token-payload-response.ts b/src/serverApi/v3/models/share-token-payload-response.ts new file mode 100644 index 0000000..8dbc217 --- /dev/null +++ b/src/serverApi/v3/models/share-token-payload-response.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ShareTokenPayloadResponse + */ +export interface ShareTokenPayloadResponse { + /** + * + * @type {string} + * @memberof ShareTokenPayloadResponse + */ + parentType: ShareTokenPayloadResponseParentType; + /** + * + * @type {string} + * @memberof ShareTokenPayloadResponse + */ + parentId: string; +} + +/** + * @export + * @enum {string} + */ +export enum ShareTokenPayloadResponseParentType { + COURSES = 'courses', + TASKS = 'tasks', + LESSONS = 'lessons', + COLUMN_BOARD = 'columnBoard' +} + + + diff --git a/src/serverApi/v3/models/share-token-response.ts b/src/serverApi/v3/models/share-token-response.ts new file mode 100644 index 0000000..59cc8b9 --- /dev/null +++ b/src/serverApi/v3/models/share-token-response.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ShareTokenPayloadResponse } from './share-token-payload-response'; + +/** + * + * @export + * @interface ShareTokenResponse + */ +export interface ShareTokenResponse { + /** + * + * @type {string} + * @memberof ShareTokenResponse + */ + token: string; + /** + * + * @type {ShareTokenPayloadResponse} + * @memberof ShareTokenResponse + */ + payload: ShareTokenPayloadResponse; + /** + * + * @type {string} + * @memberof ShareTokenResponse + */ + expiresAt?: string; +} + + diff --git a/src/serverApi/v3/models/single-column-board-response.ts b/src/serverApi/v3/models/single-column-board-response.ts new file mode 100644 index 0000000..cffdf72 --- /dev/null +++ b/src/serverApi/v3/models/single-column-board-response.ts @@ -0,0 +1,62 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { BoardElementResponse } from './board-element-response'; + +/** + * + * @export + * @interface SingleColumnBoardResponse + */ +export interface SingleColumnBoardResponse { + /** + * The id of the room this board belongs to + * @type {string} + * @memberof SingleColumnBoardResponse + */ + roomId: string; + /** + * Title of the Board + * @type {string} + * @memberof SingleColumnBoardResponse + */ + title: string; + /** + * Color of the Board + * @type {string} + * @memberof SingleColumnBoardResponse + */ + displayColor: string; + /** + * Array of board specific tasks or lessons with matching type property + * @type {Array} + * @memberof SingleColumnBoardResponse + */ + elements: Array; + /** + * Boolean if the room this board belongs to is archived + * @type {boolean} + * @memberof SingleColumnBoardResponse + */ + isArchived: boolean; + /** + * Is the course synchronized with a group? + * @type {boolean} + * @memberof SingleColumnBoardResponse + */ + isSynchronized: boolean; +} + + diff --git a/src/serverApi/v3/models/student-permission-params.ts b/src/serverApi/v3/models/student-permission-params.ts new file mode 100644 index 0000000..4729bd6 --- /dev/null +++ b/src/serverApi/v3/models/student-permission-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface StudentPermissionParams + */ +export interface StudentPermissionParams { + /** + * + * @type {boolean} + * @memberof StudentPermissionParams + */ + LERNSTORE_VIEW?: boolean; +} + + diff --git a/src/serverApi/v3/models/submission-container-content-body.ts b/src/serverApi/v3/models/submission-container-content-body.ts new file mode 100644 index 0000000..e0824f1 --- /dev/null +++ b/src/serverApi/v3/models/submission-container-content-body.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SubmissionContainerContentBody + */ +export interface SubmissionContainerContentBody { + /** + * The point in time until when a submission can be handed in. + * @type {string} + * @memberof SubmissionContainerContentBody + */ + dueDate?: string; +} + + diff --git a/src/serverApi/v3/models/submission-container-element-content-body.ts b/src/serverApi/v3/models/submission-container-element-content-body.ts new file mode 100644 index 0000000..bca6532 --- /dev/null +++ b/src/serverApi/v3/models/submission-container-element-content-body.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { SubmissionContainerContentBody } from './submission-container-content-body'; + +/** + * + * @export + * @interface SubmissionContainerElementContentBody + */ +export interface SubmissionContainerElementContentBody { + /** + * + * @type {ContentElementType} + * @memberof SubmissionContainerElementContentBody + */ + type: ContentElementType; + /** + * + * @type {SubmissionContainerContentBody} + * @memberof SubmissionContainerElementContentBody + */ + content: SubmissionContainerContentBody; +} + + diff --git a/src/serverApi/v3/models/submission-container-element-content.ts b/src/serverApi/v3/models/submission-container-element-content.ts new file mode 100644 index 0000000..0c34099 --- /dev/null +++ b/src/serverApi/v3/models/submission-container-element-content.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SubmissionContainerElementContent + */ +export interface SubmissionContainerElementContent { + /** + * The dueDate as date string or null of not set + * @type {string} + * @memberof SubmissionContainerElementContent + */ + dueDate: string; +} + + diff --git a/src/serverApi/v3/models/submission-container-element-response.ts b/src/serverApi/v3/models/submission-container-element-response.ts new file mode 100644 index 0000000..4fc95e0 --- /dev/null +++ b/src/serverApi/v3/models/submission-container-element-response.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContentElementType } from './content-element-type'; +import { SubmissionContainerElementContent } from './submission-container-element-content'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface SubmissionContainerElementResponse + */ +export interface SubmissionContainerElementResponse { + /** + * + * @type {string} + * @memberof SubmissionContainerElementResponse + */ + id: string; + /** + * + * @type {ContentElementType} + * @memberof SubmissionContainerElementResponse + */ + type: ContentElementType; + /** + * + * @type {SubmissionContainerElementContent} + * @memberof SubmissionContainerElementResponse + */ + content: SubmissionContainerElementContent; + /** + * + * @type {TimestampsResponse} + * @memberof SubmissionContainerElementResponse + */ + timestamps: TimestampsResponse; +} + + diff --git a/src/serverApi/v3/models/submission-item-response.ts b/src/serverApi/v3/models/submission-item-response.ts new file mode 100644 index 0000000..61766ef --- /dev/null +++ b/src/serverApi/v3/models/submission-item-response.ts @@ -0,0 +1,58 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { FileElementResponse } from './file-element-response'; +import { RichTextElementResponse } from './rich-text-element-response'; +import { TimestampsResponse } from './timestamps-response'; + +/** + * + * @export + * @interface SubmissionItemResponse + */ +export interface SubmissionItemResponse { + /** + * + * @type {string} + * @memberof SubmissionItemResponse + */ + id: string; + /** + * + * @type {TimestampsResponse} + * @memberof SubmissionItemResponse + */ + timestamps: TimestampsResponse; + /** + * + * @type {boolean} + * @memberof SubmissionItemResponse + */ + completed: boolean; + /** + * + * @type {string} + * @memberof SubmissionItemResponse + */ + userId: string; + /** + * + * @type {Array} + * @memberof SubmissionItemResponse + */ + elements: Array; +} + + diff --git a/src/serverApi/v3/models/submission-status-list-response.ts b/src/serverApi/v3/models/submission-status-list-response.ts new file mode 100644 index 0000000..f4049a9 --- /dev/null +++ b/src/serverApi/v3/models/submission-status-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { SubmissionStatusResponse } from './submission-status-response'; + +/** + * + * @export + * @interface SubmissionStatusListResponse + */ +export interface SubmissionStatusListResponse { + /** + * + * @type {Array} + * @memberof SubmissionStatusListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/submission-status-response.ts b/src/serverApi/v3/models/submission-status-response.ts new file mode 100644 index 0000000..4cfc5b1 --- /dev/null +++ b/src/serverApi/v3/models/submission-status-response.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SubmissionStatusResponse + */ +export interface SubmissionStatusResponse { + /** + * + * @type {string} + * @memberof SubmissionStatusResponse + */ + id: string; + /** + * + * @type {Array} + * @memberof SubmissionStatusResponse + */ + submitters: Array; + /** + * + * @type {boolean} + * @memberof SubmissionStatusResponse + */ + isSubmitted: boolean; + /** + * + * @type {number} + * @memberof SubmissionStatusResponse + */ + grade?: number; + /** + * + * @type {boolean} + * @memberof SubmissionStatusResponse + */ + isGraded: boolean; + /** + * + * @type {string} + * @memberof SubmissionStatusResponse + */ + submittingCourseGroupName?: string; +} + + diff --git a/src/serverApi/v3/models/submissions-response.ts b/src/serverApi/v3/models/submissions-response.ts new file mode 100644 index 0000000..76d8c72 --- /dev/null +++ b/src/serverApi/v3/models/submissions-response.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { SubmissionItemResponse } from './submission-item-response'; +import { UserDataResponse } from './user-data-response'; + +/** + * + * @export + * @interface SubmissionsResponse + */ +export interface SubmissionsResponse { + /** + * + * @type {Array} + * @memberof SubmissionsResponse + */ + submissionItemsResponse: Array; + /** + * + * @type {Array} + * @memberof SubmissionsResponse + */ + users: Array; +} + + diff --git a/src/serverApi/v3/models/successful-response.ts b/src/serverApi/v3/models/successful-response.ts new file mode 100644 index 0000000..89fd53a --- /dev/null +++ b/src/serverApi/v3/models/successful-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SuccessfulResponse + */ +export interface SuccessfulResponse { + /** + * + * @type {boolean} + * @memberof SuccessfulResponse + */ + successful: boolean; +} + + diff --git a/src/serverApi/v3/models/system-for-ldap-login-response.ts b/src/serverApi/v3/models/system-for-ldap-login-response.ts new file mode 100644 index 0000000..dadc4b9 --- /dev/null +++ b/src/serverApi/v3/models/system-for-ldap-login-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface SystemForLdapLoginResponse + */ +export interface SystemForLdapLoginResponse { + /** + * + * @type {string} + * @memberof SystemForLdapLoginResponse + */ + id: string; + /** + * + * @type {string} + * @memberof SystemForLdapLoginResponse + */ + type: string; + /** + * + * @type {string} + * @memberof SystemForLdapLoginResponse + */ + alias: string; +} + + diff --git a/src/serverApi/v3/models/system-type.ts b/src/serverApi/v3/models/system-type.ts new file mode 100644 index 0000000..5bf9851 --- /dev/null +++ b/src/serverApi/v3/models/system-type.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum SystemType { + OAUTH = 'oauth', + LDAP = 'ldap', + OIDC = 'oidc', + TSP_BASE = 'tsp-base', + TSP_SCHOOL = 'tsp-school', + LOCAL = 'local', + ISERV = 'iserv', + LERNSAX = 'lernsax', + ITSLEARNING = 'itslearning', + MOODLE = 'moodle' +} + + + diff --git a/src/serverApi/v3/models/target-info-response.ts b/src/serverApi/v3/models/target-info-response.ts new file mode 100644 index 0000000..c5a7bbb --- /dev/null +++ b/src/serverApi/v3/models/target-info-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TargetInfoResponse + */ +export interface TargetInfoResponse { + /** + * The id of the Target entity + * @type {string} + * @memberof TargetInfoResponse + */ + id: string; + /** + * The name of the Target entity + * @type {string} + * @memberof TargetInfoResponse + */ + name: string; +} + + diff --git a/src/serverApi/v3/models/task-copy-api-params.ts b/src/serverApi/v3/models/task-copy-api-params.ts new file mode 100644 index 0000000..ac4f39b --- /dev/null +++ b/src/serverApi/v3/models/task-copy-api-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TaskCopyApiParams + */ +export interface TaskCopyApiParams { + /** + * Destination course parent Id the task is copied to + * @type {string} + * @memberof TaskCopyApiParams + */ + courseId?: string; + /** + * Destination lesson parent Id the task is copied to + * @type {string} + * @memberof TaskCopyApiParams + */ + lessonId?: string; +} + + diff --git a/src/serverApi/v3/models/task-list-response.ts b/src/serverApi/v3/models/task-list-response.ts new file mode 100644 index 0000000..02df753 --- /dev/null +++ b/src/serverApi/v3/models/task-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { TaskResponse } from './task-response'; + +/** + * + * @export + * @interface TaskListResponse + */ +export interface TaskListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof TaskListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof TaskListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof TaskListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof TaskListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/task-response.ts b/src/serverApi/v3/models/task-response.ts new file mode 100644 index 0000000..c83e1c4 --- /dev/null +++ b/src/serverApi/v3/models/task-response.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { RichText } from './rich-text'; +import { TaskStatusResponse } from './task-status-response'; + +/** + * + * @export + * @interface TaskResponse + */ +export interface TaskResponse { + /** + * + * @type {string} + * @memberof TaskResponse + */ + id: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + name: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + availableDate?: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + dueDate?: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + courseName: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + lessonName?: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + courseId: string; + /** + * Task description object, with props content: string and type: input format types + * @type {RichText} + * @memberof TaskResponse + */ + description?: RichText; + /** + * + * @type {boolean} + * @memberof TaskResponse + */ + lessonHidden: boolean; + /** + * + * @type {string} + * @memberof TaskResponse + */ + displayColor?: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + createdAt: string; + /** + * + * @type {string} + * @memberof TaskResponse + */ + updatedAt: string; + /** + * + * @type {TaskStatusResponse} + * @memberof TaskResponse + */ + status: TaskStatusResponse; +} + + diff --git a/src/serverApi/v3/models/task-status-response.ts b/src/serverApi/v3/models/task-status-response.ts new file mode 100644 index 0000000..1ec00c8 --- /dev/null +++ b/src/serverApi/v3/models/task-status-response.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TaskStatusResponse + */ +export interface TaskStatusResponse { + /** + * + * @type {number} + * @memberof TaskStatusResponse + */ + submitted: number; + /** + * + * @type {number} + * @memberof TaskStatusResponse + */ + maxSubmissions: number; + /** + * + * @type {number} + * @memberof TaskStatusResponse + */ + graded: number; + /** + * + * @type {boolean} + * @memberof TaskStatusResponse + */ + isDraft: boolean; + /** + * + * @type {boolean} + * @memberof TaskStatusResponse + */ + isSubstitutionTeacher: boolean; + /** + * + * @type {boolean} + * @memberof TaskStatusResponse + */ + isFinished: boolean; +} + + diff --git a/src/serverApi/v3/models/teacher-permission-params.ts b/src/serverApi/v3/models/teacher-permission-params.ts new file mode 100644 index 0000000..a07ea17 --- /dev/null +++ b/src/serverApi/v3/models/teacher-permission-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TeacherPermissionParams + */ +export interface TeacherPermissionParams { + /** + * + * @type {boolean} + * @memberof TeacherPermissionParams + */ + STUDENT_LIST?: boolean; +} + + diff --git a/src/serverApi/v3/models/team-permissions-body.ts b/src/serverApi/v3/models/team-permissions-body.ts new file mode 100644 index 0000000..5af11a5 --- /dev/null +++ b/src/serverApi/v3/models/team-permissions-body.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TeamPermissionsBody + */ +export interface TeamPermissionsBody { + /** + * + * @type {boolean} + * @memberof TeamPermissionsBody + */ + read: boolean; + /** + * + * @type {boolean} + * @memberof TeamPermissionsBody + */ + write: boolean; + /** + * + * @type {boolean} + * @memberof TeamPermissionsBody + */ + create: boolean; + /** + * + * @type {boolean} + * @memberof TeamPermissionsBody + */ + _delete: boolean; + /** + * + * @type {boolean} + * @memberof TeamPermissionsBody + */ + share: boolean; +} + + diff --git a/src/serverApi/v3/models/timestamps-response.ts b/src/serverApi/v3/models/timestamps-response.ts new file mode 100644 index 0000000..6fbb137 --- /dev/null +++ b/src/serverApi/v3/models/timestamps-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TimestampsResponse + */ +export interface TimestampsResponse { + /** + * + * @type {string} + * @memberof TimestampsResponse + */ + lastUpdatedAt: string; + /** + * + * @type {string} + * @memberof TimestampsResponse + */ + createdAt: string; + /** + * + * @type {string} + * @memberof TimestampsResponse + */ + deletedAt?: string; +} + + diff --git a/src/serverApi/v3/models/timezone.ts b/src/serverApi/v3/models/timezone.ts new file mode 100644 index 0000000..a0a8689 --- /dev/null +++ b/src/serverApi/v3/models/timezone.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum Timezone { + EUROPE_BERLIN = 'Europe/Berlin' +} + + + diff --git a/src/serverApi/v3/models/tool-config-type.ts b/src/serverApi/v3/models/tool-config-type.ts new file mode 100644 index 0000000..e015531 --- /dev/null +++ b/src/serverApi/v3/models/tool-config-type.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum ToolConfigType { + BASIC = 'basic', + OAUTH2 = 'oauth2', + LTI11 = 'lti11' +} + + + diff --git a/src/serverApi/v3/models/tool-context-type.ts b/src/serverApi/v3/models/tool-context-type.ts new file mode 100644 index 0000000..ef78088 --- /dev/null +++ b/src/serverApi/v3/models/tool-context-type.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum ToolContextType { + COURSE = 'course', + BOARD_ELEMENT = 'board-element', + MEDIA_BOARD = 'media-board' +} + + + diff --git a/src/serverApi/v3/models/tool-context-types-list-response.ts b/src/serverApi/v3/models/tool-context-types-list-response.ts new file mode 100644 index 0000000..9d6debf --- /dev/null +++ b/src/serverApi/v3/models/tool-context-types-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ToolContextType } from './tool-context-type'; + +/** + * + * @export + * @interface ToolContextTypesListResponse + */ +export interface ToolContextTypesListResponse { + /** + * + * @type {Array} + * @memberof ToolContextTypesListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/tool-launch-request-response.ts b/src/serverApi/v3/models/tool-launch-request-response.ts new file mode 100644 index 0000000..b835498 --- /dev/null +++ b/src/serverApi/v3/models/tool-launch-request-response.ts @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ToolLaunchRequestResponse + */ +export interface ToolLaunchRequestResponse { + /** + * The Launch Request method (GET or POST) + * @type {string} + * @memberof ToolLaunchRequestResponse + */ + method: ToolLaunchRequestResponseMethod; + /** + * The URL for the Tool Launch Request + * @type {string} + * @memberof ToolLaunchRequestResponse + */ + url: string; + /** + * The payload for the Tool Launch Request (optional) + * @type {string} + * @memberof ToolLaunchRequestResponse + */ + payload?: string; + /** + * Specifies whether the Tool should be launched in a new tab + * @type {boolean} + * @memberof ToolLaunchRequestResponse + */ + openNewTab?: boolean; +} + +/** + * @export + * @enum {string} + */ +export enum ToolLaunchRequestResponseMethod { + GET = 'GET', + POST = 'POST' +} + + + diff --git a/src/serverApi/v3/models/tool-reference-list-response.ts b/src/serverApi/v3/models/tool-reference-list-response.ts new file mode 100644 index 0000000..4d264ff --- /dev/null +++ b/src/serverApi/v3/models/tool-reference-list-response.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ToolReferenceResponse } from './tool-reference-response'; + +/** + * + * @export + * @interface ToolReferenceListResponse + */ +export interface ToolReferenceListResponse { + /** + * + * @type {Array} + * @memberof ToolReferenceListResponse + */ + data: Array; +} + + diff --git a/src/serverApi/v3/models/tool-reference-response.ts b/src/serverApi/v3/models/tool-reference-response.ts new file mode 100644 index 0000000..ddbf345 --- /dev/null +++ b/src/serverApi/v3/models/tool-reference-response.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ContextExternalToolConfigurationStatusResponse } from './context-external-tool-configuration-status-response'; + +/** + * + * @export + * @interface ToolReferenceResponse + */ +export interface ToolReferenceResponse { + /** + * The id of the tool in the context + * @type {string} + * @memberof ToolReferenceResponse + */ + contextToolId: string; + /** + * The description of the tool + * @type {string} + * @memberof ToolReferenceResponse + */ + description?: string; + /** + * The url of the logo which is stored in the db + * @type {string} + * @memberof ToolReferenceResponse + */ + logoUrl?: string; + /** + * The url of the thumbnail which is stored in the db + * @type {string} + * @memberof ToolReferenceResponse + */ + thumbnailUrl?: string; + /** + * The display name of the tool + * @type {string} + * @memberof ToolReferenceResponse + */ + displayName: string; + /** + * Whether the tool should be opened in a new tab + * @type {boolean} + * @memberof ToolReferenceResponse + */ + openInNewTab: boolean; + /** + * The status of the tool + * @type {ContextExternalToolConfigurationStatusResponse} + * @memberof ToolReferenceResponse + */ + status: ContextExternalToolConfigurationStatusResponse; +} + + diff --git a/src/serverApi/v3/models/update-board-title-params.ts b/src/serverApi/v3/models/update-board-title-params.ts new file mode 100644 index 0000000..3687ab3 --- /dev/null +++ b/src/serverApi/v3/models/update-board-title-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UpdateBoardTitleParams + */ +export interface UpdateBoardTitleParams { + /** + * + * @type {string} + * @memberof UpdateBoardTitleParams + */ + title: string; +} + + diff --git a/src/serverApi/v3/models/update-element-content-body-params.ts b/src/serverApi/v3/models/update-element-content-body-params.ts new file mode 100644 index 0000000..85b97c7 --- /dev/null +++ b/src/serverApi/v3/models/update-element-content-body-params.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { DrawingElementContentBody } from './drawing-element-content-body'; +import { ExternalToolElementContentBody } from './external-tool-element-content-body'; +import { FileElementContentBody } from './file-element-content-body'; +import { LinkElementContentBody } from './link-element-content-body'; +import { RichTextElementContentBody } from './rich-text-element-content-body'; +import { SubmissionContainerElementContentBody } from './submission-container-element-content-body'; + +/** + * + * @export + * @interface UpdateElementContentBodyParams + */ +export interface UpdateElementContentBodyParams { + /** + * + * @type {FileElementContentBody | LinkElementContentBody | RichTextElementContentBody | SubmissionContainerElementContentBody | ExternalToolElementContentBody | DrawingElementContentBody} + * @memberof UpdateElementContentBodyParams + */ + data: FileElementContentBody | LinkElementContentBody | RichTextElementContentBody | SubmissionContainerElementContentBody | ExternalToolElementContentBody | DrawingElementContentBody; +} + + diff --git a/src/serverApi/v3/models/update-flag-params.ts b/src/serverApi/v3/models/update-flag-params.ts new file mode 100644 index 0000000..0c7b916 --- /dev/null +++ b/src/serverApi/v3/models/update-flag-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UpdateFlagParams + */ +export interface UpdateFlagParams { + /** + * updates flag for an import user + * @type {boolean} + * @memberof UpdateFlagParams + */ + flagged: boolean; +} + + diff --git a/src/serverApi/v3/models/update-match-params.ts b/src/serverApi/v3/models/update-match-params.ts new file mode 100644 index 0000000..a261d8b --- /dev/null +++ b/src/serverApi/v3/models/update-match-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UpdateMatchParams + */ +export interface UpdateMatchParams { + /** + * updates local user reference for an import user + * @type {string} + * @memberof UpdateMatchParams + */ + userId: string; +} + + diff --git a/src/serverApi/v3/models/update-news-params.ts b/src/serverApi/v3/models/update-news-params.ts new file mode 100644 index 0000000..4633f65 --- /dev/null +++ b/src/serverApi/v3/models/update-news-params.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UpdateNewsParams + */ +export interface UpdateNewsParams { + /** + * Title of the News entity + * @type {string} + * @memberof UpdateNewsParams + */ + title?: string; + /** + * Content of the News entity + * @type {string} + * @memberof UpdateNewsParams + */ + content?: string; + /** + * The point in time from when the News entity schould be displayed + * @type {string} + * @memberof UpdateNewsParams + */ + displayAt?: string; +} + + diff --git a/src/serverApi/v3/models/update-submission-item-body-params.ts b/src/serverApi/v3/models/update-submission-item-body-params.ts new file mode 100644 index 0000000..ed64943 --- /dev/null +++ b/src/serverApi/v3/models/update-submission-item-body-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UpdateSubmissionItemBodyParams + */ +export interface UpdateSubmissionItemBodyParams { + /** + * Boolean indicating whether the submission is completed. + * @type {boolean} + * @memberof UpdateSubmissionItemBodyParams + */ + completed: boolean; +} + + diff --git a/src/serverApi/v3/models/user-consent-response.ts b/src/serverApi/v3/models/user-consent-response.ts new file mode 100644 index 0000000..5ec99a6 --- /dev/null +++ b/src/serverApi/v3/models/user-consent-response.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UserConsentResponse + */ +export interface UserConsentResponse { + /** + * + * @type {string} + * @memberof UserConsentResponse + */ + form: string; + /** + * + * @type {boolean} + * @memberof UserConsentResponse + */ + privacyConsent: boolean; + /** + * + * @type {boolean} + * @memberof UserConsentResponse + */ + termsOfUseConsent: boolean; + /** + * + * @type {string} + * @memberof UserConsentResponse + */ + dateOfPrivacyConsent: string; + /** + * + * @type {string} + * @memberof UserConsentResponse + */ + dateOfTermsOfUseConsent: string; +} + + diff --git a/src/serverApi/v3/models/user-data-response.ts b/src/serverApi/v3/models/user-data-response.ts new file mode 100644 index 0000000..d6c414e --- /dev/null +++ b/src/serverApi/v3/models/user-data-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UserDataResponse + */ +export interface UserDataResponse { + /** + * + * @type {string} + * @memberof UserDataResponse + */ + firstName: string; + /** + * + * @type {string} + * @memberof UserDataResponse + */ + lastName: string; + /** + * + * @type {string} + * @memberof UserDataResponse + */ + userId: string; +} + + diff --git a/src/serverApi/v3/models/user-info-response.ts b/src/serverApi/v3/models/user-info-response.ts new file mode 100644 index 0000000..5b721a4 --- /dev/null +++ b/src/serverApi/v3/models/user-info-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UserInfoResponse + */ +export interface UserInfoResponse { + /** + * The id of the User entity + * @type {string} + * @memberof UserInfoResponse + */ + id: string; + /** + * First name of the user + * @type {string} + * @memberof UserInfoResponse + */ + firstName?: string; + /** + * Last name of the user + * @type {string} + * @memberof UserInfoResponse + */ + lastName?: string; +} + + diff --git a/src/serverApi/v3/models/user-list-response.ts b/src/serverApi/v3/models/user-list-response.ts new file mode 100644 index 0000000..9f8e898 --- /dev/null +++ b/src/serverApi/v3/models/user-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { UserResponse } from './user-response'; + +/** + * + * @export + * @interface UserListResponse + */ +export interface UserListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof UserListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof UserListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof UserListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof UserListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/user-login-migration-mandatory-params.ts b/src/serverApi/v3/models/user-login-migration-mandatory-params.ts new file mode 100644 index 0000000..871694d --- /dev/null +++ b/src/serverApi/v3/models/user-login-migration-mandatory-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UserLoginMigrationMandatoryParams + */ +export interface UserLoginMigrationMandatoryParams { + /** + * + * @type {boolean} + * @memberof UserLoginMigrationMandatoryParams + */ + mandatory: boolean; +} + + diff --git a/src/serverApi/v3/models/user-login-migration-response.ts b/src/serverApi/v3/models/user-login-migration-response.ts new file mode 100644 index 0000000..c42dff6 --- /dev/null +++ b/src/serverApi/v3/models/user-login-migration-response.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UserLoginMigrationResponse + */ +export interface UserLoginMigrationResponse { + /** + * Id of the migration + * @type {string} + * @memberof UserLoginMigrationResponse + */ + id: string; + /** + * Id of the system which is the origin of the migration + * @type {string} + * @memberof UserLoginMigrationResponse + */ + sourceSystemId?: string; + /** + * Id of the system which is the target of the migration + * @type {string} + * @memberof UserLoginMigrationResponse + */ + targetSystemId: string; + /** + * Date when the migration was marked as required + * @type {string} + * @memberof UserLoginMigrationResponse + */ + mandatorySince?: string; + /** + * Date when the migration was started + * @type {string} + * @memberof UserLoginMigrationResponse + */ + startedAt: string; + /** + * Date when the migration was completed + * @type {string} + * @memberof UserLoginMigrationResponse + */ + closedAt?: string; + /** + * Date when the migration was completed including the grace period + * @type {string} + * @memberof UserLoginMigrationResponse + */ + finishedAt?: string; +} + + diff --git a/src/serverApi/v3/models/user-login-migration-search-list-response.ts b/src/serverApi/v3/models/user-login-migration-search-list-response.ts new file mode 100644 index 0000000..14d90fb --- /dev/null +++ b/src/serverApi/v3/models/user-login-migration-search-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { UserLoginMigrationResponse } from './user-login-migration-response'; + +/** + * + * @export + * @interface UserLoginMigrationSearchListResponse + */ +export interface UserLoginMigrationSearchListResponse { + /** + * Contains user login migration responses + * @type {Array} + * @memberof UserLoginMigrationSearchListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof UserLoginMigrationSearchListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof UserLoginMigrationSearchListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof UserLoginMigrationSearchListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/user-match-list-response.ts b/src/serverApi/v3/models/user-match-list-response.ts new file mode 100644 index 0000000..e66f1e7 --- /dev/null +++ b/src/serverApi/v3/models/user-match-list-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { UserMatchResponse } from './user-match-response'; + +/** + * + * @export + * @interface UserMatchListResponse + */ +export interface UserMatchListResponse { + /** + * The items for the current page. + * @type {Array} + * @memberof UserMatchListResponse + */ + data: Array; + /** + * The total amount of items. + * @type {number} + * @memberof UserMatchListResponse + */ + total: number; + /** + * The amount of items skipped from the start. + * @type {number} + * @memberof UserMatchListResponse + */ + skip: number; + /** + * The page size of the response. + * @type {number} + * @memberof UserMatchListResponse + */ + limit: number; +} + + diff --git a/src/serverApi/v3/models/user-match-response.ts b/src/serverApi/v3/models/user-match-response.ts new file mode 100644 index 0000000..4ac2c6b --- /dev/null +++ b/src/serverApi/v3/models/user-match-response.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface UserMatchResponse + */ +export interface UserMatchResponse { + /** + * local user id + * @type {string} + * @memberof UserMatchResponse + */ + userId: string; + /** + * login name of local user + * @type {string} + * @memberof UserMatchResponse + */ + loginName: string; + /** + * firstname of local user + * @type {string} + * @memberof UserMatchResponse + */ + firstName: string; + /** + * lastname of local user + * @type {string} + * @memberof UserMatchResponse + */ + lastName: string; + /** + * list of user roles from external system: student, teacher, admin + * @type {Array} + * @memberof UserMatchResponse + */ + roleNames: Array; + /** + * match type: admin (manual) or auto (set, when names match exactly for a single user + * @type {string} + * @memberof UserMatchResponse + */ + matchedBy?: UserMatchResponseMatchedBy; +} + +/** + * @export + * @enum {string} + */ +export enum UserMatchResponseRoleNames { + STUDENT = 'student', + TEACHER = 'teacher', + ADMIN = 'admin' +} +/** + * @export + * @enum {string} + */ +export enum UserMatchResponseMatchedBy { + AUTO = 'auto', + ADMIN = 'admin' +} + + + diff --git a/src/serverApi/v3/models/user-response.ts b/src/serverApi/v3/models/user-response.ts new file mode 100644 index 0000000..d57b33a --- /dev/null +++ b/src/serverApi/v3/models/user-response.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { ClassResponse } from './class-response'; +import { ConsentsResponse } from './consents-response'; + +/** + * + * @export + * @interface UserResponse + */ +export interface UserResponse { + /** + * + * @type {string} + * @memberof UserResponse + */ + _id: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + firstName: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + lastName: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + email: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + createdAt: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + birthday: string; + /** + * + * @type {object} + * @memberof UserResponse + */ + preferences: object; + /** + * + * @type {string} + * @memberof UserResponse + */ + consentStatus: string; + /** + * + * @type {ConsentsResponse} + * @memberof UserResponse + */ + consent: ConsentsResponse; + /** + * + * @type {Array} + * @memberof UserResponse + */ + classes: Array; + /** + * + * @type {string} + * @memberof UserResponse + */ + importHash: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + lastLoginSystemChange: string; + /** + * + * @type {string} + * @memberof UserResponse + */ + outdatedSince: string; +} + + diff --git a/src/serverApi/v3/models/validation-error.ts b/src/serverApi/v3/models/validation-error.ts new file mode 100644 index 0000000..0306ac1 --- /dev/null +++ b/src/serverApi/v3/models/validation-error.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ValidationError + */ +export interface ValidationError { + /** + * The response status code. + * @type {number} + * @memberof ValidationError + */ + code: number; + /** + * The error type. + * @type {string} + * @memberof ValidationError + */ + type: string; + /** + * The error title. + * @type {string} + * @memberof ValidationError + */ + title: string; + /** + * The error message. + * @type {string} + * @memberof ValidationError + */ + message: string; + /** + * The error details. + * @type {object} + * @memberof ValidationError + */ + details?: object; +} + + diff --git a/src/serverApi/v3/models/video-conference-create-params.ts b/src/serverApi/v3/models/video-conference-create-params.ts new file mode 100644 index 0000000..6d7893d --- /dev/null +++ b/src/serverApi/v3/models/video-conference-create-params.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface VideoConferenceCreateParams + */ +export interface VideoConferenceCreateParams { + /** + * + * @type {boolean} + * @memberof VideoConferenceCreateParams + */ + everyAttendeeJoinsMuted?: boolean; + /** + * + * @type {boolean} + * @memberof VideoConferenceCreateParams + */ + everybodyJoinsAsModerator?: boolean; + /** + * + * @type {boolean} + * @memberof VideoConferenceCreateParams + */ + moderatorMustApproveJoinRequests?: boolean; + /** + * The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from. + * @type {string} + * @memberof VideoConferenceCreateParams + */ + logoutUrl?: string; +} + + diff --git a/src/serverApi/v3/models/video-conference-info-response.ts b/src/serverApi/v3/models/video-conference-info-response.ts new file mode 100644 index 0000000..19b01a3 --- /dev/null +++ b/src/serverApi/v3/models/video-conference-info-response.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { VideoConferenceOptionsResponse } from './video-conference-options-response'; +import { VideoConferenceStateResponse } from './video-conference-state-response'; + +/** + * + * @export + * @interface VideoConferenceInfoResponse + */ +export interface VideoConferenceInfoResponse { + /** + * + * @type {VideoConferenceStateResponse} + * @memberof VideoConferenceInfoResponse + */ + state: VideoConferenceStateResponse; + /** + * The options for the video conference. + * @type {VideoConferenceOptionsResponse} + * @memberof VideoConferenceInfoResponse + */ + options: VideoConferenceOptionsResponse; +} + + diff --git a/src/serverApi/v3/models/video-conference-join-response.ts b/src/serverApi/v3/models/video-conference-join-response.ts new file mode 100644 index 0000000..b281192 --- /dev/null +++ b/src/serverApi/v3/models/video-conference-join-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface VideoConferenceJoinResponse + */ +export interface VideoConferenceJoinResponse { + /** + * The URL to join the video conference. + * @type {string} + * @memberof VideoConferenceJoinResponse + */ + url: string; +} + + diff --git a/src/serverApi/v3/models/video-conference-options-response.ts b/src/serverApi/v3/models/video-conference-options-response.ts new file mode 100644 index 0000000..a38f1bb --- /dev/null +++ b/src/serverApi/v3/models/video-conference-options-response.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface VideoConferenceOptionsResponse + */ +export interface VideoConferenceOptionsResponse { + /** + * Every attendee joins muted + * @type {boolean} + * @memberof VideoConferenceOptionsResponse + */ + everyAttendeeJoinsMuted: boolean; + /** + * Every attendee joins as a moderator + * @type {boolean} + * @memberof VideoConferenceOptionsResponse + */ + everybodyJoinsAsModerator: boolean; + /** + * Moderator must approve join requests + * @type {boolean} + * @memberof VideoConferenceOptionsResponse + */ + moderatorMustApproveJoinRequests: boolean; +} + + diff --git a/src/serverApi/v3/models/video-conference-scope.ts b/src/serverApi/v3/models/video-conference-scope.ts new file mode 100644 index 0000000..943afca --- /dev/null +++ b/src/serverApi/v3/models/video-conference-scope.ts @@ -0,0 +1,28 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum VideoConferenceScope { + COURSE = 'course', + EVENT = 'event' +} + + + diff --git a/src/serverApi/v3/models/video-conference-state-response.ts b/src/serverApi/v3/models/video-conference-state-response.ts new file mode 100644 index 0000000..64dd8bb --- /dev/null +++ b/src/serverApi/v3/models/video-conference-state-response.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {string} + */ +export enum VideoConferenceStateResponse { + NOT_STARTED = 'NOT_STARTED', + RUNNING = 'RUNNING', + FINISHED = 'FINISHED' +} + + + diff --git a/src/serverApi/v3/models/visibility-body-params.ts b/src/serverApi/v3/models/visibility-body-params.ts new file mode 100644 index 0000000..117b26f --- /dev/null +++ b/src/serverApi/v3/models/visibility-body-params.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface VisibilityBodyParams + */ +export interface VisibilityBodyParams { + /** + * + * @type {boolean} + * @memberof VisibilityBodyParams + */ + isVisible: boolean; +} + + diff --git a/src/serverApi/v3/models/visibility-settings-response.ts b/src/serverApi/v3/models/visibility-settings-response.ts new file mode 100644 index 0000000..26ed3c9 --- /dev/null +++ b/src/serverApi/v3/models/visibility-settings-response.ts @@ -0,0 +1,31 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface VisibilitySettingsResponse + */ +export interface VisibilitySettingsResponse { + /** + * + * @type {string} + * @memberof VisibilitySettingsResponse + */ + publishedAt?: string; +} + + diff --git a/src/serverApi/v3/models/years-response.ts b/src/serverApi/v3/models/years-response.ts new file mode 100644 index 0000000..5302210 --- /dev/null +++ b/src/serverApi/v3/models/years-response.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Schulcloud-Verbund-Software Server API + * This is v3 of Schulcloud-Verbund-Software Server. Checkout /docs for v1. + * + * The version of the OpenAPI document: 3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import { SchoolYearResponse } from './school-year-response'; + +/** + * + * @export + * @interface YearsResponse + */ +export interface YearsResponse { + /** + * + * @type {Array} + * @memberof YearsResponse + */ + schoolYears: Array; + /** + * + * @type {SchoolYearResponse} + * @memberof YearsResponse + */ + activeYear: SchoolYearResponse; + /** + * + * @type {SchoolYearResponse} + * @memberof YearsResponse + */ + lastYear: SchoolYearResponse; + /** + * + * @type {SchoolYearResponse} + * @memberof YearsResponse + */ + nextYear: SchoolYearResponse; +} + + diff --git a/src/shims-tsx.d.ts b/src/shims-tsx.d.ts new file mode 100644 index 0000000..1c94be3 --- /dev/null +++ b/src/shims-tsx.d.ts @@ -0,0 +1,19 @@ +import Vue, { VNode } from "vue"; + +declare global { + namespace JSX { + interface Element extends VNode {} + interface ElementClass extends Vue {} + interface IntrinsicElements { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + [elem: string]: any; + } + } + + /** + * See: https://stackoverflow.com/questions/69485778/new-typescript-version-does-not-include-window-navigator-mssaveblob?noredirect=1&lq=1 + */ + interface Navigator { + msSaveBlob: (blob: Blob, fileName: string) => boolean; + } +} diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..cd54569 --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,6 @@ +/* eslint-disable */ +declare module "*.vue" { + import type { DefineComponent } from "vue"; + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/src/shims-vuetify.d.ts b/src/shims-vuetify.d.ts new file mode 100644 index 0000000..d943c5f --- /dev/null +++ b/src/shims-vuetify.d.ts @@ -0,0 +1,4 @@ +declare module "vuetify/lib/framework" { + import Vuetify from "vuetify"; + export default Vuetify; +} diff --git a/src/styles/fonts.scss b/src/styles/fonts.scss new file mode 100644 index 0000000..9a7c5e0 --- /dev/null +++ b/src/styles/fonts.scss @@ -0,0 +1,76 @@ +/* stylelint-disable */ + +@font-face { + font-family: "PT Sans"; + font-style: normal; + font-weight: 400; + src: url("@/assets/fonts/PT_Sans-Web-Regular.eot"); /* IE9 Compat Modes */ + src: local("PT Sans"), local("PTSans-Regular"), + url("@/assets/fonts/PT_Sans-Web-Regular.eot?#iefix") + format("embedded-opentype"), + /* IE6-IE8 */ url("@/assets/fonts/PT_Sans-Web-Regular.woff2") + format("woff2"), + /* Super Modern Browsers */ url("@/assets/fonts/PT_Sans-Web-Regular.woff") + format("woff"), + /* Modern Browsers */ url("@/assets/fonts/PT_Sans-Web-Regular.ttf") + format("truetype"), + /* Safari, Android, iOS */ + url("@/assets/fonts/PT_Sans-Web-Regular.svg#PTSans") format("svg"); /* Legacy iOS */ +} + +@font-face { + font-family: "PT Sans"; + font-style: normal; + font-weight: 700; + src: url("@/assets/fonts/PT_Sans-Web-Bold.eot"); /* IE9 Compat Modes */ + src: local("PT Sans Bold"), local("PTSans-Bold"), + url("@/assets/fonts/PT_Sans-Web-Bold.eot?#iefix") + format("embedded-opentype"), + /* IE6-IE8 */ url("@/assets/fonts/PT_Sans-Web-Bold.woff2") format("woff2"), + /* Super Modern Browsers */ url("@/assets/fonts/PT_Sans-Web-Bold.woff") + format("woff"), + /* Modern Browsers */ url("@/assets/fonts/PT_Sans-Web-Bold.ttf") + format("truetype"), + /* Safari, Android, iOS */ url("@/assets/fonts/PT_Sans-Web-Bold.svg#PTSans") + format("svg"); /* Legacy iOS */ +} + +@font-face { + font-family: "PT Sans Narrow"; + font-style: normal; + font-weight: 400; + src: url("@/assets/fonts/PT_Sans-Narrow-Web-Regular.eot"); /* IE9 Compat Modes */ + src: local("PT Sans Narrow"), local("PTSans-Narrow"), + url("@/assets/fonts/PT_Sans-Narrow-Web-Regular.eot?#iefix") + format("embedded-opentype"), + /* IE6-IE8 */ url("@/assets/fonts/PT_Sans-Narrow-Web-Regular.woff2") + format("woff2"), + /* Super Modern Browsers */ + url("@/assets/fonts/PT_Sans-Narrow-Web-Regular.woff") format("woff"), + /* Modern Browsers */ url("@/assets/fonts/PT_Sans-Narrow-Web-Regular.ttf") + format("truetype"), + /* Safari, Android, iOS */ + url("@/assets/fonts/PT_Sans-Narrow-Web-Regular.svg#PTSansNarrow") + format("svg"); /* Legacy iOS */ +} + +@font-face { + font-family: "PT Sans Narrow"; + font-style: normal; + font-weight: 700; + src: url("@/assets/fonts/PT_Sans-Narrow-Web-Bold.eot"); /* IE9 Compat Modes */ + src: local("PT Sans Narrow Bold"), local("PTSans-NarrowBold"), + url("@/assets/fonts/PT_Sans-Narrow-Web-Bold.eot?#iefix") + format("embedded-opentype"), + /* IE6-IE8 */ url("@/assets/fonts/PT_Sans-Narrow-Web-Bold.woff2") + format("woff2"), + /* Super Modern Browsers */ + url("@/assets/fonts/PT_Sans-Narrow-Web-Bold.woff") format("woff"), + /* Modern Browsers */ url("@/assets/fonts/PT_Sans-Narrow-Web-Bold.ttf") + format("truetype"), + /* Safari, Android, iOS */ + url("@/assets/fonts/PT_Sans-Narrow-Web-Bold.svg#PTSansNarrow") + format("svg"); /* Legacy iOS */ +} + +/* stylelint-enable */ diff --git a/src/styles/main.scss b/src/styles/main.scss new file mode 100644 index 0000000..3250557 --- /dev/null +++ b/src/styles/main.scss @@ -0,0 +1,4 @@ +@use './fonts'; +@use './typography'; +@use './settings'; +@use 'vuetify'; \ No newline at end of file diff --git a/src/styles/settings.scss b/src/styles/settings.scss new file mode 100644 index 0000000..889ce1d --- /dev/null +++ b/src/styles/settings.scss @@ -0,0 +1,53 @@ +@forward 'vuetify/settings' with ( + // Enables the use of the @layer-api for css https://developer.mozilla.org/en-US/docs/Web/CSS/@layer + // This will be the default for Vuetify v4 + $layers: true, + + $body-font-family: var(--font-primary), + $heading-font-family: var(--font-accent), + $line-height-root: var(--line-height-md), + + $typography: ( + "h1": ( + "size": var(--heading-1), + "line-height": var(--line-height-sm), + ), + "h2": ( + "size": var(--heading-2), + "line-height": var(--line-height-sm), + ), + "h3": ( + "size": var(--heading-3), + "line-height": var(--line-height-sm), + ), + "h4": ( + "size": var(--heading-4), + "line-height": var(--line-height-sm), + ), + "h5": ( + "size": var(--heading-5), + "line-height": var(--line-height-sm), + "weight": var(--font-weight-bold), + ), + "h6": ( + "size": var(--heading-6), + "line-height": var(--line-height-sm), + "weight": var(--font-weight-bold), + ), + ), + + // v-btn + $button-font-size: 1rem, + $button-text-transform: none, + $button-font-weight: var(--font-weight-bold), + $button-text-letter-spacing: 0.044em, + + // card + $card-text-letter-spacing: normal, + + // list + $list-item-icon-margin-start: 8px, + + // v-label + $label-opacity: var(--v-high-emphasis-opacity) +); diff --git a/src/styles/typography.scss b/src/styles/typography.scss new file mode 100644 index 0000000..6e99847 --- /dev/null +++ b/src/styles/typography.scss @@ -0,0 +1,7 @@ +$system-fonts: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, ubuntu, + "Helvetica Neue", arial, sans-serif; + +:root { + --font-primary: "PT Sans", #{$system-fonts}; + --font-accent: "PT Sans Narrow", #{$system-fonts}; +} diff --git a/src/utils/api/api.ts b/src/utils/api/api.ts new file mode 100644 index 0000000..3c0abd4 --- /dev/null +++ b/src/utils/api/api.ts @@ -0,0 +1,56 @@ +import { isObject } from "@vueuse/core"; +import { AxiosInstance, isAxiosError } from "axios"; +import { getCurrentInstance } from "vue"; +import { ApiResponseError, ApiValidationError } from "./types"; + +let $axios: AxiosInstance; + +export const initializeAxios = (axios: AxiosInstance) => { + $axios = axios; + const app = getCurrentInstance()?.appContext.app; + if (app) { + app.config.globalProperties.$axios = axios; + } +}; + +export const defaultApiError: ApiResponseError | ApiValidationError = { + message: "UNKNOWN_ERROR", + code: 1, + title: "", + type: "Unknown error", +}; + +export const mapAxiosErrorToResponseError = ( + error: unknown +): ApiResponseError | ApiValidationError => { + let apiError: ApiResponseError | ApiValidationError = defaultApiError; + + if ( + isAxiosError< + ApiValidationError | ApiResponseError | string, + Record + >(error) + ) { + if (!error.response) { + return apiError; + } + + const errorPayload: + | ApiValidationError + | ApiResponseError + | string + | undefined = error.response.data; + + if (errorPayload && isObject(errorPayload)) { + apiError = errorPayload; + } else if (typeof errorPayload === "string") { + apiError.message = errorPayload; + apiError.code = error.response.status ?? apiError.code; + apiError.type = error.code ?? apiError.type; + apiError.title = error.response.statusText ?? apiError.title; + } + } + return apiError; +}; + +export { $axios }; diff --git a/src/utils/api/api.unit.ts b/src/utils/api/api.unit.ts new file mode 100644 index 0000000..1a4782e --- /dev/null +++ b/src/utils/api/api.unit.ts @@ -0,0 +1,176 @@ +import { + apiResponseErrorFactory, + axiosErrorFactory, +} from "@@/tests/test-utils/factory"; +import { mount } from "@vue/test-utils"; +import axios, { isAxiosError } from "axios"; +import { + $axios, + defaultApiError, + initializeAxios, + mapAxiosErrorToResponseError, +} from "./api"; + +jest.mock("axios"); +const mockedIsAxiosError = jest.mocked(isAxiosError); + +describe("AxiosInstance", () => { + describe("initializeAxios", () => { + it("should set $axios", () => { + initializeAxios(axios); + + expect($axios).toBe(axios); + }); + + it("should set Vue.prototype.$axios", () => { + const wrapper = mount({ + setup() { + initializeAxios(axios); + }, + template: `
`, + }); + + expect(wrapper.vm.$axios).toBe(axios); + }); + }); + + describe("mapAxiosErrorToResponseError", () => { + describe("when response payload is an object", () => { + const setup = () => { + const expectedPayload = apiResponseErrorFactory.build({ + message: "NOT_FOUND", + code: 404, + }); + const responseError = axiosErrorFactory.build({ + response: { data: expectedPayload }, + }); + + return { + responseError, + expectedPayload, + }; + }; + + it("should return correctly payload", () => { + mockedIsAxiosError.mockReturnValueOnce(true); + const { responseError, expectedPayload } = setup(); + + const result = mapAxiosErrorToResponseError(responseError); + + expect(result).toStrictEqual(expectedPayload); + }); + }); + + describe("when response payload is a string", () => { + const setup = () => { + const status = 555; + const statusText = "Test status text"; + const data = "NOT_FOUND"; + const code = "BAD_REQUEST"; + const responseError = axiosErrorFactory.build({ + code, + response: { data, status, statusText }, + }); + + return { + responseError, + status, + statusText, + data, + code, + }; + }; + + it("should return correctly payload", () => { + mockedIsAxiosError.mockReturnValueOnce(true); + const { responseError, data, status, statusText, code } = setup(); + + const result = mapAxiosErrorToResponseError(responseError); + + expect(result).toStrictEqual({ + message: data, + code: status, + title: statusText, + type: code, + }); + }); + }); + + describe("when response payload is a string and status is missing", () => { + const setup = () => { + const data = "NOT_FOUND"; + const responseError = axiosErrorFactory.build({ + response: { data, status: undefined, statusText: undefined }, + }); + + mockedIsAxiosError.mockReturnValueOnce(true); + + return { + responseError, + data, + }; + }; + + it("should return correctly payload", () => { + const { responseError, data } = setup(); + + const result = mapAxiosErrorToResponseError(responseError); + + expect(result).toStrictEqual({ + message: data, + code: defaultApiError.code, + title: defaultApiError.title, + type: defaultApiError.type, + }); + }); + }); + + describe("when response payload is undefined", () => { + const setup = () => { + const responseError = axiosErrorFactory.build({ + response: { + data: undefined, + status: undefined, + statusText: undefined, + }, + }); + + mockedIsAxiosError.mockReturnValueOnce(true); + + return { + responseError, + }; + }; + + it("should return correctly payload", () => { + const { responseError } = setup(); + + const result = mapAxiosErrorToResponseError(responseError); + + expect(result).toStrictEqual(defaultApiError); + }); + }); + + describe("when response is undefined", () => { + const setup = () => { + const responseError = axiosErrorFactory.build({ + response: undefined, + }); + + mockedIsAxiosError.mockReturnValueOnce(true); + + return { + responseError, + }; + }; + + it("should return correctly payload", () => { + const { responseError } = setup(); + + const result = mapAxiosErrorToResponseError(responseError); + + expect(result).toStrictEqual(defaultApiError); + }); + }); + }); +}); diff --git a/src/utils/api/index.ts b/src/utils/api/index.ts new file mode 100644 index 0000000..9a18f25 --- /dev/null +++ b/src/utils/api/index.ts @@ -0,0 +1,2 @@ +export * from "./types"; +export * from "./api"; diff --git a/src/utils/api/types.ts b/src/utils/api/types.ts new file mode 100644 index 0000000..045aad3 --- /dev/null +++ b/src/utils/api/types.ts @@ -0,0 +1,19 @@ +export type ApiResponseError = { + code: number; + type: string; + title: string; + message: string; +}; + +export type ApiValidationError = { + code: number; + type: string; + title: string; + message: string; + validationErrors: Array; +}; + +export type ErrorDetails = { + field: Array; + errors: Array; +}; diff --git a/src/vue-i18n.d.ts b/src/vue-i18n.d.ts new file mode 100644 index 0000000..8e7513a --- /dev/null +++ b/src/vue-i18n.d.ts @@ -0,0 +1,12 @@ +/** + * vue-i18n global type definitions + */ + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { DefineLocaleMessage } from "vue-i18n"; +import { MessageSchema } from "./locales/schema"; + +declare module "vue-i18n" { + // define the locale messages schema + export interface DefineLocaleMessage extends MessageSchema {} +} diff --git a/tests/setup.js b/tests/setup.js new file mode 100644 index 0000000..3adef7a --- /dev/null +++ b/tests/setup.js @@ -0,0 +1,39 @@ +import { config, mount, shallowMount } from "@vue/test-utils"; + +// enable rendering of default slot on stubbed components +// see https://test-utils.vuejs.org/migration/#shallowMount-and-renderStubDefaultSlot +config.global.renderStubDefaultSlot = true; + +global.mount = mount; +global.shallowMount = shallowMount; + +/** + * matchMedia is used by + * - useBreakpoints from VueUse to distinguish breakpoints + * - VProgressLinear from vuetify with ('forced-colors: active') + * We need to mock it to run tests that rely on useBreakpoints + * @see https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom + */ +Object.defineProperty(window, "matchMedia", { + writable: true, + value: (query) => ({ + matches: false, + media: query, + onchange: null, + addListener: () => { + return; + }, // deprecated + removeListener: () => { + return; + }, // deprecated + addEventListener: () => { + return; + }, + removeEventListener: () => { + return; + }, + dispatchEvent: () => { + return; + }, + }), +}); diff --git a/tests/test-utils/factory/api/apiResponseErrorFactory.ts b/tests/test-utils/factory/api/apiResponseErrorFactory.ts new file mode 100644 index 0000000..80c23ae --- /dev/null +++ b/tests/test-utils/factory/api/apiResponseErrorFactory.ts @@ -0,0 +1,11 @@ +import { ApiResponseError } from "@/utils/api"; +import { Factory } from "fishery"; + +export const apiResponseErrorFactory = Factory.define( + ({ sequence }) => ({ + message: `ApiResponseError # ${sequence}`, + code: 0, + title: `ApiResponseError # ${sequence}`, + type: `ApiResponseError`, + }) +); diff --git a/tests/test-utils/factory/api/apiValidationResponseErrorFactory.ts b/tests/test-utils/factory/api/apiValidationResponseErrorFactory.ts new file mode 100644 index 0000000..6a257d2 --- /dev/null +++ b/tests/test-utils/factory/api/apiValidationResponseErrorFactory.ts @@ -0,0 +1,11 @@ +import { ApiValidationError } from "@/utils/api"; +import { Factory } from "fishery"; + +export const apiValidationResponseErrorFactory = + Factory.define(({ sequence }) => ({ + type: "API_VALIDATION_ERROR", + title: "API Validation Error", + message: `ApiValidationError # ${sequence}`, + code: 400, + validationErrors: [], + })); diff --git a/tests/test-utils/factory/api/axiosErrorFactory.ts b/tests/test-utils/factory/api/axiosErrorFactory.ts new file mode 100644 index 0000000..72569d2 --- /dev/null +++ b/tests/test-utils/factory/api/axiosErrorFactory.ts @@ -0,0 +1,18 @@ +import { AxiosError, AxiosHeaders } from "axios"; +import { Factory } from "fishery"; +import { apiResponseErrorFactory } from "./apiResponseErrorFactory"; + +export const axiosErrorFactory = Factory.define(({ sequence }) => ({ + isAxiosError: true, + response: { + data: apiResponseErrorFactory.build(), + status: 0, + statusText: `Error # ${sequence}`, + config: { headers: new AxiosHeaders() }, + headers: {}, + request: {}, + }, + name: `Error # ${sequence}`, + message: `Error # ${sequence}`, + toJSON: async () => JSON.stringify(this), +})); diff --git a/tests/test-utils/factory/api/index.ts b/tests/test-utils/factory/api/index.ts new file mode 100644 index 0000000..82bd459 --- /dev/null +++ b/tests/test-utils/factory/api/index.ts @@ -0,0 +1,3 @@ +export * from "./axiosErrorFactory"; +export * from "./apiResponseErrorFactory"; +export * from "./apiValidationResponseErrorFactory"; diff --git a/tests/test-utils/factory/applicationErrorFactory.ts b/tests/test-utils/factory/applicationErrorFactory.ts new file mode 100644 index 0000000..e33f65d --- /dev/null +++ b/tests/test-utils/factory/applicationErrorFactory.ts @@ -0,0 +1,11 @@ +import { ApplicationError, HttpStatusCode } from "@data/application-error"; +import { Factory } from "fishery"; + +export const applicationErrorFactory = Factory.define( + () => + new ApplicationError({ + statusCode: HttpStatusCode.IAmATeapot, + translationKey: "test.translation.key", + message: "testMessage", + }) +); diff --git a/tests/test-utils/factory/envsFactory.ts b/tests/test-utils/factory/envsFactory.ts new file mode 100644 index 0000000..d01abe0 --- /dev/null +++ b/tests/test-utils/factory/envsFactory.ts @@ -0,0 +1,7 @@ +import { ConfigResponse } from "@/serverApi/v3"; +import { defaultConfigEnvs } from "@data/env-config"; +import { Factory } from "fishery"; + +export const envsFactory = Factory.define( + () => defaultConfigEnvs +); diff --git a/tests/test-utils/factory/index.ts b/tests/test-utils/factory/index.ts new file mode 100644 index 0000000..95fe836 --- /dev/null +++ b/tests/test-utils/factory/index.ts @@ -0,0 +1,4 @@ +export * from "./api"; +export * from "./envsFactory"; +export * from "./meResponseFactory"; +export * from "./applicationErrorFactory"; diff --git a/tests/test-utils/factory/meResponseFactory.ts b/tests/test-utils/factory/meResponseFactory.ts new file mode 100644 index 0000000..e2840fe --- /dev/null +++ b/tests/test-utils/factory/meResponseFactory.ts @@ -0,0 +1,25 @@ +import { LanguageType, MeResponse } from "@/serverApi/v3"; +import { Factory } from "fishery"; + +export const meResponseFactory = Factory.define(({ sequence }) => ({ + user: { + id: `user-${sequence}`, + firstName: `firstName${sequence}`, + lastName: `lastName${sequence}`, + customAvatarBackgroundColor: `customAvatarBackgroundColor${sequence}`, + }, + school: { + id: `school-${sequence}`, + name: `schoolName${sequence}`, + logo: { + url: `logoUrl${sequence}`, + name: `logoName${sequence}`, + }, + }, + roles: [], + permissions: [], + language: LanguageType.DE, + account: { + id: `account-${sequence}`, + }, +})); diff --git a/tests/test-utils/index.ts b/tests/test-utils/index.ts new file mode 100644 index 0000000..42dca9a --- /dev/null +++ b/tests/test-utils/index.ts @@ -0,0 +1 @@ +export * from "./mockApiResponse"; diff --git a/tests/test-utils/mediaFileMock.js b/tests/test-utils/mediaFileMock.js new file mode 100644 index 0000000..57bece8 --- /dev/null +++ b/tests/test-utils/mediaFileMock.js @@ -0,0 +1,2 @@ +// Mock module for using media files like .png as imports in jest tests, since jest has trouble resolving the urls. +module.exports = "Mocked media file"; diff --git a/tests/test-utils/mockApiResponse.ts b/tests/test-utils/mockApiResponse.ts new file mode 100644 index 0000000..d8a9e6f --- /dev/null +++ b/tests/test-utils/mockApiResponse.ts @@ -0,0 +1,16 @@ +import { createMock } from "@golevelup/ts-jest"; +import { AxiosHeaders, AxiosResponse, AxiosResponseHeaders } from "axios"; + +export const mockApiResponse = ( + values: Partial> +): AxiosResponse => { + const response: AxiosResponse = { + data: {} as unknown as T, + status: 200, + statusText: "", + headers: createMock(), + config: { headers: createMock() }, + ...values, + }; + return response; +}; diff --git a/tests/test-utils/mountComposable.ts b/tests/test-utils/mountComposable.ts new file mode 100644 index 0000000..38fb83e --- /dev/null +++ b/tests/test-utils/mountComposable.ts @@ -0,0 +1,20 @@ +import { ComponentMountingOptions, mount } from "@vue/test-utils"; +import { DefineComponent, defineComponent } from "vue"; + +export const mountComposable = ( + composable: () => T, + options?: ComponentMountingOptions +): T => { + const TestComponent = defineComponent({ + setup() { + const result = composable(); + return { result }; + }, + template: "
", + }); + + const wrapper = mount(TestComponent, options); + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + return wrapper.vm.result; +}; diff --git a/tests/test-utils/setup/createTestingI18n.ts b/tests/test-utils/setup/createTestingI18n.ts new file mode 100644 index 0000000..57c5f91 --- /dev/null +++ b/tests/test-utils/setup/createTestingI18n.ts @@ -0,0 +1,20 @@ +import { MessageSchema } from "@/locales/schema"; +import { createI18n } from "vue-i18n"; + +export const createTestingI18n = (options = {}) => { + const i18n = createI18n({ + legacy: false, + locale: "en", + fallbackLocale: ["en"], + // disable log warnings on missing translations + // https://github.com/kazupon/vue-i18n/issues/96 + missingWarn: false, + fallbackWarn: false, + silentTranslationWarn: true, + messages: { + en: {} as MessageSchema, + }, + ...options, + }); + return i18n; +}; diff --git a/tests/test-utils/setup/createTestingVuetify.ts b/tests/test-utils/setup/createTestingVuetify.ts new file mode 100644 index 0000000..af86e5c --- /dev/null +++ b/tests/test-utils/setup/createTestingVuetify.ts @@ -0,0 +1,26 @@ +import * as materialAliases from "@/icons/material"; +import { createVuetify } from "vuetify"; +import * as components from "vuetify/lib/components/index.mjs"; +import * as directives from "vuetify/lib/directives/index.mjs"; +import { aliases, mdi } from "vuetify/lib/iconsets/mdi-svg.mjs"; + +export const createTestingVuetify = (options = {}) => { + const vuetify = createVuetify({ + components: { + ...components, + }, + directives, + icons: { + defaultSet: "mdi", + aliases: { + ...aliases, + ...materialAliases, + }, + sets: { + mdi, + }, + }, + ...options, + }); + return vuetify; +}; diff --git a/tests/test-utils/setup/index.ts b/tests/test-utils/setup/index.ts new file mode 100644 index 0000000..8e989fc --- /dev/null +++ b/tests/test-utils/setup/index.ts @@ -0,0 +1,2 @@ +export * from "./createTestingI18n"; +export * from "./createTestingVuetify"; diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..c8f93d1 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "src/**/*.unit.ts"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..36020fb --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,39 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "strict": true, + "jsx": "preserve", + "importHelpers": true, + "moduleResolution": "node", + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "allowJs": true, + "forceConsistentCasingInFileNames": true, + "useDefineForClassFields": true, + "sourceMap": true, + "experimentalDecorators": true, + "baseUrl": ".", + "types": ["webpack-env", "jest"], + "paths": { + "@data/*": ["src/modules/data/*"], + "@feature/*": ["src/modules/feature/*"], + "@ui/*": ["src/modules/ui/*"], + "@util/*": ["src/modules/util/*"], + "@page/*": ["src/modules/page/*"], + "@/*": ["src/*"], + "@@/*": ["*"] + }, + "lib": ["esnext", "dom", "dom.iterable", "scripthost"], + "outDir": "dist" + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "src/**/*.vue", + "tests/**/*.ts", + "tests/**/*.tsx" + ], + "exclude": ["node_modules", "dist"] +}