From e9938d349cd8d3e32f1221a7ec613ad33d3847ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gremaud?= Date: Fri, 11 Jul 2025 12:02:34 +0200 Subject: [PATCH] add openapi-ts + client --- .gitignore | 192 + package-lock.json | 750 +++ package.json | 5 + src/api/client.gen.ts | 18 + src/api/client/client.ts | 195 + src/api/client/index.ts | 22 + src/api/client/types.ts | 222 + src/api/client/utils.ts | 417 ++ src/api/core/auth.ts | 40 + src/api/core/bodySerializer.ts | 88 + src/api/core/params.ts | 141 + src/api/core/pathSerializer.ts | 179 + src/api/core/types.ts | 104 + src/api/index.ts | 3 + src/api/sdk.gen.ts | 4242 ++++++++++++++++ src/api/types.gen.ts | 8620 ++++++++++++++++++++++++++++++++ 16 files changed, 15238 insertions(+) create mode 100644 .gitignore create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/api/client.gen.ts create mode 100644 src/api/client/client.ts create mode 100644 src/api/client/index.ts create mode 100644 src/api/client/types.ts create mode 100644 src/api/client/utils.ts create mode 100644 src/api/core/auth.ts create mode 100644 src/api/core/bodySerializer.ts create mode 100644 src/api/core/params.ts create mode 100644 src/api/core/pathSerializer.ts create mode 100644 src/api/core/types.ts create mode 100644 src/api/index.ts create mode 100644 src/api/sdk.gen.ts create mode 100644 src/api/types.gen.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..60c7a3a --- /dev/null +++ b/.gitignore @@ -0,0 +1,192 @@ +# Created by https://www.toptal.com/developers/gitignore/api/django,vue,vuejs +# Edit at https://www.toptal.com/developers/gitignore?templates=django,vue,vuejs + +### Django ### +*.log +*.pot +*.pyc +__pycache__/ +local_settings.py +db.sqlite3 +db.sqlite3-journal +media + +# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/ +# in your Git repository. Update and uncomment the following line accordingly. +# /staticfiles/ + +### Django.Python Stack ### +# Byte-compiled / optimized / DLL files +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo + +# Django stuff: + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Vue ### +# gitignore template for Vue.js projects +# +# Recommended template: Node.gitignore + +# TODO: where does this rule come from? +docs/_book + +# TODO: where does this rule come from? +test/ + +### Vuejs ### +# Recommended template: Node.gitignore + +node_modules/ +npm-debug.log +yarn-error.log + +# End of https://www.toptal.com/developers/gitignore/api/django,vue,vuejs diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2f538b1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,750 @@ +{ + "name": "polyticket-api", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "@hey-api/openapi-ts": "^0.78.3" + } + }, + "node_modules/@hey-api/json-schema-ref-parser": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@hey-api/json-schema-ref-parser/-/json-schema-ref-parser-1.0.6.tgz", + "integrity": "sha512-yktiFZoWPtEW8QKS65eqKwA5MTKp88CyiL8q72WynrBs/73SAaxlSWlA2zW/DZlywZ5hX1OYzrCC0wFdvO9c2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + } + }, + "node_modules/@hey-api/openapi-ts": { + "version": "0.78.3", + "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.78.3.tgz", + "integrity": "sha512-uTP/EGA/mM4MsFN0xGcQ4fkFxeaAUGT2T1VKnNBv6WUwRY7J59Wg8kVuRXn3dLeI/IWUDwNNdHU0SfnEbXEmYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hey-api/json-schema-ref-parser": "1.0.6", + "ansi-colors": "4.1.3", + "c12": "2.0.1", + "color-support": "1.1.3", + "commander": "13.0.0", + "handlebars": "4.7.8", + "open": "10.1.2" + }, + "bin": { + "openapi-ts": "bin/index.cjs" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=22.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/hey-api" + }, + "peerDependencies": { + "typescript": "^5.5.3" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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/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/c12": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/c12/-/c12-2.0.1.tgz", + "integrity": "sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.1", + "confbox": "^0.1.7", + "defu": "^6.1.4", + "dotenv": "^16.4.5", + "giget": "^1.2.3", + "jiti": "^2.3.0", + "mlly": "^1.7.1", + "ohash": "^1.1.4", + "pathe": "^1.1.2", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.2.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/commander": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.0.0.tgz", + "integrity": "sha512-oPYleIY8wmTVzkvQq10AEok6YcTC4sRUBl8F9gVuwchGVUCTbl/vhLTaQqutuuySYOsu8YTgV+OxKc/8Yvx+mQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.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/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/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/giget": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.5.tgz", + "integrity": "sha512-r1ekGw/Bgpi3HLV3h1MRBIlSAdHoIMklpaQ3OQLFcRw9PwAj2rqigvIbg+dBUI51OxVI2jsEtDywDBjSiuf7Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.5.4", + "pathe": "^2.0.3", + "tar": "^6.2.1" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/giget/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "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-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-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/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "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/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/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": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch-native": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nypm": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.5.4.tgz", + "integrity": "sha512-X0SNNrZiGU8/e/zAB7sCTtdxWTMSIO73q+xuKgglm2Yvzwlo8UoC5FNySQFCvl84uPaeADkqHUZUkWy4aH4xOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "tinyexec": "^0.3.2", + "ufo": "^1.5.4" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/nypm/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/ohash": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.6.tgz", + "integrity": "sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==", + "dev": true, + "license": "MIT" + }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "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/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/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/pkg-types/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "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/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/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..48f4ee1 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "@hey-api/openapi-ts": "^0.78.3" + } +} diff --git a/src/api/client.gen.ts b/src/api/client.gen.ts new file mode 100644 index 0000000..ff36549 --- /dev/null +++ b/src/api/client.gen.ts @@ -0,0 +1,18 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import type { ClientOptions } from './types.gen'; +import { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from './client'; + +/** + * The `createClientConfig()` function will be called on client initialization + * and the returned object will become the client's initial configuration. + * + * You may want to initialize your client this way instead of calling + * `setConfig()`. This is useful for example if you're using Next.js + * to ensure your client always has the correct values. + */ +export type CreateClientConfig = (override?: Config) => Config & T>; + +export const client = createClient(createConfig({ + baseUrl: 'https://api.dev.v2.polyticket.ch' +})); \ No newline at end of file diff --git a/src/api/client/client.ts b/src/api/client/client.ts new file mode 100644 index 0000000..89d1e31 --- /dev/null +++ b/src/api/client/client.ts @@ -0,0 +1,195 @@ +import type { Client, Config, RequestOptions } from './types'; +import { + buildUrl, + createConfig, + createInterceptors, + getParseAs, + mergeConfigs, + mergeHeaders, + setAuthParams, +} from './utils'; + +type ReqInit = Omit & { + body?: any; + headers: ReturnType; +}; + +export const createClient = (config: Config = {}): Client => { + let _config = mergeConfigs(createConfig(), config); + + const getConfig = (): Config => ({ ..._config }); + + const setConfig = (config: Config): Config => { + _config = mergeConfigs(_config, config); + return getConfig(); + }; + + const interceptors = createInterceptors< + Request, + Response, + unknown, + RequestOptions + >(); + + const request: Client['request'] = async (options) => { + const opts = { + ..._config, + ...options, + fetch: options.fetch ?? _config.fetch ?? globalThis.fetch, + headers: mergeHeaders(_config.headers, options.headers), + }; + + if (opts.security) { + await setAuthParams({ + ...opts, + security: opts.security, + }); + } + + if (opts.requestValidator) { + await opts.requestValidator(opts); + } + + if (opts.body && opts.bodySerializer) { + opts.body = opts.bodySerializer(opts.body); + } + + // remove Content-Type header if body is empty to avoid sending invalid requests + if (opts.body === undefined || opts.body === '') { + opts.headers.delete('Content-Type'); + } + + const url = buildUrl(opts); + const requestInit: ReqInit = { + redirect: 'follow', + ...opts, + }; + + let request = new Request(url, requestInit); + + for (const fn of interceptors.request._fns) { + if (fn) { + request = await fn(request, opts); + } + } + + // fetch must be assigned here, otherwise it would throw the error: + // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation + const _fetch = opts.fetch!; + let response = await _fetch(request); + + for (const fn of interceptors.response._fns) { + if (fn) { + response = await fn(response, request, opts); + } + } + + const result = { + request, + response, + }; + + if (response.ok) { + if ( + response.status === 204 || + response.headers.get('Content-Length') === '0' + ) { + return opts.responseStyle === 'data' + ? {} + : { + data: {}, + ...result, + }; + } + + const parseAs = + (opts.parseAs === 'auto' + ? getParseAs(response.headers.get('Content-Type')) + : opts.parseAs) ?? 'json'; + + let data: any; + switch (parseAs) { + case 'arrayBuffer': + case 'blob': + case 'formData': + case 'json': + case 'text': + data = await response[parseAs](); + break; + case 'stream': + return opts.responseStyle === 'data' + ? response.body + : { + data: response.body, + ...result, + }; + } + + if (parseAs === 'json') { + if (opts.responseValidator) { + await opts.responseValidator(data); + } + + if (opts.responseTransformer) { + data = await opts.responseTransformer(data); + } + } + + return opts.responseStyle === 'data' + ? data + : { + data, + ...result, + }; + } + + const textError = await response.text(); + let jsonError: unknown; + + try { + jsonError = JSON.parse(textError); + } catch { + // noop + } + + const error = jsonError ?? textError; + let finalError = error; + + for (const fn of interceptors.error._fns) { + if (fn) { + finalError = (await fn(error, response, request, opts)) as string; + } + } + + finalError = finalError || ({} as string); + + if (opts.throwOnError) { + throw finalError; + } + + // TODO: we probably want to return error and improve types + return opts.responseStyle === 'data' + ? undefined + : { + error: finalError, + ...result, + }; + }; + + return { + buildUrl, + connect: (options) => request({ ...options, method: 'CONNECT' }), + delete: (options) => request({ ...options, method: 'DELETE' }), + get: (options) => request({ ...options, method: 'GET' }), + getConfig, + head: (options) => request({ ...options, method: 'HEAD' }), + interceptors, + options: (options) => request({ ...options, method: 'OPTIONS' }), + patch: (options) => request({ ...options, method: 'PATCH' }), + post: (options) => request({ ...options, method: 'POST' }), + put: (options) => request({ ...options, method: 'PUT' }), + request, + setConfig, + trace: (options) => request({ ...options, method: 'TRACE' }), + }; +}; diff --git a/src/api/client/index.ts b/src/api/client/index.ts new file mode 100644 index 0000000..5da1f7a --- /dev/null +++ b/src/api/client/index.ts @@ -0,0 +1,22 @@ +export type { Auth } from '../core/auth'; +export type { QuerySerializerOptions } from '../core/bodySerializer'; +export { + formDataBodySerializer, + jsonBodySerializer, + urlSearchParamsBodySerializer, +} from '../core/bodySerializer'; +export { buildClientParams } from '../core/params'; +export { createClient } from './client'; +export type { + Client, + ClientOptions, + Config, + CreateClientConfig, + Options, + OptionsLegacyParser, + RequestOptions, + RequestResult, + ResponseStyle, + TDataShape, +} from './types'; +export { createConfig, mergeHeaders } from './utils'; diff --git a/src/api/client/types.ts b/src/api/client/types.ts new file mode 100644 index 0000000..85295df --- /dev/null +++ b/src/api/client/types.ts @@ -0,0 +1,222 @@ +import type { Auth } from '../core/auth'; +import type { + Client as CoreClient, + Config as CoreConfig, +} from '../core/types'; +import type { Middleware } from './utils'; + +export type ResponseStyle = 'data' | 'fields'; + +export interface Config + extends Omit, + CoreConfig { + /** + * Base URL for all requests made by this client. + */ + baseUrl?: T['baseUrl']; + /** + * Fetch API implementation. You can use this option to provide a custom + * fetch instance. + * + * @default globalThis.fetch + */ + fetch?: (request: Request) => ReturnType; + /** + * Please don't use the Fetch client for Next.js applications. The `next` + * options won't have any effect. + * + * Install {@link https://www.npmjs.com/package/@hey-api/client-next `@hey-api/client-next`} instead. + */ + next?: never; + /** + * Return the response data parsed in a specified format. By default, `auto` + * will infer the appropriate method from the `Content-Type` response header. + * You can override this behavior with any of the {@link Body} methods. + * Select `stream` if you don't want to parse response data at all. + * + * @default 'auto' + */ + parseAs?: + | 'arrayBuffer' + | 'auto' + | 'blob' + | 'formData' + | 'json' + | 'stream' + | 'text'; + /** + * Should we return only data or multiple fields (data, error, response, etc.)? + * + * @default 'fields' + */ + responseStyle?: ResponseStyle; + /** + * Throw an error instead of returning it in the response? + * + * @default false + */ + throwOnError?: T['throwOnError']; +} + +export interface RequestOptions< + TResponseStyle extends ResponseStyle = 'fields', + ThrowOnError extends boolean = boolean, + Url extends string = string, +> extends Config<{ + responseStyle: TResponseStyle; + throwOnError: ThrowOnError; + }> { + /** + * Any body that you want to add to your request. + * + * {@link https://developer.mozilla.org/docs/Web/API/fetch#body} + */ + body?: unknown; + path?: Record; + query?: Record; + /** + * Security mechanism(s) to use for the request. + */ + security?: ReadonlyArray; + url: Url; +} + +export type RequestResult< + TData = unknown, + TError = unknown, + ThrowOnError extends boolean = boolean, + TResponseStyle extends ResponseStyle = 'fields', +> = ThrowOnError extends true + ? Promise< + TResponseStyle extends 'data' + ? TData extends Record + ? TData[keyof TData] + : TData + : { + data: TData extends Record + ? TData[keyof TData] + : TData; + request: Request; + response: Response; + } + > + : Promise< + TResponseStyle extends 'data' + ? + | (TData extends Record + ? TData[keyof TData] + : TData) + | undefined + : ( + | { + data: TData extends Record + ? TData[keyof TData] + : TData; + error: undefined; + } + | { + data: undefined; + error: TError extends Record + ? TError[keyof TError] + : TError; + } + ) & { + request: Request; + response: Response; + } + >; + +export interface ClientOptions { + baseUrl?: string; + responseStyle?: ResponseStyle; + throwOnError?: boolean; +} + +type MethodFn = < + TData = unknown, + TError = unknown, + ThrowOnError extends boolean = false, + TResponseStyle extends ResponseStyle = 'fields', +>( + options: Omit, 'method'>, +) => RequestResult; + +type RequestFn = < + TData = unknown, + TError = unknown, + ThrowOnError extends boolean = false, + TResponseStyle extends ResponseStyle = 'fields', +>( + options: Omit, 'method'> & + Pick>, 'method'>, +) => RequestResult; + +type BuildUrlFn = < + TData extends { + body?: unknown; + path?: Record; + query?: Record; + url: string; + }, +>( + options: Pick & Options, +) => string; + +export type Client = CoreClient & { + interceptors: Middleware; +}; + +/** + * The `createClientConfig()` function will be called on client initialization + * and the returned object will become the client's initial configuration. + * + * You may want to initialize your client this way instead of calling + * `setConfig()`. This is useful for example if you're using Next.js + * to ensure your client always has the correct values. + */ +export type CreateClientConfig = ( + override?: Config, +) => Config & T>; + +export interface TDataShape { + body?: unknown; + headers?: unknown; + path?: unknown; + query?: unknown; + url: string; +} + +type OmitKeys = Pick>; + +export type Options< + TData extends TDataShape = TDataShape, + ThrowOnError extends boolean = boolean, + TResponseStyle extends ResponseStyle = 'fields', +> = OmitKeys< + RequestOptions, + 'body' | 'path' | 'query' | 'url' +> & + Omit; + +export type OptionsLegacyParser< + TData = unknown, + ThrowOnError extends boolean = boolean, + TResponseStyle extends ResponseStyle = 'fields', +> = TData extends { body?: any } + ? TData extends { headers?: any } + ? OmitKeys< + RequestOptions, + 'body' | 'headers' | 'url' + > & + TData + : OmitKeys, 'body' | 'url'> & + TData & + Pick, 'headers'> + : TData extends { headers?: any } + ? OmitKeys< + RequestOptions, + 'headers' | 'url' + > & + TData & + Pick, 'body'> + : OmitKeys, 'url'> & TData; diff --git a/src/api/client/utils.ts b/src/api/client/utils.ts new file mode 100644 index 0000000..a52e672 --- /dev/null +++ b/src/api/client/utils.ts @@ -0,0 +1,417 @@ +import { getAuthToken } from '../core/auth'; +import type { + QuerySerializer, + QuerySerializerOptions, +} from '../core/bodySerializer'; +import { jsonBodySerializer } from '../core/bodySerializer'; +import { + serializeArrayParam, + serializeObjectParam, + serializePrimitiveParam, +} from '../core/pathSerializer'; +import type { Client, ClientOptions, Config, RequestOptions } from './types'; + +interface PathSerializer { + path: Record; + url: string; +} + +const PATH_PARAM_RE = /\{[^{}]+\}/g; + +type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited'; +type MatrixStyle = 'label' | 'matrix' | 'simple'; +type ArraySeparatorStyle = ArrayStyle | MatrixStyle; + +const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => { + let url = _url; + const matches = _url.match(PATH_PARAM_RE); + if (matches) { + for (const match of matches) { + let explode = false; + let name = match.substring(1, match.length - 1); + let style: ArraySeparatorStyle = 'simple'; + + if (name.endsWith('*')) { + explode = true; + name = name.substring(0, name.length - 1); + } + + if (name.startsWith('.')) { + name = name.substring(1); + style = 'label'; + } else if (name.startsWith(';')) { + name = name.substring(1); + style = 'matrix'; + } + + const value = path[name]; + + if (value === undefined || value === null) { + continue; + } + + if (Array.isArray(value)) { + url = url.replace( + match, + serializeArrayParam({ explode, name, style, value }), + ); + continue; + } + + if (typeof value === 'object') { + url = url.replace( + match, + serializeObjectParam({ + explode, + name, + style, + value: value as Record, + valueOnly: true, + }), + ); + continue; + } + + if (style === 'matrix') { + url = url.replace( + match, + `;${serializePrimitiveParam({ + name, + value: value as string, + })}`, + ); + continue; + } + + const replaceValue = encodeURIComponent( + style === 'label' ? `.${value as string}` : (value as string), + ); + url = url.replace(match, replaceValue); + } + } + return url; +}; + +export const createQuerySerializer = ({ + allowReserved, + array, + object, +}: QuerySerializerOptions = {}) => { + const querySerializer = (queryParams: T) => { + const search: string[] = []; + if (queryParams && typeof queryParams === 'object') { + for (const name in queryParams) { + const value = queryParams[name]; + + if (value === undefined || value === null) { + continue; + } + + if (Array.isArray(value)) { + const serializedArray = serializeArrayParam({ + allowReserved, + explode: true, + name, + style: 'form', + value, + ...array, + }); + if (serializedArray) search.push(serializedArray); + } else if (typeof value === 'object') { + const serializedObject = serializeObjectParam({ + allowReserved, + explode: true, + name, + style: 'deepObject', + value: value as Record, + ...object, + }); + if (serializedObject) search.push(serializedObject); + } else { + const serializedPrimitive = serializePrimitiveParam({ + allowReserved, + name, + value: value as string, + }); + if (serializedPrimitive) search.push(serializedPrimitive); + } + } + } + return search.join('&'); + }; + return querySerializer; +}; + +/** + * Infers parseAs value from provided Content-Type header. + */ +export const getParseAs = ( + contentType: string | null, +): Exclude => { + if (!contentType) { + // If no Content-Type header is provided, the best we can do is return the raw response body, + // which is effectively the same as the 'stream' option. + return 'stream'; + } + + const cleanContent = contentType.split(';')[0]?.trim(); + + if (!cleanContent) { + return; + } + + if ( + cleanContent.startsWith('application/json') || + cleanContent.endsWith('+json') + ) { + return 'json'; + } + + if (cleanContent === 'multipart/form-data') { + return 'formData'; + } + + if ( + ['application/', 'audio/', 'image/', 'video/'].some((type) => + cleanContent.startsWith(type), + ) + ) { + return 'blob'; + } + + if (cleanContent.startsWith('text/')) { + return 'text'; + } + + return; +}; + +export const setAuthParams = async ({ + security, + ...options +}: Pick, 'security'> & + Pick & { + headers: Headers; + }) => { + for (const auth of security) { + const token = await getAuthToken(auth, options.auth); + + if (!token) { + continue; + } + + const name = auth.name ?? 'Authorization'; + + switch (auth.in) { + case 'query': + if (!options.query) { + options.query = {}; + } + options.query[name] = token; + break; + case 'cookie': + options.headers.append('Cookie', `${name}=${token}`); + break; + case 'header': + default: + options.headers.set(name, token); + break; + } + + return; + } +}; + +export const buildUrl: Client['buildUrl'] = (options) => { + const url = getUrl({ + baseUrl: options.baseUrl as string, + path: options.path, + query: options.query, + querySerializer: + typeof options.querySerializer === 'function' + ? options.querySerializer + : createQuerySerializer(options.querySerializer), + url: options.url, + }); + return url; +}; + +export const getUrl = ({ + baseUrl, + path, + query, + querySerializer, + url: _url, +}: { + baseUrl?: string; + path?: Record; + query?: Record; + querySerializer: QuerySerializer; + url: string; +}) => { + const pathUrl = _url.startsWith('/') ? _url : `/${_url}`; + let url = (baseUrl ?? '') + pathUrl; + if (path) { + url = defaultPathSerializer({ path, url }); + } + let search = query ? querySerializer(query) : ''; + if (search.startsWith('?')) { + search = search.substring(1); + } + if (search) { + url += `?${search}`; + } + return url; +}; + +export const mergeConfigs = (a: Config, b: Config): Config => { + const config = { ...a, ...b }; + if (config.baseUrl?.endsWith('/')) { + config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1); + } + config.headers = mergeHeaders(a.headers, b.headers); + return config; +}; + +export const mergeHeaders = ( + ...headers: Array['headers'] | undefined> +): Headers => { + const mergedHeaders = new Headers(); + for (const header of headers) { + if (!header || typeof header !== 'object') { + continue; + } + + const iterator = + header instanceof Headers ? header.entries() : Object.entries(header); + + for (const [key, value] of iterator) { + if (value === null) { + mergedHeaders.delete(key); + } else if (Array.isArray(value)) { + for (const v of value) { + mergedHeaders.append(key, v as string); + } + } else if (value !== undefined) { + // assume object headers are meant to be JSON stringified, i.e. their + // content value in OpenAPI specification is 'application/json' + mergedHeaders.set( + key, + typeof value === 'object' ? JSON.stringify(value) : (value as string), + ); + } + } + } + return mergedHeaders; +}; + +type ErrInterceptor = ( + error: Err, + response: Res, + request: Req, + options: Options, +) => Err | Promise; + +type ReqInterceptor = ( + request: Req, + options: Options, +) => Req | Promise; + +type ResInterceptor = ( + response: Res, + request: Req, + options: Options, +) => Res | Promise; + +class Interceptors { + _fns: (Interceptor | null)[]; + + constructor() { + this._fns = []; + } + + clear() { + this._fns = []; + } + + getInterceptorIndex(id: number | Interceptor): number { + if (typeof id === 'number') { + return this._fns[id] ? id : -1; + } else { + return this._fns.indexOf(id); + } + } + exists(id: number | Interceptor) { + const index = this.getInterceptorIndex(id); + return !!this._fns[index]; + } + + eject(id: number | Interceptor) { + const index = this.getInterceptorIndex(id); + if (this._fns[index]) { + this._fns[index] = null; + } + } + + update(id: number | Interceptor, fn: Interceptor) { + const index = this.getInterceptorIndex(id); + if (this._fns[index]) { + this._fns[index] = fn; + return id; + } else { + return false; + } + } + + use(fn: Interceptor) { + this._fns = [...this._fns, fn]; + return this._fns.length - 1; + } +} + +// `createInterceptors()` response, meant for external use as it does not +// expose internals +export interface Middleware { + error: Pick< + Interceptors>, + 'eject' | 'use' + >; + request: Pick>, 'eject' | 'use'>; + response: Pick< + Interceptors>, + 'eject' | 'use' + >; +} + +// do not add `Middleware` as return type so we can use _fns internally +export const createInterceptors = () => ({ + error: new Interceptors>(), + request: new Interceptors>(), + response: new Interceptors>(), +}); + +const defaultQuerySerializer = createQuerySerializer({ + allowReserved: false, + array: { + explode: true, + style: 'form', + }, + object: { + explode: true, + style: 'deepObject', + }, +}); + +const defaultHeaders = { + 'Content-Type': 'application/json', +}; + +export const createConfig = ( + override: Config & T> = {}, +): Config & T> => ({ + ...jsonBodySerializer, + headers: defaultHeaders, + parseAs: 'auto', + querySerializer: defaultQuerySerializer, + ...override, +}); diff --git a/src/api/core/auth.ts b/src/api/core/auth.ts new file mode 100644 index 0000000..451c7f3 --- /dev/null +++ b/src/api/core/auth.ts @@ -0,0 +1,40 @@ +export type AuthToken = string | undefined; + +export interface Auth { + /** + * Which part of the request do we use to send the auth? + * + * @default 'header' + */ + in?: 'header' | 'query' | 'cookie'; + /** + * Header or query parameter name. + * + * @default 'Authorization' + */ + name?: string; + scheme?: 'basic' | 'bearer'; + type: 'apiKey' | 'http'; +} + +export const getAuthToken = async ( + auth: Auth, + callback: ((auth: Auth) => Promise | AuthToken) | AuthToken, +): Promise => { + const token = + typeof callback === 'function' ? await callback(auth) : callback; + + if (!token) { + return; + } + + if (auth.scheme === 'bearer') { + return `Bearer ${token}`; + } + + if (auth.scheme === 'basic') { + return `Basic ${btoa(token)}`; + } + + return token; +}; diff --git a/src/api/core/bodySerializer.ts b/src/api/core/bodySerializer.ts new file mode 100644 index 0000000..98ce779 --- /dev/null +++ b/src/api/core/bodySerializer.ts @@ -0,0 +1,88 @@ +import type { + ArrayStyle, + ObjectStyle, + SerializerOptions, +} from './pathSerializer'; + +export type QuerySerializer = (query: Record) => string; + +export type BodySerializer = (body: any) => any; + +export interface QuerySerializerOptions { + allowReserved?: boolean; + array?: SerializerOptions; + object?: SerializerOptions; +} + +const serializeFormDataPair = ( + data: FormData, + key: string, + value: unknown, +): void => { + if (typeof value === 'string' || value instanceof Blob) { + data.append(key, value); + } else { + data.append(key, JSON.stringify(value)); + } +}; + +const serializeUrlSearchParamsPair = ( + data: URLSearchParams, + key: string, + value: unknown, +): void => { + if (typeof value === 'string') { + data.append(key, value); + } else { + data.append(key, JSON.stringify(value)); + } +}; + +export const formDataBodySerializer = { + bodySerializer: | Array>>( + body: T, + ): FormData => { + const data = new FormData(); + + Object.entries(body).forEach(([key, value]) => { + if (value === undefined || value === null) { + return; + } + if (Array.isArray(value)) { + value.forEach((v) => serializeFormDataPair(data, key, v)); + } else { + serializeFormDataPair(data, key, value); + } + }); + + return data; + }, +}; + +export const jsonBodySerializer = { + bodySerializer: (body: T): string => + JSON.stringify(body, (_key, value) => + typeof value === 'bigint' ? value.toString() : value, + ), +}; + +export const urlSearchParamsBodySerializer = { + bodySerializer: | Array>>( + body: T, + ): string => { + const data = new URLSearchParams(); + + Object.entries(body).forEach(([key, value]) => { + if (value === undefined || value === null) { + return; + } + if (Array.isArray(value)) { + value.forEach((v) => serializeUrlSearchParamsPair(data, key, v)); + } else { + serializeUrlSearchParamsPair(data, key, value); + } + }); + + return data.toString(); + }, +}; diff --git a/src/api/core/params.ts b/src/api/core/params.ts new file mode 100644 index 0000000..7559bbb --- /dev/null +++ b/src/api/core/params.ts @@ -0,0 +1,141 @@ +type Slot = 'body' | 'headers' | 'path' | 'query'; + +export type Field = + | { + in: Exclude; + key: string; + map?: string; + } + | { + in: Extract; + key?: string; + map?: string; + }; + +export interface Fields { + allowExtra?: Partial>; + args?: ReadonlyArray; +} + +export type FieldsConfig = ReadonlyArray; + +const extraPrefixesMap: Record = { + $body_: 'body', + $headers_: 'headers', + $path_: 'path', + $query_: 'query', +}; +const extraPrefixes = Object.entries(extraPrefixesMap); + +type KeyMap = Map< + string, + { + in: Slot; + map?: string; + } +>; + +const buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => { + if (!map) { + map = new Map(); + } + + for (const config of fields) { + if ('in' in config) { + if (config.key) { + map.set(config.key, { + in: config.in, + map: config.map, + }); + } + } else if (config.args) { + buildKeyMap(config.args, map); + } + } + + return map; +}; + +interface Params { + body: unknown; + headers: Record; + path: Record; + query: Record; +} + +const stripEmptySlots = (params: Params) => { + for (const [slot, value] of Object.entries(params)) { + if (value && typeof value === 'object' && !Object.keys(value).length) { + delete params[slot as Slot]; + } + } +}; + +export const buildClientParams = ( + args: ReadonlyArray, + fields: FieldsConfig, +) => { + const params: Params = { + body: {}, + headers: {}, + path: {}, + query: {}, + }; + + const map = buildKeyMap(fields); + + let config: FieldsConfig[number] | undefined; + + for (const [index, arg] of args.entries()) { + if (fields[index]) { + config = fields[index]; + } + + if (!config) { + continue; + } + + if ('in' in config) { + if (config.key) { + const field = map.get(config.key)!; + const name = field.map || config.key; + (params[field.in] as Record)[name] = arg; + } else { + params.body = arg; + } + } else { + for (const [key, value] of Object.entries(arg ?? {})) { + const field = map.get(key); + + if (field) { + const name = field.map || key; + (params[field.in] as Record)[name] = value; + } else { + const extra = extraPrefixes.find(([prefix]) => + key.startsWith(prefix), + ); + + if (extra) { + const [prefix, slot] = extra; + (params[slot] as Record)[ + key.slice(prefix.length) + ] = value; + } else { + for (const [slot, allowed] of Object.entries( + config.allowExtra ?? {}, + )) { + if (allowed) { + (params[slot as Slot] as Record)[key] = value; + break; + } + } + } + } + } + } + } + + stripEmptySlots(params); + + return params; +}; diff --git a/src/api/core/pathSerializer.ts b/src/api/core/pathSerializer.ts new file mode 100644 index 0000000..d692cf0 --- /dev/null +++ b/src/api/core/pathSerializer.ts @@ -0,0 +1,179 @@ +interface SerializeOptions + extends SerializePrimitiveOptions, + SerializerOptions {} + +interface SerializePrimitiveOptions { + allowReserved?: boolean; + name: string; +} + +export interface SerializerOptions { + /** + * @default true + */ + explode: boolean; + style: T; +} + +export type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited'; +export type ArraySeparatorStyle = ArrayStyle | MatrixStyle; +type MatrixStyle = 'label' | 'matrix' | 'simple'; +export type ObjectStyle = 'form' | 'deepObject'; +type ObjectSeparatorStyle = ObjectStyle | MatrixStyle; + +interface SerializePrimitiveParam extends SerializePrimitiveOptions { + value: string; +} + +export const separatorArrayExplode = (style: ArraySeparatorStyle) => { + switch (style) { + case 'label': + return '.'; + case 'matrix': + return ';'; + case 'simple': + return ','; + default: + return '&'; + } +}; + +export const separatorArrayNoExplode = (style: ArraySeparatorStyle) => { + switch (style) { + case 'form': + return ','; + case 'pipeDelimited': + return '|'; + case 'spaceDelimited': + return '%20'; + default: + return ','; + } +}; + +export const separatorObjectExplode = (style: ObjectSeparatorStyle) => { + switch (style) { + case 'label': + return '.'; + case 'matrix': + return ';'; + case 'simple': + return ','; + default: + return '&'; + } +}; + +export const serializeArrayParam = ({ + allowReserved, + explode, + name, + style, + value, +}: SerializeOptions & { + value: unknown[]; +}) => { + if (!explode) { + const joinedValues = ( + allowReserved ? value : value.map((v) => encodeURIComponent(v as string)) + ).join(separatorArrayNoExplode(style)); + switch (style) { + case 'label': + return `.${joinedValues}`; + case 'matrix': + return `;${name}=${joinedValues}`; + case 'simple': + return joinedValues; + default: + return `${name}=${joinedValues}`; + } + } + + const separator = separatorArrayExplode(style); + const joinedValues = value + .map((v) => { + if (style === 'label' || style === 'simple') { + return allowReserved ? v : encodeURIComponent(v as string); + } + + return serializePrimitiveParam({ + allowReserved, + name, + value: v as string, + }); + }) + .join(separator); + return style === 'label' || style === 'matrix' + ? separator + joinedValues + : joinedValues; +}; + +export const serializePrimitiveParam = ({ + allowReserved, + name, + value, +}: SerializePrimitiveParam) => { + if (value === undefined || value === null) { + return ''; + } + + if (typeof value === 'object') { + throw new Error( + 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.', + ); + } + + return `${name}=${allowReserved ? value : encodeURIComponent(value)}`; +}; + +export const serializeObjectParam = ({ + allowReserved, + explode, + name, + style, + value, + valueOnly, +}: SerializeOptions & { + value: Record | Date; + valueOnly?: boolean; +}) => { + if (value instanceof Date) { + return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`; + } + + if (style !== 'deepObject' && !explode) { + let values: string[] = []; + Object.entries(value).forEach(([key, v]) => { + values = [ + ...values, + key, + allowReserved ? (v as string) : encodeURIComponent(v as string), + ]; + }); + const joinedValues = values.join(','); + switch (style) { + case 'form': + return `${name}=${joinedValues}`; + case 'label': + return `.${joinedValues}`; + case 'matrix': + return `;${name}=${joinedValues}`; + default: + return joinedValues; + } + } + + const separator = separatorObjectExplode(style); + const joinedValues = Object.entries(value) + .map(([key, v]) => + serializePrimitiveParam({ + allowReserved, + name: style === 'deepObject' ? `${name}[${key}]` : key, + value: v as string, + }), + ) + .join(separator); + return style === 'label' || style === 'matrix' + ? separator + joinedValues + : joinedValues; +}; diff --git a/src/api/core/types.ts b/src/api/core/types.ts new file mode 100644 index 0000000..77d8792 --- /dev/null +++ b/src/api/core/types.ts @@ -0,0 +1,104 @@ +import type { Auth, AuthToken } from './auth'; +import type { + BodySerializer, + QuerySerializer, + QuerySerializerOptions, +} from './bodySerializer'; + +export interface Client< + RequestFn = never, + Config = unknown, + MethodFn = never, + BuildUrlFn = never, +> { + /** + * Returns the final request URL. + */ + buildUrl: BuildUrlFn; + connect: MethodFn; + delete: MethodFn; + get: MethodFn; + getConfig: () => Config; + head: MethodFn; + options: MethodFn; + patch: MethodFn; + post: MethodFn; + put: MethodFn; + request: RequestFn; + setConfig: (config: Config) => Config; + trace: MethodFn; +} + +export interface Config { + /** + * Auth token or a function returning auth token. The resolved value will be + * added to the request payload as defined by its `security` array. + */ + auth?: ((auth: Auth) => Promise | AuthToken) | AuthToken; + /** + * A function for serializing request body parameter. By default, + * {@link JSON.stringify()} will be used. + */ + bodySerializer?: BodySerializer | null; + /** + * An object containing any HTTP headers that you want to pre-populate your + * `Headers` object with. + * + * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more} + */ + headers?: + | RequestInit['headers'] + | Record< + string, + | string + | number + | boolean + | (string | number | boolean)[] + | null + | undefined + | unknown + >; + /** + * The request method. + * + * {@link https://developer.mozilla.org/docs/Web/API/fetch#method See more} + */ + method?: + | 'CONNECT' + | 'DELETE' + | 'GET' + | 'HEAD' + | 'OPTIONS' + | 'PATCH' + | 'POST' + | 'PUT' + | 'TRACE'; + /** + * A function for serializing request query parameters. By default, arrays + * will be exploded in form style, objects will be exploded in deepObject + * style, and reserved characters are percent-encoded. + * + * This method will have no effect if the native `paramsSerializer()` Axios + * API function is used. + * + * {@link https://swagger.io/docs/specification/serialization/#query View examples} + */ + querySerializer?: QuerySerializer | QuerySerializerOptions; + /** + * A function validating request data. This is useful if you want to ensure + * the request conforms to the desired shape, so it can be safely sent to + * the server. + */ + requestValidator?: (data: unknown) => Promise; + /** + * A function transforming response data before it's returned. This is useful + * for post-processing data, e.g. converting ISO strings into Date objects. + */ + responseTransformer?: (data: unknown) => Promise; + /** + * A function validating response data. This is useful if you want to ensure + * the response conforms to the desired shape, so it can be safely passed to + * the transformers and returned to the user. + */ + responseValidator?: (data: unknown) => Promise; +} diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..e64537d --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,3 @@ +// This file is auto-generated by @hey-api/openapi-ts +export * from './types.gen'; +export * from './sdk.gen'; \ No newline at end of file diff --git a/src/api/sdk.gen.ts b/src/api/sdk.gen.ts new file mode 100644 index 0000000..e278318 --- /dev/null +++ b/src/api/sdk.gen.ts @@ -0,0 +1,4242 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import type { Options as ClientOptions, TDataShape, Client } from './client'; +import type { AccountingInvoicesListData, AccountingInvoicesListResponses, AccountingInvoicesRetrieveData, AccountingInvoicesRetrieveResponses, AccountingInvoicesActionsRefundCreateData, AccountingInvoicesActionsRefundCreateResponses, CommonUploadedImagesListData, CommonUploadedImagesListResponses, CommonUploadedImagesCreateData, CommonUploadedImagesCreateResponses, CommonUploadedImagesDestroyData, CommonUploadedImagesDestroyResponses, CommonUploadedImagesRetrieveData, CommonUploadedImagesRetrieveResponses, CommonUploadedImagesPartialUpdateData, CommonUploadedImagesPartialUpdateResponses, CoreApiTokensListData, CoreApiTokensListResponses, CoreApiTokensRetrieveData, CoreApiTokensRetrieveResponses, CoreApiTokensActionsMeRetrieveData, CoreApiTokensActionsMeRetrieveResponses, CoreAuthActionsPasswordChangeCreateData, CoreAuthActionsPasswordChangeCreateResponses, CoreAuthActionsPasswordResetCreateData, CoreAuthActionsPasswordResetCreateResponses, CoreAuthActionsPasswordResetRequestCreateData, CoreAuthActionsPasswordResetRequestCreateResponses, CoreAuthActionsRegisterCreateData, CoreAuthActionsRegisterCreateResponses, CoreAuthActionsRegisterVerifyCreateData, CoreAuthActionsRegisterVerifyCreateResponses, CoreAuthActionsRegisterVerifyCreateErrors, CoreAuthLoginCreateData, CoreAuthLoginCreateResponses, CoreDocumentsListData, CoreDocumentsListResponses, CoreDocumentsCreateData, CoreDocumentsCreateResponses, CoreDocumentsRetrieveData, CoreDocumentsRetrieveResponses, CoreUnitmembershipsListData, CoreUnitmembershipsListResponses, CoreUnitmembershipsCreateData, CoreUnitmembershipsCreateResponses, CoreUnitmembershipsDestroyData, CoreUnitmembershipsDestroyResponses, CoreUnitmembershipsRetrieveData, CoreUnitmembershipsRetrieveResponses, CoreUnitmembershipsPartialUpdateData, CoreUnitmembershipsPartialUpdateResponses, CoreUnitmembershipsActionsCreateByEmailCreateData, CoreUnitmembershipsActionsCreateByEmailCreateResponses, CoreUnitsListData, CoreUnitsListResponses, CoreUnitsCreateData, CoreUnitsCreateResponses, CoreUnitsRetrieveData, CoreUnitsRetrieveResponses, CoreUnitsPartialUpdateData, CoreUnitsPartialUpdateResponses, CoreUsersListData, CoreUsersListResponses, CoreUsersCreateData, CoreUsersCreateResponses, CoreUsersDestroyData, CoreUsersDestroyResponses, CoreUsersRetrieveData, CoreUsersRetrieveResponses, CoreUsersPartialUpdateData, CoreUsersPartialUpdateResponses, EventsEventsListData, EventsEventsListResponses, EventsEventsCreateData, EventsEventsCreateResponses, EventsEventsDestroyData, EventsEventsDestroyResponses, EventsEventsRetrieveData, EventsEventsRetrieveResponses, EventsEventsPartialUpdateData, EventsEventsPartialUpdateResponses, EventsEventsActionsDuplicateCreateData, EventsEventsActionsDuplicateCreateResponses, EventsEventsActionsExportCreateData, EventsEventsActionsExportCreateResponses, EventsEventsActionsModerateCreateData, EventsEventsActionsModerateCreateResponses, EventsEventsActionsNodeStocksListData, EventsEventsActionsNodeStocksListResponses, EventsEventsActionsRequestModerationCreateData, EventsEventsActionsRequestModerationCreateResponses, EventsEventsActionsStatisticsRetrieveData, EventsEventsActionsStatisticsRetrieveResponses, EventsEventsActionsTicketOfficeInfosRetrieveData, EventsEventsActionsTicketOfficeInfosRetrieveResponses, EventsEventsActionsPublicInfosRetrieveData, EventsEventsActionsPublicInfosRetrieveResponses, ModulesAuthAnonymousLoginActionsCreateLoginCreateData, ModulesAuthAnonymousLoginActionsCreateLoginCreateResponses, ModulesAuthAnonymousLoginModulesListData, ModulesAuthAnonymousLoginModulesListResponses, ModulesAuthAnonymousLoginModulesCreateData, ModulesAuthAnonymousLoginModulesCreateResponses, ModulesAuthAnonymousLoginModulesDestroyData, ModulesAuthAnonymousLoginModulesDestroyResponses, ModulesAuthAnonymousLoginModulesRetrieveData, ModulesAuthAnonymousLoginModulesRetrieveResponses, ModulesAuthAnonymousLoginModulesPartialUpdateData, ModulesAuthAnonymousLoginModulesPartialUpdateResponses, ModulesAuthFrontendLoginsListData, ModulesAuthFrontendLoginsListResponses, ModulesAuthFrontendLoginsRetrieveData, ModulesAuthFrontendLoginsRetrieveResponses, ModulesAuthLoginMethodsListData, ModulesAuthLoginMethodsListResponses, ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateData, ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateResponses, ModulesAuthThirdPartyTokenLoginModulesListData, ModulesAuthThirdPartyTokenLoginModulesListResponses, ModulesAuthThirdPartyTokenLoginModulesCreateData, ModulesAuthThirdPartyTokenLoginModulesCreateResponses, ModulesAuthThirdPartyTokenLoginModulesDestroyData, ModulesAuthThirdPartyTokenLoginModulesDestroyResponses, ModulesAuthThirdPartyTokenLoginModulesRetrieveData, ModulesAuthThirdPartyTokenLoginModulesRetrieveResponses, ModulesAuthThirdPartyTokenLoginModulesPartialUpdateData, ModulesAuthThirdPartyTokenLoginModulesPartialUpdateResponses, ModulesAuthTrustedEmailActionsCreateLoginCreateData, ModulesAuthTrustedEmailActionsCreateLoginCreateResponses, ModulesAuthTrustedEmailActionsValidateLoginCreateData, ModulesAuthTrustedEmailActionsValidateLoginCreateResponses, ModulesAuthTrustedEmailModulesListData, ModulesAuthTrustedEmailModulesListResponses, ModulesAuthTrustedEmailModulesCreateData, ModulesAuthTrustedEmailModulesCreateResponses, ModulesAuthTrustedEmailModulesDestroyData, ModulesAuthTrustedEmailModulesDestroyResponses, ModulesAuthTrustedEmailModulesRetrieveData, ModulesAuthTrustedEmailModulesRetrieveResponses, ModulesAuthTrustedEmailModulesPartialUpdateData, ModulesAuthTrustedEmailModulesPartialUpdateResponses, ModulesBasketBillingInformationsListData, ModulesBasketBillingInformationsListResponses, ModulesBasketBillingInformationsCreateData, ModulesBasketBillingInformationsCreateResponses, ModulesBasketBillingInformationsRetrieveData, ModulesBasketBillingInformationsRetrieveResponses, ModulesBasketFrontendBasketsListData, ModulesBasketFrontendBasketsListResponses, ModulesBasketFrontendBasketsCreateData, ModulesBasketFrontendBasketsCreateResponses, ModulesBasketFrontendBasketsRetrieveData, ModulesBasketFrontendBasketsRetrieveResponses, ModulesBasketFrontendBasketsPartialUpdateData, ModulesBasketFrontendBasketsPartialUpdateResponses, ModulesBasketFrontendBasketsActionsAddToBasketCreateData, ModulesBasketFrontendBasketsActionsAddToBasketCreateResponses, ModulesBasketFrontendBasketsActionsGenerateTicketCreateData, ModulesBasketFrontendBasketsActionsGenerateTicketCreateResponses, ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateData, ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateResponses, ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveData, ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveResponses, ModulesCompletionCompletionStartedCreateData, ModulesCompletionCompletionStartedCreateResponses, ModulesCompletionConfirmationPageExtraTextModulesListData, ModulesCompletionConfirmationPageExtraTextModulesListResponses, ModulesCompletionConfirmationPageExtraTextModulesCreateData, ModulesCompletionConfirmationPageExtraTextModulesCreateResponses, ModulesCompletionConfirmationPageExtraTextModulesDestroyData, ModulesCompletionConfirmationPageExtraTextModulesDestroyResponses, ModulesCompletionConfirmationPageExtraTextModulesRetrieveData, ModulesCompletionConfirmationPageExtraTextModulesRetrieveResponses, ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateData, ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateResponses, ModulesCompletionEmailRegistrationCompletedSimpleModulesListData, ModulesCompletionEmailRegistrationCompletedSimpleModulesListResponses, ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateData, ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateResponses, ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyData, ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyResponses, ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveData, ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveResponses, ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateData, ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateResponses, ModulesCompletionEmailRegistrationCreationModulesListData, ModulesCompletionEmailRegistrationCreationModulesListResponses, ModulesCompletionEmailRegistrationCreationModulesCreateData, ModulesCompletionEmailRegistrationCreationModulesCreateResponses, ModulesCompletionEmailRegistrationCreationModulesDestroyData, ModulesCompletionEmailRegistrationCreationModulesDestroyResponses, ModulesCompletionEmailRegistrationCreationModulesRetrieveData, ModulesCompletionEmailRegistrationCreationModulesRetrieveResponses, ModulesCompletionEmailRegistrationCreationModulesPartialUpdateData, ModulesCompletionEmailRegistrationCreationModulesPartialUpdateResponses, ModulesCompletionPdfTicketModulesListData, ModulesCompletionPdfTicketModulesListResponses, ModulesCompletionPdfTicketModulesCreateData, ModulesCompletionPdfTicketModulesCreateResponses, ModulesCompletionPdfTicketModulesDestroyData, ModulesCompletionPdfTicketModulesDestroyResponses, ModulesCompletionPdfTicketModulesRetrieveData, ModulesCompletionPdfTicketModulesRetrieveResponses, ModulesCompletionPdfTicketModulesPartialUpdateData, ModulesCompletionPdfTicketModulesPartialUpdateResponses, ModulesCompletionRedirectModulesListData, ModulesCompletionRedirectModulesListResponses, ModulesCompletionRedirectModulesCreateData, ModulesCompletionRedirectModulesCreateResponses, ModulesCompletionRedirectModulesDestroyData, ModulesCompletionRedirectModulesDestroyResponses, ModulesCompletionRedirectModulesRetrieveData, ModulesCompletionRedirectModulesRetrieveResponses, ModulesCompletionRedirectModulesPartialUpdateData, ModulesCompletionRedirectModulesPartialUpdateResponses, ModulesPaymentsMethodsListData, ModulesPaymentsMethodsListResponses, ModulesPaymentsMethodsActionsStartPaymentCreateData, ModulesPaymentsMethodsActionsStartPaymentCreateResponses, ModulesPaymentsPaymentIntentsListData, ModulesPaymentsPaymentIntentsListResponses, ModulesPaymentsPaymentIntentsRetrieveData, ModulesPaymentsPaymentIntentsRetrieveResponses, ModulesPaymentsPaymentIntentsActionsCancelCreateData, ModulesPaymentsPaymentIntentsActionsCancelCreateResponses, ModulesPaymentsPaymentIntentsActionsCancelCreateErrors, ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateData, ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateResponses, ModulesPaymentsPayrexxModulesListData, ModulesPaymentsPayrexxModulesListResponses, ModulesPaymentsPayrexxModulesCreateData, ModulesPaymentsPayrexxModulesCreateResponses, ModulesPaymentsPayrexxModulesRetrieveData, ModulesPaymentsPayrexxModulesRetrieveResponses, ModulesPaymentsPayrexxModulesPartialUpdateData, ModulesPaymentsPayrexxModulesPartialUpdateResponses, ModulesPaymentsPayrexxWebhooksCreateData, ModulesPaymentsPayrexxWebhooksCreateResponses, ModulesPaymentsPointofsaleModulesListData, ModulesPaymentsPointofsaleModulesListResponses, ModulesPaymentsPointofsaleModulesCreateData, ModulesPaymentsPointofsaleModulesCreateResponses, ModulesPaymentsPointofsaleModulesRetrieveData, ModulesPaymentsPointofsaleModulesRetrieveResponses, ModulesPaymentsPointofsaleModulesPartialUpdateData, ModulesPaymentsPointofsaleModulesPartialUpdateResponses, ModulesPaymentsPointofsalePlacesListData, ModulesPaymentsPointofsalePlacesListResponses, ModulesPaymentsPointofsalePlacesCreateData, ModulesPaymentsPointofsalePlacesCreateResponses, ModulesPaymentsPointofsalePlacesDestroyData, ModulesPaymentsPointofsalePlacesDestroyResponses, ModulesPaymentsPointofsalePlacesRetrieveData, ModulesPaymentsPointofsalePlacesRetrieveResponses, ModulesPaymentsPointofsalePlacesPartialUpdateData, ModulesPaymentsPointofsalePlacesPartialUpdateResponses, ModulesRegistrationsAccessManagementModulesListData, ModulesRegistrationsAccessManagementModulesListResponses, ModulesRegistrationsAccessManagementModulesCreateData, ModulesRegistrationsAccessManagementModulesCreateResponses, ModulesRegistrationsAccessManagementModulesRetrieveData, ModulesRegistrationsAccessManagementModulesRetrieveResponses, ModulesRegistrationsAccessManagementModulesPartialUpdateData, ModulesRegistrationsAccessManagementModulesPartialUpdateResponses, ModulesRegistrationsAccessManagementPlacesListData, ModulesRegistrationsAccessManagementPlacesListResponses, ModulesRegistrationsAccessManagementPlacesCreateData, ModulesRegistrationsAccessManagementPlacesCreateResponses, ModulesRegistrationsAccessManagementPlacesDestroyData, ModulesRegistrationsAccessManagementPlacesDestroyResponses, ModulesRegistrationsAccessManagementPlacesRetrieveData, ModulesRegistrationsAccessManagementPlacesRetrieveResponses, ModulesRegistrationsAccessManagementPlacesPartialUpdateData, ModulesRegistrationsAccessManagementPlacesPartialUpdateResponses, ModulesRegistrationsOptionsAccessesListData, ModulesRegistrationsOptionsAccessesListResponses, ModulesRegistrationsOptionsAccessesCreateData, ModulesRegistrationsOptionsAccessesCreateResponses, ModulesRegistrationsOptionsAccessesDestroyData, ModulesRegistrationsOptionsAccessesDestroyResponses, ModulesRegistrationsOptionsAccessesRetrieveData, ModulesRegistrationsOptionsAccessesRetrieveResponses, ModulesRegistrationsOptionsAccessesPartialUpdateData, ModulesRegistrationsOptionsAccessesPartialUpdateResponses, ModulesRegistrationsOptionsAccessesM2mListData, ModulesRegistrationsOptionsAccessesM2mListResponses, ModulesRegistrationsOptionsAccessesM2mCreateData, ModulesRegistrationsOptionsAccessesM2mCreateResponses, ModulesRegistrationsOptionsAccessesM2mDestroyData, ModulesRegistrationsOptionsAccessesM2mDestroyResponses, ModulesRegistrationsOptionsAccessesM2mRetrieveData, ModulesRegistrationsOptionsAccessesM2mRetrieveResponses, ModulesRegistrationsOptionsAvailabilitiesListData, ModulesRegistrationsOptionsAvailabilitiesListResponses, ModulesRegistrationsOptionsAvailabilitiesCreateData, ModulesRegistrationsOptionsAvailabilitiesCreateResponses, ModulesRegistrationsOptionsAvailabilitiesDestroyData, ModulesRegistrationsOptionsAvailabilitiesDestroyResponses, ModulesRegistrationsOptionsAvailabilitiesRetrieveData, ModulesRegistrationsOptionsAvailabilitiesRetrieveResponses, ModulesRegistrationsOptionsAvailabilitiesPartialUpdateData, ModulesRegistrationsOptionsAvailabilitiesPartialUpdateResponses, ModulesRegistrationsOptionsAvailabilitiesM2mListData, ModulesRegistrationsOptionsAvailabilitiesM2mListResponses, ModulesRegistrationsOptionsAvailabilitiesM2mCreateData, ModulesRegistrationsOptionsAvailabilitiesM2mCreateResponses, ModulesRegistrationsOptionsAvailabilitiesM2mDestroyData, ModulesRegistrationsOptionsAvailabilitiesM2mDestroyResponses, ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveData, ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveResponses, ModulesRegistrationsOptionsConditionsListData, ModulesRegistrationsOptionsConditionsListResponses, ModulesRegistrationsOptionsConditionsCreateData, ModulesRegistrationsOptionsConditionsCreateResponses, ModulesRegistrationsOptionsConditionsDestroyData, ModulesRegistrationsOptionsConditionsDestroyResponses, ModulesRegistrationsOptionsConditionsRetrieveData, ModulesRegistrationsOptionsConditionsRetrieveResponses, ModulesRegistrationsOptionsConditionsPartialUpdateData, ModulesRegistrationsOptionsConditionsPartialUpdateResponses, ModulesRegistrationsOptionsExtraInfoGroupsListData, ModulesRegistrationsOptionsExtraInfoGroupsListResponses, ModulesRegistrationsOptionsExtraInfoGroupsCreateData, ModulesRegistrationsOptionsExtraInfoGroupsCreateResponses, ModulesRegistrationsOptionsExtraInfoGroupsDestroyData, ModulesRegistrationsOptionsExtraInfoGroupsDestroyResponses, ModulesRegistrationsOptionsExtraInfoGroupsRetrieveData, ModulesRegistrationsOptionsExtraInfoGroupsRetrieveResponses, ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateData, ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateResponses, ModulesRegistrationsOptionsExtraInfoGroupsM2mListData, ModulesRegistrationsOptionsExtraInfoGroupsM2mListResponses, ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateData, ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateResponses, ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyData, ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyResponses, ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveData, ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveResponses, ModulesRegistrationsOptionsExtraInfosListData, ModulesRegistrationsOptionsExtraInfosListResponses, ModulesRegistrationsOptionsExtraInfosCreateData, ModulesRegistrationsOptionsExtraInfosCreateResponses, ModulesRegistrationsOptionsExtraInfosDestroyData, ModulesRegistrationsOptionsExtraInfosDestroyResponses, ModulesRegistrationsOptionsExtraInfosRetrieveData, ModulesRegistrationsOptionsExtraInfosRetrieveResponses, ModulesRegistrationsOptionsExtraInfosPartialUpdateData, ModulesRegistrationsOptionsExtraInfosPartialUpdateResponses, ModulesRegistrationsOptionsLimitsListData, ModulesRegistrationsOptionsLimitsListResponses, ModulesRegistrationsOptionsLimitsCreateData, ModulesRegistrationsOptionsLimitsCreateResponses, ModulesRegistrationsOptionsLimitsDestroyData, ModulesRegistrationsOptionsLimitsDestroyResponses, ModulesRegistrationsOptionsLimitsRetrieveData, ModulesRegistrationsOptionsLimitsRetrieveResponses, ModulesRegistrationsOptionsLimitsPartialUpdateData, ModulesRegistrationsOptionsLimitsPartialUpdateResponses, ModulesRegistrationsOptionsLimitsM2mListData, ModulesRegistrationsOptionsLimitsM2mListResponses, ModulesRegistrationsOptionsLimitsM2mCreateData, ModulesRegistrationsOptionsLimitsM2mCreateResponses, ModulesRegistrationsOptionsLimitsM2mDestroyData, ModulesRegistrationsOptionsLimitsM2mDestroyResponses, ModulesRegistrationsOptionsLimitsM2mRetrieveData, ModulesRegistrationsOptionsLimitsM2mRetrieveResponses, ModulesRegistrationsOptionsModulesListData, ModulesRegistrationsOptionsModulesListResponses, ModulesRegistrationsOptionsModulesCreateData, ModulesRegistrationsOptionsModulesCreateResponses, ModulesRegistrationsOptionsModulesRetrieveData, ModulesRegistrationsOptionsModulesRetrieveResponses, ModulesRegistrationsOptionsModulesPartialUpdateData, ModulesRegistrationsOptionsModulesPartialUpdateResponses, ModulesRegistrationsOptionsNodeCartConfigurationsListData, ModulesRegistrationsOptionsNodeCartConfigurationsListResponses, ModulesRegistrationsOptionsNodeCartConfigurationsCreateData, ModulesRegistrationsOptionsNodeCartConfigurationsCreateResponses, ModulesRegistrationsOptionsNodeCartConfigurationsDestroyData, ModulesRegistrationsOptionsNodeCartConfigurationsDestroyResponses, ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveData, ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveResponses, ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateData, ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateResponses, ModulesRegistrationsOptionsNodeConfigurationsListData, ModulesRegistrationsOptionsNodeConfigurationsListResponses, ModulesRegistrationsOptionsNodeConfigurationsCreateData, ModulesRegistrationsOptionsNodeConfigurationsCreateResponses, ModulesRegistrationsOptionsNodeConfigurationsDestroyData, ModulesRegistrationsOptionsNodeConfigurationsDestroyResponses, ModulesRegistrationsOptionsNodeConfigurationsRetrieveData, ModulesRegistrationsOptionsNodeConfigurationsRetrieveResponses, ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateData, ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateResponses, ModulesRegistrationsOptionsNodesListData, ModulesRegistrationsOptionsNodesListResponses, ModulesRegistrationsOptionsNodesCreateData, ModulesRegistrationsOptionsNodesCreateResponses, ModulesRegistrationsOptionsNodesDestroyData, ModulesRegistrationsOptionsNodesDestroyResponses, ModulesRegistrationsOptionsNodesRetrieveData, ModulesRegistrationsOptionsNodesRetrieveResponses, ModulesRegistrationsOptionsNodesPartialUpdateData, ModulesRegistrationsOptionsNodesPartialUpdateResponses, ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateData, ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateResponses, ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateData, ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateResponses, ModulesRegistrationsOptionsPriceRulesListData, ModulesRegistrationsOptionsPriceRulesListResponses, ModulesRegistrationsOptionsPriceRulesCreateData, ModulesRegistrationsOptionsPriceRulesCreateResponses, ModulesRegistrationsOptionsPriceRulesDestroyData, ModulesRegistrationsOptionsPriceRulesDestroyResponses, ModulesRegistrationsOptionsPriceRulesRetrieveData, ModulesRegistrationsOptionsPriceRulesRetrieveResponses, ModulesRegistrationsOptionsPriceRulesPartialUpdateData, ModulesRegistrationsOptionsPriceRulesPartialUpdateResponses, ModulesRegistrationsOptionsPriceRulesM2mListData, ModulesRegistrationsOptionsPriceRulesM2mListResponses, ModulesRegistrationsOptionsPriceRulesM2mCreateData, ModulesRegistrationsOptionsPriceRulesM2mCreateResponses, ModulesRegistrationsOptionsPriceRulesM2mDestroyData, ModulesRegistrationsOptionsPriceRulesM2mDestroyResponses, ModulesRegistrationsOptionsPriceRulesM2mRetrieveData, ModulesRegistrationsOptionsPriceRulesM2mRetrieveResponses, ModulesRegistrationsOptionsPromotionCodesListData, ModulesRegistrationsOptionsPromotionCodesListResponses, ModulesRegistrationsOptionsPromotionCodesCreateData, ModulesRegistrationsOptionsPromotionCodesCreateResponses, ModulesRegistrationsOptionsPromotionCodesDestroyData, ModulesRegistrationsOptionsPromotionCodesDestroyResponses, ModulesRegistrationsOptionsPromotionCodesRetrieveData, ModulesRegistrationsOptionsPromotionCodesRetrieveResponses, ModulesRegistrationsOptionsPromotionCodesPartialUpdateData, ModulesRegistrationsOptionsPromotionCodesPartialUpdateResponses, ModulesRegistrationsOptionsStatementsListData, ModulesRegistrationsOptionsStatementsListResponses, ModulesRegistrationsOptionsStatementsCreateData, ModulesRegistrationsOptionsStatementsCreateResponses, ModulesRegistrationsOptionsStatementsDestroyData, ModulesRegistrationsOptionsStatementsDestroyResponses, ModulesRegistrationsOptionsStatementsRetrieveData, ModulesRegistrationsOptionsStatementsRetrieveResponses, ModulesRegistrationsOptionsStatementsPartialUpdateData, ModulesRegistrationsOptionsStatementsPartialUpdateResponses, ModulesRegistrationsOptionsTagsListData, ModulesRegistrationsOptionsTagsListResponses, ModulesRegistrationsOptionsTagsCreateData, ModulesRegistrationsOptionsTagsCreateResponses, ModulesRegistrationsOptionsTagsDestroyData, ModulesRegistrationsOptionsTagsDestroyResponses, ModulesRegistrationsOptionsTagsRetrieveData, ModulesRegistrationsOptionsTagsRetrieveResponses, ModulesRegistrationsOptionsTagsPartialUpdateData, ModulesRegistrationsOptionsTagsPartialUpdateResponses, ModulesRegistrationsSelectedNodesListData, ModulesRegistrationsSelectedNodesListResponses, ModulesRegistrationsSelectedNodesRetrieveData, ModulesRegistrationsSelectedNodesRetrieveResponses, ModulesRegistrationsSelectedNodesExtraInfoGroupsListData, ModulesRegistrationsSelectedNodesExtraInfoGroupsListResponses, ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveData, ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveResponses, ModulesRegistrationsSelectedNodesExtraInfosListData, ModulesRegistrationsSelectedNodesExtraInfosListResponses, ModulesRegistrationsSelectedNodesExtraInfosRetrieveData, ModulesRegistrationsSelectedNodesExtraInfosRetrieveResponses, ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateData, ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateResponses, ModulesRegistrationsSelectedPromotionCodesListData, ModulesRegistrationsSelectedPromotionCodesListResponses, ModulesRegistrationsSelectedPromotionCodesCreateData, ModulesRegistrationsSelectedPromotionCodesCreateResponses, ModulesRegistrationsSelectedPromotionCodesDestroyData, ModulesRegistrationsSelectedPromotionCodesDestroyResponses, ModulesRegistrationsSelectedPromotionCodesRetrieveData, ModulesRegistrationsSelectedPromotionCodesRetrieveResponses, SchemaRetrieveData, SchemaRetrieveResponses } from './types.gen'; +import { client as _heyApiClient } from './client.gen'; + +export type Options = ClientOptions & { + /** + * You can provide a client instance returned by `createClient()` instead of + * individual options. This might be also useful if you want to implement a + * custom client. + */ + client?: Client; + /** + * You can pass arbitrary values through the `meta` object. This can be + * used to access values that aren't defined as part of the SDK function. + */ + meta?: Record; +}; + +/** + * ViewSet for `Invoice` object + */ +export const accountingInvoicesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/accounting/invoices/', + ...options + }); +}; + +/** + * ViewSet for `Invoice` object + */ +export const accountingInvoicesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/accounting/invoices/{id}/', + ...options + }); +}; + +/** + * Proceed to a refund on an invoice, verifying the status and the validity of the amount. + * Calls the method `refund_payment` on the payment module. + */ +export const accountingInvoicesActionsRefundCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/accounting/invoices/{id}/actions/refund/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Viewset for the UploadedImage model. Depending on the `privacy_level` of the object, the object will be retrievable without authorization, with event authorization, or with ownership authorization. + * + * This permission does not require IsJWTAuthenticated to be use in combination because we need to be able to access public images without any authentication. The authentication for restricted image access is performed with IsJWTAuthenticated in the permission itself. + */ +export const commonUploadedImagesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/common/uploaded_images/', + ...options + }); +}; + +/** + * Viewset for the UploadedImage model. Depending on the `privacy_level` of the object, the object will be retrievable without authorization, with event authorization, or with ownership authorization. + * + * This permission does not require IsJWTAuthenticated to be use in combination because we need to be able to access public images without any authentication. The authentication for restricted image access is performed with IsJWTAuthenticated in the permission itself. + */ +export const commonUploadedImagesCreate = (options?: Options) => { + return (options?.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/common/uploaded_images/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers + } + }); +}; + +/** + * Viewset for the UploadedImage model. Depending on the `privacy_level` of the object, the object will be retrievable without authorization, with event authorization, or with ownership authorization. + * + * This permission does not require IsJWTAuthenticated to be use in combination because we need to be able to access public images without any authentication. The authentication for restricted image access is performed with IsJWTAuthenticated in the permission itself. + */ +export const commonUploadedImagesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/common/uploaded_images/{id}/', + ...options + }); +}; + +/** + * Viewset for the UploadedImage model. Depending on the `privacy_level` of the object, the object will be retrievable without authorization, with event authorization, or with ownership authorization. + * + * This permission does not require IsJWTAuthenticated to be use in combination because we need to be able to access public images without any authentication. The authentication for restricted image access is performed with IsJWTAuthenticated in the permission itself. + */ +export const commonUploadedImagesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/common/uploaded_images/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const commonUploadedImagesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/common/uploaded_images/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const coreApiTokensList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/api_tokens/', + ...options + }); +}; + +export const coreApiTokensRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/api_tokens/{id}/', + ...options + }); +}; + +export const coreApiTokensActionsMeRetrieve = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/api_tokens/actions/me/', + ...options + }); +}; + +/** + * This ViewSet manages polyticket users password change. + */ +export const coreAuthActionsPasswordChangeCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/auth/actions/password_change/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const coreAuthActionsPasswordResetCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/core/auth/actions/password_reset/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Send an email with a password reset link, to be used in the `UserPasswordResetViewSet.password_reset` action + */ +export const coreAuthActionsPasswordResetRequestCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/core/auth/actions/password_reset_request/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Validate and create a new user with the given parameters and with an `is_active` attribute set to False. + * It then sends an activation email for this to be changed in a second step. + */ +export const coreAuthActionsRegisterCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/core/auth/actions/register/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages polyticket users registration and email verification. + */ +export const coreAuthActionsRegisterVerifyCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/core/auth/actions/register_verify/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * View that handles User authentication. + * Returns an error for unsuccessful login or a JWT on successful login. + */ +export const coreAuthLoginCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/core/auth/login/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const coreDocumentsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/documents/', + ...options + }); +}; + +export const coreDocumentsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/documents/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const coreDocumentsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/documents/{id}/', + ...options + }); +}; + +/** + * This ViewSet manages unit memberships. + */ +export const coreUnitmembershipsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/unitmemberships/', + ...options + }); +}; + +/** + * This ViewSet manages unit memberships. + */ +export const coreUnitmembershipsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/unitmemberships/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages unit memberships. + */ +export const coreUnitmembershipsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/unitmemberships/{id}/', + ...options + }); +}; + +/** + * This ViewSet manages unit memberships. + */ +export const coreUnitmembershipsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/unitmemberships/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const coreUnitmembershipsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/unitmemberships/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Create a unitmembership using the email of the target user + */ +export const coreUnitmembershipsActionsCreateByEmailCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/unitmemberships/actions/create_by_email/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages units. + * Delete method is not allowed. + */ +export const coreUnitsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + querySerializer: { + array: { + explode: false, + style: 'form' + } + }, + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/units/', + ...options + }); +}; + +/** + * This ViewSet manages units. + * Delete method is not allowed. + */ +export const coreUnitsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/units/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages units. + * Delete method is not allowed. + */ +export const coreUnitsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/units/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const coreUnitsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/units/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const coreUsersList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/users/', + ...options + }); +}; + +export const coreUsersCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/users/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const coreUsersDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/users/{id}/', + ...options + }); +}; + +export const coreUsersRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/users/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const coreUsersPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/core/users/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const eventsEventsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/', + ...options + }); +}; + +export const eventsEventsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const eventsEventsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/', + ...options + }); +}; + +export const eventsEventsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const eventsEventsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Duplicate an event, its active modules and all configurations + */ +export const eventsEventsActionsDuplicateCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/duplicate/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const eventsEventsActionsExportCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/export/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Action from the PolyTicket team to moderate an event. + * + * If the event is valid: change moderation_status to validated and send an email to the organisers to notify them of the validation. + * + * Else: change moderation_status to change_requested and send an email to the organisers to ask for necessary changes. + */ +export const eventsEventsActionsModerateCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/moderate/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This endpoint returns an overview of what has been consumed of the event so far, and how many items remain, when applicable. Each object of the response represents one node, with related usage information and limits + */ +export const eventsEventsActionsNodeStocksList = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/node_stocks/', + ...options + }); +}; + +/** + * Action to request moderation from the PolyTicket team on an event. Send a mail to PolyTicket with all necessary information and change moderation_status to requested. + */ +export const eventsEventsActionsRequestModerationCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/request_moderation/', + ...options + }); +}; + +/** + * Get event statistics by chosen granularity. Please note that data isn't sorted in chronological order within the different dicts. + * Includes all data after `interval_start`, adding a point at `interval_start` with the last known value before it (or 0 if none). + * Includes all data before `interval_end`, adding a point at `interval_end` with the next available value (or the last known value if none). + */ +export const eventsEventsActionsStatisticsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/statistics/', + ...options + }); +}; + +/** + * Get all infos related to an Event, filtered based on Conditions + */ +export const eventsEventsActionsTicketOfficeInfosRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/events/events/{id}/actions/ticket_office_infos/', + ...options + }); +}; + +export const eventsEventsActionsPublicInfosRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'basic', + type: 'http' + } + ], + url: '/api/v2/events/events/actions/public_infos/{frontend_path}/', + ...options + }); +}; + +/** + * Create an anonymous frontend login. Accessible only on public events or in testing mode. + */ +export const modulesAuthAnonymousLoginActionsCreateLoginCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/modules_auth/anonymous_login/actions/create_login/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthAnonymousLogin`. + */ +export const modulesAuthAnonymousLoginModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/anonymous_login/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthAnonymousLogin`. + */ +export const modulesAuthAnonymousLoginModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/anonymous_login/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthAnonymousLogin`. + */ +export const modulesAuthAnonymousLoginModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/anonymous_login/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthAnonymousLogin`. + */ +export const modulesAuthAnonymousLoginModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/anonymous_login/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesAuthAnonymousLoginModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/anonymous_login/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesAuthFrontendLoginsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + querySerializer: { + array: { + explode: false, + style: 'form' + } + }, + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/frontend_logins/', + ...options + }); +}; + +export const modulesAuthFrontendLoginsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/frontend_logins/{id}/', + ...options + }); +}; + +export const modulesAuthLoginMethodsList = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + url: '/api/v2/modules_auth/login_methods/', + ...options + }); +}; + +export const modulesAuthThirdPartyTokenLoginActionsValidateLoginCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/modules_auth/third_party_token_login/actions/validate_login/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthThirdPartyTokenLogin`. + */ +export const modulesAuthThirdPartyTokenLoginModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/third_party_token_login/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthThirdPartyTokenLogin`. + */ +export const modulesAuthThirdPartyTokenLoginModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/third_party_token_login/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthThirdPartyTokenLogin`. + */ +export const modulesAuthThirdPartyTokenLoginModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/third_party_token_login/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthThirdPartyTokenLogin`. + */ +export const modulesAuthThirdPartyTokenLoginModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/third_party_token_login/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesAuthThirdPartyTokenLoginModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/third_party_token_login/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesAuthTrustedEmailActionsCreateLoginCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/modules_auth/trusted_email/actions/create_login/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesAuthTrustedEmailActionsValidateLoginCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/modules_auth/trusted_email/actions/validate_login/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthTrustedEmail`. + */ +export const modulesAuthTrustedEmailModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/trusted_email/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthTrustedEmail`. + */ +export const modulesAuthTrustedEmailModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/trusted_email/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthTrustedEmail`. + */ +export const modulesAuthTrustedEmailModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/trusted_email/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleAuthTrustedEmail`. + */ +export const modulesAuthTrustedEmailModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/trusted_email/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesAuthTrustedEmailModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_auth/trusted_email/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesBasketBillingInformationsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/billing_informations/', + ...options + }); +}; + +export const modulesBasketBillingInformationsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/billing_informations/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesBasketBillingInformationsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/billing_informations/{id}/', + ...options + }); +}; + +/** + * ViewSet of model FrontendBasket, searching is possible via the following fields: + * pk, total, selectednode__pk, created_by__pk, created_by__email and created_by__username + */ +export const modulesBasketFrontendBasketsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/', + ...options + }); +}; + +/** + * ViewSet of model FrontendBasket, searching is possible via the following fields: + * pk, total, selectednode__pk, created_by__pk, created_by__email and created_by__username + */ +export const modulesBasketFrontendBasketsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model FrontendBasket, searching is possible via the following fields: + * pk, total, selectednode__pk, created_by__pk, created_by__email and created_by__username + */ +export const modulesBasketFrontendBasketsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesBasketFrontendBasketsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model FrontendBasket, searching is possible via the following fields: + * pk, total, selectednode__pk, created_by__pk, created_by__email and created_by__username + */ +export const modulesBasketFrontendBasketsActionsAddToBasketCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/add_to_basket/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model FrontendBasket, searching is possible via the following fields: + * pk, total, selectednode__pk, created_by__pk, created_by__email and created_by__username + */ +export const modulesBasketFrontendBasketsActionsGenerateTicketCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/generate_ticket/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model FrontendBasket, searching is possible via the following fields: + * pk, total, selectednode__pk, created_by__pk, created_by__email and created_by__username + */ +export const modulesBasketFrontendBasketsActionsRemoveFromBasketCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/remove_from_basket/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Ensures that all required extra info fields have been filled. Returns the `SelectedNodeExtraInfos` that are required but have no value, and an empty JSON if everything is correct. + */ +export const modulesBasketFrontendBasketsActionsValidateExtraInfosRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/validate_extra_infos/', + ...options + }); +}; + +/** + * ViewSet to tell the backend that the customer has reached the ticket office summary page. + * It will trigger hooks that, for example, send a payment reminder email. + */ +export const modulesCompletionCompletionStartedCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/completion_started/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionConfirmationPageExtraText`. + */ +export const modulesCompletionConfirmationPageExtraTextModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionConfirmationPageExtraText`. + */ +export const modulesCompletionConfirmationPageExtraTextModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionConfirmationPageExtraText`. + */ +export const modulesCompletionConfirmationPageExtraTextModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionConfirmationPageExtraText`. + */ +export const modulesCompletionConfirmationPageExtraTextModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesCompletionConfirmationPageExtraTextModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCompleted`. + */ +export const modulesCompletionEmailRegistrationCompletedSimpleModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCompleted`. + */ +export const modulesCompletionEmailRegistrationCompletedSimpleModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCompleted`. + */ +export const modulesCompletionEmailRegistrationCompletedSimpleModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCompleted`. + */ +export const modulesCompletionEmailRegistrationCompletedSimpleModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCreation`. + */ +export const modulesCompletionEmailRegistrationCreationModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_creation/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCreation`. + */ +export const modulesCompletionEmailRegistrationCreationModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_creation/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCreation`. + */ +export const modulesCompletionEmailRegistrationCreationModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_creation/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionEmailRegistrationCreation`. + */ +export const modulesCompletionEmailRegistrationCreationModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_creation/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesCompletionEmailRegistrationCreationModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/email_registration_creation/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionPDFTicket`. + */ +export const modulesCompletionPdfTicketModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/pdf_ticket/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionPDFTicket`. + */ +export const modulesCompletionPdfTicketModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/pdf_ticket/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionPDFTicket`. + */ +export const modulesCompletionPdfTicketModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/pdf_ticket/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionPDFTicket`. + */ +export const modulesCompletionPdfTicketModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/pdf_ticket/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesCompletionPdfTicketModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/pdf_ticket/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionRedirect`. + */ +export const modulesCompletionRedirectModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/redirect/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionRedirect`. + */ +export const modulesCompletionRedirectModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/redirect/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionRedirect`. + */ +export const modulesCompletionRedirectModulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/redirect/modules/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleCompletionRedirect`. + */ +export const modulesCompletionRedirectModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/redirect/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesCompletionRedirectModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_completion/redirect/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * List available payment methods for the linked basket + */ +export const modulesPaymentsMethodsList = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/methods/', + ...options + }); +}; + +/** + * Use this endpoint to start a payment for a given basket. + * + * Payments must *also* be made for free / 0-amount baskets. + * + * A basket has the following requirements to be able to be paid: + * - Terms of Service accepted + * - Billing information is specified + * - Is editable (all registrations of the basket must be in ``new`` state) + * + * You must provide the ID of the active module of the desired payment method for a non-zero payment, otherwise you can omit this. + * + * This endpoint will create an Invoice and Payment Intent. In the case of a zero-payment, the basket is also directly marked as paid. + * Else, if the requested payment method requires the user to continue on another website, the response will include `is_external_redirect=true`, + * and you must redirect the user to the URL specified in `link`. If the attribute is false, then you must do the rest of the handling in the front end. + */ +export const modulesPaymentsMethodsActionsStartPaymentCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/methods/actions/start_payment/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * API endpoint that allows PaymentIntent to be viewed. + */ +export const modulesPaymentsPaymentIntentsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payment_intents/', + ...options + }); +}; + +/** + * API endpoint that allows PaymentIntent to be viewed. + */ +export const modulesPaymentsPaymentIntentsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payment_intents/{id}/', + ...options + }); +}; + +/** + * This view action cancels a payment intent and returns an error in case the payment intent was not in a cancellable state (paid or already cancelled). + * + * After cancelling a payment intent, you should redirect the user to do the payment method choice and order validation again. + */ +export const modulesPaymentsPaymentIntentsActionsCancelCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payment_intents/{id}/actions/cancel/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view action must be provided with the `status` that the frontend has received from an external PSP. Calling this endpoint will trigger an **asynchronous** process that will ensure the status of the `PaymentIntent` is coherent with its status on the external PSP. + * + * After having called this endpoint, you should poll the detail of the `PaymentIntent` until one of `is_error`, `is_cancelled` or `invoice.is_resolved` have changed. + */ +export const modulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payment_intents/{id}/actions/request_status_update/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModulePaymentPayrexx`. + */ +export const modulesPaymentsPayrexxModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payrexx/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModulePaymentPayrexx`. + */ +export const modulesPaymentsPayrexxModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payrexx/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModulePaymentPayrexx`. + */ +export const modulesPaymentsPayrexxModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payrexx/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesPaymentsPayrexxModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/payrexx/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * Called by Payrexx to update status of Gateway. Will return a HTTP 200 as soon as possible, and do any treatment of the webhook content asynchronously. + */ +export const modulesPaymentsPayrexxWebhooksCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + url: '/api/v2/modules_payments/payrexx/webhooks/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModulePaymentPointOfSale`. + */ +export const modulesPaymentsPointofsaleModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModulePaymentPointOfSale`. + */ +export const modulesPaymentsPointofsaleModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModulePaymentPointOfSale`. + */ +export const modulesPaymentsPointofsaleModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesPaymentsPointofsaleModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet for `ModulePaymentPointOfSaleConfigurationPlace` model. + */ +export const modulesPaymentsPointofsalePlacesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/places/', + ...options + }); +}; + +/** + * ViewSet for `ModulePaymentPointOfSaleConfigurationPlace` model. + */ +export const modulesPaymentsPointofsalePlacesCreate = (options?: Options) => { + return (options?.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/places/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options?.headers + } + }); +}; + +/** + * ViewSet for `ModulePaymentPointOfSaleConfigurationPlace` model. + */ +export const modulesPaymentsPointofsalePlacesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/places/{id}/', + ...options + }); +}; + +/** + * ViewSet for `ModulePaymentPointOfSaleConfigurationPlace` model. + */ +export const modulesPaymentsPointofsalePlacesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/places/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesPaymentsPointofsalePlacesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_payments/pointofsale/places/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleRegistrationAccessManagement`. + */ +export const modulesRegistrationsAccessManagementModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleRegistrationAccessManagement`. + */ +export const modulesRegistrationsAccessManagementModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleRegistrationAccessManagement`. + */ +export const modulesRegistrationsAccessManagementModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsAccessManagementModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model AccessManagementPlace + */ +export const modulesRegistrationsAccessManagementPlacesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/places/', + ...options + }); +}; + +/** + * ViewSet of model AccessManagementPlace + */ +export const modulesRegistrationsAccessManagementPlacesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/places/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model AccessManagementPlace + */ +export const modulesRegistrationsAccessManagementPlacesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/places/{id}/', + ...options + }); +}; + +/** + * ViewSet of model AccessManagementPlace + */ +export const modulesRegistrationsAccessManagementPlacesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/places/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsAccessManagementPlacesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/access_management/places/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages accesses + * It filters accesses linked to configurations, via `NodeAccessM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsAccessesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses/', + ...options + }); +}; + +/** + * This view manages accesses + * It filters accesses linked to configurations, via `NodeAccessM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsAccessesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages accesses + * It filters accesses linked to configurations, via `NodeAccessM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsAccessesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses/{id}/', + ...options + }); +}; + +/** + * This view manages accesses + * It filters accesses linked to configurations, via `NodeAccessM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsAccessesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsAccessesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/access relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAccessesM2mList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses_m2m/', + ...options + }); +}; + +/** + * This view manages node configuration/access relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAccessesM2mCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses_m2m/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/access relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAccessesM2mDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages node configuration/access relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAccessesM2mRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/accesses_m2m/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsAvailabilitiesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities/', + ...options + }); +}; + +export const modulesRegistrationsOptionsAvailabilitiesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsAvailabilitiesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsAvailabilitiesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsAvailabilitiesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/availabilities relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAvailabilitiesM2mList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities_m2m/', + ...options + }); +}; + +/** + * This view manages node configuration/availabilities relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAvailabilitiesM2mCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities_m2m/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/availabilities relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAvailabilitiesM2mDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages node configuration/availabilities relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsAvailabilitiesM2mRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/availabilities_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages conditions + * It filters conditions linked to configurations, via node configuration properties, which users have access to. + */ +export const modulesRegistrationsOptionsConditionsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/conditions/', + ...options + }); +}; + +/** + * This view manages conditions + * It filters conditions linked to configurations, via node configuration properties, which users have access to. + */ +export const modulesRegistrationsOptionsConditionsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/conditions/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages conditions + * It filters conditions linked to configurations, via node configuration properties, which users have access to. + */ +export const modulesRegistrationsOptionsConditionsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/conditions/{id}/', + ...options + }); +}; + +/** + * This view manages conditions + * It filters conditions linked to configurations, via node configuration properties, which users have access to. + */ +export const modulesRegistrationsOptionsConditionsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/conditions/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsConditionsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/conditions/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages extra info group + * It filters groups linked to configurations, via `NodeExtraInfoGroupM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups/', + ...options + }); +}; + +/** + * This view manages extra info group + * It filters groups linked to configurations, via `NodeExtraInfoGroupM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages extra info group + * It filters groups linked to configurations, via `NodeExtraInfoGroupM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups/{id}/', + ...options + }); +}; + +/** + * This view manages extra info group + * It filters groups linked to configurations, via `NodeExtraInfoGroupM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsExtraInfoGroupsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/extra group info relations. + * PUT and PATCH methods are not supported. + * It filters relations linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsM2mList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/', + ...options + }); +}; + +/** + * This view manages node configuration/extra group info relations. + * PUT and PATCH methods are not supported. + * It filters relations linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsM2mCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/extra group info relations. + * PUT and PATCH methods are not supported. + * It filters relations linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsM2mDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages node configuration/extra group info relations. + * PUT and PATCH methods are not supported. + * It filters relations linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfoGroupsM2mRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages extra infos + * It filters extra infos linked to groups which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfosList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_infos/', + ...options + }); +}; + +/** + * This view manages extra infos + * It filters extra infos linked to groups which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfosCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_infos/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages extra infos + * It filters extra infos linked to groups which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfosDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_infos/{id}/', + ...options + }); +}; + +/** + * This view manages extra infos + * It filters extra infos linked to groups which users have access to. + */ +export const modulesRegistrationsOptionsExtraInfosRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_infos/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsExtraInfosPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/extra_infos/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages limits + * It filters limits linked to configurations, via `NodeLimitM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsLimitsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits/', + ...options + }); +}; + +/** + * This view manages limits + * It filters limits linked to configurations, via `NodeLimitM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsLimitsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages limits + * It filters limits linked to configurations, via `NodeLimitM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsLimitsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits/{id}/', + ...options + }); +}; + +/** + * This view manages limits + * It filters limits linked to configurations, via `NodeLimitM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsLimitsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsLimitsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/limits relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsLimitsM2mList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits_m2m/', + ...options + }); +}; + +/** + * This view manages node configuration/limits relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsLimitsM2mCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits_m2m/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/limits relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsLimitsM2mDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages node configuration/limits relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsLimitsM2mRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/limits_m2m/{id}/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleRegistrationOptions`. + */ +export const modulesRegistrationsOptionsModulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/modules/', + ...options + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleRegistrationOptions`. + */ +export const modulesRegistrationsOptionsModulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/modules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * ViewSet of model `ActiveModule` linked to `ModuleRegistrationOptions`. + */ +export const modulesRegistrationsOptionsModulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/modules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsModulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/modules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodeCartConfigurationsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_cart_configurations/', + ...options + }); +}; + +export const modulesRegistrationsOptionsNodeCartConfigurationsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_cart_configurations/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodeCartConfigurationsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_cart_configurations/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsNodeCartConfigurationsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_cart_configurations/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsNodeCartConfigurationsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_cart_configurations/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodeConfigurationsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_configurations/', + ...options + }); +}; + +export const modulesRegistrationsOptionsNodeConfigurationsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_configurations/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodeConfigurationsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_configurations/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsNodeConfigurationsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_configurations/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsNodeConfigurationsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/node_configurations/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/', + ...options + }); +}; + +export const modulesRegistrationsOptionsNodesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsNodesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsNodesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/{id}/actions/delete_cart_configurations/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/nodes/{id}/actions/ensure_cart_configurations/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages price rules + * It filters price rules linked to configurations, via `NodePriceRuleM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules/', + ...options + }); +}; + +/** + * This view manages price rules + * It filters price rules linked to configurations, via `NodePriceRuleM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages price rules + * It filters price rules linked to configurations, via `NodePriceRuleM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules/{id}/', + ...options + }); +}; + +/** + * This view manages price rules + * It filters price rules linked to configurations, via `NodePriceRuleM2M` through table, which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsPriceRulesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/price rules relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesM2mList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules_m2m/', + ...options + }); +}; + +/** + * This view manages node configuration/price rules relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesM2mCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules_m2m/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node configuration/price rules relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesM2mDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules_m2m/{id}/', + ...options + }); +}; + +/** + * This view manages node configuration/price rules relation + * PUT and PATCH methods are not supported. + * It filters relation linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsPriceRulesM2mRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/price_rules_m2m/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsPromotionCodesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/promotion_codes/', + ...options + }); +}; + +export const modulesRegistrationsOptionsPromotionCodesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/promotion_codes/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsPromotionCodesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/promotion_codes/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsPromotionCodesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/promotion_codes/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsPromotionCodesPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/promotion_codes/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsStatementsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/statements/', + ...options + }); +}; + +export const modulesRegistrationsOptionsStatementsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/statements/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +export const modulesRegistrationsOptionsStatementsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/statements/{id}/', + ...options + }); +}; + +export const modulesRegistrationsOptionsStatementsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/statements/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsStatementsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/statements/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node tags + * It filters node tags linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsTagsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + querySerializer: { + array: { + explode: false, + style: 'form' + } + }, + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/tags/', + ...options + }); +}; + +/** + * This view manages node tags + * It filters node tags linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsTagsCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/tags/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This view manages node tags + * It filters node tags linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsTagsDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/tags/{id}/', + ...options + }); +}; + +/** + * This view manages node tags + * It filters node tags linked to configurations which users have access to. + */ +export const modulesRegistrationsOptionsTagsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/tags/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsOptionsTagsPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/options/tags/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages SelectedNode. + * The object is created during the add to basket process based on a copy of the node selected by the user. + */ +export const modulesRegistrationsSelectedNodesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedNode. + * The object is created during the add to basket process based on a copy of the node selected by the user. + */ +export const modulesRegistrationsSelectedNodesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes/{id}/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedNodeExtraInfoGroup. + * The SelectedNodeExtraInfoGroup object is a copy of a NodeExtraInfoGroup which is created during the add to basket process. + */ +export const modulesRegistrationsSelectedNodesExtraInfoGroupsList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + querySerializer: { + array: { + explode: false, + style: 'form' + } + }, + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes_extra_info_groups/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedNodeExtraInfoGroup. + * The SelectedNodeExtraInfoGroup object is a copy of a NodeExtraInfoGroup which is created during the add to basket process. + */ +export const modulesRegistrationsSelectedNodesExtraInfoGroupsRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes_extra_info_groups/{id}/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedNodeExtraInfo. + * The SelectedNodeExtraInfo object is a copy of a NodeExtraInfo which is created during the add to basket process. + */ +export const modulesRegistrationsSelectedNodesExtraInfosList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + querySerializer: { + array: { + explode: false, + style: 'form' + } + }, + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes_extra_infos/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedNodeExtraInfo. + * The SelectedNodeExtraInfo object is a copy of a NodeExtraInfo which is created during the add to basket process. + */ +export const modulesRegistrationsSelectedNodesExtraInfosRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes_extra_infos/{id}/', + ...options + }); +}; + +/** + * Partial update (PATCH) definition + * Returns: + * response: the serialized data + */ +export const modulesRegistrationsSelectedNodesExtraInfosPartialUpdate = (options: Options) => { + return (options.client ?? _heyApiClient).patch({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_nodes_extra_infos/{id}/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages SelectedPromotionCode. + * It allows to save that the user has entered a valid promo code on the ticketoffice homepage. + * It's linked by a ForeignKey to a PromotionCode (where the promo code comes from). + */ +export const modulesRegistrationsSelectedPromotionCodesList = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_promotion_codes/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedPromotionCode. + * It allows to save that the user has entered a valid promo code on the ticketoffice homepage. + * It's linked by a ForeignKey to a PromotionCode (where the promo code comes from). + */ +export const modulesRegistrationsSelectedPromotionCodesCreate = (options: Options) => { + return (options.client ?? _heyApiClient).post({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_promotion_codes/', + ...options, + headers: { + 'Content-Type': 'application/json', + ...options.headers + } + }); +}; + +/** + * This ViewSet manages SelectedPromotionCode. + * It allows to save that the user has entered a valid promo code on the ticketoffice homepage. + * It's linked by a ForeignKey to a PromotionCode (where the promo code comes from). + */ +export const modulesRegistrationsSelectedPromotionCodesDestroy = (options: Options) => { + return (options.client ?? _heyApiClient).delete({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_promotion_codes/{id}/', + ...options + }); +}; + +/** + * This ViewSet manages SelectedPromotionCode. + * It allows to save that the user has entered a valid promo code on the ticketoffice homepage. + * It's linked by a ForeignKey to a PromotionCode (where the promo code comes from). + */ +export const modulesRegistrationsSelectedPromotionCodesRetrieve = (options: Options) => { + return (options.client ?? _heyApiClient).get({ + security: [ + { + scheme: 'bearer', + type: 'http' + } + ], + url: '/api/v2/modules_registrations/selected_promotion_codes/{id}/', + ...options + }); +}; + +/** + * OpenApi3 schema for this API. Format can be selected via content negotiation. + * + * - YAML: application/vnd.oai.openapi + * - JSON: application/vnd.oai.openapi+json + */ +export const schemaRetrieve = (options?: Options) => { + return (options?.client ?? _heyApiClient).get({ + url: '/api/v2/schema/', + ...options + }); +}; \ No newline at end of file diff --git a/src/api/types.gen.ts b/src/api/types.gen.ts new file mode 100644 index 0000000..56c385d --- /dev/null +++ b/src/api/types.gen.ts @@ -0,0 +1,8620 @@ +// This file is auto-generated by @hey-api/openapi-ts + +/** + * Serializer for AccessManagementPlace model + */ +export type AccessManagementPlace = { + readonly id: number; + name: string; + configuration: number; + expires_at?: string | null; + /** + * URL of the access management scanner for this place, in testing mode. + */ + readonly monomode_testing_url: string; + /** + * URL of the access management scanner for this place. + */ + readonly monomode_url: string; +}; + +/** + * A serializer to be used exclusively inside the AddToBasketNodeExtraInfoGroupSerializer. + * This is used to specify which NodeExtraInfo you are submitting a value for, and the value itself in one go + */ +export type AddToBasketNodeExtraInfo = { + node_extra_info: number; + value: string; +}; + +/** + * A serializer to be used exclusively inside the SelectedNodeCreationSerializer. + * This facilates submitting the values (responses) for all NodeExtraInfos of a NodeExtraInfoGroup in one go + */ +export type AddToBasketNodeExtraInfoGroup = { + node_extra_infos: Array; + node_extra_info_group: number; +}; + +export type ApiToken = { + readonly id: number; + readonly user: number | null; + readonly frontend_logins: Array; + /** + * True if the token has been generated automatically + */ + readonly is_automatic: boolean; + /** + * Informative name, for you :) + */ + readonly name: string; + /** + * When the token should expire. Leave blank for an infinitely valid token (not recommended!) + */ + readonly expiration: string | null; +}; + +/** + * Serializer for BillingInformation model + * Requires to be logged in as a user or to provide a frontend login associated with your request + */ +export type BillingInformation = { + readonly id: number; + first_name?: string; + last_name?: string; + address?: string; + postal_code?: string; + city?: string; + country?: string; + email: string; + readonly user: number | null; + created_by?: number | null; + readonly frontendbasket_set: Array; +}; + +export type BlankEnum = ''; + +export type CancelError = { + /** + * Error in case the payment intent was not in a cancellable state (paid or already cancelled). + */ + error: string; +}; + +/** + * * `ticket` - Ticket + * * `item` - Item + * * `activity` - Activity + * * `accomodation` - Accomodation + * * `type` - Type + * * `group` - Group + */ +export type CategoryEnum = 'ticket' | 'item' | 'activity' | 'accomodation' | 'type' | 'group'; + +/** + * Serializer for CompletionStartedViewSet + */ +export type CompletionStarted = { + /** + * The ID of the frontend basket. + */ + basket_id: number; +}; + +/** + * Serializer (read/write) for `Condition` model + */ +export type Condition = { + readonly event_id: number; + readonly id: number; + name?: string; + /** + * the logical operator used between multiple statements + * + * * `or` - OR + * * `and` - AND + */ + logical_operator: LogicalOperatorEnum; + /** + * Is implicit? + * can store a combination of conditions as a single condition + */ + is_implicit?: boolean; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionConfirmationPageExtraText` + */ +export type ConfirmationPageExtraTextActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ConfirmationPageExtraTextConfiguration; +}; + +/** + * Serializer for `ModuleCompletionConfirmationPageExtraTextConfiguration` nested in `ConfirmationPageExtraTextActiveModuleSerializer` + */ +export type ConfirmationPageExtraTextConfiguration = { + readonly id: number; + /** + * Text that is displayed on the order confirmation page. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + text?: string; + /** + * The image used for the module + */ + image?: number | null; + /** + * Is module's text used + */ + is_text_used?: boolean; + /** + * Is module's image used + */ + is_image_used?: boolean; +}; + +/** + * Serializer used for AnonymousLogin creation. + * Adds `testing` (default to False) in data if not given. + */ +export type CreateAnonymousLogin = { + active_module_id: number; + testing?: boolean; +}; + +/** + * Serializer used for TrustedEmailLogin creation. + * Adds `testing` (default to False) in data if not given and forces `email` to be provided. + */ +export type CreateTrustedEmailLogin = { + active_module_id: number; + testing?: boolean; + email: string; +}; + +/** + * Serializer for `Document` model + */ +export type Document = { + readonly id: number; + readonly is_active: boolean; + type: DocumentTypeEnum; + file: string; +}; + +/** + * * `privacy_policy` - Privacy policy + * * `terms_of_service` - Terms of service + * * `imprint` - Imprint + */ +export type DocumentTypeEnum = 'privacy_policy' | 'terms_of_service' | 'imprint'; + +/** + * Serializer for Node model + */ +export type Event = { + readonly id: number; + unit_id: number; + name: string; + status?: EventStatusEnum; + moderation_status: ModerationStatusEnum; + readonly are_registrations_allowed: boolean; + readonly are_payments_allowed: boolean; + registrations_start_date?: string | null; + payments_start_date?: string | null; + payments_end_date?: string | null; + closed_start_date?: string | null; + registrations_end_date?: string | null; + start_date?: string | null; + end_date?: string | null; + custom_key?: string; + /** + * Welcome text displayed on the Ticket Office event page. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + welcome_text?: string; + /** + * External url provided by the organizer. I.e. their website or social media page + */ + frontend_url?: string; + /** + * Main name of the event shown to end users. I.e. shown on the Ticket Office webpage + */ + frontend_title: string; + /** + * Name of the organizer, displayed on the Ticket Office event page + */ + frontend_organizers?: string; + /** + * Root of public path of the event url + */ + frontend_path: string; + multiple_registration_per_login?: boolean; + user_nickname_enabled?: boolean; + user_registration_link_unique?: boolean; + description_header_image?: number | null; + terms_of_service?: string; + location_text?: string; + location?: string | null; + /** + * Location address (via reverse lookup) + */ + readonly location_address: string; + is_public_visible?: boolean; + is_unit_visible?: boolean; + readonly ticket_office_url: string; + readonly ticket_office_testing_url: string; + /** + * This field informs the front end on what actions should be allowed or prevented, in the front end only. + */ + is_basket_item_modification_allowed?: boolean; + /** + * if the event physically takes place in the city of Lausanne, set this boolean so that taxes are calculated properly + */ + is_in_lausanne?: boolean; + readonly is_status_public: boolean; +}; + +/** + * Write only serializer, used by admin to validate an event. + */ +export type EventModeration = { + /** + * Whether the event is deemed valid by an admin. + */ + is_valid: boolean; + /** + * Short description of what the user should modify on his event, so we can publish it. + */ + required_changes?: string; +}; + +/** + * Serializer for the public infos endpoint + */ +export type EventPublicInfos = { + readonly id: number; + readonly are_registrations_allowed: boolean; + readonly are_payments_allowed: boolean; + /** + * Welcome text displayed on the Ticket Office event page + */ + readonly welcome_text: string; + /** + * External url provided by the organizer. I.e. their website or social media page + */ + readonly frontend_url: string; + /** + * Main name of the event shown to end users. I.e. shown on the Ticket Office webpage + */ + readonly frontend_title: string; + /** + * Name of the organizer, displayed on the Ticket Office event page + */ + readonly frontend_organizers: string; + readonly description_header_image: number | null; + readonly start_date: string | null; + readonly end_date: string | null; + readonly location_text: string; + readonly location: string | null; + /** + * Location address (via reverse lookup) + */ + readonly location_address: string; + /** + * This field informs the front end on what actions should be allowed or prevented, in the front end only. + */ + readonly is_basket_item_modification_allowed: boolean; + readonly is_status_public: boolean; +}; + +/** + * Serializer for the action event-statistics used to display the dashboard of an event + */ +export type EventStatistics = { + /** + * associate the number of invoices resolved (INCLUDING the refunded ones) per timestamps + */ + readonly invoices_resolved: { + [key: string]: unknown; + }; + /** + * associate the value of the total amount from the invoices resolved (INCLUDING the refunded ones) per timestamps + */ + readonly invoices_resolved_value: { + [key: string]: unknown; + }; + /** + * associate the number of invoices refunded (only those FULLY refunded) per timestamps + */ + readonly invoices_refunded: { + [key: string]: unknown; + }; + /** + * associate the value of the total amount from invoices refunded (= invoices with negative amounts) per timestamps + */ + readonly invoices_refunded_value: { + [key: string]: unknown; + }; + /** + * the count of invoices that are still in progress + */ + readonly invoices_in_progress: number; +}; + +/** + * * `draft` - Draft + * * `public` - Public + * * `closed` - Closed (force) + * * `archived` - Archived + */ +export type EventStatusEnum = 'draft' | 'public' | 'closed' | 'archived'; + +export type FrontendBasket = { + readonly id: number; + event: number; + readonly testing: boolean; + /** + * The id of the frontendlogin that created the basket. + */ + created_by_id: number; + /** + * The id of the billing information linked to the basket. + */ + billing_information_id?: number; + readonly total: string; + readonly total_display: string; + readonly invoices: Array; + /** + * Return a unique and checksummed-ish key + */ + readonly unikey: string; + readonly status: string; + /** + * The number of root Selected Nodes linked to this basket. + */ + readonly registrations_count: number; + /** + * Invoices total amount. + */ + readonly invoices_total: number; + /** + * Whether the invoices total amount exceeds the basket total. + */ + readonly invoices_total_exceeds_basket_total: boolean; +}; + +/** + * Serializer for FrontendLogin + */ +export type FrontendLogin = { + readonly id: number; + readonly event: number; + readonly testing: boolean; + readonly email: string | null; + readonly username: string; + readonly user: number | null; + readonly display: string; +}; + +/** + * Serializer for `Invoice` model + */ +export type Invoice = { + readonly id: number; + readonly amount: string; + readonly due_date: string | null; + readonly created_at: string; + readonly basket: number | null; + readonly is_cancelled: boolean; + readonly related_invoices: Array; + readonly is_resolved: boolean; +}; + +/** + * * `login` - Login property + * * `node` - Node selected + * * `promotion_code` - Promotion code + */ +export type LeftHandOperandEnum = 'login' | 'node' | 'promotion_code'; + +/** + * * `or` - OR + * * `and` - AND + */ +export type LogicalOperatorEnum = 'or' | 'and'; + +/** + * Serializer used only for PolyTicketUser login. + */ +export type Login = { + /** + * The email associated with your account + */ + email: string; + /** + * The password associated with your account + */ + password: string; +}; + +/** + * Serializer used to return the login access token. + */ +export type LoginJwt = { + /** + * The login JWT access token + */ + readonly jwt: string; +}; + +/** + * A serializer returning info for a login method + */ +export type LoginMethod = { + /** + * The id of the login method's active module + */ + readonly active_module_id: number; + readonly key: string; + /** + * Title of the login method + */ + readonly name: string; + /** + * Description of the login method + */ + readonly description: string; +}; + +/** + * Serializer used only to return the token after a user login. + */ +export type LoginResult = { + /** + * A JWT to be used in Bearer authentication in further requests. + */ + token: string; +}; + +/** + * * `plus` - + [Current price + value] + * * `set` - = [Set price to] + * * `plus_percent` - +% [Current price + current price * value / 100] + * * `multiply` - * [Current price * value] + * * `divide` - / [Current price / value] + */ +export type ModeEnum = 'plus' | 'set' | 'plus_percent' | 'multiply' | 'divide'; + +/** + * * `text` - Simple text + * * `email` - Email + * * `phone` - Phone + * * `country` - Country + * * `numerical` - Numerical + * * `textarea` - Multi-line text input + * * `boolean` - Boolean + * * `datetime` - Datetime + * * `date` - Date + * * `date_major` - Birthdate with majority required + * * `choice` - Choice + * * `file` - File + */ +export type ModelFormLineType = 'text' | 'email' | 'phone' | 'country' | 'numerical' | 'textarea' | 'boolean' | 'datetime' | 'date' | 'date_major' | 'choice' | 'file'; + +/** + * * `not_requested` - Not requested + * * `requested` - Requested + * * `change_requested` - Change requested + * * `validated` - Validated + */ +export type ModerationStatusEnum = 'not_requested' | 'requested' | 'change_requested' | 'validated'; + +/** + * Serializer for `ActiveModule` linked to `ModuleAuthAnonymousLogin` + */ +export type ModuleAuthAnonymousLoginActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleAuthAnonymousLoginConfiguration; +}; + +/** + * Serializer for `ModuleAuthAnonymousLoginConfiguration` nested in `ModuleAuthAnonymousLoginActiveModuleSerializer` + */ +export type ModuleAuthAnonymousLoginConfiguration = { + readonly id: number; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleAuthThirdPartyTokenLogin` + */ +export type ModuleAuthThirdPartyTokenLoginActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleAuthThirdPartyTokenLoginConfiguration; +}; + +/** + * Serializer for `ModuleAuthThirdPartyTokenLoginConfiguration` nested in `ModuleAuthThirdPartyTokenLoginActiveModuleSerializer` + */ +export type ModuleAuthThirdPartyTokenLoginConfiguration = { + readonly id: number; + /** + * JWT Secret key for the login token + * Secret key for the JWT token (any string). + */ + jwt_secret_key: string; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleAuthTrustedEmail` + */ +export type ModuleAuthTrustedEmailActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleAuthTrustedEmailConfiguration; +}; + +/** + * Serializer for `ModuleAuthTrustedEmailConfiguration` nested in `ModuleAuthTrustedEmailActiveModuleSerializer` + */ +export type ModuleAuthTrustedEmailConfiguration = { + readonly id: number; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionEmailRegistrationCompleted` + */ +export type ModuleCompletionEmailRegistrationCompletedActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleCompletionEmailRegistrationCompletedConfiguration; +}; + +/** + * Serializer for `ModuleCompletionEmailRegistrationCompletedConfiguration` nested in `ModuleCompletionEmailRegistrationCompletedActiveModuleSerializer` + */ +export type ModuleCompletionEmailRegistrationCompletedConfiguration = { + readonly id: number; + ticket_content?: string; + event_details_dates?: string; + event_details_location_text?: string; + event_details_location_image?: string | null; + /** + * custom text to be displayed on the confirmation email. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + text?: string; + /** + * The image used for the module + */ + image?: number | null; + /** + * Is module's text used + */ + is_text_used?: boolean; + /** + * Is module's image used + */ + is_image_used?: boolean; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionEmailRegistrationCreation` + */ +export type ModuleCompletionEmailRegistrationCreationActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleCompletionEmailRegistrationCreationConfiguration; +}; + +/** + * Serializer for `ModuleCompletionEmailRegistrationCreationConfiguration` nested in `ModuleCompletionEmailRegistrationCreationActiveModuleSerializer` + */ +export type ModuleCompletionEmailRegistrationCreationConfiguration = { + readonly id: number; + /** + * delay time in minutes + */ + delay?: number; + /** + * Should be disabled if paid? + */ + is_disabled_if_paid?: boolean; + /** + * custom text to be displayed on the reminder email. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + text?: string; + /** + * The image used for the module + */ + image?: number | null; + /** + * Is module's text used + */ + is_text_used?: boolean; + /** + * Is module's image used + */ + is_image_used?: boolean; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionPDFTicket` + */ +export type ModuleCompletionPdfTicketActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleCompletionPdfTicketConfiguration; +}; + +/** + * Serializer for `ModuleCompletionPDFTicketConfiguration` nested in `ModuleCompletionPDFTicketActiveModuleSerializer` + */ +export type ModuleCompletionPdfTicketConfiguration = { + readonly id: number; + /** + * The complementary informations's text on the PDF ticket. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + text?: string; + /** + * The image used for the module + */ + image?: number | null; + /** + * Is module's text used + */ + is_text_used?: boolean; + /** + * Is module's image used + */ + is_image_used?: boolean; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionRedirect` + */ +export type ModuleCompletionRedirectActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleCompletionRedirectConfiguration; +}; + +/** + * Serializer for `ModuleCompletionRedirectConfiguration` nested in `ModuleCompletionRedirectActiveModuleSerializer` + */ +export type ModuleCompletionRedirectConfiguration = { + readonly id: number; + /** + * Redirect URL once the payment is done. + */ + redirect_url: string; +}; + +/** + * Serializer for `ActiveModule` linked to `ModulePaymentPayrexx` + */ +export type ModulePaymentPayrexxActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModulePaymentPayrexxConfiguration; +}; + +/** + * Serializer for `ModulePaymentPayrexxConfiguration` nested in `ModulePaymentPayrexxActiveModuleSerializer` + */ +export type ModulePaymentPayrexxConfiguration = { + readonly id: number; + /** + * Is feature disabled? + */ + is_feature_disabled?: boolean; + payment_list_title?: string; + payment_list_description?: string; + timeout?: number | null; + readonly price_rules: Array; + readonly limits: Array; + readonly global_limits: Array; +}; + +export type ModulePaymentPayrexxConfigurationGlobalLimit = { + readonly id: number; + readonly order: number; + readonly key: string; + readonly conditions_json: string | null; +}; + +export type ModulePaymentPayrexxConfigurationLimit = { + readonly id: number; + readonly order: number; + readonly global_order: number; + readonly label: string; + readonly maximum: number; + readonly conditions_json: string | null; +}; + +export type ModulePaymentPayrexxConfigurationPriceRule = { + readonly id: number; + readonly global_order: number; + readonly order: number; + mode: ModeEnum; + readonly value: string; + readonly label: string; + /** + * does this rule apply on children of the node + */ + readonly should_propagate: boolean; + readonly conditions_json: string | null; +}; + +/** + * Serializer for `ActiveModule` linked to `ModulePaymentPointOfSale` + */ +export type ModulePaymentPointOfSaleActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModulePaymentPointOfSaleConfiguration; +}; + +/** + * Serializer for `ModulePaymentPointOfSaleConfiguration` nested in `ModulePaymentPointOfSaleActiveModuleSerializer` + */ +export type ModulePaymentPointOfSaleConfiguration = { + readonly id: number; + /** + * Is feature disabled? + */ + is_feature_disabled?: boolean; + payment_list_title?: string; + payment_list_description?: string; + places_list_title?: string; + places_list_text?: string; + /** + * Timout + * In minutes + */ + timeout?: number | null; + readonly places: Array; + readonly price_rules: Array; + readonly limits: Array; + readonly global_limits: Array; +}; + +export type ModulePaymentPointOfSaleConfigurationGlobalLimit = { + readonly id: number; + readonly order: number; + readonly key: string; + readonly conditions_json: string; +}; + +export type ModulePaymentPointOfSaleConfigurationLimit = { + readonly id: number; + readonly order: number; + readonly global_order: number; + readonly label: string; + readonly maximum: number; + readonly conditions_json: string; +}; + +export type ModulePaymentPointOfSaleConfigurationPriceRule = { + readonly id: number; + readonly global_order: number; + readonly order: number; + mode: ModeEnum; + readonly value: string; + readonly label: string; + /** + * does this rule apply on children of the node + */ + readonly should_propagate: boolean; + readonly conditions_json: string; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleRegistrationOptions` + */ +export type ModuleRegistrationAccessManagementActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleRegistrationsAccessManagementConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleRegistrationOptions` + */ +export type ModuleRegistrationOptionsActiveModule = { + readonly id: number; + readonly event: number; + is_deleted?: boolean; + config: ModuleRegistrationOptionsConfiguration; +}; + +/** + * Serializer for `ModuleRegistrationOptionsConfiguration` nested in `ModuleRegistrationOptionsActiveModuleSerializer` + */ +export type ModuleRegistrationOptionsConfiguration = { + readonly id: number; + title?: string; + description?: string; + title_summary?: string; + display_summary?: boolean; + readonly root_node: number | null; +}; + +/** + * Serializer for `ModuleRegistrationOptionsConfiguration` nested in `ModuleRegistrationOptionsActiveModuleSerializer` + */ +export type ModuleRegistrationsAccessManagementConfiguration = { + readonly id: number; +}; + +/** + * Serializer for Node model + */ +export type Node = { + readonly id: number; + /** + * Local order between nodes that share the same parent + */ + order: number; + parent_id: number; + internal_key?: string; + configuration_id: number; + cart_configuration_id?: number; + readonly children_ids: Array; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for `NodeAccess` model + */ +export type NodeAccess = { + readonly event_id: number; + readonly id: number; + label: string; + readonly node_configuration_ids: Array; + condition_id?: number; + /** + * if True and user matches the conditions they should have access to the node, if False and user matches the conditions they should not have access to the node + */ + is_accessible?: boolean; +}; + +/** + * Serializer (read/write) for `NodeAccessM2M` relation model + */ +export type NodeAccessM2M = { + readonly event_id: number; + readonly id: number; + access_id: number; + node_configuration_id: number; +}; + +/** + * Serializer (read/write) for NodeAvailability model + */ +export type NodeAvailability = { + readonly id: number; + name: string; + readonly node_configuration_ids: Array; + condition_id?: number; + starts_at?: string | null; + ends_at?: string | null; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for `NodeAvailabilityM2M` relation model + */ +export type NodeAvailabilityM2M = { + readonly id: number; + availability_id: number; + node_configuration_id: number; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for NodeCartConfiguration model + */ +export type NodeCartConfiguration = { + readonly id: number; + weight?: number; + /** + * Range minimum + */ + range_min?: number; + /** + * Range maximum + */ + range_max?: number; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for NodeConfiguration model + */ +export type NodeConfiguration = { + readonly id: number; + /** + * description for the node. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + title?: string; + category?: CategoryEnum; + image?: number | null; + image_style?: unknown; + item_style?: unknown; + display_price_difference?: boolean; + display_limits_difference?: boolean; + is_title_displayable?: boolean; + is_image_displayable?: boolean; + is_description_displayable?: boolean; + is_tags_displayable?: boolean; + /** + * Optional start datetime for this node. For display only. + */ + starts_at?: string | null; + /** + * Optional end datetime for this node. For display only. + */ + ends_at?: string | null; + is_subject_to_lausanne_tax?: boolean; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfo` model + */ +export type NodeExtraInfo = { + readonly id: number; + group_id: number; + order: number; + type: ModelFormLineType; + name: string; + text: string; + help_text?: string; + is_required?: boolean; + choices_json?: string | null; + major_json?: string | null; + range_json?: string | null; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroup` model + */ +export type NodeExtraInfoGroup = { + readonly id: number; + name: string; + order: number; + is_inline?: boolean; + readonly node_configuration_ids: Array; + readonly extra_info_ids: Array; + is_required?: boolean; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroupM2M` relation model + */ +export type NodeExtraInfoGroupM2M = { + readonly id: number; + group_id: number; + node_configuration_id: number; + readonly event_id: number; +}; + +/** + * Serializer (read/write) for `NodeLimit` model + */ +export type NodeLimit = { + readonly event_id: number; + readonly id: number; + is_deleted?: boolean; + key: string; + label: string; + maximum: number; + order: number; + global_order: number; + readonly node_configuration_ids: Array; + condition_id?: number; +}; + +/** + * Serializer (read/write) for `NodeLimitM2M` relation model + */ +export type NodeLimitM2M = { + readonly event_id: number; + readonly id: number; + limit_id: number; + node_configuration_id: number; +}; + +/** + * Serializer for node used on node stock endpoints. + */ +export type NodeLimitUsage = { + /** + * Label of related limit. + */ + readonly label: string; + /** + * Number of times this limit has been taken. + */ + readonly count_reserved: number; + /** + * Maximum of times this limit can be taken. + */ + readonly maximum: number; + /** + * Number of times left. + */ + readonly remaining: number; +}; + +/** + * Serializer (read/write) for `NodePriceRule` model + */ +export type NodePriceRule = { + readonly event_id: number; + readonly id: number; + global_order: number; + order: number; + mode: ModeEnum; + value: string; + label: string; + readonly node_configuration_ids: Array; + condition_id?: number; + /** + * does this rule apply on children of the node + */ + should_propagate?: boolean; +}; + +/** + * Serializer (read/write) for `NodePriceRuleM2M` relation model + */ +export type NodePriceRuleM2M = { + readonly event_id: number; + readonly id: number; + price_rule_id: number; + node_configuration_id: number; +}; + +/** + * Serializer for mapping the stock of each Node. + */ +export type NodeStock = { + /** + * Id of node + */ + readonly id: number; + /** + * Title of the equivalent `SelectedRootNode` + */ + readonly title: string; + /** + * List of title on the path from root to the node. + */ + root_path: Array; + /** + * Total number of items that have been purchased, are being purchased, have been refunded or are only added to a basket. + */ + readonly count_total: number; + /** + * Number of items that are in a basket (but not purchased, nor are being purchased, nor refunded) + */ + readonly count_new: number; + /** + * Number of items that are currently being purchased. + */ + readonly count_payment_in_progress: number; + /** + * Number of items that have been purchased. + */ + readonly count_validated: number; + /** + * Number of items that are reserved (validated + being paid). + */ + readonly count_reserved: number; + /** + * Number of items that have been refunded. + */ + readonly count_refunded: number; + /** + * Any stock limits that this item has + */ + readonly limits: Array; +}; + +/** + * Serializer (read/write) for `NodeTag` model + */ +export type NodeTag = { + readonly event_id: number; + readonly id: number; + name: string; + node_configuration_id: number; +}; + +/** + * * `>` - Greater + * * `>=` - Greater Or Equal + * * `=` - Equal + * * `!=` - Not Equal + * * `<` - Less + * * `<=` - Less Or Equal + * * `exists` - Exists + * * `contains` - Contains + * * `is in` - Is In + */ +export type OperatorEnum = '>' | '>=' | '=' | '!=' | '<' | '<=' | 'exists' | 'contains' | 'is in'; + +export type PaginatedAccessManagementPlaceList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedApiTokenList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedBillingInformationList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedConditionList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedConfirmationPageExtraTextActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedDocumentList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedEventList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedFrontendBasketList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedFrontendLoginList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedInvoiceList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedLoginMethodList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleAuthAnonymousLoginActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleAuthThirdPartyTokenLoginActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleAuthTrustedEmailActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleCompletionEmailRegistrationCompletedActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleCompletionEmailRegistrationCreationActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleCompletionPdfTicketActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleCompletionRedirectActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModulePaymentPayrexxActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModulePaymentPointOfSaleActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleRegistrationAccessManagementActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedModuleRegistrationOptionsActiveModuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAccessList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAccessM2mList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAvailabilityList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAvailabilityM2mList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeCartConfigurationList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeConfigurationList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeExtraInfoGroupList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeExtraInfoGroupM2mList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeExtraInfoList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeLimitList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeLimitM2mList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodePriceRuleList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodePriceRuleM2mList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeTagList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedPaymentIntentList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedPaymentMethodList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedPointOfSalePlaceReadOnlyList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedPolyTicketUserList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedPromotionCodeList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedSelectedNodeExtraInfoGroupList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedSelectedNodeExtraInfoList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedSelectedNodeList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedSelectedPromotionCodeList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedStatementList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedUnitList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedUnitMembershipList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedUploadedImageList = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PasswordChangeSuccess = { + /** + * Your password has been changed. Please login again. + */ + message: string; +}; + +export type PasswordResetSuccess = { + /** + * Your password has been reset. Please login again. + */ + message: string; +}; + +/** + * Serializer for AccessManagementPlace model + */ +export type PatchedAccessManagementPlace = { + readonly id?: number; + name?: string; + configuration?: number; + expires_at?: string | null; + /** + * URL of the access management scanner for this place, in testing mode. + */ + readonly monomode_testing_url?: string; + /** + * URL of the access management scanner for this place. + */ + readonly monomode_url?: string; +}; + +/** + * Serializer (read/write) for `Condition` model + */ +export type PatchedCondition = { + readonly event_id?: number; + readonly id?: number; + name?: string; + /** + * the logical operator used between multiple statements + * + * * `or` - OR + * * `and` - AND + */ + logical_operator?: LogicalOperatorEnum; + /** + * Is implicit? + * can store a combination of conditions as a single condition + */ + is_implicit?: boolean; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionConfirmationPageExtraText` + */ +export type PatchedConfirmationPageExtraTextActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ConfirmationPageExtraTextConfiguration; +}; + +/** + * Serializer for Node model + */ +export type PatchedEvent = { + readonly id?: number; + unit_id?: number; + name?: string; + status?: EventStatusEnum; + moderation_status?: ModerationStatusEnum; + readonly are_registrations_allowed?: boolean; + readonly are_payments_allowed?: boolean; + registrations_start_date?: string | null; + payments_start_date?: string | null; + payments_end_date?: string | null; + closed_start_date?: string | null; + registrations_end_date?: string | null; + start_date?: string | null; + end_date?: string | null; + custom_key?: string; + /** + * Welcome text displayed on the Ticket Office event page. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + welcome_text?: string; + /** + * External url provided by the organizer. I.e. their website or social media page + */ + frontend_url?: string; + /** + * Main name of the event shown to end users. I.e. shown on the Ticket Office webpage + */ + frontend_title?: string; + /** + * Name of the organizer, displayed on the Ticket Office event page + */ + frontend_organizers?: string; + /** + * Root of public path of the event url + */ + frontend_path?: string; + multiple_registration_per_login?: boolean; + user_nickname_enabled?: boolean; + user_registration_link_unique?: boolean; + description_header_image?: number | null; + terms_of_service?: string; + location_text?: string; + location?: string | null; + /** + * Location address (via reverse lookup) + */ + readonly location_address?: string; + is_public_visible?: boolean; + is_unit_visible?: boolean; + readonly ticket_office_url?: string; + readonly ticket_office_testing_url?: string; + /** + * This field informs the front end on what actions should be allowed or prevented, in the front end only. + */ + is_basket_item_modification_allowed?: boolean; + /** + * if the event physically takes place in the city of Lausanne, set this boolean so that taxes are calculated properly + */ + is_in_lausanne?: boolean; + readonly is_status_public?: boolean; +}; + +export type PatchedFrontendBasket = { + readonly id?: number; + readonly event?: number; + readonly testing?: boolean; + /** + * The id of the frontendlogin that created the basket. + */ + readonly created_by_id?: number; + /** + * The id of the billing information linked to the basket. + */ + billing_information_id?: number; + readonly total?: string; + readonly total_display?: string; + readonly invoices?: Array; + /** + * Return a unique and checksummed-ish key + */ + readonly unikey?: string; + readonly status?: string; + /** + * The number of root Selected Nodes linked to this basket. + */ + readonly registrations_count?: number; + /** + * Invoices total amount. + */ + readonly invoices_total?: number; + /** + * Whether the invoices total amount exceeds the basket total. + */ + readonly invoices_total_exceeds_basket_total?: boolean; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleAuthAnonymousLogin` + */ +export type PatchedModuleAuthAnonymousLoginActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleAuthAnonymousLoginConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleAuthThirdPartyTokenLogin` + */ +export type PatchedModuleAuthThirdPartyTokenLoginActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleAuthThirdPartyTokenLoginConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleAuthTrustedEmail` + */ +export type PatchedModuleAuthTrustedEmailActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleAuthTrustedEmailConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionEmailRegistrationCompleted` + */ +export type PatchedModuleCompletionEmailRegistrationCompletedActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleCompletionEmailRegistrationCompletedConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionEmailRegistrationCreation` + */ +export type PatchedModuleCompletionEmailRegistrationCreationActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleCompletionEmailRegistrationCreationConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionPDFTicket` + */ +export type PatchedModuleCompletionPdfTicketActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleCompletionPdfTicketConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleCompletionRedirect` + */ +export type PatchedModuleCompletionRedirectActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleCompletionRedirectConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModulePaymentPayrexx` + */ +export type PatchedModulePaymentPayrexxActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModulePaymentPayrexxConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModulePaymentPointOfSale` + */ +export type PatchedModulePaymentPointOfSaleActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModulePaymentPointOfSaleConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleRegistrationOptions` + */ +export type PatchedModuleRegistrationAccessManagementActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleRegistrationsAccessManagementConfiguration; +}; + +/** + * Serializer for `ActiveModule` linked to `ModuleRegistrationOptions` + */ +export type PatchedModuleRegistrationOptionsActiveModule = { + readonly id?: number; + readonly event?: number; + is_deleted?: boolean; + config?: ModuleRegistrationOptionsConfiguration; +}; + +/** + * Serializer for Node model + */ +export type PatchedNode = { + readonly id?: number; + /** + * Local order between nodes that share the same parent + */ + order?: number; + parent_id?: number; + internal_key?: string; + configuration_id?: number; + cart_configuration_id?: number; + readonly children_ids?: Array; + readonly event_id?: number; +}; + +/** + * Serializer (read/write) for `NodeAccess` model + */ +export type PatchedNodeAccess = { + readonly event_id?: number; + readonly id?: number; + label?: string; + readonly node_configuration_ids?: Array; + condition_id?: number; + /** + * if True and user matches the conditions they should have access to the node, if False and user matches the conditions they should not have access to the node + */ + is_accessible?: boolean; +}; + +/** + * Serializer (read/write) for NodeAvailability model + */ +export type PatchedNodeAvailability = { + readonly id?: number; + name?: string; + readonly node_configuration_ids?: Array; + condition_id?: number; + starts_at?: string | null; + ends_at?: string | null; + readonly event_id?: number; +}; + +/** + * Serializer (read/write) for NodeCartConfiguration model + */ +export type PatchedNodeCartConfiguration = { + readonly id?: number; + weight?: number; + /** + * Range minimum + */ + range_min?: number; + /** + * Range maximum + */ + range_max?: number; + readonly event_id?: number; +}; + +/** + * Serializer (read/write) for NodeConfiguration model + */ +export type PatchedNodeConfiguration = { + readonly id?: number; + /** + * description for the node. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + title?: string; + category?: CategoryEnum; + image?: number | null; + image_style?: unknown; + item_style?: unknown; + display_price_difference?: boolean; + display_limits_difference?: boolean; + is_title_displayable?: boolean; + is_image_displayable?: boolean; + is_description_displayable?: boolean; + is_tags_displayable?: boolean; + /** + * Optional start datetime for this node. For display only. + */ + starts_at?: string | null; + /** + * Optional end datetime for this node. For display only. + */ + ends_at?: string | null; + is_subject_to_lausanne_tax?: boolean; + readonly event_id?: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfo` model + */ +export type PatchedNodeExtraInfo = { + readonly id?: number; + group_id?: number; + order?: number; + type?: ModelFormLineType; + name?: string; + text?: string; + help_text?: string; + is_required?: boolean; + choices_json?: string | null; + major_json?: string | null; + range_json?: string | null; + readonly event_id?: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroup` model + */ +export type PatchedNodeExtraInfoGroup = { + readonly id?: number; + name?: string; + order?: number; + is_inline?: boolean; + readonly node_configuration_ids?: Array; + readonly extra_info_ids?: Array; + is_required?: boolean; + readonly event_id?: number; +}; + +/** + * Serializer (read/write) for `NodeLimit` model + */ +export type PatchedNodeLimit = { + readonly event_id?: number; + readonly id?: number; + is_deleted?: boolean; + key?: string; + label?: string; + maximum?: number; + order?: number; + global_order?: number; + readonly node_configuration_ids?: Array; + condition_id?: number; +}; + +/** + * Serializer (read/write) for `NodePriceRule` model + */ +export type PatchedNodePriceRule = { + readonly event_id?: number; + readonly id?: number; + global_order?: number; + order?: number; + mode?: ModeEnum; + value?: string; + label?: string; + readonly node_configuration_ids?: Array; + condition_id?: number; + /** + * does this rule apply on children of the node + */ + should_propagate?: boolean; +}; + +/** + * Serializer (read/write) for `NodeTag` model + */ +export type PatchedNodeTag = { + readonly event_id?: number; + readonly id?: number; + name?: string; + node_configuration_id?: number; +}; + +/** + * A serializer returning info for a point of sale place. You can access only read methods as a frontend login and will only see some fields. + */ +export type PatchedPointOfSalePlaceReadOnly = { + readonly id?: number; + readonly order?: number; + readonly title?: string; + readonly description?: string; +}; + +export type PatchedPolyTicketUser = { + readonly id?: number; + /** + * Username (email) + */ + username?: string; + first_name?: string; + last_name?: string; + email?: string; + personal_unit?: number | null; + is_active?: boolean; + is_deleted?: boolean; +}; + +/** + * Serializer for PromotionCode model + */ +export type PatchedPromotionCode = { + readonly event_id?: number; + readonly id?: number; + /** + * name of the promotion that will be shown + */ + name?: string; + /** + * value of the code that users will have to enter to get the promotion + */ + value?: string; +}; + +/** + * Serializer for `SelectedNodeExtraInfo` model + */ +export type PatchedSelectedNodeExtraInfo = { + readonly id?: number; + readonly group_id?: number; + readonly order?: number; + type?: ModelFormLineType; + readonly name?: string; + readonly text?: string; + readonly help_text?: string; + readonly is_required?: boolean; + readonly choices_json?: string | null; + readonly major_json?: string | null; + readonly range_json?: string | null; + /** + * value entered in the form + */ + value?: string; +}; + +/** + * Serializer for the Statement model + */ +export type PatchedStatement = { + readonly event_id?: number; + readonly id?: number; + /** + * order between statements of the same condition + */ + order?: number; + /** + * a statement is linked to a condition, to 're-use' statement, use a condition instead of a statement + */ + condition?: number; + left_hand_operand?: LeftHandOperandEnum | BlankEnum; + /** + * user defined value + */ + left_hand_value?: string; + /** + * with some left hand operands, the operator is unnecessary + * + * * `>` - Greater + * * `>=` - Greater Or Equal + * * `=` - Equal + * * `!=` - Not Equal + * * `<` - Less + * * `<=` - Less Or Equal + * * `exists` - Exists + * * `contains` - Contains + * * `is in` - Is In + */ + operator?: OperatorEnum | BlankEnum; + /** + * right hand operand: User defined value (this can be an empty string with Operator.EXISTS) + */ + right_hand_value?: string; + /** + * use a condition as a statement (nested condition) + */ + condition_as_statement?: number | null; +}; + +/** + * Serializer for Unit model + */ +export type PatchedUnit = { + readonly id?: number; + name?: string; + /** + * Description of the Unit. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + iban?: string; + address?: string; + payout_account_holder?: string; + /** + * This field will be used as a main contact point for the unit, e.g. for sending them statements, or to show to ticket buyers on how they can contact the organizer. + */ + email?: string; +}; + +/** + * Serializer for UnitMembership model + */ +export type PatchedUnitMembership = { + readonly id?: number; + user?: number; + unit?: number; + role?: UnitMembershipRoleEnum; + readonly user_email?: string; +}; + +export type PatchedUploadedImage = { + readonly id?: number; + file?: string; + /** + * the datetime the image was uploaded at + */ + readonly uploaded_at?: string; + /** + * the event associated to the image + */ + event?: number | null; + /** + * the frontendlogin who uploaded the image + */ + frontend_login?: number | null; + /** + * the user who uploaded the image + */ + user?: number | null; + privacy_level?: PrivacyLevelEnum; +}; + +/** + * A serializer for Payment Intent. This serializer may contain invoice or invoice_id depending on what the expand parameter is. + */ +export type PaymentIntent = { + readonly id: number; + readonly created_at: string; + created_by?: number | null; + module_key: string; + psp_id?: string; + /** + * Id of the related invoice + */ + invoice_id: number; + is_error?: boolean; + is_cancelled?: boolean; + /** + * Payment provider's error message if payment is refused + */ + readonly error_message: string; +}; + +/** + * A serializer for Payment Intent Request Update containing the status of the PSP + */ +export type PaymentIntentRequestUpdate = { + /** + * Status of the payment service provider + * + * * `cancel` - Cancel + * * `error` - Error + * * `success` - Success + */ + status: PaymentIntentRequestUpdateStatusEnum; +}; + +/** + * * `cancel` - Cancel + * * `error` - Error + * * `success` - Success + */ +export type PaymentIntentRequestUpdateStatusEnum = 'cancel' | 'error' | 'success'; + +/** + * A serializer returning info for a payment method + */ +export type PaymentMethod = { + /** + * The id of the payment method's active module + */ + readonly active_module_id: number; + readonly key: string; + /** + * Title of the payment method + */ + readonly title: string; + /** + * Description of the payment method + */ + readonly description: string; + /** + * The total amount of the basket when using this payment method (e.g. surcharges) + */ + readonly basket_total_amount: number; + /** + * The difference between the total of the basket with the amount added from the payment module and the total of the basket without + */ + readonly payment_module_price_extra: number; +}; + +/** + * A serializer with a basket as an input to start the payment and with a payment link for the response + */ +export type PaymentStart = { + /** + * If the chosen payment method requires an external redirect, this attribute will contain the fully qualified URL to redirect the user to + */ + readonly link: string; + /** + * If true, the user must be redirected to the link. Otherwise, the payment process requires more actions in the front end. + */ + readonly is_external_redirect: boolean; + payment_intent: PaymentIntent; +}; + +/** + * Payment info related to the transaction + */ +export type PayrexxPayment = { + /** + * Brand used to make the payment. + */ + brand: string; +}; + +/** + * Transaction containing info for the webhook. + * + * referenceId can't be snake_case because the data is provided from Payrexx. + */ +export type PayrexxTransaction = { + /** + * The ID of the transaction. + */ + id: number; + /** + * The UUID of the transaction. + */ + uuid: string; + /** + * The status of the transaction. + */ + status: string; + /** + * The reference containing PolyTicket env and Payment intent id. + */ + referenceId: string; + /** + * The amount of the transaction in cents. + */ + amount: number; + /** + * The payment info related to the transaction. + */ + payment?: PayrexxPayment; +}; + +/** + * A serializer read/write used only by authenticated users. It deals with the point of sale places resource. + * This serializer is also used to display places as part of the module configuration view. + */ +export type PointOfSalePlace = { + readonly id: number; + configuration: number; + order: number; + title: string; + /** + * Description of a point of sale. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description: string; + can_edit_registrations?: boolean; + can_edit_users?: boolean; + can_ignore_limits?: boolean; + readonly monomode_url: string; + readonly monomode_testing_url: string; +}; + +/** + * A serializer returning info for a point of sale place. You can access only read methods as a frontend login and will only see some fields. + */ +export type PointOfSalePlaceReadOnly = { + readonly id: number; + readonly order: number; + readonly title: string; + readonly description: string; +}; + +export type PolyTicketUser = { + readonly id: number; + /** + * Username (email) + */ + username: string; + first_name?: string; + last_name?: string; + email: string; + personal_unit?: number | null; + is_active?: boolean; + is_deleted?: boolean; +}; + +/** + * * `public` - Public + * * `event` - Event + * * `personal` - Personal + */ +export type PrivacyLevelEnum = 'public' | 'event' | 'personal'; + +/** + * Serializer for PromotionCode model + */ +export type PromotionCode = { + readonly event_id: number; + readonly id: number; + /** + * name of the promotion that will be shown + */ + name: string; + /** + * value of the code that users will have to enter to get the promotion + */ + value: string; +}; + +/** + * Write only serializer used to provide `refund_amount` and `payment_intent` to the action `refund` on `InvoiceViewSet`. + * A model serializer is used to give access to the targeted invoice, even though the fields are not part of the invoice model. + */ +export type Refund = { + /** + * Amount to be refunded on the invoice. + */ + refund_amount: string; + /** + * payment intent + * The original payment intent linked to the invoice to be refunded. + */ + payment_intent_id: number; +}; + +/** + * Serializer for SelectedNode model + */ +export type SelectedNode = { + readonly id: number; + /** + * Local order between nodes that share the same parent + */ + order: number; + basket: number; + parent_id: number; + configuration_id: number; + is_article?: boolean; + readonly price: number; + readonly price_display: string; + status?: SelectedNodeStatusEnum; +}; + +/** + * A serializer used specifically in the add-to-basket process. This serializer allows specifying all properties needed to add one item to the basket, including any extra info (groups). + * This serializer only needs the pks of Nodes, not of NodeConfigurations, as we can determine them directly in this direction. + */ +export type SelectedNodeCreation = { + node_extra_info_groups?: Array; + node: number; + children?: Array; +}; + +/** + * A serializer used specifically in the remove-from-basket process. This serializer takes only the id of the selected node to delete. The selected node must currently be in the basket's registrations. + */ +export type SelectedNodeDeletion = { + selected_node_id: number; +}; + +/** + * Serializer for `SelectedNodeExtraInfo` model + */ +export type SelectedNodeExtraInfo = { + readonly id: number; + readonly group_id: number; + readonly order: number; + type: ModelFormLineType; + readonly name: string; + readonly text: string; + readonly help_text: string; + readonly is_required: boolean; + readonly choices_json: string | null; + readonly major_json: string | null; + readonly range_json: string | null; + /** + * value entered in the form + */ + value?: string; +}; + +/** + * Serializer for `SelectedNodeExtraInfoGroup` model + */ +export type SelectedNodeExtraInfoGroup = { + readonly id: number; + readonly name: string; + readonly order: number; + readonly is_inline: boolean; + readonly is_required: boolean; + readonly selected_configuration_id: number; + extra_info_ids: Array; +}; + +/** + * * `new` - New + * * `payment_in_progress` - Payment in progress + * * `validated` - Validated + * * `edition_in_progress` - Edition in progress + * * `refunded` - Refunded + */ +export type SelectedNodeStatusEnum = 'new' | 'payment_in_progress' | 'validated' | 'edition_in_progress' | 'refunded'; + +/** + * Serializer for SelectedPromotionCode model + */ +export type SelectedPromotionCode = { + readonly id: number; + basket: number; + readonly promotion_code_id: number | null; + /** + * name of the promotion that will be shown + */ + readonly name: string; + /** + * value of the code that users will have to enter to get the promotion + */ + readonly value: string; +}; + +/** + * Serializer for the Statement model + */ +export type Statement = { + readonly event_id: number; + readonly id: number; + /** + * order between statements of the same condition + */ + order: number; + /** + * a statement is linked to a condition, to 're-use' statement, use a condition instead of a statement + */ + condition: number; + left_hand_operand?: LeftHandOperandEnum | BlankEnum; + /** + * user defined value + */ + left_hand_value?: string; + /** + * with some left hand operands, the operator is unnecessary + * + * * `>` - Greater + * * `>=` - Greater Or Equal + * * `=` - Equal + * * `!=` - Not Equal + * * `<` - Less + * * `<=` - Less Or Equal + * * `exists` - Exists + * * `contains` - Contains + * * `is in` - Is In + */ + operator?: OperatorEnum | BlankEnum; + /** + * right hand operand: User defined value (this can be an empty string with Operator.EXISTS) + */ + right_hand_value?: string; + /** + * use a condition as a statement (nested condition) + */ + condition_as_statement?: number | null; +}; + +export type TicketOfficeArticleCalculatedPrice = { + /** + * Retrieve the total article price from context. + */ + readonly price: string | null; + /** + * Retrieve the total article label from context. + */ + readonly label: string | null; +}; + +/** + * Serializer for TicketOffice infos, equivalent to NodeSerializer for the BackOffice + */ +export type TicketOfficeInfos = { + readonly id: number; + /** + * Local order between nodes that share the same parent + */ + order: number; + parent_id: number; + internal_key?: string; + configuration: TicketOfficeNodeConfiguration; + cart_configuration: NodeCartConfiguration; + article_calculated_price: TicketOfficeArticleCalculatedPrice; + /** + * Retrieve the option article price from context. Return None if node is not in calculated_prices. + */ + readonly option_calculated_price: string | null; + children: Array; +}; + +/** + * This is an extension of NodeConfigurationSerializer specific to the ticket office infos endpoint. + * It adds a field for extra info groups and a filter applied to this field. + */ +export type TicketOfficeNodeConfiguration = { + readonly id: number; + /** + * description for the node. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + title?: string; + category?: CategoryEnum; + image?: number | null; + image_style?: unknown; + item_style?: unknown; + display_price_difference?: boolean; + display_limits_difference?: boolean; + is_title_displayable?: boolean; + is_image_displayable?: boolean; + is_description_displayable?: boolean; + is_tags_displayable?: boolean; + /** + * Optional start datetime for this node. For display only. + */ + starts_at?: string | null; + /** + * Optional end datetime for this node. For display only. + */ + ends_at?: string | null; + is_subject_to_lausanne_tax?: boolean; + readonly event_id: number; + readonly extra_info_groups: Array; + limit: TicketOfficeNodeLimit | null; + readonly tags: Array; +}; + +/** + * Serializer (read/write) for `NodeExtraInfo` model + * This is a copy of NodeExtraInfoSerializer to be used in the context of the ticket office infos endpoint. It will be used only in a read mode + */ +export type TicketOfficeNodeExtraInfo = { + readonly id: number; + group_id: number; + readonly order: number; + type: ModelFormLineType; + readonly name: string; + text: string; + help_text?: string; + is_required?: boolean; + choices_json?: string | null; + major_json?: string | null; + range_json?: string | null; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroup` model + * This is a partial copy of NodeExtraInfoGroupSerializer (no reference to linked node configuration) to be used in the context of the ticket office infos endpoint. It will be used only in a read mode. + * The field `configuration_id` is added manually in the configuration (hierarchical parent) serializer. This is done to avoid messing with nested serializer data since we are basically switching from an M2M in the backend to a foreign key in the data sent to the frontend. + */ +export type TicketOfficeNodeExtraInfoGroup = { + readonly id: number; + readonly name: string; + readonly order: number; + is_required?: boolean; + readonly extra_infos: Array; +}; + +export type TicketOfficeNodeLimit = { + readonly id: number; + key: string; + label: string; + maximum: number; + readonly available: number; + /** + * Usually a m2m field, this is specific to ticketoffice. + */ + readonly configuration_id: number; +}; + +/** + * Serializer (read only) for `NodeTag` model + * This is a read only version of the `NodeTagSerializer`, destined to be used in `TicketOfficeInfosSerializer` through `TicketOfficeNodeConfigurationSerializer` + */ +export type TicketOfficeNodeTag = { + readonly id: number; + readonly name: string; + readonly configuration_id: number; +}; + +/** + * Serializer for Unit model + */ +export type Unit = { + readonly id: number; + name: string; + /** + * Description of the Unit. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description: string; + iban?: string; + address?: string; + payout_account_holder?: string; + /** + * This field will be used as a main contact point for the unit, e.g. for sending them statements, or to show to ticket buyers on how they can contact the organizer. + */ + email?: string; +}; + +/** + * Serializer for the action create_by_email of UnitMemberShipViewSet + */ +export type UnitMemberShipCreationByEmail = { + unit: number; + /** + * Email address of the user you want to add to the unit. + */ + user_email: string; + /** + * Desired role of the user in this unit. Defaults to member. + * + * * `owner` - owner + * * `member` - member + */ + role?: UnitMemberShipCreationByEmailRoleEnum; +}; + +/** + * * `owner` - owner + * * `member` - member + */ +export type UnitMemberShipCreationByEmailRoleEnum = 'owner' | 'member'; + +/** + * Serializer for UnitMembership model + */ +export type UnitMembership = { + readonly id: number; + user: number; + unit: number; + role?: UnitMembershipRoleEnum; + readonly user_email: string; +}; + +/** + * * `owner` - Owner + * * `member` - Member + */ +export type UnitMembershipRoleEnum = 'owner' | 'member'; + +export type UploadedImage = { + readonly id: number; + readonly file: string; + /** + * the datetime the image was uploaded at + */ + readonly uploaded_at: string; + /** + * the event associated to the image + */ + event?: number | null; + /** + * the frontendlogin who uploaded the image + */ + frontend_login?: number | null; + /** + * the user who uploaded the image + */ + user?: number | null; + privacy_level?: PrivacyLevelEnum; +}; + +/** + * Serializer used for user password change requests. It verifies the user has the correct current password for the account and validates the new one. + */ +export type UserPasswordChange = { + /** + * The current password associated with your account + */ + current_password: string; + /** + * The new password to be used for your account + */ + new_password: string; +}; + +/** + * Serializer used for user password reset. It should be used after having made the request for a password reset. + */ +export type UserPasswordReset = { + /** + * The user's id encoded + */ + user_id_b64: string; + /** + * The new password + */ + password: string; + /** + * The password reset token encoded given by the reset request + */ + password_reset_token_b64: string; +}; + +/** + * Serializer used for users password reset requests. If verifies the email is associated with a valid account. + */ +export type UserPasswordResetRequest = { + /** + * The email associated with the account to reset the password for. + */ + email: string; +}; + +/** + * Serializer for PolyTicketUser registration + */ +export type UserRegistration = { + readonly id: number; + email: string; + first_name?: string; + last_name?: string; +}; + +/** + * Serializer for PolyTicketUser verification + */ +export type UserVerification = { + user_id_b64: string; + account_activation_token_b64: string; +}; + +/** + * Serializer used in the authentication of third party logins with `third_party_token`. + */ +export type ValidateThirdPartyTokenLogin = { + /** + * The id of the active module linked to the third party token login module. + */ + active_module_id: number; + /** + * The token provided by third party for PolyTicket authentication. + */ + third_party_token: string; +}; + +/** + * Serializer used to retrieve credentials from the TrustedEmailLogin activation url. + */ +export type ValidateTrustedEmailLogin = { + active_module_id: number; + testing?: boolean; + login_pk_b64: string; + email_validation_token_b64: string; +}; + +export type VerificationError = { + /** + * List of errors encountered during account activation. + */ + errors: Array; +}; + +export type VerificationSuccess = { + /** + * Message indicating account activation was successful. + */ + message: string; +}; + +/** + * Webhook data containing a transaction + */ +export type Webhooks = { + /** + * The transaction of the webhook. + */ + transaction: PayrexxTransaction; +}; + +export type BlankEnumWritable = ''; + +/** + * * `ticket` - Ticket + * * `item` - Item + * * `activity` - Activity + * * `accomodation` - Accomodation + * * `type` - Type + * * `group` - Group + */ +export type CategoryEnumWritable = 'ticket' | 'item' | 'activity' | 'accomodation' | 'type' | 'group'; + +/** + * Serializer (read/write) for `Condition` model + */ +export type ConditionWritable = { + event: number; + name?: string; + /** + * the logical operator used between multiple statements + * + * * `or` - OR + * * `and` - AND + */ + logical_operator: LogicalOperatorEnumWritable; + /** + * Is implicit? + * can store a combination of conditions as a single condition + */ + is_implicit?: boolean; +}; + +/** + * * `privacy_policy` - Privacy policy + * * `terms_of_service` - Terms of service + * * `imprint` - Imprint + */ +export type DocumentTypeEnumWritable = 'privacy_policy' | 'terms_of_service' | 'imprint'; + +/** + * * `draft` - Draft + * * `public` - Public + * * `closed` - Closed (force) + * * `archived` - Archived + */ +export type EventStatusEnumWritable = 'draft' | 'public' | 'closed' | 'archived'; + +/** + * * `login` - Login property + * * `node` - Node selected + * * `promotion_code` - Promotion code + */ +export type LeftHandOperandEnumWritable = 'login' | 'node' | 'promotion_code'; + +/** + * * `or` - OR + * * `and` - AND + */ +export type LogicalOperatorEnumWritable = 'or' | 'and'; + +/** + * * `plus` - + [Current price + value] + * * `set` - = [Set price to] + * * `plus_percent` - +% [Current price + current price * value / 100] + * * `multiply` - * [Current price * value] + * * `divide` - / [Current price / value] + */ +export type ModeEnumWritable = 'plus' | 'set' | 'plus_percent' | 'multiply' | 'divide'; + +/** + * * `text` - Simple text + * * `email` - Email + * * `phone` - Phone + * * `country` - Country + * * `numerical` - Numerical + * * `textarea` - Multi-line text input + * * `boolean` - Boolean + * * `datetime` - Datetime + * * `date` - Date + * * `date_major` - Birthdate with majority required + * * `choice` - Choice + * * `file` - File + */ +export type ModelFormLineTypeWritable = 'text' | 'email' | 'phone' | 'country' | 'numerical' | 'textarea' | 'boolean' | 'datetime' | 'date' | 'date_major' | 'choice' | 'file'; + +/** + * * `not_requested` - Not requested + * * `requested` - Requested + * * `change_requested` - Change requested + * * `validated` - Validated + */ +export type ModerationStatusEnumWritable = 'not_requested' | 'requested' | 'change_requested' | 'validated'; + +/** + * Serializer for Node model + */ +export type NodeWritable = { + /** + * Local order between nodes that share the same parent + */ + order: number; + parent_id: number; + internal_key?: string; + configuration_id: number; + cart_configuration_id?: number; + event: number; +}; + +/** + * Serializer (read/write) for `NodeAccess` model + */ +export type NodeAccessWritable = { + event: number; + label: string; + condition_id?: number; + /** + * if True and user matches the conditions they should have access to the node, if False and user matches the conditions they should not have access to the node + */ + is_accessible?: boolean; +}; + +/** + * Serializer (read/write) for `NodeAccessM2M` relation model + */ +export type NodeAccessM2mWritable = { + event: number; + access_id: number; + node_configuration_id: number; +}; + +/** + * Serializer (read/write) for NodeAvailability model + */ +export type NodeAvailabilityWritable = { + name: string; + condition_id?: number; + starts_at?: string | null; + ends_at?: string | null; + event: number; +}; + +/** + * Serializer (read/write) for `NodeAvailabilityM2M` relation model + */ +export type NodeAvailabilityM2mWritable = { + availability_id: number; + node_configuration_id: number; + event: number; +}; + +/** + * Serializer (read/write) for NodeCartConfiguration model + */ +export type NodeCartConfigurationWritable = { + weight?: number; + /** + * Range minimum + */ + range_min?: number; + /** + * Range maximum + */ + range_max?: number; + event: number; +}; + +/** + * Serializer (read/write) for NodeConfiguration model + */ +export type NodeConfigurationWritable = { + /** + * description for the node. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + title?: string; + category?: CategoryEnumWritable; + image?: number | null; + image_style?: unknown; + item_style?: unknown; + display_price_difference?: boolean; + display_limits_difference?: boolean; + is_title_displayable?: boolean; + is_image_displayable?: boolean; + is_description_displayable?: boolean; + is_tags_displayable?: boolean; + /** + * Optional start datetime for this node. For display only. + */ + starts_at?: string | null; + /** + * Optional end datetime for this node. For display only. + */ + ends_at?: string | null; + is_subject_to_lausanne_tax?: boolean; + event: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfo` model + */ +export type NodeExtraInfoWritable = { + group_id: number; + order: number; + type: ModelFormLineTypeWritable; + name: string; + text: string; + help_text?: string; + is_required?: boolean; + choices_json?: string | null; + major_json?: string | null; + range_json?: string | null; + event: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroup` model + */ +export type NodeExtraInfoGroupWritable = { + name: string; + order: number; + is_inline?: boolean; + is_required?: boolean; + event: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroupM2M` relation model + */ +export type NodeExtraInfoGroupM2mWritable = { + group_id: number; + node_configuration_id: number; + event: number; +}; + +/** + * Serializer (read/write) for `NodeLimit` model + */ +export type NodeLimitWritable = { + event: number; + is_deleted?: boolean; + key: string; + label: string; + maximum: number; + order: number; + global_order: number; + condition_id?: number; +}; + +/** + * Serializer (read/write) for `NodeLimitM2M` relation model + */ +export type NodeLimitM2mWritable = { + event: number; + limit_id: number; + node_configuration_id: number; +}; + +/** + * Serializer (read/write) for `NodePriceRule` model + */ +export type NodePriceRuleWritable = { + event: number; + global_order: number; + order: number; + mode: ModeEnumWritable; + value: string; + label: string; + condition_id?: number; + /** + * does this rule apply on children of the node + */ + should_propagate?: boolean; +}; + +/** + * Serializer (read/write) for `NodePriceRuleM2M` relation model + */ +export type NodePriceRuleM2mWritable = { + event: number; + price_rule_id: number; + node_configuration_id: number; +}; + +/** + * Serializer (read/write) for `NodeTag` model + */ +export type NodeTagWritable = { + event: number; + name: string; + node_configuration_id: number; +}; + +/** + * * `>` - Greater + * * `>=` - Greater Or Equal + * * `=` - Equal + * * `!=` - Not Equal + * * `<` - Less + * * `<=` - Less Or Equal + * * `exists` - Exists + * * `contains` - Contains + * * `is in` - Is In + */ +export type OperatorEnumWritable = '>' | '>=' | '=' | '!=' | '<' | '<=' | 'exists' | 'contains' | 'is in'; + +export type PaginatedConditionListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAccessListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAccessM2mListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAvailabilityListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeAvailabilityM2mListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeCartConfigurationListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeConfigurationListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeExtraInfoGroupListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeExtraInfoGroupM2mListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeExtraInfoListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeLimitListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeLimitM2mListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodePriceRuleListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodePriceRuleM2mListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedNodeTagListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedPromotionCodeListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedSelectedPromotionCodeListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +export type PaginatedStatementListWritable = { + count: number; + next?: string | null; + previous?: string | null; + results: Array; +}; + +/** + * Serializer (read/write) for `Condition` model + */ +export type PatchedConditionWritable = { + event?: number; + name?: string; + /** + * the logical operator used between multiple statements + * + * * `or` - OR + * * `and` - AND + */ + logical_operator?: LogicalOperatorEnumWritable; + /** + * Is implicit? + * can store a combination of conditions as a single condition + */ + is_implicit?: boolean; +}; + +/** + * Serializer for Node model + */ +export type PatchedNodeWritable = { + /** + * Local order between nodes that share the same parent + */ + order?: number; + parent_id?: number; + internal_key?: string; + configuration_id?: number; + cart_configuration_id?: number; + event?: number; +}; + +/** + * Serializer (read/write) for `NodeAccess` model + */ +export type PatchedNodeAccessWritable = { + event?: number; + label?: string; + condition_id?: number; + /** + * if True and user matches the conditions they should have access to the node, if False and user matches the conditions they should not have access to the node + */ + is_accessible?: boolean; +}; + +/** + * Serializer (read/write) for NodeAvailability model + */ +export type PatchedNodeAvailabilityWritable = { + name?: string; + condition_id?: number; + starts_at?: string | null; + ends_at?: string | null; + event?: number; +}; + +/** + * Serializer (read/write) for NodeCartConfiguration model + */ +export type PatchedNodeCartConfigurationWritable = { + weight?: number; + /** + * Range minimum + */ + range_min?: number; + /** + * Range maximum + */ + range_max?: number; + event?: number; +}; + +/** + * Serializer (read/write) for NodeConfiguration model + */ +export type PatchedNodeConfigurationWritable = { + /** + * description for the node. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + title?: string; + category?: CategoryEnumWritable; + image?: number | null; + image_style?: unknown; + item_style?: unknown; + display_price_difference?: boolean; + display_limits_difference?: boolean; + is_title_displayable?: boolean; + is_image_displayable?: boolean; + is_description_displayable?: boolean; + is_tags_displayable?: boolean; + /** + * Optional start datetime for this node. For display only. + */ + starts_at?: string | null; + /** + * Optional end datetime for this node. For display only. + */ + ends_at?: string | null; + is_subject_to_lausanne_tax?: boolean; + event?: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfo` model + */ +export type PatchedNodeExtraInfoWritable = { + group_id?: number; + order?: number; + type?: ModelFormLineTypeWritable; + name?: string; + text?: string; + help_text?: string; + is_required?: boolean; + choices_json?: string | null; + major_json?: string | null; + range_json?: string | null; + event?: number; +}; + +/** + * Serializer (read/write) for `NodeExtraInfoGroup` model + */ +export type PatchedNodeExtraInfoGroupWritable = { + name?: string; + order?: number; + is_inline?: boolean; + is_required?: boolean; + event?: number; +}; + +/** + * Serializer (read/write) for `NodeLimit` model + */ +export type PatchedNodeLimitWritable = { + event?: number; + is_deleted?: boolean; + key?: string; + label?: string; + maximum?: number; + order?: number; + global_order?: number; + condition_id?: number; +}; + +/** + * Serializer (read/write) for `NodePriceRule` model + */ +export type PatchedNodePriceRuleWritable = { + event?: number; + global_order?: number; + order?: number; + mode?: ModeEnumWritable; + value?: string; + label?: string; + condition_id?: number; + /** + * does this rule apply on children of the node + */ + should_propagate?: boolean; +}; + +/** + * Serializer (read/write) for `NodeTag` model + */ +export type PatchedNodeTagWritable = { + event?: number; + name?: string; + node_configuration_id?: number; +}; + +/** + * Serializer for PromotionCode model + */ +export type PatchedPromotionCodeWritable = { + event?: number; + /** + * name of the promotion that will be shown + */ + name?: string; + /** + * value of the code that users will have to enter to get the promotion + */ + value?: string; +}; + +/** + * Serializer for the Statement model + */ +export type PatchedStatementWritable = { + event?: number; + /** + * order between statements of the same condition + */ + order?: number; + /** + * a statement is linked to a condition, to 're-use' statement, use a condition instead of a statement + */ + condition?: number; + left_hand_operand?: LeftHandOperandEnumWritable | BlankEnumWritable; + /** + * user defined value + */ + left_hand_value?: string; + /** + * with some left hand operands, the operator is unnecessary + * + * * `>` - Greater + * * `>=` - Greater Or Equal + * * `=` - Equal + * * `!=` - Not Equal + * * `<` - Less + * * `<=` - Less Or Equal + * * `exists` - Exists + * * `contains` - Contains + * * `is in` - Is In + */ + operator?: OperatorEnumWritable | BlankEnumWritable; + /** + * right hand operand: User defined value (this can be an empty string with Operator.EXISTS) + */ + right_hand_value?: string; + /** + * use a condition as a statement (nested condition) + */ + condition_as_statement?: number | null; +}; + +/** + * * `cancel` - Cancel + * * `error` - Error + * * `success` - Success + */ +export type PaymentIntentRequestUpdateStatusEnumWritable = 'cancel' | 'error' | 'success'; + +/** + * A serializer with a basket as an input to start the payment and with a payment link for the response + */ +export type PaymentStartWritable = { + /** + * The ID of the payment method's active module you want to start a payment with. If this is a free payment, the attribute is not required. + */ + active_module_id?: number; + /** + * The basket you want to start the payment for + */ + basket: number; + /** + * Must be true to validate a payment start. + */ + is_terms_of_service_accepted: boolean; +}; + +/** + * * `public` - Public + * * `event` - Event + * * `personal` - Personal + */ +export type PrivacyLevelEnumWritable = 'public' | 'event' | 'personal'; + +/** + * Serializer for PromotionCode model + */ +export type PromotionCodeWritable = { + event: number; + /** + * name of the promotion that will be shown + */ + name: string; + /** + * value of the code that users will have to enter to get the promotion + */ + value: string; +}; + +/** + * * `new` - New + * * `payment_in_progress` - Payment in progress + * * `validated` - Validated + * * `edition_in_progress` - Edition in progress + * * `refunded` - Refunded + */ +export type SelectedNodeStatusEnumWritable = 'new' | 'payment_in_progress' | 'validated' | 'edition_in_progress' | 'refunded'; + +/** + * Serializer for SelectedPromotionCode model + */ +export type SelectedPromotionCodeWritable = { + basket: number; + /** + * value of the code that users will have to enter to get the promotion + */ + promotion_code: string; +}; + +/** + * Serializer for the Statement model + */ +export type StatementWritable = { + event: number; + /** + * order between statements of the same condition + */ + order: number; + /** + * a statement is linked to a condition, to 're-use' statement, use a condition instead of a statement + */ + condition: number; + left_hand_operand?: LeftHandOperandEnumWritable | BlankEnumWritable; + /** + * user defined value + */ + left_hand_value?: string; + /** + * with some left hand operands, the operator is unnecessary + * + * * `>` - Greater + * * `>=` - Greater Or Equal + * * `=` - Equal + * * `!=` - Not Equal + * * `<` - Less + * * `<=` - Less Or Equal + * * `exists` - Exists + * * `contains` - Contains + * * `is in` - Is In + */ + operator?: OperatorEnumWritable | BlankEnumWritable; + /** + * right hand operand: User defined value (this can be an empty string with Operator.EXISTS) + */ + right_hand_value?: string; + /** + * use a condition as a statement (nested condition) + */ + condition_as_statement?: number | null; +}; + +/** + * Serializer for TicketOffice infos, equivalent to NodeSerializer for the BackOffice + */ +export type TicketOfficeInfosWritable = { + /** + * Local order between nodes that share the same parent + */ + order: number; + parent_id: number; + internal_key?: string; + children: Array; +}; + +/** + * This is an extension of NodeConfigurationSerializer specific to the ticket office infos endpoint. + * It adds a field for extra info groups and a filter applied to this field. + */ +export type TicketOfficeNodeConfigurationWritable = { + /** + * description for the node. Some restricted HTML markup is allowed, everything else is filtered out automatically. + */ + description?: string; + title?: string; + category?: CategoryEnumWritable; + image?: number | null; + image_style?: unknown; + item_style?: unknown; + display_price_difference?: boolean; + display_limits_difference?: boolean; + is_title_displayable?: boolean; + is_image_displayable?: boolean; + is_description_displayable?: boolean; + is_tags_displayable?: boolean; + /** + * Optional start datetime for this node. For display only. + */ + starts_at?: string | null; + /** + * Optional end datetime for this node. For display only. + */ + ends_at?: string | null; + is_subject_to_lausanne_tax?: boolean; + event: number; +}; + +/** + * * `owner` - owner + * * `member` - member + */ +export type UnitMemberShipCreationByEmailRoleEnumWritable = 'owner' | 'member'; + +/** + * * `owner` - Owner + * * `member` - Member + */ +export type UnitMembershipRoleEnumWritable = 'owner' | 'member'; + +/** + * Serializer for PolyTicketUser registration + */ +export type UserRegistrationWritable = { + email: string; + /** + * The password associated with your account + */ + password: string; + first_name?: string; + last_name?: string; + /** + * Captcha response token from the Recaptcha JS library challenge + */ + captcha: string; + /** + * For testing purposes, permits to bypass captcha verification. This field expects a shared secret. This feature is only usable on DEV and INT environnments. + */ + captcha_bypass?: string; +}; + +export type AccountingInvoicesListData = { + body?: never; + path?: never; + query?: { + basket_id?: number; + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + /** + * * `created` - Unpaid + * * `resolved` - Resolved + * * `cancelled` - Cancelled + */ + status?: 'cancelled' | 'created' | 'resolved'; + }; + url: '/api/v2/accounting/invoices/'; +}; + +export type AccountingInvoicesListResponses = { + 200: PaginatedInvoiceList; +}; + +export type AccountingInvoicesListResponse = AccountingInvoicesListResponses[keyof AccountingInvoicesListResponses]; + +export type AccountingInvoicesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this invoice. + */ + id: number; + }; + query?: never; + url: '/api/v2/accounting/invoices/{id}/'; +}; + +export type AccountingInvoicesRetrieveResponses = { + 200: Invoice; +}; + +export type AccountingInvoicesRetrieveResponse = AccountingInvoicesRetrieveResponses[keyof AccountingInvoicesRetrieveResponses]; + +export type AccountingInvoicesActionsRefundCreateData = { + body: Refund; + path: { + /** + * A unique integer value identifying this invoice. + */ + id: number; + }; + query?: never; + url: '/api/v2/accounting/invoices/{id}/actions/refund/'; +}; + +export type AccountingInvoicesActionsRefundCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type AccountingInvoicesActionsRefundCreateResponse = AccountingInvoicesActionsRefundCreateResponses[keyof AccountingInvoicesActionsRefundCreateResponses]; + +export type CommonUploadedImagesListData = { + body?: never; + path?: never; + query?: { + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/common/uploaded_images/'; +}; + +export type CommonUploadedImagesListResponses = { + 200: PaginatedUploadedImageList; +}; + +export type CommonUploadedImagesListResponse = CommonUploadedImagesListResponses[keyof CommonUploadedImagesListResponses]; + +export type CommonUploadedImagesCreateData = { + body?: UploadedImage; + path?: never; + query?: never; + url: '/api/v2/common/uploaded_images/'; +}; + +export type CommonUploadedImagesCreateResponses = { + 201: UploadedImage; +}; + +export type CommonUploadedImagesCreateResponse = CommonUploadedImagesCreateResponses[keyof CommonUploadedImagesCreateResponses]; + +export type CommonUploadedImagesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this uploaded image. + */ + id: number; + }; + query?: never; + url: '/api/v2/common/uploaded_images/{id}/'; +}; + +export type CommonUploadedImagesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type CommonUploadedImagesDestroyResponse = CommonUploadedImagesDestroyResponses[keyof CommonUploadedImagesDestroyResponses]; + +export type CommonUploadedImagesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this uploaded image. + */ + id: number; + }; + query?: never; + url: '/api/v2/common/uploaded_images/{id}/'; +}; + +export type CommonUploadedImagesRetrieveResponses = { + 200: UploadedImage; +}; + +export type CommonUploadedImagesRetrieveResponse = CommonUploadedImagesRetrieveResponses[keyof CommonUploadedImagesRetrieveResponses]; + +export type CommonUploadedImagesPartialUpdateData = { + body?: PatchedUploadedImage; + path: { + /** + * A unique integer value identifying this uploaded image. + */ + id: number; + }; + query?: never; + url: '/api/v2/common/uploaded_images/{id}/'; +}; + +export type CommonUploadedImagesPartialUpdateResponses = { + 200: UploadedImage; +}; + +export type CommonUploadedImagesPartialUpdateResponse = CommonUploadedImagesPartialUpdateResponses[keyof CommonUploadedImagesPartialUpdateResponses]; + +export type CoreApiTokensListData = { + body?: never; + path?: never; + query?: { + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/core/api_tokens/'; +}; + +export type CoreApiTokensListResponses = { + 200: PaginatedApiTokenList; +}; + +export type CoreApiTokensListResponse = CoreApiTokensListResponses[keyof CoreApiTokensListResponses]; + +export type CoreApiTokensRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this api token. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/api_tokens/{id}/'; +}; + +export type CoreApiTokensRetrieveResponses = { + 200: ApiToken; +}; + +export type CoreApiTokensRetrieveResponse = CoreApiTokensRetrieveResponses[keyof CoreApiTokensRetrieveResponses]; + +export type CoreApiTokensActionsMeRetrieveData = { + body?: never; + path?: never; + query?: never; + url: '/api/v2/core/api_tokens/actions/me/'; +}; + +export type CoreApiTokensActionsMeRetrieveResponses = { + 200: ApiToken; +}; + +export type CoreApiTokensActionsMeRetrieveResponse = CoreApiTokensActionsMeRetrieveResponses[keyof CoreApiTokensActionsMeRetrieveResponses]; + +export type CoreAuthActionsPasswordChangeCreateData = { + body: UserPasswordChange; + path?: never; + query?: never; + url: '/api/v2/core/auth/actions/password_change/'; +}; + +export type CoreAuthActionsPasswordChangeCreateResponses = { + 200: PasswordChangeSuccess; +}; + +export type CoreAuthActionsPasswordChangeCreateResponse = CoreAuthActionsPasswordChangeCreateResponses[keyof CoreAuthActionsPasswordChangeCreateResponses]; + +export type CoreAuthActionsPasswordResetCreateData = { + body: UserPasswordReset; + path?: never; + query?: never; + url: '/api/v2/core/auth/actions/password_reset/'; +}; + +export type CoreAuthActionsPasswordResetCreateResponses = { + 200: PasswordResetSuccess; +}; + +export type CoreAuthActionsPasswordResetCreateResponse = CoreAuthActionsPasswordResetCreateResponses[keyof CoreAuthActionsPasswordResetCreateResponses]; + +export type CoreAuthActionsPasswordResetRequestCreateData = { + body: UserPasswordResetRequest; + path?: never; + query?: never; + url: '/api/v2/core/auth/actions/password_reset_request/'; +}; + +export type CoreAuthActionsPasswordResetRequestCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type CoreAuthActionsPasswordResetRequestCreateResponse = CoreAuthActionsPasswordResetRequestCreateResponses[keyof CoreAuthActionsPasswordResetRequestCreateResponses]; + +export type CoreAuthActionsRegisterCreateData = { + body: UserRegistrationWritable; + path?: never; + query?: never; + url: '/api/v2/core/auth/actions/register/'; +}; + +export type CoreAuthActionsRegisterCreateResponses = { + 200: UserRegistration; +}; + +export type CoreAuthActionsRegisterCreateResponse = CoreAuthActionsRegisterCreateResponses[keyof CoreAuthActionsRegisterCreateResponses]; + +export type CoreAuthActionsRegisterVerifyCreateData = { + body: UserVerification; + path?: never; + query?: never; + url: '/api/v2/core/auth/actions/register_verify/'; +}; + +export type CoreAuthActionsRegisterVerifyCreateErrors = { + 403: VerificationError; +}; + +export type CoreAuthActionsRegisterVerifyCreateError = CoreAuthActionsRegisterVerifyCreateErrors[keyof CoreAuthActionsRegisterVerifyCreateErrors]; + +export type CoreAuthActionsRegisterVerifyCreateResponses = { + 200: VerificationSuccess; +}; + +export type CoreAuthActionsRegisterVerifyCreateResponse = CoreAuthActionsRegisterVerifyCreateResponses[keyof CoreAuthActionsRegisterVerifyCreateResponses]; + +export type CoreAuthLoginCreateData = { + body: Login; + path?: never; + query?: never; + url: '/api/v2/core/auth/login/'; +}; + +export type CoreAuthLoginCreateResponses = { + 200: LoginResult; +}; + +export type CoreAuthLoginCreateResponse = CoreAuthLoginCreateResponses[keyof CoreAuthLoginCreateResponses]; + +export type CoreDocumentsListData = { + body?: never; + path?: never; + query?: { + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/core/documents/'; +}; + +export type CoreDocumentsListResponses = { + 200: PaginatedDocumentList; +}; + +export type CoreDocumentsListResponse = CoreDocumentsListResponses[keyof CoreDocumentsListResponses]; + +export type CoreDocumentsCreateData = { + body: Document; + path?: never; + query?: never; + url: '/api/v2/core/documents/'; +}; + +export type CoreDocumentsCreateResponses = { + 201: Document; +}; + +export type CoreDocumentsCreateResponse = CoreDocumentsCreateResponses[keyof CoreDocumentsCreateResponses]; + +export type CoreDocumentsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this document. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/documents/{id}/'; +}; + +export type CoreDocumentsRetrieveResponses = { + 200: Document; +}; + +export type CoreDocumentsRetrieveResponse = CoreDocumentsRetrieveResponses[keyof CoreDocumentsRetrieveResponses]; + +export type CoreUnitmembershipsListData = { + body?: never; + path?: never; + query?: { + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + /** + * * `owner` - Owner + * * `member` - Member + */ + role?: 'member' | 'owner'; + unit?: number; + user?: number; + }; + url: '/api/v2/core/unitmemberships/'; +}; + +export type CoreUnitmembershipsListResponses = { + 200: PaginatedUnitMembershipList; +}; + +export type CoreUnitmembershipsListResponse = CoreUnitmembershipsListResponses[keyof CoreUnitmembershipsListResponses]; + +export type CoreUnitmembershipsCreateData = { + body: UnitMembership; + path?: never; + query?: never; + url: '/api/v2/core/unitmemberships/'; +}; + +export type CoreUnitmembershipsCreateResponses = { + 201: UnitMembership; +}; + +export type CoreUnitmembershipsCreateResponse = CoreUnitmembershipsCreateResponses[keyof CoreUnitmembershipsCreateResponses]; + +export type CoreUnitmembershipsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this unit membership. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/unitmemberships/{id}/'; +}; + +export type CoreUnitmembershipsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type CoreUnitmembershipsDestroyResponse = CoreUnitmembershipsDestroyResponses[keyof CoreUnitmembershipsDestroyResponses]; + +export type CoreUnitmembershipsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this unit membership. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/unitmemberships/{id}/'; +}; + +export type CoreUnitmembershipsRetrieveResponses = { + 200: UnitMembership; +}; + +export type CoreUnitmembershipsRetrieveResponse = CoreUnitmembershipsRetrieveResponses[keyof CoreUnitmembershipsRetrieveResponses]; + +export type CoreUnitmembershipsPartialUpdateData = { + body?: PatchedUnitMembership; + path: { + /** + * A unique integer value identifying this unit membership. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/unitmemberships/{id}/'; +}; + +export type CoreUnitmembershipsPartialUpdateResponses = { + 200: UnitMembership; +}; + +export type CoreUnitmembershipsPartialUpdateResponse = CoreUnitmembershipsPartialUpdateResponses[keyof CoreUnitmembershipsPartialUpdateResponses]; + +export type CoreUnitmembershipsActionsCreateByEmailCreateData = { + body: UnitMemberShipCreationByEmail; + path?: never; + query?: never; + url: '/api/v2/core/unitmemberships/actions/create_by_email/'; +}; + +export type CoreUnitmembershipsActionsCreateByEmailCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type CoreUnitmembershipsActionsCreateByEmailCreateResponse = CoreUnitmembershipsActionsCreateByEmailCreateResponses[keyof CoreUnitmembershipsActionsCreateByEmailCreateResponses]; + +export type CoreUnitsListData = { + body?: never; + path?: never; + query?: { + /** + * Multiple values may be separated by commas. + */ + id?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/core/units/'; +}; + +export type CoreUnitsListResponses = { + 200: PaginatedUnitList; +}; + +export type CoreUnitsListResponse = CoreUnitsListResponses[keyof CoreUnitsListResponses]; + +export type CoreUnitsCreateData = { + body: Unit; + path?: never; + query?: never; + url: '/api/v2/core/units/'; +}; + +export type CoreUnitsCreateResponses = { + 201: Unit; +}; + +export type CoreUnitsCreateResponse = CoreUnitsCreateResponses[keyof CoreUnitsCreateResponses]; + +export type CoreUnitsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this unit. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/units/{id}/'; +}; + +export type CoreUnitsRetrieveResponses = { + 200: Unit; +}; + +export type CoreUnitsRetrieveResponse = CoreUnitsRetrieveResponses[keyof CoreUnitsRetrieveResponses]; + +export type CoreUnitsPartialUpdateData = { + body?: PatchedUnit; + path: { + /** + * A unique integer value identifying this unit. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/units/{id}/'; +}; + +export type CoreUnitsPartialUpdateResponses = { + 200: Unit; +}; + +export type CoreUnitsPartialUpdateResponse = CoreUnitsPartialUpdateResponses[keyof CoreUnitsPartialUpdateResponses]; + +export type CoreUsersListData = { + body?: never; + path?: never; + query?: { + email?: string; + first_name?: string; + last_name?: string; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + units?: Array; + }; + url: '/api/v2/core/users/'; +}; + +export type CoreUsersListResponses = { + 200: PaginatedPolyTicketUserList; +}; + +export type CoreUsersListResponse = CoreUsersListResponses[keyof CoreUsersListResponses]; + +export type CoreUsersCreateData = { + body: PolyTicketUser; + path?: never; + query?: never; + url: '/api/v2/core/users/'; +}; + +export type CoreUsersCreateResponses = { + 201: PolyTicketUser; +}; + +export type CoreUsersCreateResponse = CoreUsersCreateResponses[keyof CoreUsersCreateResponses]; + +export type CoreUsersDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this User. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/users/{id}/'; +}; + +export type CoreUsersDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type CoreUsersDestroyResponse = CoreUsersDestroyResponses[keyof CoreUsersDestroyResponses]; + +export type CoreUsersRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this User. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/users/{id}/'; +}; + +export type CoreUsersRetrieveResponses = { + 200: PolyTicketUser; +}; + +export type CoreUsersRetrieveResponse = CoreUsersRetrieveResponses[keyof CoreUsersRetrieveResponses]; + +export type CoreUsersPartialUpdateData = { + body?: PatchedPolyTicketUser; + path: { + /** + * A unique integer value identifying this User. + */ + id: number; + }; + query?: never; + url: '/api/v2/core/users/{id}/'; +}; + +export type CoreUsersPartialUpdateResponses = { + 200: PolyTicketUser; +}; + +export type CoreUsersPartialUpdateResponse = CoreUsersPartialUpdateResponses[keyof CoreUsersPartialUpdateResponses]; + +export type EventsEventsListData = { + body?: never; + path?: never; + query?: { + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + unit?: number; + }; + url: '/api/v2/events/events/'; +}; + +export type EventsEventsListResponses = { + 200: PaginatedEventList; +}; + +export type EventsEventsListResponse = EventsEventsListResponses[keyof EventsEventsListResponses]; + +export type EventsEventsCreateData = { + body: Event; + path?: never; + query?: never; + url: '/api/v2/events/events/'; +}; + +export type EventsEventsCreateResponses = { + 201: Event; +}; + +export type EventsEventsCreateResponse = EventsEventsCreateResponses[keyof EventsEventsCreateResponses]; + +export type EventsEventsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: never; + url: '/api/v2/events/events/{id}/'; +}; + +export type EventsEventsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type EventsEventsDestroyResponse = EventsEventsDestroyResponses[keyof EventsEventsDestroyResponses]; + +export type EventsEventsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: never; + url: '/api/v2/events/events/{id}/'; +}; + +export type EventsEventsRetrieveResponses = { + 200: Event; +}; + +export type EventsEventsRetrieveResponse = EventsEventsRetrieveResponses[keyof EventsEventsRetrieveResponses]; + +export type EventsEventsPartialUpdateData = { + body?: PatchedEvent; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: never; + url: '/api/v2/events/events/{id}/'; +}; + +export type EventsEventsPartialUpdateResponses = { + 200: Event; +}; + +export type EventsEventsPartialUpdateResponse = EventsEventsPartialUpdateResponses[keyof EventsEventsPartialUpdateResponses]; + +export type EventsEventsActionsDuplicateCreateData = { + body: Event; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: never; + url: '/api/v2/events/events/{id}/actions/duplicate/'; +}; + +export type EventsEventsActionsDuplicateCreateResponses = { + 200: Event; +}; + +export type EventsEventsActionsDuplicateCreateResponse = EventsEventsActionsDuplicateCreateResponses[keyof EventsEventsActionsDuplicateCreateResponses]; + +export type EventsEventsActionsExportCreateData = { + body: Event; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: { + /** + * Desired export file type + */ + file_type?: 'csv' | 'xlsx'; + /** + * Whether you want the export for testing mode or not + */ + testing?: boolean; + }; + url: '/api/v2/events/events/{id}/actions/export/'; +}; + +export type EventsEventsActionsExportCreateResponses = { + 200: Event; +}; + +export type EventsEventsActionsExportCreateResponse = EventsEventsActionsExportCreateResponses[keyof EventsEventsActionsExportCreateResponses]; + +export type EventsEventsActionsModerateCreateData = { + body: EventModeration; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: never; + url: '/api/v2/events/events/{id}/actions/moderate/'; +}; + +export type EventsEventsActionsModerateCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type EventsEventsActionsModerateCreateResponse = EventsEventsActionsModerateCreateResponses[keyof EventsEventsActionsModerateCreateResponses]; + +export type EventsEventsActionsNodeStocksListData = { + body?: never; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: { + /** + * Testing mode + */ + testing?: boolean; + }; + url: '/api/v2/events/events/{id}/actions/node_stocks/'; +}; + +export type EventsEventsActionsNodeStocksListResponses = { + 200: Array; +}; + +export type EventsEventsActionsNodeStocksListResponse = EventsEventsActionsNodeStocksListResponses[keyof EventsEventsActionsNodeStocksListResponses]; + +export type EventsEventsActionsRequestModerationCreateData = { + body?: never; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: never; + url: '/api/v2/events/events/{id}/actions/request_moderation/'; +}; + +export type EventsEventsActionsRequestModerationCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type EventsEventsActionsRequestModerationCreateResponse = EventsEventsActionsRequestModerationCreateResponses[keyof EventsEventsActionsRequestModerationCreateResponses]; + +export type EventsEventsActionsStatisticsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query?: { + /** + * Desired granularity, i.e. aggregation bucket size + */ + granularity?: 'day' | 'five_minute' | 'hour' | 'timestamp'; + /** + * All data points before interval_end are returned, and a data point with the timestamp of interval_end is returned, with the earliest value after interval_end, or the same value as the last value before interval_end, in case no previous data points are available. + */ + interval_end?: string; + /** + * All data points after interval_start are returned, and a data point with the timestamp of interval_start is returned, with most recent value before interval_start, or value 0 in case no previous data points are available) + */ + interval_start?: string; + /** + * Testing mode + */ + testing?: boolean; + }; + url: '/api/v2/events/events/{id}/actions/statistics/'; +}; + +export type EventsEventsActionsStatisticsRetrieveResponses = { + 200: EventStatistics; +}; + +export type EventsEventsActionsStatisticsRetrieveResponse = EventsEventsActionsStatisticsRetrieveResponses[keyof EventsEventsActionsStatisticsRetrieveResponses]; + +export type EventsEventsActionsTicketOfficeInfosRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this event. + */ + id: number; + }; + query: { + /** + * The FrontendBasket pk used to access the resource. + */ + frontend_basket: number; + /** + * Optional ids of children of articles that have been selected to update the article price + */ + node_selected_ids?: Array; + }; + url: '/api/v2/events/events/{id}/actions/ticket_office_infos/'; +}; + +export type EventsEventsActionsTicketOfficeInfosRetrieveResponses = { + 200: TicketOfficeInfos; +}; + +export type EventsEventsActionsTicketOfficeInfosRetrieveResponse = EventsEventsActionsTicketOfficeInfosRetrieveResponses[keyof EventsEventsActionsTicketOfficeInfosRetrieveResponses]; + +export type EventsEventsActionsPublicInfosRetrieveData = { + body?: never; + path: { + frontend_path: string; + }; + query: { + /** + * Whether you access the event public infos in testing mode or not. + */ + testing: boolean; + }; + url: '/api/v2/events/events/actions/public_infos/{frontend_path}/'; +}; + +export type EventsEventsActionsPublicInfosRetrieveResponses = { + 200: EventPublicInfos; +}; + +export type EventsEventsActionsPublicInfosRetrieveResponse = EventsEventsActionsPublicInfosRetrieveResponses[keyof EventsEventsActionsPublicInfosRetrieveResponses]; + +export type ModulesAuthAnonymousLoginActionsCreateLoginCreateData = { + body: CreateAnonymousLogin; + path?: never; + query?: never; + url: '/api/v2/modules_auth/anonymous_login/actions/create_login/'; +}; + +export type ModulesAuthAnonymousLoginActionsCreateLoginCreateResponses = { + 200: LoginJwt; +}; + +export type ModulesAuthAnonymousLoginActionsCreateLoginCreateResponse = ModulesAuthAnonymousLoginActionsCreateLoginCreateResponses[keyof ModulesAuthAnonymousLoginActionsCreateLoginCreateResponses]; + +export type ModulesAuthAnonymousLoginModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_auth/anonymous_login/modules/'; +}; + +export type ModulesAuthAnonymousLoginModulesListResponses = { + 200: PaginatedModuleAuthAnonymousLoginActiveModuleList; +}; + +export type ModulesAuthAnonymousLoginModulesListResponse = ModulesAuthAnonymousLoginModulesListResponses[keyof ModulesAuthAnonymousLoginModulesListResponses]; + +export type ModulesAuthAnonymousLoginModulesCreateData = { + body: ModuleAuthAnonymousLoginActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_auth/anonymous_login/modules/'; +}; + +export type ModulesAuthAnonymousLoginModulesCreateResponses = { + 201: ModuleAuthAnonymousLoginActiveModule; +}; + +export type ModulesAuthAnonymousLoginModulesCreateResponse = ModulesAuthAnonymousLoginModulesCreateResponses[keyof ModulesAuthAnonymousLoginModulesCreateResponses]; + +export type ModulesAuthAnonymousLoginModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/anonymous_login/modules/{id}/'; +}; + +export type ModulesAuthAnonymousLoginModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesAuthAnonymousLoginModulesDestroyResponse = ModulesAuthAnonymousLoginModulesDestroyResponses[keyof ModulesAuthAnonymousLoginModulesDestroyResponses]; + +export type ModulesAuthAnonymousLoginModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/anonymous_login/modules/{id}/'; +}; + +export type ModulesAuthAnonymousLoginModulesRetrieveResponses = { + 200: ModuleAuthAnonymousLoginActiveModule; +}; + +export type ModulesAuthAnonymousLoginModulesRetrieveResponse = ModulesAuthAnonymousLoginModulesRetrieveResponses[keyof ModulesAuthAnonymousLoginModulesRetrieveResponses]; + +export type ModulesAuthAnonymousLoginModulesPartialUpdateData = { + body?: PatchedModuleAuthAnonymousLoginActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/anonymous_login/modules/{id}/'; +}; + +export type ModulesAuthAnonymousLoginModulesPartialUpdateResponses = { + 200: ModuleAuthAnonymousLoginActiveModule; +}; + +export type ModulesAuthAnonymousLoginModulesPartialUpdateResponse = ModulesAuthAnonymousLoginModulesPartialUpdateResponses[keyof ModulesAuthAnonymousLoginModulesPartialUpdateResponses]; + +export type ModulesAuthFrontendLoginsListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Multiple values may be separated by commas. + */ + id?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + testing?: boolean; + }; + url: '/api/v2/modules_auth/frontend_logins/'; +}; + +export type ModulesAuthFrontendLoginsListResponses = { + 200: PaginatedFrontendLoginList; +}; + +export type ModulesAuthFrontendLoginsListResponse = ModulesAuthFrontendLoginsListResponses[keyof ModulesAuthFrontendLoginsListResponses]; + +export type ModulesAuthFrontendLoginsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this frontend login. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/frontend_logins/{id}/'; +}; + +export type ModulesAuthFrontendLoginsRetrieveResponses = { + 200: FrontendLogin; +}; + +export type ModulesAuthFrontendLoginsRetrieveResponse = ModulesAuthFrontendLoginsRetrieveResponses[keyof ModulesAuthFrontendLoginsRetrieveResponses]; + +export type ModulesAuthLoginMethodsListData = { + body?: never; + path?: never; + query: { + /** + * The Event id for which to get available login methods. + */ + event: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + /** + * Whether you access the login methods in testing mode or not. + */ + testing: boolean; + }; + url: '/api/v2/modules_auth/login_methods/'; +}; + +export type ModulesAuthLoginMethodsListResponses = { + 200: PaginatedLoginMethodList; +}; + +export type ModulesAuthLoginMethodsListResponse = ModulesAuthLoginMethodsListResponses[keyof ModulesAuthLoginMethodsListResponses]; + +export type ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateData = { + body: ValidateThirdPartyTokenLogin; + path?: never; + query?: never; + url: '/api/v2/modules_auth/third_party_token_login/actions/validate_login/'; +}; + +export type ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateResponses = { + 200: LoginJwt; +}; + +export type ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateResponse = ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateResponses[keyof ModulesAuthThirdPartyTokenLoginActionsValidateLoginCreateResponses]; + +export type ModulesAuthThirdPartyTokenLoginModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_auth/third_party_token_login/modules/'; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesListResponses = { + 200: PaginatedModuleAuthThirdPartyTokenLoginActiveModuleList; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesListResponse = ModulesAuthThirdPartyTokenLoginModulesListResponses[keyof ModulesAuthThirdPartyTokenLoginModulesListResponses]; + +export type ModulesAuthThirdPartyTokenLoginModulesCreateData = { + body: ModuleAuthThirdPartyTokenLoginActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_auth/third_party_token_login/modules/'; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesCreateResponses = { + 201: ModuleAuthThirdPartyTokenLoginActiveModule; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesCreateResponse = ModulesAuthThirdPartyTokenLoginModulesCreateResponses[keyof ModulesAuthThirdPartyTokenLoginModulesCreateResponses]; + +export type ModulesAuthThirdPartyTokenLoginModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/third_party_token_login/modules/{id}/'; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesDestroyResponse = ModulesAuthThirdPartyTokenLoginModulesDestroyResponses[keyof ModulesAuthThirdPartyTokenLoginModulesDestroyResponses]; + +export type ModulesAuthThirdPartyTokenLoginModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/third_party_token_login/modules/{id}/'; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesRetrieveResponses = { + 200: ModuleAuthThirdPartyTokenLoginActiveModule; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesRetrieveResponse = ModulesAuthThirdPartyTokenLoginModulesRetrieveResponses[keyof ModulesAuthThirdPartyTokenLoginModulesRetrieveResponses]; + +export type ModulesAuthThirdPartyTokenLoginModulesPartialUpdateData = { + body?: PatchedModuleAuthThirdPartyTokenLoginActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/third_party_token_login/modules/{id}/'; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesPartialUpdateResponses = { + 200: ModuleAuthThirdPartyTokenLoginActiveModule; +}; + +export type ModulesAuthThirdPartyTokenLoginModulesPartialUpdateResponse = ModulesAuthThirdPartyTokenLoginModulesPartialUpdateResponses[keyof ModulesAuthThirdPartyTokenLoginModulesPartialUpdateResponses]; + +export type ModulesAuthTrustedEmailActionsCreateLoginCreateData = { + body: CreateTrustedEmailLogin; + path?: never; + query?: never; + url: '/api/v2/modules_auth/trusted_email/actions/create_login/'; +}; + +export type ModulesAuthTrustedEmailActionsCreateLoginCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesAuthTrustedEmailActionsCreateLoginCreateResponse = ModulesAuthTrustedEmailActionsCreateLoginCreateResponses[keyof ModulesAuthTrustedEmailActionsCreateLoginCreateResponses]; + +export type ModulesAuthTrustedEmailActionsValidateLoginCreateData = { + body: ValidateTrustedEmailLogin; + path?: never; + query?: never; + url: '/api/v2/modules_auth/trusted_email/actions/validate_login/'; +}; + +export type ModulesAuthTrustedEmailActionsValidateLoginCreateResponses = { + 200: LoginJwt; +}; + +export type ModulesAuthTrustedEmailActionsValidateLoginCreateResponse = ModulesAuthTrustedEmailActionsValidateLoginCreateResponses[keyof ModulesAuthTrustedEmailActionsValidateLoginCreateResponses]; + +export type ModulesAuthTrustedEmailModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_auth/trusted_email/modules/'; +}; + +export type ModulesAuthTrustedEmailModulesListResponses = { + 200: PaginatedModuleAuthTrustedEmailActiveModuleList; +}; + +export type ModulesAuthTrustedEmailModulesListResponse = ModulesAuthTrustedEmailModulesListResponses[keyof ModulesAuthTrustedEmailModulesListResponses]; + +export type ModulesAuthTrustedEmailModulesCreateData = { + body: ModuleAuthTrustedEmailActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_auth/trusted_email/modules/'; +}; + +export type ModulesAuthTrustedEmailModulesCreateResponses = { + 201: ModuleAuthTrustedEmailActiveModule; +}; + +export type ModulesAuthTrustedEmailModulesCreateResponse = ModulesAuthTrustedEmailModulesCreateResponses[keyof ModulesAuthTrustedEmailModulesCreateResponses]; + +export type ModulesAuthTrustedEmailModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/trusted_email/modules/{id}/'; +}; + +export type ModulesAuthTrustedEmailModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesAuthTrustedEmailModulesDestroyResponse = ModulesAuthTrustedEmailModulesDestroyResponses[keyof ModulesAuthTrustedEmailModulesDestroyResponses]; + +export type ModulesAuthTrustedEmailModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/trusted_email/modules/{id}/'; +}; + +export type ModulesAuthTrustedEmailModulesRetrieveResponses = { + 200: ModuleAuthTrustedEmailActiveModule; +}; + +export type ModulesAuthTrustedEmailModulesRetrieveResponse = ModulesAuthTrustedEmailModulesRetrieveResponses[keyof ModulesAuthTrustedEmailModulesRetrieveResponses]; + +export type ModulesAuthTrustedEmailModulesPartialUpdateData = { + body?: PatchedModuleAuthTrustedEmailActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_auth/trusted_email/modules/{id}/'; +}; + +export type ModulesAuthTrustedEmailModulesPartialUpdateResponses = { + 200: ModuleAuthTrustedEmailActiveModule; +}; + +export type ModulesAuthTrustedEmailModulesPartialUpdateResponse = ModulesAuthTrustedEmailModulesPartialUpdateResponses[keyof ModulesAuthTrustedEmailModulesPartialUpdateResponses]; + +export type ModulesBasketBillingInformationsListData = { + body?: never; + path?: never; + query?: { + basket_id?: number; + created_by?: string; + event_id?: number; + is_deleted?: boolean; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + user?: string; + }; + url: '/api/v2/modules_basket/billing_informations/'; +}; + +export type ModulesBasketBillingInformationsListResponses = { + 200: PaginatedBillingInformationList; +}; + +export type ModulesBasketBillingInformationsListResponse = ModulesBasketBillingInformationsListResponses[keyof ModulesBasketBillingInformationsListResponses]; + +export type ModulesBasketBillingInformationsCreateData = { + body: BillingInformation; + path?: never; + query?: never; + url: '/api/v2/modules_basket/billing_informations/'; +}; + +export type ModulesBasketBillingInformationsCreateResponses = { + 201: BillingInformation; +}; + +export type ModulesBasketBillingInformationsCreateResponse = ModulesBasketBillingInformationsCreateResponses[keyof ModulesBasketBillingInformationsCreateResponses]; + +export type ModulesBasketBillingInformationsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this billing information. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_basket/billing_informations/{id}/'; +}; + +export type ModulesBasketBillingInformationsRetrieveResponses = { + 200: BillingInformation; +}; + +export type ModulesBasketBillingInformationsRetrieveResponse = ModulesBasketBillingInformationsRetrieveResponses[keyof ModulesBasketBillingInformationsRetrieveResponses]; + +export type ModulesBasketFrontendBasketsListData = { + body?: never; + path?: never; + query?: { + created_by_id?: number; + event?: number; + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + status?: string; + testing?: boolean; + }; + url: '/api/v2/modules_basket/frontend_baskets/'; +}; + +export type ModulesBasketFrontendBasketsListResponses = { + 200: PaginatedFrontendBasketList; +}; + +export type ModulesBasketFrontendBasketsListResponse = ModulesBasketFrontendBasketsListResponses[keyof ModulesBasketFrontendBasketsListResponses]; + +export type ModulesBasketFrontendBasketsCreateData = { + body: FrontendBasket; + path?: never; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + }; + url: '/api/v2/modules_basket/frontend_baskets/'; +}; + +export type ModulesBasketFrontendBasketsCreateResponses = { + 201: FrontendBasket; +}; + +export type ModulesBasketFrontendBasketsCreateResponse = ModulesBasketFrontendBasketsCreateResponses[keyof ModulesBasketFrontendBasketsCreateResponses]; + +export type ModulesBasketFrontendBasketsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this frontend basket. + */ + id: number; + }; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + }; + url: '/api/v2/modules_basket/frontend_baskets/{id}/'; +}; + +export type ModulesBasketFrontendBasketsRetrieveResponses = { + 200: FrontendBasket; +}; + +export type ModulesBasketFrontendBasketsRetrieveResponse = ModulesBasketFrontendBasketsRetrieveResponses[keyof ModulesBasketFrontendBasketsRetrieveResponses]; + +export type ModulesBasketFrontendBasketsPartialUpdateData = { + body?: PatchedFrontendBasket; + path: { + /** + * A unique integer value identifying this frontend basket. + */ + id: number; + }; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + }; + url: '/api/v2/modules_basket/frontend_baskets/{id}/'; +}; + +export type ModulesBasketFrontendBasketsPartialUpdateResponses = { + 200: FrontendBasket; +}; + +export type ModulesBasketFrontendBasketsPartialUpdateResponse = ModulesBasketFrontendBasketsPartialUpdateResponses[keyof ModulesBasketFrontendBasketsPartialUpdateResponses]; + +export type ModulesBasketFrontendBasketsActionsAddToBasketCreateData = { + body: SelectedNodeCreation; + path: { + /** + * A unique integer value identifying this frontend basket. + */ + id: number; + }; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + }; + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/add_to_basket/'; +}; + +export type ModulesBasketFrontendBasketsActionsAddToBasketCreateResponses = { + 200: SelectedNodeCreation; +}; + +export type ModulesBasketFrontendBasketsActionsAddToBasketCreateResponse = ModulesBasketFrontendBasketsActionsAddToBasketCreateResponses[keyof ModulesBasketFrontendBasketsActionsAddToBasketCreateResponses]; + +export type ModulesBasketFrontendBasketsActionsGenerateTicketCreateData = { + body: FrontendBasket; + path: { + /** + * A unique integer value identifying this frontend basket. + */ + id: number; + }; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + }; + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/generate_ticket/'; +}; + +export type ModulesBasketFrontendBasketsActionsGenerateTicketCreateResponses = { + 200: FrontendBasket; +}; + +export type ModulesBasketFrontendBasketsActionsGenerateTicketCreateResponse = ModulesBasketFrontendBasketsActionsGenerateTicketCreateResponses[keyof ModulesBasketFrontendBasketsActionsGenerateTicketCreateResponses]; + +export type ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateData = { + body: SelectedNodeDeletion; + path: { + /** + * A unique integer value identifying this frontend basket. + */ + id: number; + }; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + }; + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/remove_from_basket/'; +}; + +export type ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateResponses = { + 200: SelectedNodeDeletion; +}; + +export type ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateResponse = ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateResponses[keyof ModulesBasketFrontendBasketsActionsRemoveFromBasketCreateResponses]; + +export type ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this frontend basket. + */ + id: number; + }; + query?: { + /** + * Name of the fields you want to expand. Available fields: billing_information, created_by + */ + expand?: string; + /** + * `all` uses all SelectedNodeExtraInfo, `inline_only` only considers inline groups, and `no_inline` only non-inlined. + */ + inline_type?: 'all' | 'inline_only' | 'no_inline'; + }; + url: '/api/v2/modules_basket/frontend_baskets/{id}/actions/validate_extra_infos/'; +}; + +export type ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveResponses = { + 200: SelectedNodeExtraInfo; +}; + +export type ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveResponse = ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveResponses[keyof ModulesBasketFrontendBasketsActionsValidateExtraInfosRetrieveResponses]; + +export type ModulesCompletionCompletionStartedCreateData = { + body: CompletionStarted; + path?: never; + query?: never; + url: '/api/v2/modules_completion/completion_started/'; +}; + +export type ModulesCompletionCompletionStartedCreateResponses = { + 201: CompletionStarted; +}; + +export type ModulesCompletionCompletionStartedCreateResponse = ModulesCompletionCompletionStartedCreateResponses[keyof ModulesCompletionCompletionStartedCreateResponses]; + +export type ModulesCompletionConfirmationPageExtraTextModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/'; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesListResponses = { + 200: PaginatedConfirmationPageExtraTextActiveModuleList; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesListResponse = ModulesCompletionConfirmationPageExtraTextModulesListResponses[keyof ModulesCompletionConfirmationPageExtraTextModulesListResponses]; + +export type ModulesCompletionConfirmationPageExtraTextModulesCreateData = { + body: ConfirmationPageExtraTextActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/'; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesCreateResponses = { + 201: ConfirmationPageExtraTextActiveModule; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesCreateResponse = ModulesCompletionConfirmationPageExtraTextModulesCreateResponses[keyof ModulesCompletionConfirmationPageExtraTextModulesCreateResponses]; + +export type ModulesCompletionConfirmationPageExtraTextModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/{id}/'; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesDestroyResponse = ModulesCompletionConfirmationPageExtraTextModulesDestroyResponses[keyof ModulesCompletionConfirmationPageExtraTextModulesDestroyResponses]; + +export type ModulesCompletionConfirmationPageExtraTextModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/{id}/'; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesRetrieveResponses = { + 200: ConfirmationPageExtraTextActiveModule; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesRetrieveResponse = ModulesCompletionConfirmationPageExtraTextModulesRetrieveResponses[keyof ModulesCompletionConfirmationPageExtraTextModulesRetrieveResponses]; + +export type ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateData = { + body?: PatchedConfirmationPageExtraTextActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/confirmation_page_extra_text/modules/{id}/'; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateResponses = { + 200: ConfirmationPageExtraTextActiveModule; +}; + +export type ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateResponse = ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateResponses[keyof ModulesCompletionConfirmationPageExtraTextModulesPartialUpdateResponses]; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/'; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesListResponses = { + 200: PaginatedModuleCompletionEmailRegistrationCompletedActiveModuleList; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesListResponse = ModulesCompletionEmailRegistrationCompletedSimpleModulesListResponses[keyof ModulesCompletionEmailRegistrationCompletedSimpleModulesListResponses]; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateData = { + body: ModuleCompletionEmailRegistrationCompletedActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/'; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateResponses = { + 201: ModuleCompletionEmailRegistrationCompletedActiveModule; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateResponse = ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateResponses[keyof ModulesCompletionEmailRegistrationCompletedSimpleModulesCreateResponses]; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/{id}/'; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyResponse = ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyResponses[keyof ModulesCompletionEmailRegistrationCompletedSimpleModulesDestroyResponses]; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/{id}/'; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveResponses = { + 200: ModuleCompletionEmailRegistrationCompletedActiveModule; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveResponse = ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveResponses[keyof ModulesCompletionEmailRegistrationCompletedSimpleModulesRetrieveResponses]; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateData = { + body?: PatchedModuleCompletionEmailRegistrationCompletedActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/email_registration_completed_simple/modules/{id}/'; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateResponses = { + 200: ModuleCompletionEmailRegistrationCompletedActiveModule; +}; + +export type ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateResponse = ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateResponses[keyof ModulesCompletionEmailRegistrationCompletedSimpleModulesPartialUpdateResponses]; + +export type ModulesCompletionEmailRegistrationCreationModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_completion/email_registration_creation/modules/'; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesListResponses = { + 200: PaginatedModuleCompletionEmailRegistrationCreationActiveModuleList; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesListResponse = ModulesCompletionEmailRegistrationCreationModulesListResponses[keyof ModulesCompletionEmailRegistrationCreationModulesListResponses]; + +export type ModulesCompletionEmailRegistrationCreationModulesCreateData = { + body: ModuleCompletionEmailRegistrationCreationActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_completion/email_registration_creation/modules/'; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesCreateResponses = { + 201: ModuleCompletionEmailRegistrationCreationActiveModule; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesCreateResponse = ModulesCompletionEmailRegistrationCreationModulesCreateResponses[keyof ModulesCompletionEmailRegistrationCreationModulesCreateResponses]; + +export type ModulesCompletionEmailRegistrationCreationModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/email_registration_creation/modules/{id}/'; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesDestroyResponse = ModulesCompletionEmailRegistrationCreationModulesDestroyResponses[keyof ModulesCompletionEmailRegistrationCreationModulesDestroyResponses]; + +export type ModulesCompletionEmailRegistrationCreationModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/email_registration_creation/modules/{id}/'; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesRetrieveResponses = { + 200: ModuleCompletionEmailRegistrationCreationActiveModule; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesRetrieveResponse = ModulesCompletionEmailRegistrationCreationModulesRetrieveResponses[keyof ModulesCompletionEmailRegistrationCreationModulesRetrieveResponses]; + +export type ModulesCompletionEmailRegistrationCreationModulesPartialUpdateData = { + body?: PatchedModuleCompletionEmailRegistrationCreationActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/email_registration_creation/modules/{id}/'; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesPartialUpdateResponses = { + 200: ModuleCompletionEmailRegistrationCreationActiveModule; +}; + +export type ModulesCompletionEmailRegistrationCreationModulesPartialUpdateResponse = ModulesCompletionEmailRegistrationCreationModulesPartialUpdateResponses[keyof ModulesCompletionEmailRegistrationCreationModulesPartialUpdateResponses]; + +export type ModulesCompletionPdfTicketModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_completion/pdf_ticket/modules/'; +}; + +export type ModulesCompletionPdfTicketModulesListResponses = { + 200: PaginatedModuleCompletionPdfTicketActiveModuleList; +}; + +export type ModulesCompletionPdfTicketModulesListResponse = ModulesCompletionPdfTicketModulesListResponses[keyof ModulesCompletionPdfTicketModulesListResponses]; + +export type ModulesCompletionPdfTicketModulesCreateData = { + body: ModuleCompletionPdfTicketActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_completion/pdf_ticket/modules/'; +}; + +export type ModulesCompletionPdfTicketModulesCreateResponses = { + 201: ModuleCompletionPdfTicketActiveModule; +}; + +export type ModulesCompletionPdfTicketModulesCreateResponse = ModulesCompletionPdfTicketModulesCreateResponses[keyof ModulesCompletionPdfTicketModulesCreateResponses]; + +export type ModulesCompletionPdfTicketModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/pdf_ticket/modules/{id}/'; +}; + +export type ModulesCompletionPdfTicketModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesCompletionPdfTicketModulesDestroyResponse = ModulesCompletionPdfTicketModulesDestroyResponses[keyof ModulesCompletionPdfTicketModulesDestroyResponses]; + +export type ModulesCompletionPdfTicketModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/pdf_ticket/modules/{id}/'; +}; + +export type ModulesCompletionPdfTicketModulesRetrieveResponses = { + 200: ModuleCompletionPdfTicketActiveModule; +}; + +export type ModulesCompletionPdfTicketModulesRetrieveResponse = ModulesCompletionPdfTicketModulesRetrieveResponses[keyof ModulesCompletionPdfTicketModulesRetrieveResponses]; + +export type ModulesCompletionPdfTicketModulesPartialUpdateData = { + body?: PatchedModuleCompletionPdfTicketActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/pdf_ticket/modules/{id}/'; +}; + +export type ModulesCompletionPdfTicketModulesPartialUpdateResponses = { + 200: ModuleCompletionPdfTicketActiveModule; +}; + +export type ModulesCompletionPdfTicketModulesPartialUpdateResponse = ModulesCompletionPdfTicketModulesPartialUpdateResponses[keyof ModulesCompletionPdfTicketModulesPartialUpdateResponses]; + +export type ModulesCompletionRedirectModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_completion/redirect/modules/'; +}; + +export type ModulesCompletionRedirectModulesListResponses = { + 200: PaginatedModuleCompletionRedirectActiveModuleList; +}; + +export type ModulesCompletionRedirectModulesListResponse = ModulesCompletionRedirectModulesListResponses[keyof ModulesCompletionRedirectModulesListResponses]; + +export type ModulesCompletionRedirectModulesCreateData = { + body: ModuleCompletionRedirectActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_completion/redirect/modules/'; +}; + +export type ModulesCompletionRedirectModulesCreateResponses = { + 201: ModuleCompletionRedirectActiveModule; +}; + +export type ModulesCompletionRedirectModulesCreateResponse = ModulesCompletionRedirectModulesCreateResponses[keyof ModulesCompletionRedirectModulesCreateResponses]; + +export type ModulesCompletionRedirectModulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/redirect/modules/{id}/'; +}; + +export type ModulesCompletionRedirectModulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesCompletionRedirectModulesDestroyResponse = ModulesCompletionRedirectModulesDestroyResponses[keyof ModulesCompletionRedirectModulesDestroyResponses]; + +export type ModulesCompletionRedirectModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/redirect/modules/{id}/'; +}; + +export type ModulesCompletionRedirectModulesRetrieveResponses = { + 200: ModuleCompletionRedirectActiveModule; +}; + +export type ModulesCompletionRedirectModulesRetrieveResponse = ModulesCompletionRedirectModulesRetrieveResponses[keyof ModulesCompletionRedirectModulesRetrieveResponses]; + +export type ModulesCompletionRedirectModulesPartialUpdateData = { + body?: PatchedModuleCompletionRedirectActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_completion/redirect/modules/{id}/'; +}; + +export type ModulesCompletionRedirectModulesPartialUpdateResponses = { + 200: ModuleCompletionRedirectActiveModule; +}; + +export type ModulesCompletionRedirectModulesPartialUpdateResponse = ModulesCompletionRedirectModulesPartialUpdateResponses[keyof ModulesCompletionRedirectModulesPartialUpdateResponses]; + +export type ModulesPaymentsMethodsListData = { + body?: never; + path?: never; + query: { + /** + * The FrontendBasket id used to access the resource. + */ + basket: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_payments/methods/'; +}; + +export type ModulesPaymentsMethodsListResponses = { + 200: PaginatedPaymentMethodList; +}; + +export type ModulesPaymentsMethodsListResponse = ModulesPaymentsMethodsListResponses[keyof ModulesPaymentsMethodsListResponses]; + +export type ModulesPaymentsMethodsActionsStartPaymentCreateData = { + body: PaymentStartWritable; + path?: never; + query?: never; + url: '/api/v2/modules_payments/methods/actions/start_payment/'; +}; + +export type ModulesPaymentsMethodsActionsStartPaymentCreateResponses = { + 200: PaymentStart; +}; + +export type ModulesPaymentsMethodsActionsStartPaymentCreateResponse = ModulesPaymentsMethodsActionsStartPaymentCreateResponses[keyof ModulesPaymentsMethodsActionsStartPaymentCreateResponses]; + +export type ModulesPaymentsPaymentIntentsListData = { + body?: never; + path?: never; + query?: { + basket_id?: number; + /** + * Add the name of the fields you want to expand. Available fields: invoice + */ + expand?: string; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_payments/payment_intents/'; +}; + +export type ModulesPaymentsPaymentIntentsListResponses = { + 200: PaginatedPaymentIntentList; +}; + +export type ModulesPaymentsPaymentIntentsListResponse = ModulesPaymentsPaymentIntentsListResponses[keyof ModulesPaymentsPaymentIntentsListResponses]; + +export type ModulesPaymentsPaymentIntentsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this payment intent. + */ + id: number; + }; + query?: { + /** + * Add the name of the fields you want to expand. Available fields: invoice + */ + expand?: string; + }; + url: '/api/v2/modules_payments/payment_intents/{id}/'; +}; + +export type ModulesPaymentsPaymentIntentsRetrieveResponses = { + 200: PaymentIntent; +}; + +export type ModulesPaymentsPaymentIntentsRetrieveResponse = ModulesPaymentsPaymentIntentsRetrieveResponses[keyof ModulesPaymentsPaymentIntentsRetrieveResponses]; + +export type ModulesPaymentsPaymentIntentsActionsCancelCreateData = { + body: PaymentIntent; + path: { + /** + * A unique integer value identifying this payment intent. + */ + id: number; + }; + query?: { + /** + * Add the name of the fields you want to expand. Available fields: invoice + */ + expand?: string; + }; + url: '/api/v2/modules_payments/payment_intents/{id}/actions/cancel/'; +}; + +export type ModulesPaymentsPaymentIntentsActionsCancelCreateErrors = { + 400: CancelError; +}; + +export type ModulesPaymentsPaymentIntentsActionsCancelCreateError = ModulesPaymentsPaymentIntentsActionsCancelCreateErrors[keyof ModulesPaymentsPaymentIntentsActionsCancelCreateErrors]; + +export type ModulesPaymentsPaymentIntentsActionsCancelCreateResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesPaymentsPaymentIntentsActionsCancelCreateResponse = ModulesPaymentsPaymentIntentsActionsCancelCreateResponses[keyof ModulesPaymentsPaymentIntentsActionsCancelCreateResponses]; + +export type ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateData = { + body: PaymentIntentRequestUpdate; + path: { + /** + * A unique integer value identifying this payment intent. + */ + id: number; + }; + query?: { + /** + * Add the name of the fields you want to expand. Available fields: invoice + */ + expand?: string; + }; + url: '/api/v2/modules_payments/payment_intents/{id}/actions/request_status_update/'; +}; + +export type ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateResponses = { + 200: PaymentIntentRequestUpdate; +}; + +export type ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateResponse = ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateResponses[keyof ModulesPaymentsPaymentIntentsActionsRequestStatusUpdateCreateResponses]; + +export type ModulesPaymentsPayrexxModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_payments/payrexx/modules/'; +}; + +export type ModulesPaymentsPayrexxModulesListResponses = { + 200: PaginatedModulePaymentPayrexxActiveModuleList; +}; + +export type ModulesPaymentsPayrexxModulesListResponse = ModulesPaymentsPayrexxModulesListResponses[keyof ModulesPaymentsPayrexxModulesListResponses]; + +export type ModulesPaymentsPayrexxModulesCreateData = { + body: ModulePaymentPayrexxActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_payments/payrexx/modules/'; +}; + +export type ModulesPaymentsPayrexxModulesCreateResponses = { + 201: ModulePaymentPayrexxActiveModule; +}; + +export type ModulesPaymentsPayrexxModulesCreateResponse = ModulesPaymentsPayrexxModulesCreateResponses[keyof ModulesPaymentsPayrexxModulesCreateResponses]; + +export type ModulesPaymentsPayrexxModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/payrexx/modules/{id}/'; +}; + +export type ModulesPaymentsPayrexxModulesRetrieveResponses = { + 200: ModulePaymentPayrexxActiveModule; +}; + +export type ModulesPaymentsPayrexxModulesRetrieveResponse = ModulesPaymentsPayrexxModulesRetrieveResponses[keyof ModulesPaymentsPayrexxModulesRetrieveResponses]; + +export type ModulesPaymentsPayrexxModulesPartialUpdateData = { + body?: PatchedModulePaymentPayrexxActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/payrexx/modules/{id}/'; +}; + +export type ModulesPaymentsPayrexxModulesPartialUpdateResponses = { + 200: ModulePaymentPayrexxActiveModule; +}; + +export type ModulesPaymentsPayrexxModulesPartialUpdateResponse = ModulesPaymentsPayrexxModulesPartialUpdateResponses[keyof ModulesPaymentsPayrexxModulesPartialUpdateResponses]; + +export type ModulesPaymentsPayrexxWebhooksCreateData = { + body: Webhooks; + path?: never; + query?: never; + url: '/api/v2/modules_payments/payrexx/webhooks/'; +}; + +export type ModulesPaymentsPayrexxWebhooksCreateResponses = { + 201: Webhooks; +}; + +export type ModulesPaymentsPayrexxWebhooksCreateResponse = ModulesPaymentsPayrexxWebhooksCreateResponses[keyof ModulesPaymentsPayrexxWebhooksCreateResponses]; + +export type ModulesPaymentsPointofsaleModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_payments/pointofsale/modules/'; +}; + +export type ModulesPaymentsPointofsaleModulesListResponses = { + 200: PaginatedModulePaymentPointOfSaleActiveModuleList; +}; + +export type ModulesPaymentsPointofsaleModulesListResponse = ModulesPaymentsPointofsaleModulesListResponses[keyof ModulesPaymentsPointofsaleModulesListResponses]; + +export type ModulesPaymentsPointofsaleModulesCreateData = { + body: ModulePaymentPointOfSaleActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_payments/pointofsale/modules/'; +}; + +export type ModulesPaymentsPointofsaleModulesCreateResponses = { + 201: ModulePaymentPointOfSaleActiveModule; +}; + +export type ModulesPaymentsPointofsaleModulesCreateResponse = ModulesPaymentsPointofsaleModulesCreateResponses[keyof ModulesPaymentsPointofsaleModulesCreateResponses]; + +export type ModulesPaymentsPointofsaleModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/pointofsale/modules/{id}/'; +}; + +export type ModulesPaymentsPointofsaleModulesRetrieveResponses = { + 200: ModulePaymentPointOfSaleActiveModule; +}; + +export type ModulesPaymentsPointofsaleModulesRetrieveResponse = ModulesPaymentsPointofsaleModulesRetrieveResponses[keyof ModulesPaymentsPointofsaleModulesRetrieveResponses]; + +export type ModulesPaymentsPointofsaleModulesPartialUpdateData = { + body?: PatchedModulePaymentPointOfSaleActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/pointofsale/modules/{id}/'; +}; + +export type ModulesPaymentsPointofsaleModulesPartialUpdateResponses = { + 200: ModulePaymentPointOfSaleActiveModule; +}; + +export type ModulesPaymentsPointofsaleModulesPartialUpdateResponse = ModulesPaymentsPointofsaleModulesPartialUpdateResponses[keyof ModulesPaymentsPointofsaleModulesPartialUpdateResponses]; + +export type ModulesPaymentsPointofsalePlacesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_payments/pointofsale/places/'; +}; + +export type ModulesPaymentsPointofsalePlacesListResponses = { + 200: PaginatedPointOfSalePlaceReadOnlyList; +}; + +export type ModulesPaymentsPointofsalePlacesListResponse = ModulesPaymentsPointofsalePlacesListResponses[keyof ModulesPaymentsPointofsalePlacesListResponses]; + +export type ModulesPaymentsPointofsalePlacesCreateData = { + body?: PointOfSalePlaceReadOnly; + path?: never; + query?: never; + url: '/api/v2/modules_payments/pointofsale/places/'; +}; + +export type ModulesPaymentsPointofsalePlacesCreateResponses = { + 201: PointOfSalePlaceReadOnly; +}; + +export type ModulesPaymentsPointofsalePlacesCreateResponse = ModulesPaymentsPointofsalePlacesCreateResponses[keyof ModulesPaymentsPointofsalePlacesCreateResponses]; + +export type ModulesPaymentsPointofsalePlacesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this module payment point of sale configuration place. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/pointofsale/places/{id}/'; +}; + +export type ModulesPaymentsPointofsalePlacesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesPaymentsPointofsalePlacesDestroyResponse = ModulesPaymentsPointofsalePlacesDestroyResponses[keyof ModulesPaymentsPointofsalePlacesDestroyResponses]; + +export type ModulesPaymentsPointofsalePlacesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this module payment point of sale configuration place. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/pointofsale/places/{id}/'; +}; + +export type ModulesPaymentsPointofsalePlacesRetrieveResponses = { + 200: PointOfSalePlaceReadOnly; +}; + +export type ModulesPaymentsPointofsalePlacesRetrieveResponse = ModulesPaymentsPointofsalePlacesRetrieveResponses[keyof ModulesPaymentsPointofsalePlacesRetrieveResponses]; + +export type ModulesPaymentsPointofsalePlacesPartialUpdateData = { + body?: PatchedPointOfSalePlaceReadOnly; + path: { + /** + * A unique integer value identifying this module payment point of sale configuration place. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_payments/pointofsale/places/{id}/'; +}; + +export type ModulesPaymentsPointofsalePlacesPartialUpdateResponses = { + 200: PointOfSalePlaceReadOnly; +}; + +export type ModulesPaymentsPointofsalePlacesPartialUpdateResponse = ModulesPaymentsPointofsalePlacesPartialUpdateResponses[keyof ModulesPaymentsPointofsalePlacesPartialUpdateResponses]; + +export type ModulesRegistrationsAccessManagementModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/access_management/modules/'; +}; + +export type ModulesRegistrationsAccessManagementModulesListResponses = { + 200: PaginatedModuleRegistrationAccessManagementActiveModuleList; +}; + +export type ModulesRegistrationsAccessManagementModulesListResponse = ModulesRegistrationsAccessManagementModulesListResponses[keyof ModulesRegistrationsAccessManagementModulesListResponses]; + +export type ModulesRegistrationsAccessManagementModulesCreateData = { + body: ModuleRegistrationAccessManagementActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/access_management/modules/'; +}; + +export type ModulesRegistrationsAccessManagementModulesCreateResponses = { + 201: ModuleRegistrationAccessManagementActiveModule; +}; + +export type ModulesRegistrationsAccessManagementModulesCreateResponse = ModulesRegistrationsAccessManagementModulesCreateResponses[keyof ModulesRegistrationsAccessManagementModulesCreateResponses]; + +export type ModulesRegistrationsAccessManagementModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/access_management/modules/{id}/'; +}; + +export type ModulesRegistrationsAccessManagementModulesRetrieveResponses = { + 200: ModuleRegistrationAccessManagementActiveModule; +}; + +export type ModulesRegistrationsAccessManagementModulesRetrieveResponse = ModulesRegistrationsAccessManagementModulesRetrieveResponses[keyof ModulesRegistrationsAccessManagementModulesRetrieveResponses]; + +export type ModulesRegistrationsAccessManagementModulesPartialUpdateData = { + body?: PatchedModuleRegistrationAccessManagementActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/access_management/modules/{id}/'; +}; + +export type ModulesRegistrationsAccessManagementModulesPartialUpdateResponses = { + 200: ModuleRegistrationAccessManagementActiveModule; +}; + +export type ModulesRegistrationsAccessManagementModulesPartialUpdateResponse = ModulesRegistrationsAccessManagementModulesPartialUpdateResponses[keyof ModulesRegistrationsAccessManagementModulesPartialUpdateResponses]; + +export type ModulesRegistrationsAccessManagementPlacesListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/access_management/places/'; +}; + +export type ModulesRegistrationsAccessManagementPlacesListResponses = { + 200: PaginatedAccessManagementPlaceList; +}; + +export type ModulesRegistrationsAccessManagementPlacesListResponse = ModulesRegistrationsAccessManagementPlacesListResponses[keyof ModulesRegistrationsAccessManagementPlacesListResponses]; + +export type ModulesRegistrationsAccessManagementPlacesCreateData = { + body: AccessManagementPlace; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/access_management/places/'; +}; + +export type ModulesRegistrationsAccessManagementPlacesCreateResponses = { + 201: AccessManagementPlace; +}; + +export type ModulesRegistrationsAccessManagementPlacesCreateResponse = ModulesRegistrationsAccessManagementPlacesCreateResponses[keyof ModulesRegistrationsAccessManagementPlacesCreateResponses]; + +export type ModulesRegistrationsAccessManagementPlacesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this access management place. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/access_management/places/{id}/'; +}; + +export type ModulesRegistrationsAccessManagementPlacesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsAccessManagementPlacesDestroyResponse = ModulesRegistrationsAccessManagementPlacesDestroyResponses[keyof ModulesRegistrationsAccessManagementPlacesDestroyResponses]; + +export type ModulesRegistrationsAccessManagementPlacesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this access management place. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/access_management/places/{id}/'; +}; + +export type ModulesRegistrationsAccessManagementPlacesRetrieveResponses = { + 200: AccessManagementPlace; +}; + +export type ModulesRegistrationsAccessManagementPlacesRetrieveResponse = ModulesRegistrationsAccessManagementPlacesRetrieveResponses[keyof ModulesRegistrationsAccessManagementPlacesRetrieveResponses]; + +export type ModulesRegistrationsAccessManagementPlacesPartialUpdateData = { + body?: PatchedAccessManagementPlace; + path: { + /** + * A unique integer value identifying this access management place. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/access_management/places/{id}/'; +}; + +export type ModulesRegistrationsAccessManagementPlacesPartialUpdateResponses = { + 200: AccessManagementPlace; +}; + +export type ModulesRegistrationsAccessManagementPlacesPartialUpdateResponse = ModulesRegistrationsAccessManagementPlacesPartialUpdateResponses[keyof ModulesRegistrationsAccessManagementPlacesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsAccessesListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + node_configurations?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/accesses/'; +}; + +export type ModulesRegistrationsOptionsAccessesListResponses = { + 200: PaginatedNodeAccessList; +}; + +export type ModulesRegistrationsOptionsAccessesListResponse = ModulesRegistrationsOptionsAccessesListResponses[keyof ModulesRegistrationsOptionsAccessesListResponses]; + +export type ModulesRegistrationsOptionsAccessesCreateData = { + body: NodeAccessWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/accesses/'; +}; + +export type ModulesRegistrationsOptionsAccessesCreateResponses = { + 201: NodeAccess; +}; + +export type ModulesRegistrationsOptionsAccessesCreateResponse = ModulesRegistrationsOptionsAccessesCreateResponses[keyof ModulesRegistrationsOptionsAccessesCreateResponses]; + +export type ModulesRegistrationsOptionsAccessesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node access. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/accesses/{id}/'; +}; + +export type ModulesRegistrationsOptionsAccessesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsAccessesDestroyResponse = ModulesRegistrationsOptionsAccessesDestroyResponses[keyof ModulesRegistrationsOptionsAccessesDestroyResponses]; + +export type ModulesRegistrationsOptionsAccessesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node access. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/accesses/{id}/'; +}; + +export type ModulesRegistrationsOptionsAccessesRetrieveResponses = { + 200: NodeAccess; +}; + +export type ModulesRegistrationsOptionsAccessesRetrieveResponse = ModulesRegistrationsOptionsAccessesRetrieveResponses[keyof ModulesRegistrationsOptionsAccessesRetrieveResponses]; + +export type ModulesRegistrationsOptionsAccessesPartialUpdateData = { + body?: PatchedNodeAccessWritable; + path: { + /** + * A unique integer value identifying this node access. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/accesses/{id}/'; +}; + +export type ModulesRegistrationsOptionsAccessesPartialUpdateResponses = { + 200: NodeAccess; +}; + +export type ModulesRegistrationsOptionsAccessesPartialUpdateResponse = ModulesRegistrationsOptionsAccessesPartialUpdateResponses[keyof ModulesRegistrationsOptionsAccessesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsAccessesM2mListData = { + body?: never; + path?: never; + query?: { + access?: number; + event_id?: number; + node_configuration?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/accesses_m2m/'; +}; + +export type ModulesRegistrationsOptionsAccessesM2mListResponses = { + 200: PaginatedNodeAccessM2mList; +}; + +export type ModulesRegistrationsOptionsAccessesM2mListResponse = ModulesRegistrationsOptionsAccessesM2mListResponses[keyof ModulesRegistrationsOptionsAccessesM2mListResponses]; + +export type ModulesRegistrationsOptionsAccessesM2mCreateData = { + body: NodeAccessM2mWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/accesses_m2m/'; +}; + +export type ModulesRegistrationsOptionsAccessesM2mCreateResponses = { + 201: NodeAccessM2M; +}; + +export type ModulesRegistrationsOptionsAccessesM2mCreateResponse = ModulesRegistrationsOptionsAccessesM2mCreateResponses[keyof ModulesRegistrationsOptionsAccessesM2mCreateResponses]; + +export type ModulesRegistrationsOptionsAccessesM2mDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node access m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/accesses_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsAccessesM2mDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsAccessesM2mDestroyResponse = ModulesRegistrationsOptionsAccessesM2mDestroyResponses[keyof ModulesRegistrationsOptionsAccessesM2mDestroyResponses]; + +export type ModulesRegistrationsOptionsAccessesM2mRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node access m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/accesses_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsAccessesM2mRetrieveResponses = { + 200: NodeAccessM2M; +}; + +export type ModulesRegistrationsOptionsAccessesM2mRetrieveResponse = ModulesRegistrationsOptionsAccessesM2mRetrieveResponses[keyof ModulesRegistrationsOptionsAccessesM2mRetrieveResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + node_configurations?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/availabilities/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesListResponses = { + 200: PaginatedNodeAvailabilityList; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesListResponse = ModulesRegistrationsOptionsAvailabilitiesListResponses[keyof ModulesRegistrationsOptionsAvailabilitiesListResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesCreateData = { + body: NodeAvailabilityWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesCreateResponses = { + 201: NodeAvailability; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesCreateResponse = ModulesRegistrationsOptionsAvailabilitiesCreateResponses[keyof ModulesRegistrationsOptionsAvailabilitiesCreateResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node availability. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities/{id}/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesDestroyResponse = ModulesRegistrationsOptionsAvailabilitiesDestroyResponses[keyof ModulesRegistrationsOptionsAvailabilitiesDestroyResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node availability. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities/{id}/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesRetrieveResponses = { + 200: NodeAvailability; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesRetrieveResponse = ModulesRegistrationsOptionsAvailabilitiesRetrieveResponses[keyof ModulesRegistrationsOptionsAvailabilitiesRetrieveResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesPartialUpdateData = { + body?: PatchedNodeAvailabilityWritable; + path: { + /** + * A unique integer value identifying this node availability. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities/{id}/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesPartialUpdateResponses = { + 200: NodeAvailability; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesPartialUpdateResponse = ModulesRegistrationsOptionsAvailabilitiesPartialUpdateResponses[keyof ModulesRegistrationsOptionsAvailabilitiesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mListData = { + body?: never; + path?: never; + query?: { + availability?: number; + event_id?: number; + node_configuration?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/availabilities_m2m/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mListResponses = { + 200: PaginatedNodeAvailabilityM2mList; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mListResponse = ModulesRegistrationsOptionsAvailabilitiesM2mListResponses[keyof ModulesRegistrationsOptionsAvailabilitiesM2mListResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mCreateData = { + body: NodeAvailabilityM2mWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities_m2m/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mCreateResponses = { + 201: NodeAvailabilityM2M; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mCreateResponse = ModulesRegistrationsOptionsAvailabilitiesM2mCreateResponses[keyof ModulesRegistrationsOptionsAvailabilitiesM2mCreateResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node availability m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mDestroyResponse = ModulesRegistrationsOptionsAvailabilitiesM2mDestroyResponses[keyof ModulesRegistrationsOptionsAvailabilitiesM2mDestroyResponses]; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node availability m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/availabilities_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveResponses = { + 200: NodeAvailabilityM2M; +}; + +export type ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveResponse = ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveResponses[keyof ModulesRegistrationsOptionsAvailabilitiesM2mRetrieveResponses]; + +export type ModulesRegistrationsOptionsConditionsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/conditions/'; +}; + +export type ModulesRegistrationsOptionsConditionsListResponses = { + 200: PaginatedConditionList; +}; + +export type ModulesRegistrationsOptionsConditionsListResponse = ModulesRegistrationsOptionsConditionsListResponses[keyof ModulesRegistrationsOptionsConditionsListResponses]; + +export type ModulesRegistrationsOptionsConditionsCreateData = { + body: ConditionWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/conditions/'; +}; + +export type ModulesRegistrationsOptionsConditionsCreateResponses = { + 201: Condition; +}; + +export type ModulesRegistrationsOptionsConditionsCreateResponse = ModulesRegistrationsOptionsConditionsCreateResponses[keyof ModulesRegistrationsOptionsConditionsCreateResponses]; + +export type ModulesRegistrationsOptionsConditionsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this condition. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/conditions/{id}/'; +}; + +export type ModulesRegistrationsOptionsConditionsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsConditionsDestroyResponse = ModulesRegistrationsOptionsConditionsDestroyResponses[keyof ModulesRegistrationsOptionsConditionsDestroyResponses]; + +export type ModulesRegistrationsOptionsConditionsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this condition. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/conditions/{id}/'; +}; + +export type ModulesRegistrationsOptionsConditionsRetrieveResponses = { + 200: Condition; +}; + +export type ModulesRegistrationsOptionsConditionsRetrieveResponse = ModulesRegistrationsOptionsConditionsRetrieveResponses[keyof ModulesRegistrationsOptionsConditionsRetrieveResponses]; + +export type ModulesRegistrationsOptionsConditionsPartialUpdateData = { + body?: PatchedConditionWritable; + path: { + /** + * A unique integer value identifying this condition. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/conditions/{id}/'; +}; + +export type ModulesRegistrationsOptionsConditionsPartialUpdateResponses = { + 200: Condition; +}; + +export type ModulesRegistrationsOptionsConditionsPartialUpdateResponse = ModulesRegistrationsOptionsConditionsPartialUpdateResponses[keyof ModulesRegistrationsOptionsConditionsPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/extra_info_groups/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsListResponses = { + 200: PaginatedNodeExtraInfoGroupList; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsListResponse = ModulesRegistrationsOptionsExtraInfoGroupsListResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsListResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsCreateData = { + body: NodeExtraInfoGroupWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsCreateResponses = { + 201: NodeExtraInfoGroup; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsCreateResponse = ModulesRegistrationsOptionsExtraInfoGroupsCreateResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsCreateResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node extra info group. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsDestroyResponse = ModulesRegistrationsOptionsExtraInfoGroupsDestroyResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsDestroyResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node extra info group. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsRetrieveResponses = { + 200: NodeExtraInfoGroup; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsRetrieveResponse = ModulesRegistrationsOptionsExtraInfoGroupsRetrieveResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsRetrieveResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateData = { + body?: PatchedNodeExtraInfoGroupWritable; + path: { + /** + * A unique integer value identifying this node extra info group. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateResponses = { + 200: NodeExtraInfoGroup; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateResponse = ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mListResponses = { + 200: PaginatedNodeExtraInfoGroupM2mList; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mListResponse = ModulesRegistrationsOptionsExtraInfoGroupsM2mListResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsM2mListResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateData = { + body: NodeExtraInfoGroupM2mWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateResponses = { + 201: NodeExtraInfoGroupM2M; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateResponse = ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsM2mCreateResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node extra info group m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyResponse = ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsM2mDestroyResponses]; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node extra info group m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_info_groups_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveResponses = { + 200: NodeExtraInfoGroupM2M; +}; + +export type ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveResponse = ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveResponses[keyof ModulesRegistrationsOptionsExtraInfoGroupsM2mRetrieveResponses]; + +export type ModulesRegistrationsOptionsExtraInfosListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/extra_infos/'; +}; + +export type ModulesRegistrationsOptionsExtraInfosListResponses = { + 200: PaginatedNodeExtraInfoList; +}; + +export type ModulesRegistrationsOptionsExtraInfosListResponse = ModulesRegistrationsOptionsExtraInfosListResponses[keyof ModulesRegistrationsOptionsExtraInfosListResponses]; + +export type ModulesRegistrationsOptionsExtraInfosCreateData = { + body: NodeExtraInfoWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/extra_infos/'; +}; + +export type ModulesRegistrationsOptionsExtraInfosCreateResponses = { + 201: NodeExtraInfo; +}; + +export type ModulesRegistrationsOptionsExtraInfosCreateResponse = ModulesRegistrationsOptionsExtraInfosCreateResponses[keyof ModulesRegistrationsOptionsExtraInfosCreateResponses]; + +export type ModulesRegistrationsOptionsExtraInfosDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node extra info. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_infos/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfosDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsExtraInfosDestroyResponse = ModulesRegistrationsOptionsExtraInfosDestroyResponses[keyof ModulesRegistrationsOptionsExtraInfosDestroyResponses]; + +export type ModulesRegistrationsOptionsExtraInfosRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node extra info. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_infos/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfosRetrieveResponses = { + 200: NodeExtraInfo; +}; + +export type ModulesRegistrationsOptionsExtraInfosRetrieveResponse = ModulesRegistrationsOptionsExtraInfosRetrieveResponses[keyof ModulesRegistrationsOptionsExtraInfosRetrieveResponses]; + +export type ModulesRegistrationsOptionsExtraInfosPartialUpdateData = { + body?: PatchedNodeExtraInfoWritable; + path: { + /** + * A unique integer value identifying this node extra info. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/extra_infos/{id}/'; +}; + +export type ModulesRegistrationsOptionsExtraInfosPartialUpdateResponses = { + 200: NodeExtraInfo; +}; + +export type ModulesRegistrationsOptionsExtraInfosPartialUpdateResponse = ModulesRegistrationsOptionsExtraInfosPartialUpdateResponses[keyof ModulesRegistrationsOptionsExtraInfosPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsLimitsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + node_configurations?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/limits/'; +}; + +export type ModulesRegistrationsOptionsLimitsListResponses = { + 200: PaginatedNodeLimitList; +}; + +export type ModulesRegistrationsOptionsLimitsListResponse = ModulesRegistrationsOptionsLimitsListResponses[keyof ModulesRegistrationsOptionsLimitsListResponses]; + +export type ModulesRegistrationsOptionsLimitsCreateData = { + body: NodeLimitWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/limits/'; +}; + +export type ModulesRegistrationsOptionsLimitsCreateResponses = { + 201: NodeLimit; +}; + +export type ModulesRegistrationsOptionsLimitsCreateResponse = ModulesRegistrationsOptionsLimitsCreateResponses[keyof ModulesRegistrationsOptionsLimitsCreateResponses]; + +export type ModulesRegistrationsOptionsLimitsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node limit. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/limits/{id}/'; +}; + +export type ModulesRegistrationsOptionsLimitsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsLimitsDestroyResponse = ModulesRegistrationsOptionsLimitsDestroyResponses[keyof ModulesRegistrationsOptionsLimitsDestroyResponses]; + +export type ModulesRegistrationsOptionsLimitsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node limit. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/limits/{id}/'; +}; + +export type ModulesRegistrationsOptionsLimitsRetrieveResponses = { + 200: NodeLimit; +}; + +export type ModulesRegistrationsOptionsLimitsRetrieveResponse = ModulesRegistrationsOptionsLimitsRetrieveResponses[keyof ModulesRegistrationsOptionsLimitsRetrieveResponses]; + +export type ModulesRegistrationsOptionsLimitsPartialUpdateData = { + body?: PatchedNodeLimitWritable; + path: { + /** + * A unique integer value identifying this node limit. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/limits/{id}/'; +}; + +export type ModulesRegistrationsOptionsLimitsPartialUpdateResponses = { + 200: NodeLimit; +}; + +export type ModulesRegistrationsOptionsLimitsPartialUpdateResponse = ModulesRegistrationsOptionsLimitsPartialUpdateResponses[keyof ModulesRegistrationsOptionsLimitsPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsLimitsM2mListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + limit?: number; + node_configuration?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/limits_m2m/'; +}; + +export type ModulesRegistrationsOptionsLimitsM2mListResponses = { + 200: PaginatedNodeLimitM2mList; +}; + +export type ModulesRegistrationsOptionsLimitsM2mListResponse = ModulesRegistrationsOptionsLimitsM2mListResponses[keyof ModulesRegistrationsOptionsLimitsM2mListResponses]; + +export type ModulesRegistrationsOptionsLimitsM2mCreateData = { + body: NodeLimitM2mWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/limits_m2m/'; +}; + +export type ModulesRegistrationsOptionsLimitsM2mCreateResponses = { + 201: NodeLimitM2M; +}; + +export type ModulesRegistrationsOptionsLimitsM2mCreateResponse = ModulesRegistrationsOptionsLimitsM2mCreateResponses[keyof ModulesRegistrationsOptionsLimitsM2mCreateResponses]; + +export type ModulesRegistrationsOptionsLimitsM2mDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node limit m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/limits_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsLimitsM2mDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsLimitsM2mDestroyResponse = ModulesRegistrationsOptionsLimitsM2mDestroyResponses[keyof ModulesRegistrationsOptionsLimitsM2mDestroyResponses]; + +export type ModulesRegistrationsOptionsLimitsM2mRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node limit m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/limits_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsLimitsM2mRetrieveResponses = { + 200: NodeLimitM2M; +}; + +export type ModulesRegistrationsOptionsLimitsM2mRetrieveResponse = ModulesRegistrationsOptionsLimitsM2mRetrieveResponses[keyof ModulesRegistrationsOptionsLimitsM2mRetrieveResponses]; + +export type ModulesRegistrationsOptionsModulesListData = { + body?: never; + path?: never; + query?: { + event?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/modules/'; +}; + +export type ModulesRegistrationsOptionsModulesListResponses = { + 200: PaginatedModuleRegistrationOptionsActiveModuleList; +}; + +export type ModulesRegistrationsOptionsModulesListResponse = ModulesRegistrationsOptionsModulesListResponses[keyof ModulesRegistrationsOptionsModulesListResponses]; + +export type ModulesRegistrationsOptionsModulesCreateData = { + body: ModuleRegistrationOptionsActiveModule; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/modules/'; +}; + +export type ModulesRegistrationsOptionsModulesCreateResponses = { + 201: ModuleRegistrationOptionsActiveModule; +}; + +export type ModulesRegistrationsOptionsModulesCreateResponse = ModulesRegistrationsOptionsModulesCreateResponses[keyof ModulesRegistrationsOptionsModulesCreateResponses]; + +export type ModulesRegistrationsOptionsModulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/modules/{id}/'; +}; + +export type ModulesRegistrationsOptionsModulesRetrieveResponses = { + 200: ModuleRegistrationOptionsActiveModule; +}; + +export type ModulesRegistrationsOptionsModulesRetrieveResponse = ModulesRegistrationsOptionsModulesRetrieveResponses[keyof ModulesRegistrationsOptionsModulesRetrieveResponses]; + +export type ModulesRegistrationsOptionsModulesPartialUpdateData = { + body?: PatchedModuleRegistrationOptionsActiveModule; + path: { + /** + * A unique integer value identifying this active module. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/modules/{id}/'; +}; + +export type ModulesRegistrationsOptionsModulesPartialUpdateResponses = { + 200: ModuleRegistrationOptionsActiveModule; +}; + +export type ModulesRegistrationsOptionsModulesPartialUpdateResponse = ModulesRegistrationsOptionsModulesPartialUpdateResponses[keyof ModulesRegistrationsOptionsModulesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/node_cart_configurations/'; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsListResponses = { + 200: PaginatedNodeCartConfigurationList; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsListResponse = ModulesRegistrationsOptionsNodeCartConfigurationsListResponses[keyof ModulesRegistrationsOptionsNodeCartConfigurationsListResponses]; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsCreateData = { + body: NodeCartConfigurationWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/node_cart_configurations/'; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsCreateResponses = { + 201: NodeCartConfiguration; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsCreateResponse = ModulesRegistrationsOptionsNodeCartConfigurationsCreateResponses[keyof ModulesRegistrationsOptionsNodeCartConfigurationsCreateResponses]; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node cart configuration. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/node_cart_configurations/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsDestroyResponse = ModulesRegistrationsOptionsNodeCartConfigurationsDestroyResponses[keyof ModulesRegistrationsOptionsNodeCartConfigurationsDestroyResponses]; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node cart configuration. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/node_cart_configurations/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveResponses = { + 200: NodeCartConfiguration; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveResponse = ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveResponses[keyof ModulesRegistrationsOptionsNodeCartConfigurationsRetrieveResponses]; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateData = { + body?: PatchedNodeCartConfigurationWritable; + path: { + /** + * A unique integer value identifying this node cart configuration. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/node_cart_configurations/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateResponses = { + 200: NodeCartConfiguration; +}; + +export type ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateResponse = ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateResponses[keyof ModulesRegistrationsOptionsNodeCartConfigurationsPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsNodeConfigurationsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/node_configurations/'; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsListResponses = { + 200: PaginatedNodeConfigurationList; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsListResponse = ModulesRegistrationsOptionsNodeConfigurationsListResponses[keyof ModulesRegistrationsOptionsNodeConfigurationsListResponses]; + +export type ModulesRegistrationsOptionsNodeConfigurationsCreateData = { + body: NodeConfigurationWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/node_configurations/'; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsCreateResponses = { + 201: NodeConfiguration; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsCreateResponse = ModulesRegistrationsOptionsNodeConfigurationsCreateResponses[keyof ModulesRegistrationsOptionsNodeConfigurationsCreateResponses]; + +export type ModulesRegistrationsOptionsNodeConfigurationsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node configuration. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/node_configurations/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsDestroyResponse = ModulesRegistrationsOptionsNodeConfigurationsDestroyResponses[keyof ModulesRegistrationsOptionsNodeConfigurationsDestroyResponses]; + +export type ModulesRegistrationsOptionsNodeConfigurationsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node configuration. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/node_configurations/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsRetrieveResponses = { + 200: NodeConfiguration; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsRetrieveResponse = ModulesRegistrationsOptionsNodeConfigurationsRetrieveResponses[keyof ModulesRegistrationsOptionsNodeConfigurationsRetrieveResponses]; + +export type ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateData = { + body?: PatchedNodeConfigurationWritable; + path: { + /** + * A unique integer value identifying this node configuration. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/node_configurations/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateResponses = { + 200: NodeConfiguration; +}; + +export type ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateResponse = ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateResponses[keyof ModulesRegistrationsOptionsNodeConfigurationsPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsNodesListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/nodes/'; +}; + +export type ModulesRegistrationsOptionsNodesListResponses = { + 200: PaginatedNodeList; +}; + +export type ModulesRegistrationsOptionsNodesListResponse = ModulesRegistrationsOptionsNodesListResponses[keyof ModulesRegistrationsOptionsNodesListResponses]; + +export type ModulesRegistrationsOptionsNodesCreateData = { + body: NodeWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/nodes/'; +}; + +export type ModulesRegistrationsOptionsNodesCreateResponses = { + 201: Node; +}; + +export type ModulesRegistrationsOptionsNodesCreateResponse = ModulesRegistrationsOptionsNodesCreateResponses[keyof ModulesRegistrationsOptionsNodesCreateResponses]; + +export type ModulesRegistrationsOptionsNodesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/nodes/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsNodesDestroyResponse = ModulesRegistrationsOptionsNodesDestroyResponses[keyof ModulesRegistrationsOptionsNodesDestroyResponses]; + +export type ModulesRegistrationsOptionsNodesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/nodes/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodesRetrieveResponses = { + 200: Node; +}; + +export type ModulesRegistrationsOptionsNodesRetrieveResponse = ModulesRegistrationsOptionsNodesRetrieveResponses[keyof ModulesRegistrationsOptionsNodesRetrieveResponses]; + +export type ModulesRegistrationsOptionsNodesPartialUpdateData = { + body?: PatchedNodeWritable; + path: { + /** + * A unique integer value identifying this node. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/nodes/{id}/'; +}; + +export type ModulesRegistrationsOptionsNodesPartialUpdateResponses = { + 200: Node; +}; + +export type ModulesRegistrationsOptionsNodesPartialUpdateResponse = ModulesRegistrationsOptionsNodesPartialUpdateResponses[keyof ModulesRegistrationsOptionsNodesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateData = { + body: NodeWritable; + path: { + /** + * A unique integer value identifying this node. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/nodes/{id}/actions/delete_cart_configurations/'; +}; + +export type ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateResponses = { + 200: Node; +}; + +export type ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateResponse = ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateResponses[keyof ModulesRegistrationsOptionsNodesActionsDeleteCartConfigurationsCreateResponses]; + +export type ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateData = { + body: NodeWritable; + path: { + /** + * A unique integer value identifying this node. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/nodes/{id}/actions/ensure_cart_configurations/'; +}; + +export type ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateResponses = { + 200: Node; +}; + +export type ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateResponse = ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateResponses[keyof ModulesRegistrationsOptionsNodesActionsEnsureCartConfigurationsCreateResponses]; + +export type ModulesRegistrationsOptionsPriceRulesListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + node_configurations?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/price_rules/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesListResponses = { + 200: PaginatedNodePriceRuleList; +}; + +export type ModulesRegistrationsOptionsPriceRulesListResponse = ModulesRegistrationsOptionsPriceRulesListResponses[keyof ModulesRegistrationsOptionsPriceRulesListResponses]; + +export type ModulesRegistrationsOptionsPriceRulesCreateData = { + body: NodePriceRuleWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesCreateResponses = { + 201: NodePriceRule; +}; + +export type ModulesRegistrationsOptionsPriceRulesCreateResponse = ModulesRegistrationsOptionsPriceRulesCreateResponses[keyof ModulesRegistrationsOptionsPriceRulesCreateResponses]; + +export type ModulesRegistrationsOptionsPriceRulesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node price rule. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules/{id}/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsPriceRulesDestroyResponse = ModulesRegistrationsOptionsPriceRulesDestroyResponses[keyof ModulesRegistrationsOptionsPriceRulesDestroyResponses]; + +export type ModulesRegistrationsOptionsPriceRulesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node price rule. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules/{id}/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesRetrieveResponses = { + 200: NodePriceRule; +}; + +export type ModulesRegistrationsOptionsPriceRulesRetrieveResponse = ModulesRegistrationsOptionsPriceRulesRetrieveResponses[keyof ModulesRegistrationsOptionsPriceRulesRetrieveResponses]; + +export type ModulesRegistrationsOptionsPriceRulesPartialUpdateData = { + body?: PatchedNodePriceRuleWritable; + path: { + /** + * A unique integer value identifying this node price rule. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules/{id}/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesPartialUpdateResponses = { + 200: NodePriceRule; +}; + +export type ModulesRegistrationsOptionsPriceRulesPartialUpdateResponse = ModulesRegistrationsOptionsPriceRulesPartialUpdateResponses[keyof ModulesRegistrationsOptionsPriceRulesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsPriceRulesM2mListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + node_configuration?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + price_rule?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/price_rules_m2m/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mListResponses = { + 200: PaginatedNodePriceRuleM2mList; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mListResponse = ModulesRegistrationsOptionsPriceRulesM2mListResponses[keyof ModulesRegistrationsOptionsPriceRulesM2mListResponses]; + +export type ModulesRegistrationsOptionsPriceRulesM2mCreateData = { + body: NodePriceRuleM2mWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules_m2m/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mCreateResponses = { + 201: NodePriceRuleM2M; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mCreateResponse = ModulesRegistrationsOptionsPriceRulesM2mCreateResponses[keyof ModulesRegistrationsOptionsPriceRulesM2mCreateResponses]; + +export type ModulesRegistrationsOptionsPriceRulesM2mDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node price rule m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mDestroyResponse = ModulesRegistrationsOptionsPriceRulesM2mDestroyResponses[keyof ModulesRegistrationsOptionsPriceRulesM2mDestroyResponses]; + +export type ModulesRegistrationsOptionsPriceRulesM2mRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node price rule m2m. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/price_rules_m2m/{id}/'; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mRetrieveResponses = { + 200: NodePriceRuleM2M; +}; + +export type ModulesRegistrationsOptionsPriceRulesM2mRetrieveResponse = ModulesRegistrationsOptionsPriceRulesM2mRetrieveResponses[keyof ModulesRegistrationsOptionsPriceRulesM2mRetrieveResponses]; + +export type ModulesRegistrationsOptionsPromotionCodesListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/promotion_codes/'; +}; + +export type ModulesRegistrationsOptionsPromotionCodesListResponses = { + 200: PaginatedPromotionCodeList; +}; + +export type ModulesRegistrationsOptionsPromotionCodesListResponse = ModulesRegistrationsOptionsPromotionCodesListResponses[keyof ModulesRegistrationsOptionsPromotionCodesListResponses]; + +export type ModulesRegistrationsOptionsPromotionCodesCreateData = { + body: PromotionCodeWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/promotion_codes/'; +}; + +export type ModulesRegistrationsOptionsPromotionCodesCreateResponses = { + 201: PromotionCode; +}; + +export type ModulesRegistrationsOptionsPromotionCodesCreateResponse = ModulesRegistrationsOptionsPromotionCodesCreateResponses[keyof ModulesRegistrationsOptionsPromotionCodesCreateResponses]; + +export type ModulesRegistrationsOptionsPromotionCodesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this promotion code. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/promotion_codes/{id}/'; +}; + +export type ModulesRegistrationsOptionsPromotionCodesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsPromotionCodesDestroyResponse = ModulesRegistrationsOptionsPromotionCodesDestroyResponses[keyof ModulesRegistrationsOptionsPromotionCodesDestroyResponses]; + +export type ModulesRegistrationsOptionsPromotionCodesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this promotion code. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/promotion_codes/{id}/'; +}; + +export type ModulesRegistrationsOptionsPromotionCodesRetrieveResponses = { + 200: PromotionCode; +}; + +export type ModulesRegistrationsOptionsPromotionCodesRetrieveResponse = ModulesRegistrationsOptionsPromotionCodesRetrieveResponses[keyof ModulesRegistrationsOptionsPromotionCodesRetrieveResponses]; + +export type ModulesRegistrationsOptionsPromotionCodesPartialUpdateData = { + body?: PatchedPromotionCodeWritable; + path: { + /** + * A unique integer value identifying this promotion code. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/promotion_codes/{id}/'; +}; + +export type ModulesRegistrationsOptionsPromotionCodesPartialUpdateResponses = { + 200: PromotionCode; +}; + +export type ModulesRegistrationsOptionsPromotionCodesPartialUpdateResponse = ModulesRegistrationsOptionsPromotionCodesPartialUpdateResponses[keyof ModulesRegistrationsOptionsPromotionCodesPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsStatementsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/statements/'; +}; + +export type ModulesRegistrationsOptionsStatementsListResponses = { + 200: PaginatedStatementList; +}; + +export type ModulesRegistrationsOptionsStatementsListResponse = ModulesRegistrationsOptionsStatementsListResponses[keyof ModulesRegistrationsOptionsStatementsListResponses]; + +export type ModulesRegistrationsOptionsStatementsCreateData = { + body: StatementWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/statements/'; +}; + +export type ModulesRegistrationsOptionsStatementsCreateResponses = { + 201: Statement; +}; + +export type ModulesRegistrationsOptionsStatementsCreateResponse = ModulesRegistrationsOptionsStatementsCreateResponses[keyof ModulesRegistrationsOptionsStatementsCreateResponses]; + +export type ModulesRegistrationsOptionsStatementsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this statement. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/statements/{id}/'; +}; + +export type ModulesRegistrationsOptionsStatementsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsStatementsDestroyResponse = ModulesRegistrationsOptionsStatementsDestroyResponses[keyof ModulesRegistrationsOptionsStatementsDestroyResponses]; + +export type ModulesRegistrationsOptionsStatementsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this statement. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/statements/{id}/'; +}; + +export type ModulesRegistrationsOptionsStatementsRetrieveResponses = { + 200: Statement; +}; + +export type ModulesRegistrationsOptionsStatementsRetrieveResponse = ModulesRegistrationsOptionsStatementsRetrieveResponses[keyof ModulesRegistrationsOptionsStatementsRetrieveResponses]; + +export type ModulesRegistrationsOptionsStatementsPartialUpdateData = { + body?: PatchedStatementWritable; + path: { + /** + * A unique integer value identifying this statement. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/statements/{id}/'; +}; + +export type ModulesRegistrationsOptionsStatementsPartialUpdateResponses = { + 200: Statement; +}; + +export type ModulesRegistrationsOptionsStatementsPartialUpdateResponse = ModulesRegistrationsOptionsStatementsPartialUpdateResponses[keyof ModulesRegistrationsOptionsStatementsPartialUpdateResponses]; + +export type ModulesRegistrationsOptionsTagsListData = { + body?: never; + path?: never; + query?: { + event_id?: number; + /** + * Multiple values may be separated by commas. + */ + node_configuration?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/options/tags/'; +}; + +export type ModulesRegistrationsOptionsTagsListResponses = { + 200: PaginatedNodeTagList; +}; + +export type ModulesRegistrationsOptionsTagsListResponse = ModulesRegistrationsOptionsTagsListResponses[keyof ModulesRegistrationsOptionsTagsListResponses]; + +export type ModulesRegistrationsOptionsTagsCreateData = { + body: NodeTagWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/options/tags/'; +}; + +export type ModulesRegistrationsOptionsTagsCreateResponses = { + 201: NodeTag; +}; + +export type ModulesRegistrationsOptionsTagsCreateResponse = ModulesRegistrationsOptionsTagsCreateResponses[keyof ModulesRegistrationsOptionsTagsCreateResponses]; + +export type ModulesRegistrationsOptionsTagsDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this node tag. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/tags/{id}/'; +}; + +export type ModulesRegistrationsOptionsTagsDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsOptionsTagsDestroyResponse = ModulesRegistrationsOptionsTagsDestroyResponses[keyof ModulesRegistrationsOptionsTagsDestroyResponses]; + +export type ModulesRegistrationsOptionsTagsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this node tag. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/tags/{id}/'; +}; + +export type ModulesRegistrationsOptionsTagsRetrieveResponses = { + 200: NodeTag; +}; + +export type ModulesRegistrationsOptionsTagsRetrieveResponse = ModulesRegistrationsOptionsTagsRetrieveResponses[keyof ModulesRegistrationsOptionsTagsRetrieveResponses]; + +export type ModulesRegistrationsOptionsTagsPartialUpdateData = { + body?: PatchedNodeTagWritable; + path: { + /** + * A unique integer value identifying this node tag. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/options/tags/{id}/'; +}; + +export type ModulesRegistrationsOptionsTagsPartialUpdateResponses = { + 200: NodeTag; +}; + +export type ModulesRegistrationsOptionsTagsPartialUpdateResponse = ModulesRegistrationsOptionsTagsPartialUpdateResponses[keyof ModulesRegistrationsOptionsTagsPartialUpdateResponses]; + +export type ModulesRegistrationsSelectedNodesListData = { + body?: never; + path?: never; + query?: { + basket_id?: number; + /** + * Whether the configuration is expanded in the response (rather than represented with a pk). + */ + config?: boolean; + /** + * Whether the children are expanded in the response (rather than represented with a pk). + */ + expand?: boolean; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/selected_nodes/'; +}; + +export type ModulesRegistrationsSelectedNodesListResponses = { + 200: PaginatedSelectedNodeList; +}; + +export type ModulesRegistrationsSelectedNodesListResponse = ModulesRegistrationsSelectedNodesListResponses[keyof ModulesRegistrationsSelectedNodesListResponses]; + +export type ModulesRegistrationsSelectedNodesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this selected node. + */ + id: number; + }; + query?: { + /** + * Whether the configuration is expanded in the response (rather than represented with a pk). + */ + config?: boolean; + /** + * Whether the children are expanded in the response (rather than represented with a pk). + */ + expand?: boolean; + }; + url: '/api/v2/modules_registrations/selected_nodes/{id}/'; +}; + +export type ModulesRegistrationsSelectedNodesRetrieveResponses = { + 200: SelectedNode; +}; + +export type ModulesRegistrationsSelectedNodesRetrieveResponse = ModulesRegistrationsSelectedNodesRetrieveResponses[keyof ModulesRegistrationsSelectedNodesRetrieveResponses]; + +export type ModulesRegistrationsSelectedNodesExtraInfoGroupsListData = { + body?: never; + path?: never; + query?: { + /** + * Multiple values may be separated by commas. + */ + id?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + /** + * Multiple values may be separated by commas. + */ + selected_configuration_id?: Array; + }; + url: '/api/v2/modules_registrations/selected_nodes_extra_info_groups/'; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfoGroupsListResponses = { + 200: PaginatedSelectedNodeExtraInfoGroupList; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfoGroupsListResponse = ModulesRegistrationsSelectedNodesExtraInfoGroupsListResponses[keyof ModulesRegistrationsSelectedNodesExtraInfoGroupsListResponses]; + +export type ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this selected node extra info group. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/selected_nodes_extra_info_groups/{id}/'; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveResponses = { + 200: SelectedNodeExtraInfoGroup; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveResponse = ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveResponses[keyof ModulesRegistrationsSelectedNodesExtraInfoGroupsRetrieveResponses]; + +export type ModulesRegistrationsSelectedNodesExtraInfosListData = { + body?: never; + path?: never; + query?: { + groups?: Array; + /** + * Multiple values may be separated by commas. + */ + id?: Array; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/selected_nodes_extra_infos/'; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfosListResponses = { + 200: PaginatedSelectedNodeExtraInfoList; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfosListResponse = ModulesRegistrationsSelectedNodesExtraInfosListResponses[keyof ModulesRegistrationsSelectedNodesExtraInfosListResponses]; + +export type ModulesRegistrationsSelectedNodesExtraInfosRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this selected node extra info. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/selected_nodes_extra_infos/{id}/'; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfosRetrieveResponses = { + 200: SelectedNodeExtraInfo; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfosRetrieveResponse = ModulesRegistrationsSelectedNodesExtraInfosRetrieveResponses[keyof ModulesRegistrationsSelectedNodesExtraInfosRetrieveResponses]; + +export type ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateData = { + body?: PatchedSelectedNodeExtraInfo; + path: { + /** + * A unique integer value identifying this selected node extra info. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/selected_nodes_extra_infos/{id}/'; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateResponses = { + 200: SelectedNodeExtraInfo; +}; + +export type ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateResponse = ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateResponses[keyof ModulesRegistrationsSelectedNodesExtraInfosPartialUpdateResponses]; + +export type ModulesRegistrationsSelectedPromotionCodesListData = { + body?: never; + path?: never; + query?: { + basket?: number; + /** + * Which fields to use when ordering the results. + */ + o?: string; + /** + * The initial index from which to return the results. + */ + offset?: number; + /** + * Number of results to return per page. + */ + page_limit?: number; + promotion_code?: number; + /** + * A search term. + */ + q?: string; + }; + url: '/api/v2/modules_registrations/selected_promotion_codes/'; +}; + +export type ModulesRegistrationsSelectedPromotionCodesListResponses = { + 200: PaginatedSelectedPromotionCodeList; +}; + +export type ModulesRegistrationsSelectedPromotionCodesListResponse = ModulesRegistrationsSelectedPromotionCodesListResponses[keyof ModulesRegistrationsSelectedPromotionCodesListResponses]; + +export type ModulesRegistrationsSelectedPromotionCodesCreateData = { + body: SelectedPromotionCodeWritable; + path?: never; + query?: never; + url: '/api/v2/modules_registrations/selected_promotion_codes/'; +}; + +export type ModulesRegistrationsSelectedPromotionCodesCreateResponses = { + 201: SelectedPromotionCode; +}; + +export type ModulesRegistrationsSelectedPromotionCodesCreateResponse = ModulesRegistrationsSelectedPromotionCodesCreateResponses[keyof ModulesRegistrationsSelectedPromotionCodesCreateResponses]; + +export type ModulesRegistrationsSelectedPromotionCodesDestroyData = { + body?: never; + path: { + /** + * A unique integer value identifying this selected promotion code. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/selected_promotion_codes/{id}/'; +}; + +export type ModulesRegistrationsSelectedPromotionCodesDestroyResponses = { + /** + * No response body + */ + 204: void; +}; + +export type ModulesRegistrationsSelectedPromotionCodesDestroyResponse = ModulesRegistrationsSelectedPromotionCodesDestroyResponses[keyof ModulesRegistrationsSelectedPromotionCodesDestroyResponses]; + +export type ModulesRegistrationsSelectedPromotionCodesRetrieveData = { + body?: never; + path: { + /** + * A unique integer value identifying this selected promotion code. + */ + id: number; + }; + query?: never; + url: '/api/v2/modules_registrations/selected_promotion_codes/{id}/'; +}; + +export type ModulesRegistrationsSelectedPromotionCodesRetrieveResponses = { + 200: SelectedPromotionCode; +}; + +export type ModulesRegistrationsSelectedPromotionCodesRetrieveResponse = ModulesRegistrationsSelectedPromotionCodesRetrieveResponses[keyof ModulesRegistrationsSelectedPromotionCodesRetrieveResponses]; + +export type SchemaRetrieveData = { + body?: never; + path?: never; + query?: { + format?: 'json' | 'yaml'; + lang?: 'en' | 'fr'; + }; + url: '/api/v2/schema/'; +}; + +export type SchemaRetrieveResponses = { + 200: { + [key: string]: unknown; + }; +}; + +export type SchemaRetrieveResponse = SchemaRetrieveResponses[keyof SchemaRetrieveResponses]; + +export type ClientOptions = { + baseUrl: 'https://api.dev.v2.polyticket.ch' | (string & {}); +}; \ No newline at end of file