From 873cf3748c13f73f6884f7998c2c3de7f3ee8c28 Mon Sep 17 00:00:00 2001 From: Willard Nilges Date: Mon, 23 Sep 2024 08:05:53 -0400 Subject: [PATCH] first wack at openapi tools --- app/api.ts | 3 +- components/QueryForm/QueryForm.tsx | 19 +- openapitools.json | 7 + package-lock.json | 1531 ++++++++++++++++- package.json | 7 +- .../openapi/.openapi-generator-ignore | 23 + .../openapi/.openapi-generator/FILES | 86 + .../openapi/.openapi-generator/VERSION | 1 + .../openapi/apis/APIStatusApi.ts | 55 + .../openapi/apis/AccessPointsApi.ts | 355 ++++ .../openapi/apis/BuildingsApi.ts | 380 ++++ .../openapi/apis/DevicesApi.ts | 355 ++++ .../openapi/apis/GeographicKMLDataApi.ts | 146 ++ .../openapi/apis/InstallsApi.ts | 525 ++++++ .../openapi/apis/LOSesApi.ts | 360 ++++ .../openapi/apis/LegacyQueryFormApi.ts | 264 +++ .../openapi/apis/LinksApi.ts | 360 ++++ .../openapi/apis/MembersApi.ts | 345 ++++ .../openapi/apis/NodesApi.ts | 523 ++++++ .../openapi/apis/SectorsApi.ts | 355 ++++ .../openapi/apis/UserFormsApi.ts | 128 ++ .../openapi/apis/WebsiteMapDataApi.ts | 146 ++ src/generated-sources/openapi/apis/index.ts | 16 + src/generated-sources/openapi/index.ts | 5 + .../openapi/models/AccessPoint.ts | 186 ++ .../models/AccessPointLinksFromInner.ts | 60 + .../openapi/models/AccessPointNode.ts | 68 + .../openapi/models/AddressTruthSourcesEnum.ts | 58 + .../openapi/models/BlankEnum.ts | 48 + .../openapi/models/Building.ts | 201 +++ .../openapi/models/BuildingInstallsInner.ts | 68 + .../openapi/models/BuildingNodesInner.ts | 68 + .../openapi/models/BuildingPrimaryNode.ts | 68 + .../openapi/models/CityErrorResponse.ts | 61 + .../openapi/models/Device.ts | 184 ++ .../openapi/models/ErrorResponse.ts | 61 + .../models/ErrorResponseInternalFailure.ts | 61 + .../models/ErrorResponseInvalidAddr.ts | 61 + .../models/ErrorResponseMissingFields.ts | 61 + .../openapi/models/GeocodeSuccessResponse.ts | 87 + .../openapi/models/Install.ts | 212 +++ .../openapi/models/InstallBuilding.ts | 60 + .../openapi/models/InstallMember.ts | 60 + .../openapi/models/InstallNode.ts | 68 + .../openapi/models/JoinFormRequest.ts | 160 ++ .../openapi/models/JoinFormSuccessResponse.ts | 106 ++ .../openapi/models/KioskData.ts | 96 ++ src/generated-sources/openapi/models/LOS.ts | 122 ++ .../openapi/models/LOSFromBuilding.ts | 60 + src/generated-sources/openapi/models/Link.ts | 161 ++ .../openapi/models/LinkFromDevice.ts | 60 + .../openapi/models/LinkStatusEnum.ts | 52 + .../openapi/models/LinkType.ts | 77 + .../openapi/models/LinkTypeEnum.ts | 60 + .../openapi/models/MapDataInstall.ts | 128 ++ .../openapi/models/MapDataLink.ts | 85 + .../openapi/models/MapDataSector.ts | 104 ++ .../openapi/models/Member.ts | 157 ++ .../openapi/models/NNFormSuccessResponse.ts | 106 ++ .../models/NetworkNumberAssignmentRequest.ts | 70 + src/generated-sources/openapi/models/Node.ts | 212 +++ .../openapi/models/NodeBuildingsInner.ts | 60 + .../openapi/models/NodeDevicesInner.ts | 60 + .../openapi/models/NodeEdit.ts | 212 +++ .../openapi/models/NullEnum.ts | 48 + .../models/PaginatedAccessPointList.ts | 93 + .../openapi/models/PaginatedBuildingList.ts | 93 + .../openapi/models/PaginatedDeviceList.ts | 93 + .../openapi/models/PaginatedInstallList.ts | 93 + .../openapi/models/PaginatedLOSList.ts | 93 + .../openapi/models/PaginatedLinkList.ts | 93 + .../openapi/models/PaginatedMemberList.ts | 93 + .../openapi/models/PaginatedNodeList.ts | 93 + .../openapi/models/PaginatedQueryFormList.ts | 93 + .../openapi/models/PaginatedSectorList.ts | 93 + .../openapi/models/PatchedAccessPoint.ts | 179 ++ .../openapi/models/PatchedBuilding.ts | 196 +++ .../openapi/models/PatchedDevice.ts | 176 ++ .../openapi/models/PatchedInstall.ts | 206 +++ .../openapi/models/PatchedLOS.ts | 118 ++ .../openapi/models/PatchedLink.ts | 157 ++ .../openapi/models/PatchedMember.ts | 152 ++ .../openapi/models/PatchedNodeEdit.ts | 205 +++ .../openapi/models/PatchedSector.ts | 200 +++ .../openapi/models/QueryForm.ts | 203 +++ .../openapi/models/Sector.ts | 211 +++ .../openapi/models/SourceEnum.ts | 50 + .../openapi/models/Status195Enum.ts | 60 + .../openapi/models/Status2a6Enum.ts | 52 + .../openapi/models/Status432Enum.ts | 52 + .../openapi/models/TypeB10Enum.ts | 58 + src/generated-sources/openapi/models/index.ts | 69 + src/generated-sources/openapi/runtime.ts | 426 +++++ 93 files changed, 13685 insertions(+), 7 deletions(-) create mode 100644 openapitools.json create mode 100644 src/generated-sources/openapi/.openapi-generator-ignore create mode 100644 src/generated-sources/openapi/.openapi-generator/FILES create mode 100644 src/generated-sources/openapi/.openapi-generator/VERSION create mode 100644 src/generated-sources/openapi/apis/APIStatusApi.ts create mode 100644 src/generated-sources/openapi/apis/AccessPointsApi.ts create mode 100644 src/generated-sources/openapi/apis/BuildingsApi.ts create mode 100644 src/generated-sources/openapi/apis/DevicesApi.ts create mode 100644 src/generated-sources/openapi/apis/GeographicKMLDataApi.ts create mode 100644 src/generated-sources/openapi/apis/InstallsApi.ts create mode 100644 src/generated-sources/openapi/apis/LOSesApi.ts create mode 100644 src/generated-sources/openapi/apis/LegacyQueryFormApi.ts create mode 100644 src/generated-sources/openapi/apis/LinksApi.ts create mode 100644 src/generated-sources/openapi/apis/MembersApi.ts create mode 100644 src/generated-sources/openapi/apis/NodesApi.ts create mode 100644 src/generated-sources/openapi/apis/SectorsApi.ts create mode 100644 src/generated-sources/openapi/apis/UserFormsApi.ts create mode 100644 src/generated-sources/openapi/apis/WebsiteMapDataApi.ts create mode 100644 src/generated-sources/openapi/apis/index.ts create mode 100644 src/generated-sources/openapi/index.ts create mode 100644 src/generated-sources/openapi/models/AccessPoint.ts create mode 100644 src/generated-sources/openapi/models/AccessPointLinksFromInner.ts create mode 100644 src/generated-sources/openapi/models/AccessPointNode.ts create mode 100644 src/generated-sources/openapi/models/AddressTruthSourcesEnum.ts create mode 100644 src/generated-sources/openapi/models/BlankEnum.ts create mode 100644 src/generated-sources/openapi/models/Building.ts create mode 100644 src/generated-sources/openapi/models/BuildingInstallsInner.ts create mode 100644 src/generated-sources/openapi/models/BuildingNodesInner.ts create mode 100644 src/generated-sources/openapi/models/BuildingPrimaryNode.ts create mode 100644 src/generated-sources/openapi/models/CityErrorResponse.ts create mode 100644 src/generated-sources/openapi/models/Device.ts create mode 100644 src/generated-sources/openapi/models/ErrorResponse.ts create mode 100644 src/generated-sources/openapi/models/ErrorResponseInternalFailure.ts create mode 100644 src/generated-sources/openapi/models/ErrorResponseInvalidAddr.ts create mode 100644 src/generated-sources/openapi/models/ErrorResponseMissingFields.ts create mode 100644 src/generated-sources/openapi/models/GeocodeSuccessResponse.ts create mode 100644 src/generated-sources/openapi/models/Install.ts create mode 100644 src/generated-sources/openapi/models/InstallBuilding.ts create mode 100644 src/generated-sources/openapi/models/InstallMember.ts create mode 100644 src/generated-sources/openapi/models/InstallNode.ts create mode 100644 src/generated-sources/openapi/models/JoinFormRequest.ts create mode 100644 src/generated-sources/openapi/models/JoinFormSuccessResponse.ts create mode 100644 src/generated-sources/openapi/models/KioskData.ts create mode 100644 src/generated-sources/openapi/models/LOS.ts create mode 100644 src/generated-sources/openapi/models/LOSFromBuilding.ts create mode 100644 src/generated-sources/openapi/models/Link.ts create mode 100644 src/generated-sources/openapi/models/LinkFromDevice.ts create mode 100644 src/generated-sources/openapi/models/LinkStatusEnum.ts create mode 100644 src/generated-sources/openapi/models/LinkType.ts create mode 100644 src/generated-sources/openapi/models/LinkTypeEnum.ts create mode 100644 src/generated-sources/openapi/models/MapDataInstall.ts create mode 100644 src/generated-sources/openapi/models/MapDataLink.ts create mode 100644 src/generated-sources/openapi/models/MapDataSector.ts create mode 100644 src/generated-sources/openapi/models/Member.ts create mode 100644 src/generated-sources/openapi/models/NNFormSuccessResponse.ts create mode 100644 src/generated-sources/openapi/models/NetworkNumberAssignmentRequest.ts create mode 100644 src/generated-sources/openapi/models/Node.ts create mode 100644 src/generated-sources/openapi/models/NodeBuildingsInner.ts create mode 100644 src/generated-sources/openapi/models/NodeDevicesInner.ts create mode 100644 src/generated-sources/openapi/models/NodeEdit.ts create mode 100644 src/generated-sources/openapi/models/NullEnum.ts create mode 100644 src/generated-sources/openapi/models/PaginatedAccessPointList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedBuildingList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedDeviceList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedInstallList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedLOSList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedLinkList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedMemberList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedNodeList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedQueryFormList.ts create mode 100644 src/generated-sources/openapi/models/PaginatedSectorList.ts create mode 100644 src/generated-sources/openapi/models/PatchedAccessPoint.ts create mode 100644 src/generated-sources/openapi/models/PatchedBuilding.ts create mode 100644 src/generated-sources/openapi/models/PatchedDevice.ts create mode 100644 src/generated-sources/openapi/models/PatchedInstall.ts create mode 100644 src/generated-sources/openapi/models/PatchedLOS.ts create mode 100644 src/generated-sources/openapi/models/PatchedLink.ts create mode 100644 src/generated-sources/openapi/models/PatchedMember.ts create mode 100644 src/generated-sources/openapi/models/PatchedNodeEdit.ts create mode 100644 src/generated-sources/openapi/models/PatchedSector.ts create mode 100644 src/generated-sources/openapi/models/QueryForm.ts create mode 100644 src/generated-sources/openapi/models/Sector.ts create mode 100644 src/generated-sources/openapi/models/SourceEnum.ts create mode 100644 src/generated-sources/openapi/models/Status195Enum.ts create mode 100644 src/generated-sources/openapi/models/Status2a6Enum.ts create mode 100644 src/generated-sources/openapi/models/Status432Enum.ts create mode 100644 src/generated-sources/openapi/models/TypeB10Enum.ts create mode 100644 src/generated-sources/openapi/models/index.ts create mode 100644 src/generated-sources/openapi/runtime.ts diff --git a/app/api.ts b/app/api.ts index 797d5c6..30d6bd1 100644 --- a/app/api.ts +++ b/app/api.ts @@ -42,7 +42,8 @@ const post = async ( ...(auth && { Authorization: `Bearer ${auth}` }), }, body: JSON.stringify(input), - }).catch(console.warn); + });//.catch(console.warn); + console.log(res.json()); if (!res?.ok) throw res; return schema.parse(await res.json()); }; diff --git a/components/QueryForm/QueryForm.tsx b/components/QueryForm/QueryForm.tsx index 79759ea..4ab9baa 100644 --- a/components/QueryForm/QueryForm.tsx +++ b/components/QueryForm/QueryForm.tsx @@ -24,6 +24,24 @@ import "ag-grid-community/styles/ag-theme-quartz.css"; // Theme import styles from "./QueryForm.module.scss"; +import { ApiV1QueryInstallsListRequest, Configuration, LegacyQueryFormApi, PaginatedQueryFormList } from "@/src/generated-sources/openapi"; + +async function chom() { + const configuration = new Configuration({ + basePath: "http://127.0.0.1:8000" + }); + + const api = new LegacyQueryFormApi(configuration); + + const queryResponse: Promise = api.apiV1QueryInstallsList({ + password: "localdev", + networkNumber: 713, + }); + console.log(await queryResponse); +} + +chom(); + export function QueryForm() { const [isLoading, setIsLoading] = useState(false); const [tableVisible, setTableVisible] = useState(true); @@ -73,7 +91,6 @@ export function QueryForm() { route = "installs"; break; } - console.log(queryForm); let resp = await submitQueryForm( route, queryForm.query_type, diff --git a/openapitools.json b/openapitools.json new file mode 100644 index 0000000..2f4612c --- /dev/null +++ b/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "7.8.0" + } +} diff --git a/package-lock.json b/package-lock.json index f6278ce..10d559f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@mui/icons-material": "^5.15.7", "@mui/material": "^5.15.7", "@mui/material-nextjs": "^5.15.7", + "@openapitools/openapi-generator-cli": "^2.13.9", "@types/node": "20.10.6", "@types/react-dom": "18.2.18", "ag-grid-react": "^31.0.3", @@ -34,7 +35,8 @@ }, "devDependencies": { "@playwright/test": "^1.45.3", - "@types/react": "^18.2.48" + "@types/react": "^18.2.48", + "prettier": "3.3.3" } }, "node_modules/@aws-crypto/crc32": { @@ -1289,6 +1291,15 @@ "node": ">=18" } }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/@mswjs/cookies": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@mswjs/cookies/-/cookies-1.1.1.tgz", @@ -1601,6 +1612,102 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/@nestjs/axios": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-3.0.3.tgz", + "integrity": "sha512-h6TCn3yJwD6OKqqqfmtRS5Zo4E46Ip2n+gK1sqwzNBC+qxQ9xpCu+ODVRFur6V3alHSCSBxb3nNtt73VEdluyA==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0", + "axios": "^1.3.1", + "rxjs": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@nestjs/common": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.4.3.tgz", + "integrity": "sha512-4hbLd3XIJubHSylYd/1WSi4VQvG68KM/ECYpMDqA3k3J1/T17SAg40sDoq3ZoO5OZgU0xuNyjuISdOTjs11qVg==", + "license": "MIT", + "dependencies": { + "iterare": "1.2.1", + "tslib": "2.7.0", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/common/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/@nestjs/core": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.4.3.tgz", + "integrity": "sha512-6OQz+5C8mT8yRtfvE5pPCq+p6w5jDot+oQku1KzQ24ABn+lay1KGuJwcKZhdVNuselx+8xhdMxknZTA8wrGLIg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.3.0", + "tslib": "2.7.0", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0", + "@nestjs/websockets": "^10.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/core/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/@nestjs/core/node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, "node_modules/@next/env": { "version": "14.0.4", "resolved": "https://registry.npmjs.org/@next/env/-/env-14.0.4.tgz", @@ -1741,6 +1848,94 @@ "node": ">= 10" } }, + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@nuxtjs/opencollective/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@open-draft/deferred-promise": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", @@ -1763,6 +1958,113 @@ "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", "license": "MIT" }, + "node_modules/@openapitools/openapi-generator-cli": { + "version": "2.13.9", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.13.9.tgz", + "integrity": "sha512-GJaWGcHmLsvj/G1mRDytm9PTDwRGSYUDTf1uA/2FYxQAb5sq4nkZz1tD4Z7qDlZ3xTYSTw4Z8BQUdlsnrA8rcw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@nestjs/axios": "3.0.3", + "@nestjs/common": "10.4.3", + "@nestjs/core": "10.4.3", + "@nuxtjs/opencollective": "0.3.2", + "axios": "1.7.4", + "chalk": "4.1.2", + "commander": "8.3.0", + "compare-versions": "4.1.4", + "concurrently": "6.5.1", + "console.table": "0.10.0", + "fs-extra": "10.1.0", + "glob": "7.2.3", + "https-proxy-agent": "7.0.4", + "inquirer": "8.2.6", + "lodash": "4.17.21", + "reflect-metadata": "0.1.13", + "rxjs": "7.8.1", + "tslib": "2.6.2" + }, + "bin": { + "openapi-generator-cli": "main.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/openapi_generator" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@playwright/test": { "version": "1.45.3", "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.45.3.tgz", @@ -2595,6 +2897,18 @@ "react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -2654,6 +2968,12 @@ "node": ">= 8" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -2691,6 +3011,17 @@ "node": ">= 10.0.0" } }, + "node_modules/axios": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", + "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -2705,6 +3036,12 @@ "npm": ">=6" } }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -2733,6 +3070,41 @@ "node": ">=8" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/bootstrap": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz", @@ -2757,6 +3129,16 @@ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", "license": "MIT" }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -2857,6 +3239,12 @@ "node": ">=0.8.0" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "license": "MIT" + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -2888,6 +3276,18 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-spinners": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", @@ -2978,6 +3378,15 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/clsx": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", @@ -2999,8 +3408,239 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/compare-versions": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.4.tgz", + "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz", + "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "bin": { + "concurrently": "bin/concurrently.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/concurrently/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/concurrently/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/concurrently/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "license": "MIT" + }, + "node_modules/console.table": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", + "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==", + "license": "MIT", + "dependencies": { + "easy-table": "1.1.0" + }, + "engines": { + "node": "> 0.10" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, @@ -3038,6 +3678,51 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -3055,6 +3740,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dom-helpers": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", @@ -3064,6 +3758,15 @@ "csstype": "^3.0.2" } }, + "node_modules/easy-table": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", + "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==", + "license": "MIT", + "optionalDependencies": { + "wcwidth": ">=1.0.1" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -3128,6 +3831,26 @@ "node": ">=0.4.x" } }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, "node_modules/fast-xml-parser": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", @@ -3150,6 +3873,30 @@ "fxparser": "src/cli/cli.js" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -3166,6 +3913,26 @@ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -3175,6 +3942,49 @@ "is-callable": "^1.1.3" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3224,6 +4034,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -3350,6 +4181,31 @@ "react-is": "^16.7.0" } }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", @@ -3376,6 +4232,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -3390,6 +4257,117 @@ "prop-types": "^15.8.1" } }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "license": "ISC" + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -3488,6 +4466,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-node-process": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", @@ -3517,12 +4504,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "license": "MIT" }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, "node_modules/jmespath": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", @@ -3542,6 +4550,27 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/libphonenumber-js": { "version": "1.10.53", "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.53.tgz", @@ -3552,6 +4581,98 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -3568,6 +4689,54 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/msw": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/msw/-/msw-2.3.5.tgz", @@ -3753,6 +4922,26 @@ } } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3769,6 +4958,132 @@ "node": ">=0.10.0" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/outvariant": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", @@ -3803,6 +5118,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -3947,6 +5271,22 @@ "url": "https://github.com/sponsors/porsager" } }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -3957,6 +5297,12 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -4086,6 +5432,20 @@ "react-dom": ">=16.6.0" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -4097,6 +5457,12 @@ "node": ">=8.10.0" } }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "license": "Apache-2.0" + }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", @@ -4141,6 +5507,69 @@ "node": ">=4" } }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, "node_modules/sass": { "version": "1.70.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", @@ -4216,6 +5645,11 @@ "node": ">=0.10.0" } }, + "node_modules/spawn-command": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==" + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -4239,6 +5673,15 @@ "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", "license": "MIT" }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -4320,6 +5763,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -4363,6 +5824,21 @@ "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -4392,6 +5868,18 @@ "node": ">=14.17" } }, + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -4452,6 +5940,12 @@ "which-typed-array": "^1.1.2" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, "node_modules/uuid": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", @@ -4473,6 +5967,31 @@ "node": ">=10.13.0" } }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", @@ -4539,6 +6058,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, "node_modules/xml2js": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", diff --git a/package.json b/package.json index 848f2f9..491c3b2 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "scripts": { "dev": "next dev --turbo", "build": "next build", - "start": "next start" + "start": "next start", + "codegen": "rm -rf src/generated-sources/openapi; openapi-generator-cli generate -i https://db.nycmesh.net/api-docs/openapi3.json -o src/generated-sources/openapi -g typescript-fetch --additional-properties=supportsES6=true,npmVersion=6.9.0,typescriptThreePlus=true --skip-validate-spec" }, "dependencies": { "@aws-sdk/client-s3": "^3.614.0", @@ -14,6 +15,7 @@ "@mui/icons-material": "^5.15.7", "@mui/material": "^5.15.7", "@mui/material-nextjs": "^5.15.7", + "@openapitools/openapi-generator-cli": "^2.13.9", "@types/node": "20.10.6", "@types/react-dom": "18.2.18", "ag-grid-react": "^31.0.3", @@ -35,6 +37,7 @@ }, "devDependencies": { "@playwright/test": "^1.45.3", - "@types/react": "^18.2.48" + "@types/react": "^18.2.48", + "prettier": "3.3.3" } } diff --git a/src/generated-sources/openapi/.openapi-generator-ignore b/src/generated-sources/openapi/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/src/generated-sources/openapi/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/generated-sources/openapi/.openapi-generator/FILES b/src/generated-sources/openapi/.openapi-generator/FILES new file mode 100644 index 0000000..4ff8496 --- /dev/null +++ b/src/generated-sources/openapi/.openapi-generator/FILES @@ -0,0 +1,86 @@ +.openapi-generator-ignore +apis/APIStatusApi.ts +apis/AccessPointsApi.ts +apis/BuildingsApi.ts +apis/DevicesApi.ts +apis/GeographicKMLDataApi.ts +apis/InstallsApi.ts +apis/LOSesApi.ts +apis/LegacyQueryFormApi.ts +apis/LinksApi.ts +apis/MembersApi.ts +apis/NodesApi.ts +apis/SectorsApi.ts +apis/UserFormsApi.ts +apis/WebsiteMapDataApi.ts +apis/index.ts +index.ts +models/AccessPoint.ts +models/AccessPointLinksFromInner.ts +models/AccessPointNode.ts +models/AddressTruthSourcesEnum.ts +models/BlankEnum.ts +models/Building.ts +models/BuildingInstallsInner.ts +models/BuildingNodesInner.ts +models/BuildingPrimaryNode.ts +models/CityErrorResponse.ts +models/Device.ts +models/ErrorResponse.ts +models/ErrorResponseInternalFailure.ts +models/ErrorResponseInvalidAddr.ts +models/ErrorResponseMissingFields.ts +models/GeocodeSuccessResponse.ts +models/Install.ts +models/InstallBuilding.ts +models/InstallMember.ts +models/InstallNode.ts +models/JoinFormRequest.ts +models/JoinFormSuccessResponse.ts +models/KioskData.ts +models/LOS.ts +models/LOSFromBuilding.ts +models/Link.ts +models/LinkFromDevice.ts +models/LinkStatusEnum.ts +models/LinkType.ts +models/LinkTypeEnum.ts +models/MapDataInstall.ts +models/MapDataLink.ts +models/MapDataSector.ts +models/Member.ts +models/NNFormSuccessResponse.ts +models/NetworkNumberAssignmentRequest.ts +models/Node.ts +models/NodeBuildingsInner.ts +models/NodeDevicesInner.ts +models/NodeEdit.ts +models/NullEnum.ts +models/PaginatedAccessPointList.ts +models/PaginatedBuildingList.ts +models/PaginatedDeviceList.ts +models/PaginatedInstallList.ts +models/PaginatedLOSList.ts +models/PaginatedLinkList.ts +models/PaginatedMemberList.ts +models/PaginatedNodeList.ts +models/PaginatedQueryFormList.ts +models/PaginatedSectorList.ts +models/PatchedAccessPoint.ts +models/PatchedBuilding.ts +models/PatchedDevice.ts +models/PatchedInstall.ts +models/PatchedLOS.ts +models/PatchedLink.ts +models/PatchedMember.ts +models/PatchedNodeEdit.ts +models/PatchedSector.ts +models/QueryForm.ts +models/Sector.ts +models/SourceEnum.ts +models/Status195Enum.ts +models/Status2a6Enum.ts +models/Status432Enum.ts +models/TypeB10Enum.ts +models/index.ts +runtime.ts diff --git a/src/generated-sources/openapi/.openapi-generator/VERSION b/src/generated-sources/openapi/.openapi-generator/VERSION new file mode 100644 index 0000000..09a6d30 --- /dev/null +++ b/src/generated-sources/openapi/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.8.0 diff --git a/src/generated-sources/openapi/apis/APIStatusApi.ts b/src/generated-sources/openapi/apis/APIStatusApi.ts new file mode 100644 index 0000000..8ff8475 --- /dev/null +++ b/src/generated-sources/openapi/apis/APIStatusApi.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; + +/** + * + */ +export class APIStatusApi extends runtime.BaseAPI { + + /** + * This endpoint can be used by clients to determine the health status of this API. This API always returns 200 status codes, accepts no input, and has no side effects. It always returns the string \"We\'re meshin\'.\" + * Check API status + */ + async apiV1RetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * This endpoint can be used by clients to determine the health status of this API. This API always returns 200 status codes, accepts no input, and has no side effects. It always returns the string \"We\'re meshin\'.\" + * Check API status + */ + async apiV1Retrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1RetrieveRaw(initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/AccessPointsApi.ts b/src/generated-sources/openapi/apis/AccessPointsApi.ts new file mode 100644 index 0000000..dae5616 --- /dev/null +++ b/src/generated-sources/openapi/apis/AccessPointsApi.ts @@ -0,0 +1,355 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AccessPoint, + PaginatedAccessPointList, + PatchedAccessPoint, +} from '../models/index'; +import { + AccessPointFromJSON, + AccessPointToJSON, + PaginatedAccessPointListFromJSON, + PaginatedAccessPointListToJSON, + PatchedAccessPointFromJSON, + PatchedAccessPointToJSON, +} from '../models/index'; + +export interface ApiV1AccesspointsCreateRequest { + accessPoint: Omit; +} + +export interface ApiV1AccesspointsDestroyRequest { + id: string; +} + +export interface ApiV1AccesspointsListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1AccesspointsLookupListRequest { + name?: string; + networkNumber?: number; + node?: string; + page?: number; + pageSize?: number; + status?: string; + uispId?: string; +} + +export interface ApiV1AccesspointsPartialUpdateRequest { + id: string; + patchedAccessPoint?: Omit; +} + +export interface ApiV1AccesspointsRetrieveRequest { + id: string; +} + +export interface ApiV1AccesspointsUpdateRequest { + id: string; + accessPoint: Omit; +} + +/** + * + */ +export class AccessPointsApi extends runtime.BaseAPI { + + /** + */ + async apiV1AccesspointsCreateRaw(requestParameters: ApiV1AccesspointsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['accessPoint'] == null) { + throw new runtime.RequiredError( + 'accessPoint', + 'Required parameter "accessPoint" was null or undefined when calling apiV1AccesspointsCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AccessPointToJSON(requestParameters['accessPoint']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessPointFromJSON(jsonValue)); + } + + /** + */ + async apiV1AccesspointsCreate(requestParameters: ApiV1AccesspointsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1AccesspointsCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1AccesspointsDestroyRaw(requestParameters: ApiV1AccesspointsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1AccesspointsDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1AccesspointsDestroy(requestParameters: ApiV1AccesspointsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1AccesspointsDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1AccesspointsListRaw(requestParameters: ApiV1AccesspointsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedAccessPointListFromJSON(jsonValue)); + } + + /** + */ + async apiV1AccesspointsList(requestParameters: ApiV1AccesspointsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1AccesspointsListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1AccesspointsLookupListRaw(requestParameters: ApiV1AccesspointsLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['name'] != null) { + queryParameters['name'] = requestParameters['name']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + if (requestParameters['uispId'] != null) { + queryParameters['uisp_id'] = requestParameters['uispId']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedAccessPointListFromJSON(jsonValue)); + } + + /** + */ + async apiV1AccesspointsLookupList(requestParameters: ApiV1AccesspointsLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1AccesspointsLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1AccesspointsPartialUpdateRaw(requestParameters: ApiV1AccesspointsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1AccesspointsPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedAccessPointToJSON(requestParameters['patchedAccessPoint']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessPointFromJSON(jsonValue)); + } + + /** + */ + async apiV1AccesspointsPartialUpdate(requestParameters: ApiV1AccesspointsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1AccesspointsPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1AccesspointsRetrieveRaw(requestParameters: ApiV1AccesspointsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1AccesspointsRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessPointFromJSON(jsonValue)); + } + + /** + */ + async apiV1AccesspointsRetrieve(requestParameters: ApiV1AccesspointsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1AccesspointsRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1AccesspointsUpdateRaw(requestParameters: ApiV1AccesspointsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1AccesspointsUpdate().' + ); + } + + if (requestParameters['accessPoint'] == null) { + throw new runtime.RequiredError( + 'accessPoint', + 'Required parameter "accessPoint" was null or undefined when calling apiV1AccesspointsUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/accesspoints/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AccessPointToJSON(requestParameters['accessPoint']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AccessPointFromJSON(jsonValue)); + } + + /** + */ + async apiV1AccesspointsUpdate(requestParameters: ApiV1AccesspointsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1AccesspointsUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/BuildingsApi.ts b/src/generated-sources/openapi/apis/BuildingsApi.ts new file mode 100644 index 0000000..1db52cc --- /dev/null +++ b/src/generated-sources/openapi/apis/BuildingsApi.ts @@ -0,0 +1,380 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + Building, + PaginatedBuildingList, + PatchedBuilding, +} from '../models/index'; +import { + BuildingFromJSON, + BuildingToJSON, + PaginatedBuildingListFromJSON, + PaginatedBuildingListToJSON, + PatchedBuildingFromJSON, + PatchedBuildingToJSON, +} from '../models/index'; + +export interface ApiV1BuildingsCreateRequest { + building: Omit; +} + +export interface ApiV1BuildingsDestroyRequest { + id: string; +} + +export interface ApiV1BuildingsListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1BuildingsLookupListRequest { + bin?: number; + city?: string; + installNumber?: number; + networkNumber?: number; + node?: string; + page?: number; + pageSize?: number; + primaryNetworkNumber?: number; + primaryNode?: string; + state?: string; + streetAddress?: string; + zipCode?: string; +} + +export interface ApiV1BuildingsPartialUpdateRequest { + id: string; + patchedBuilding?: Omit; +} + +export interface ApiV1BuildingsRetrieveRequest { + id: string; +} + +export interface ApiV1BuildingsUpdateRequest { + id: string; + building: Omit; +} + +/** + * + */ +export class BuildingsApi extends runtime.BaseAPI { + + /** + */ + async apiV1BuildingsCreateRaw(requestParameters: ApiV1BuildingsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['building'] == null) { + throw new runtime.RequiredError( + 'building', + 'Required parameter "building" was null or undefined when calling apiV1BuildingsCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: BuildingToJSON(requestParameters['building']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BuildingFromJSON(jsonValue)); + } + + /** + */ + async apiV1BuildingsCreate(requestParameters: ApiV1BuildingsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1BuildingsCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1BuildingsDestroyRaw(requestParameters: ApiV1BuildingsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1BuildingsDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1BuildingsDestroy(requestParameters: ApiV1BuildingsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1BuildingsDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1BuildingsListRaw(requestParameters: ApiV1BuildingsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedBuildingListFromJSON(jsonValue)); + } + + /** + */ + async apiV1BuildingsList(requestParameters: ApiV1BuildingsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1BuildingsListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1BuildingsLookupListRaw(requestParameters: ApiV1BuildingsLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['bin'] != null) { + queryParameters['bin'] = requestParameters['bin']; + } + + if (requestParameters['city'] != null) { + queryParameters['city'] = requestParameters['city']; + } + + if (requestParameters['installNumber'] != null) { + queryParameters['install_number'] = requestParameters['installNumber']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['primaryNetworkNumber'] != null) { + queryParameters['primary_network_number'] = requestParameters['primaryNetworkNumber']; + } + + if (requestParameters['primaryNode'] != null) { + queryParameters['primary_node'] = requestParameters['primaryNode']; + } + + if (requestParameters['state'] != null) { + queryParameters['state'] = requestParameters['state']; + } + + if (requestParameters['streetAddress'] != null) { + queryParameters['street_address'] = requestParameters['streetAddress']; + } + + if (requestParameters['zipCode'] != null) { + queryParameters['zip_code'] = requestParameters['zipCode']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedBuildingListFromJSON(jsonValue)); + } + + /** + */ + async apiV1BuildingsLookupList(requestParameters: ApiV1BuildingsLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1BuildingsLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1BuildingsPartialUpdateRaw(requestParameters: ApiV1BuildingsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1BuildingsPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedBuildingToJSON(requestParameters['patchedBuilding']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BuildingFromJSON(jsonValue)); + } + + /** + */ + async apiV1BuildingsPartialUpdate(requestParameters: ApiV1BuildingsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1BuildingsPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1BuildingsRetrieveRaw(requestParameters: ApiV1BuildingsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1BuildingsRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BuildingFromJSON(jsonValue)); + } + + /** + */ + async apiV1BuildingsRetrieve(requestParameters: ApiV1BuildingsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1BuildingsRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1BuildingsUpdateRaw(requestParameters: ApiV1BuildingsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1BuildingsUpdate().' + ); + } + + if (requestParameters['building'] == null) { + throw new runtime.RequiredError( + 'building', + 'Required parameter "building" was null or undefined when calling apiV1BuildingsUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/buildings/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: BuildingToJSON(requestParameters['building']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BuildingFromJSON(jsonValue)); + } + + /** + */ + async apiV1BuildingsUpdate(requestParameters: ApiV1BuildingsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1BuildingsUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/DevicesApi.ts b/src/generated-sources/openapi/apis/DevicesApi.ts new file mode 100644 index 0000000..abd84e9 --- /dev/null +++ b/src/generated-sources/openapi/apis/DevicesApi.ts @@ -0,0 +1,355 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + Device, + PaginatedDeviceList, + PatchedDevice, +} from '../models/index'; +import { + DeviceFromJSON, + DeviceToJSON, + PaginatedDeviceListFromJSON, + PaginatedDeviceListToJSON, + PatchedDeviceFromJSON, + PatchedDeviceToJSON, +} from '../models/index'; + +export interface ApiV1DevicesCreateRequest { + device: Omit; +} + +export interface ApiV1DevicesDestroyRequest { + id: string; +} + +export interface ApiV1DevicesListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1DevicesLookupListRequest { + name?: string; + networkNumber?: number; + node?: string; + page?: number; + pageSize?: number; + status?: string; + uispId?: string; +} + +export interface ApiV1DevicesPartialUpdateRequest { + id: string; + patchedDevice?: Omit; +} + +export interface ApiV1DevicesRetrieveRequest { + id: string; +} + +export interface ApiV1DevicesUpdateRequest { + id: string; + device: Omit; +} + +/** + * + */ +export class DevicesApi extends runtime.BaseAPI { + + /** + */ + async apiV1DevicesCreateRaw(requestParameters: ApiV1DevicesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['device'] == null) { + throw new runtime.RequiredError( + 'device', + 'Required parameter "device" was null or undefined when calling apiV1DevicesCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: DeviceToJSON(requestParameters['device']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceFromJSON(jsonValue)); + } + + /** + */ + async apiV1DevicesCreate(requestParameters: ApiV1DevicesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1DevicesCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1DevicesDestroyRaw(requestParameters: ApiV1DevicesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1DevicesDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1DevicesDestroy(requestParameters: ApiV1DevicesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1DevicesDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1DevicesListRaw(requestParameters: ApiV1DevicesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedDeviceListFromJSON(jsonValue)); + } + + /** + */ + async apiV1DevicesList(requestParameters: ApiV1DevicesListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1DevicesListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1DevicesLookupListRaw(requestParameters: ApiV1DevicesLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['name'] != null) { + queryParameters['name'] = requestParameters['name']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + if (requestParameters['uispId'] != null) { + queryParameters['uisp_id'] = requestParameters['uispId']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedDeviceListFromJSON(jsonValue)); + } + + /** + */ + async apiV1DevicesLookupList(requestParameters: ApiV1DevicesLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1DevicesLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1DevicesPartialUpdateRaw(requestParameters: ApiV1DevicesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1DevicesPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedDeviceToJSON(requestParameters['patchedDevice']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceFromJSON(jsonValue)); + } + + /** + */ + async apiV1DevicesPartialUpdate(requestParameters: ApiV1DevicesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1DevicesPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1DevicesRetrieveRaw(requestParameters: ApiV1DevicesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1DevicesRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceFromJSON(jsonValue)); + } + + /** + */ + async apiV1DevicesRetrieve(requestParameters: ApiV1DevicesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1DevicesRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1DevicesUpdateRaw(requestParameters: ApiV1DevicesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1DevicesUpdate().' + ); + } + + if (requestParameters['device'] == null) { + throw new runtime.RequiredError( + 'device', + 'Required parameter "device" was null or undefined when calling apiV1DevicesUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/devices/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: DeviceToJSON(requestParameters['device']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceFromJSON(jsonValue)); + } + + /** + */ + async apiV1DevicesUpdate(requestParameters: ApiV1DevicesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1DevicesUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/GeographicKMLDataApi.ts b/src/generated-sources/openapi/apis/GeographicKMLDataApi.ts new file mode 100644 index 0000000..f57c6b1 --- /dev/null +++ b/src/generated-sources/openapi/apis/GeographicKMLDataApi.ts @@ -0,0 +1,146 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ErrorResponseInternalFailure, + ErrorResponseInvalidAddr, + ErrorResponseMissingFields, + GeocodeSuccessResponse, +} from '../models/index'; +import { + ErrorResponseInternalFailureFromJSON, + ErrorResponseInternalFailureToJSON, + ErrorResponseInvalidAddrFromJSON, + ErrorResponseInvalidAddrToJSON, + ErrorResponseMissingFieldsFromJSON, + ErrorResponseMissingFieldsToJSON, + GeocodeSuccessResponseFromJSON, + GeocodeSuccessResponseToJSON, +} from '../models/index'; + +export interface ApiV1GeographyNycGeocodeV2SearchRetrieveRequest { + city: string; + state: string; + streetAddress: string; + zip: number; +} + +/** + * + */ +export class GeographicKMLDataApi extends runtime.BaseAPI { + + /** + * Use the NYC geocoding APIs to look up an address, and return the lat/lon/alt corresponding to it or 404 if the address cannot be found within NYC + */ + async apiV1GeographyNycGeocodeV2SearchRetrieveRaw(requestParameters: ApiV1GeographyNycGeocodeV2SearchRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['city'] == null) { + throw new runtime.RequiredError( + 'city', + 'Required parameter "city" was null or undefined when calling apiV1GeographyNycGeocodeV2SearchRetrieve().' + ); + } + + if (requestParameters['state'] == null) { + throw new runtime.RequiredError( + 'state', + 'Required parameter "state" was null or undefined when calling apiV1GeographyNycGeocodeV2SearchRetrieve().' + ); + } + + if (requestParameters['streetAddress'] == null) { + throw new runtime.RequiredError( + 'streetAddress', + 'Required parameter "streetAddress" was null or undefined when calling apiV1GeographyNycGeocodeV2SearchRetrieve().' + ); + } + + if (requestParameters['zip'] == null) { + throw new runtime.RequiredError( + 'zip', + 'Required parameter "zip" was null or undefined when calling apiV1GeographyNycGeocodeV2SearchRetrieve().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['city'] != null) { + queryParameters['city'] = requestParameters['city']; + } + + if (requestParameters['state'] != null) { + queryParameters['state'] = requestParameters['state']; + } + + if (requestParameters['streetAddress'] != null) { + queryParameters['street_address'] = requestParameters['streetAddress']; + } + + if (requestParameters['zip'] != null) { + queryParameters['zip'] = requestParameters['zip']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/geography/nyc-geocode/v2/search`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => GeocodeSuccessResponseFromJSON(jsonValue)); + } + + /** + * Use the NYC geocoding APIs to look up an address, and return the lat/lon/alt corresponding to it or 404 if the address cannot be found within NYC + */ + async apiV1GeographyNycGeocodeV2SearchRetrieve(requestParameters: ApiV1GeographyNycGeocodeV2SearchRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1GeographyNycGeocodeV2SearchRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Generate a KML file which contains all nodes and links on the mesh + */ + async apiV1GeographyWholeMeshKmlRetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/geography/whole-mesh.kml`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Generate a KML file which contains all nodes and links on the mesh + */ + async apiV1GeographyWholeMeshKmlRetrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1GeographyWholeMeshKmlRetrieveRaw(initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/InstallsApi.ts b/src/generated-sources/openapi/apis/InstallsApi.ts new file mode 100644 index 0000000..2fa974c --- /dev/null +++ b/src/generated-sources/openapi/apis/InstallsApi.ts @@ -0,0 +1,525 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + Install, + PaginatedInstallList, + PatchedInstall, +} from '../models/index'; +import { + InstallFromJSON, + InstallToJSON, + PaginatedInstallListFromJSON, + PaginatedInstallListToJSON, + PatchedInstallFromJSON, + PatchedInstallToJSON, +} from '../models/index'; + +export interface ApiV1InstallsCreateRequest { + install: Omit; +} + +export interface ApiV1InstallsDestroyRequest { + id: string; +} + +export interface ApiV1InstallsDestroy2Request { + installNumber: number; +} + +export interface ApiV1InstallsListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1InstallsLookupListRequest { + building?: number; + member?: number; + networkNumber?: number; + node?: string; + page?: number; + pageSize?: number; + status?: string; +} + +export interface ApiV1InstallsPartialUpdateRequest { + id: string; + patchedInstall?: Omit; +} + +export interface ApiV1InstallsPartialUpdate2Request { + installNumber: number; + patchedInstall?: Omit; +} + +export interface ApiV1InstallsRetrieveRequest { + id: string; +} + +export interface ApiV1InstallsRetrieve2Request { + installNumber: number; +} + +export interface ApiV1InstallsUpdateRequest { + id: string; + install: Omit; +} + +export interface ApiV1InstallsUpdate2Request { + installNumber: number; + install: Omit; +} + +/** + * + */ +export class InstallsApi extends runtime.BaseAPI { + + /** + */ + async apiV1InstallsCreateRaw(requestParameters: ApiV1InstallsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['install'] == null) { + throw new runtime.RequiredError( + 'install', + 'Required parameter "install" was null or undefined when calling apiV1InstallsCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: InstallToJSON(requestParameters['install']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsCreate(requestParameters: ApiV1InstallsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsDestroyRaw(requestParameters: ApiV1InstallsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1InstallsDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1InstallsDestroy(requestParameters: ApiV1InstallsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1InstallsDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1InstallsDestroy2Raw(requestParameters: ApiV1InstallsDestroy2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['installNumber'] == null) { + throw new runtime.RequiredError( + 'installNumber', + 'Required parameter "installNumber" was null or undefined when calling apiV1InstallsDestroy2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{install_number}/`.replace(`{${"install_number"}}`, encodeURIComponent(String(requestParameters['installNumber']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1InstallsDestroy2(requestParameters: ApiV1InstallsDestroy2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1InstallsDestroy2Raw(requestParameters, initOverrides); + } + + /** + */ + async apiV1InstallsListRaw(requestParameters: ApiV1InstallsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedInstallListFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsList(requestParameters: ApiV1InstallsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsLookupListRaw(requestParameters: ApiV1InstallsLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['building'] != null) { + queryParameters['building'] = requestParameters['building']; + } + + if (requestParameters['member'] != null) { + queryParameters['member'] = requestParameters['member']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedInstallListFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsLookupList(requestParameters: ApiV1InstallsLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsPartialUpdateRaw(requestParameters: ApiV1InstallsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1InstallsPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedInstallToJSON(requestParameters['patchedInstall']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsPartialUpdate(requestParameters: ApiV1InstallsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsPartialUpdate2Raw(requestParameters: ApiV1InstallsPartialUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['installNumber'] == null) { + throw new runtime.RequiredError( + 'installNumber', + 'Required parameter "installNumber" was null or undefined when calling apiV1InstallsPartialUpdate2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{install_number}/`.replace(`{${"install_number"}}`, encodeURIComponent(String(requestParameters['installNumber']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedInstallToJSON(requestParameters['patchedInstall']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsPartialUpdate2(requestParameters: ApiV1InstallsPartialUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsPartialUpdate2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsRetrieveRaw(requestParameters: ApiV1InstallsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1InstallsRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsRetrieve(requestParameters: ApiV1InstallsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsRetrieve2Raw(requestParameters: ApiV1InstallsRetrieve2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['installNumber'] == null) { + throw new runtime.RequiredError( + 'installNumber', + 'Required parameter "installNumber" was null or undefined when calling apiV1InstallsRetrieve2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{install_number}/`.replace(`{${"install_number"}}`, encodeURIComponent(String(requestParameters['installNumber']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsRetrieve2(requestParameters: ApiV1InstallsRetrieve2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsRetrieve2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsUpdateRaw(requestParameters: ApiV1InstallsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1InstallsUpdate().' + ); + } + + if (requestParameters['install'] == null) { + throw new runtime.RequiredError( + 'install', + 'Required parameter "install" was null or undefined when calling apiV1InstallsUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: InstallToJSON(requestParameters['install']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsUpdate(requestParameters: ApiV1InstallsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1InstallsUpdate2Raw(requestParameters: ApiV1InstallsUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['installNumber'] == null) { + throw new runtime.RequiredError( + 'installNumber', + 'Required parameter "installNumber" was null or undefined when calling apiV1InstallsUpdate2().' + ); + } + + if (requestParameters['install'] == null) { + throw new runtime.RequiredError( + 'install', + 'Required parameter "install" was null or undefined when calling apiV1InstallsUpdate2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/installs/{install_number}/`.replace(`{${"install_number"}}`, encodeURIComponent(String(requestParameters['installNumber']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: InstallToJSON(requestParameters['install']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => InstallFromJSON(jsonValue)); + } + + /** + */ + async apiV1InstallsUpdate2(requestParameters: ApiV1InstallsUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1InstallsUpdate2Raw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/LOSesApi.ts b/src/generated-sources/openapi/apis/LOSesApi.ts new file mode 100644 index 0000000..ead3ab2 --- /dev/null +++ b/src/generated-sources/openapi/apis/LOSesApi.ts @@ -0,0 +1,360 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + LOS, + PaginatedLOSList, + PatchedLOS, +} from '../models/index'; +import { + LOSFromJSON, + LOSToJSON, + PaginatedLOSListFromJSON, + PaginatedLOSListToJSON, + PatchedLOSFromJSON, + PatchedLOSToJSON, +} from '../models/index'; + +export interface ApiV1LosesCreateRequest { + lOS: Omit; +} + +export interface ApiV1LosesDestroyRequest { + id: string; +} + +export interface ApiV1LosesListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1LosesLookupListRequest { + analysisDate?: Date; + building?: number; + installNumber?: number; + networkNumber?: number; + node?: number; + page?: number; + pageSize?: number; + source?: string; +} + +export interface ApiV1LosesPartialUpdateRequest { + id: string; + patchedLOS?: Omit; +} + +export interface ApiV1LosesRetrieveRequest { + id: string; +} + +export interface ApiV1LosesUpdateRequest { + id: string; + lOS: Omit; +} + +/** + * + */ +export class LOSesApi extends runtime.BaseAPI { + + /** + */ + async apiV1LosesCreateRaw(requestParameters: ApiV1LosesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['lOS'] == null) { + throw new runtime.RequiredError( + 'lOS', + 'Required parameter "lOS" was null or undefined when calling apiV1LosesCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LOSToJSON(requestParameters['lOS']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LOSFromJSON(jsonValue)); + } + + /** + */ + async apiV1LosesCreate(requestParameters: ApiV1LosesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LosesCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LosesDestroyRaw(requestParameters: ApiV1LosesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LosesDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1LosesDestroy(requestParameters: ApiV1LosesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1LosesDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1LosesListRaw(requestParameters: ApiV1LosesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedLOSListFromJSON(jsonValue)); + } + + /** + */ + async apiV1LosesList(requestParameters: ApiV1LosesListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LosesListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LosesLookupListRaw(requestParameters: ApiV1LosesLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['analysisDate'] != null) { + queryParameters['analysis_date'] = (requestParameters['analysisDate'] as any).toISOString().substring(0,10); + } + + if (requestParameters['building'] != null) { + queryParameters['building'] = requestParameters['building']; + } + + if (requestParameters['installNumber'] != null) { + queryParameters['install_number'] = requestParameters['installNumber']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['source'] != null) { + queryParameters['source'] = requestParameters['source']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedLOSListFromJSON(jsonValue)); + } + + /** + */ + async apiV1LosesLookupList(requestParameters: ApiV1LosesLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LosesLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LosesPartialUpdateRaw(requestParameters: ApiV1LosesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LosesPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedLOSToJSON(requestParameters['patchedLOS']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LOSFromJSON(jsonValue)); + } + + /** + */ + async apiV1LosesPartialUpdate(requestParameters: ApiV1LosesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LosesPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LosesRetrieveRaw(requestParameters: ApiV1LosesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LosesRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LOSFromJSON(jsonValue)); + } + + /** + */ + async apiV1LosesRetrieve(requestParameters: ApiV1LosesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LosesRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LosesUpdateRaw(requestParameters: ApiV1LosesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LosesUpdate().' + ); + } + + if (requestParameters['lOS'] == null) { + throw new runtime.RequiredError( + 'lOS', + 'Required parameter "lOS" was null or undefined when calling apiV1LosesUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/loses/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: LOSToJSON(requestParameters['lOS']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LOSFromJSON(jsonValue)); + } + + /** + */ + async apiV1LosesUpdate(requestParameters: ApiV1LosesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LosesUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/LegacyQueryFormApi.ts b/src/generated-sources/openapi/apis/LegacyQueryFormApi.ts new file mode 100644 index 0000000..8445222 --- /dev/null +++ b/src/generated-sources/openapi/apis/LegacyQueryFormApi.ts @@ -0,0 +1,264 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PaginatedQueryFormList, +} from '../models/index'; +import { + PaginatedQueryFormListFromJSON, + PaginatedQueryFormListToJSON, +} from '../models/index'; + +export interface ApiV1QueryBuildingsListRequest { + password: string; + bin?: string; + city?: string; + page?: number; + pageSize?: number; + state?: string; + streetAddress?: string; + zipCode?: string; +} + +export interface ApiV1QueryInstallsListRequest { + password: string; + building?: string; + installNumber?: number; + member?: string; + networkNumber?: number; + page?: number; + pageSize?: number; + status?: ApiV1QueryInstallsListStatusEnum; +} + +export interface ApiV1QueryMembersListRequest { + password: string; + emailAddress?: string; + name?: string; + page?: number; + pageSize?: number; + phoneNumber?: string; +} + +/** + * + */ +export class LegacyQueryFormApi extends runtime.BaseAPI { + + /** + * Query & filter based on Building attributes. Results are returned as flattened spreadsheet row style output + */ + async apiV1QueryBuildingsListRaw(requestParameters: ApiV1QueryBuildingsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['password'] == null) { + throw new runtime.RequiredError( + 'password', + 'Required parameter "password" was null or undefined when calling apiV1QueryBuildingsList().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['bin'] != null) { + queryParameters['bin'] = requestParameters['bin']; + } + + if (requestParameters['city'] != null) { + queryParameters['city'] = requestParameters['city']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['password'] != null) { + queryParameters['password'] = requestParameters['password']; + } + + if (requestParameters['state'] != null) { + queryParameters['state'] = requestParameters['state']; + } + + if (requestParameters['streetAddress'] != null) { + queryParameters['street_address'] = requestParameters['streetAddress']; + } + + if (requestParameters['zipCode'] != null) { + queryParameters['zip_code'] = requestParameters['zipCode']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/query/buildings/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedQueryFormListFromJSON(jsonValue)); + } + + /** + * Query & filter based on Building attributes. Results are returned as flattened spreadsheet row style output + */ + async apiV1QueryBuildingsList(requestParameters: ApiV1QueryBuildingsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1QueryBuildingsListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Query & filter based on Install attributes. Results are returned as flattened spreadsheet row style output + */ + async apiV1QueryInstallsListRaw(requestParameters: ApiV1QueryInstallsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['password'] == null) { + throw new runtime.RequiredError( + 'password', + 'Required parameter "password" was null or undefined when calling apiV1QueryInstallsList().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['building'] != null) { + queryParameters['building'] = requestParameters['building']; + } + + if (requestParameters['installNumber'] != null) { + queryParameters['install_number'] = requestParameters['installNumber']; + } + + if (requestParameters['member'] != null) { + queryParameters['member'] = requestParameters['member']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['password'] != null) { + queryParameters['password'] = requestParameters['password']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/query/installs/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + console.log(response); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedQueryFormListFromJSON(jsonValue)); + } + + /** + * Query & filter based on Install attributes. Results are returned as flattened spreadsheet row style output + */ + async apiV1QueryInstallsList(requestParameters: ApiV1QueryInstallsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1QueryInstallsListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Query & filter based on Member attributes. Results are returned as flattened spreadsheet row style output + */ + async apiV1QueryMembersListRaw(requestParameters: ApiV1QueryMembersListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['password'] == null) { + throw new runtime.RequiredError( + 'password', + 'Required parameter "password" was null or undefined when calling apiV1QueryMembersList().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['emailAddress'] != null) { + queryParameters['email_address'] = requestParameters['emailAddress']; + } + + if (requestParameters['name'] != null) { + queryParameters['name'] = requestParameters['name']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['password'] != null) { + queryParameters['password'] = requestParameters['password']; + } + + if (requestParameters['phoneNumber'] != null) { + queryParameters['phone_number'] = requestParameters['phoneNumber']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/query/members/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedQueryFormListFromJSON(jsonValue)); + } + + /** + * Query & filter based on Member attributes. Results are returned as flattened spreadsheet row style output + */ + async apiV1QueryMembersList(requestParameters: ApiV1QueryMembersListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1QueryMembersListRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const ApiV1QueryInstallsListStatusEnum = { + Active: 'Active', + Blocked: 'Blocked', + Closed: 'Closed', + Inactive: 'Inactive', + NnReassigned: 'NN Reassigned', + Pending: 'Pending', + RequestReceived: 'Request Received' +} as const; +export type ApiV1QueryInstallsListStatusEnum = typeof ApiV1QueryInstallsListStatusEnum[keyof typeof ApiV1QueryInstallsListStatusEnum]; diff --git a/src/generated-sources/openapi/apis/LinksApi.ts b/src/generated-sources/openapi/apis/LinksApi.ts new file mode 100644 index 0000000..1110163 --- /dev/null +++ b/src/generated-sources/openapi/apis/LinksApi.ts @@ -0,0 +1,360 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + Link, + PaginatedLinkList, + PatchedLink, +} from '../models/index'; +import { + LinkFromJSON, + LinkToJSON, + PaginatedLinkListFromJSON, + PaginatedLinkListToJSON, + PatchedLinkFromJSON, + PatchedLinkToJSON, +} from '../models/index'; + +export interface ApiV1LinksCreateRequest { + link: Omit; +} + +export interface ApiV1LinksDestroyRequest { + id: string; +} + +export interface ApiV1LinksListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1LinksLookupListRequest { + device?: number; + networkNumber?: number; + node?: string; + page?: number; + pageSize?: number; + status?: string; + type?: string; + uispId?: string; +} + +export interface ApiV1LinksPartialUpdateRequest { + id: string; + patchedLink?: Omit; +} + +export interface ApiV1LinksRetrieveRequest { + id: string; +} + +export interface ApiV1LinksUpdateRequest { + id: string; + link: Omit; +} + +/** + * + */ +export class LinksApi extends runtime.BaseAPI { + + /** + */ + async apiV1LinksCreateRaw(requestParameters: ApiV1LinksCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['link'] == null) { + throw new runtime.RequiredError( + 'link', + 'Required parameter "link" was null or undefined when calling apiV1LinksCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LinkToJSON(requestParameters['link']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LinkFromJSON(jsonValue)); + } + + /** + */ + async apiV1LinksCreate(requestParameters: ApiV1LinksCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LinksCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LinksDestroyRaw(requestParameters: ApiV1LinksDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LinksDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1LinksDestroy(requestParameters: ApiV1LinksDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1LinksDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1LinksListRaw(requestParameters: ApiV1LinksListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedLinkListFromJSON(jsonValue)); + } + + /** + */ + async apiV1LinksList(requestParameters: ApiV1LinksListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LinksListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LinksLookupListRaw(requestParameters: ApiV1LinksLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['device'] != null) { + queryParameters['device'] = requestParameters['device']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + if (requestParameters['type'] != null) { + queryParameters['type'] = requestParameters['type']; + } + + if (requestParameters['uispId'] != null) { + queryParameters['uisp_id'] = requestParameters['uispId']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedLinkListFromJSON(jsonValue)); + } + + /** + */ + async apiV1LinksLookupList(requestParameters: ApiV1LinksLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LinksLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LinksPartialUpdateRaw(requestParameters: ApiV1LinksPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LinksPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedLinkToJSON(requestParameters['patchedLink']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LinkFromJSON(jsonValue)); + } + + /** + */ + async apiV1LinksPartialUpdate(requestParameters: ApiV1LinksPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LinksPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LinksRetrieveRaw(requestParameters: ApiV1LinksRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LinksRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LinkFromJSON(jsonValue)); + } + + /** + */ + async apiV1LinksRetrieve(requestParameters: ApiV1LinksRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LinksRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1LinksUpdateRaw(requestParameters: ApiV1LinksUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1LinksUpdate().' + ); + } + + if (requestParameters['link'] == null) { + throw new runtime.RequiredError( + 'link', + 'Required parameter "link" was null or undefined when calling apiV1LinksUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/links/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: LinkToJSON(requestParameters['link']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LinkFromJSON(jsonValue)); + } + + /** + */ + async apiV1LinksUpdate(requestParameters: ApiV1LinksUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1LinksUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/MembersApi.ts b/src/generated-sources/openapi/apis/MembersApi.ts new file mode 100644 index 0000000..3de9a51 --- /dev/null +++ b/src/generated-sources/openapi/apis/MembersApi.ts @@ -0,0 +1,345 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + Member, + PaginatedMemberList, + PatchedMember, +} from '../models/index'; +import { + MemberFromJSON, + MemberToJSON, + PaginatedMemberListFromJSON, + PaginatedMemberListToJSON, + PatchedMemberFromJSON, + PatchedMemberToJSON, +} from '../models/index'; + +export interface ApiV1MembersCreateRequest { + member: Omit; +} + +export interface ApiV1MembersDestroyRequest { + id: string; +} + +export interface ApiV1MembersListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1MembersLookupListRequest { + emailAddress?: string; + name?: string; + page?: number; + pageSize?: number; + phoneNumber?: string; +} + +export interface ApiV1MembersPartialUpdateRequest { + id: string; + patchedMember?: Omit; +} + +export interface ApiV1MembersRetrieveRequest { + id: string; +} + +export interface ApiV1MembersUpdateRequest { + id: string; + member: Omit; +} + +/** + * + */ +export class MembersApi extends runtime.BaseAPI { + + /** + */ + async apiV1MembersCreateRaw(requestParameters: ApiV1MembersCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['member'] == null) { + throw new runtime.RequiredError( + 'member', + 'Required parameter "member" was null or undefined when calling apiV1MembersCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: MemberToJSON(requestParameters['member']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MemberFromJSON(jsonValue)); + } + + /** + */ + async apiV1MembersCreate(requestParameters: ApiV1MembersCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1MembersCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1MembersDestroyRaw(requestParameters: ApiV1MembersDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1MembersDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1MembersDestroy(requestParameters: ApiV1MembersDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1MembersDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1MembersListRaw(requestParameters: ApiV1MembersListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedMemberListFromJSON(jsonValue)); + } + + /** + */ + async apiV1MembersList(requestParameters: ApiV1MembersListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1MembersListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1MembersLookupListRaw(requestParameters: ApiV1MembersLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['emailAddress'] != null) { + queryParameters['email_address'] = requestParameters['emailAddress']; + } + + if (requestParameters['name'] != null) { + queryParameters['name'] = requestParameters['name']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['phoneNumber'] != null) { + queryParameters['phone_number'] = requestParameters['phoneNumber']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedMemberListFromJSON(jsonValue)); + } + + /** + */ + async apiV1MembersLookupList(requestParameters: ApiV1MembersLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1MembersLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1MembersPartialUpdateRaw(requestParameters: ApiV1MembersPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1MembersPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedMemberToJSON(requestParameters['patchedMember']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MemberFromJSON(jsonValue)); + } + + /** + */ + async apiV1MembersPartialUpdate(requestParameters: ApiV1MembersPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1MembersPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1MembersRetrieveRaw(requestParameters: ApiV1MembersRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1MembersRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MemberFromJSON(jsonValue)); + } + + /** + */ + async apiV1MembersRetrieve(requestParameters: ApiV1MembersRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1MembersRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1MembersUpdateRaw(requestParameters: ApiV1MembersUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1MembersUpdate().' + ); + } + + if (requestParameters['member'] == null) { + throw new runtime.RequiredError( + 'member', + 'Required parameter "member" was null or undefined when calling apiV1MembersUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/members/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: MemberToJSON(requestParameters['member']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MemberFromJSON(jsonValue)); + } + + /** + */ + async apiV1MembersUpdate(requestParameters: ApiV1MembersUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1MembersUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/NodesApi.ts b/src/generated-sources/openapi/apis/NodesApi.ts new file mode 100644 index 0000000..9cec41c --- /dev/null +++ b/src/generated-sources/openapi/apis/NodesApi.ts @@ -0,0 +1,523 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + Node, + NodeEdit, + PaginatedNodeList, + PatchedNodeEdit, +} from '../models/index'; +import { + NodeFromJSON, + NodeToJSON, + NodeEditFromJSON, + NodeEditToJSON, + PaginatedNodeListFromJSON, + PaginatedNodeListToJSON, + PatchedNodeEditFromJSON, + PatchedNodeEditToJSON, +} from '../models/index'; + +export interface ApiV1NodesCreateRequest { + node: Omit; +} + +export interface ApiV1NodesDestroyRequest { + id: string; +} + +export interface ApiV1NodesDestroy2Request { + networkNumber: number; +} + +export interface ApiV1NodesListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1NodesLookupListRequest { + building?: number; + installNumber?: number; + name?: string; + page?: number; + pageSize?: number; + status?: string; +} + +export interface ApiV1NodesPartialUpdateRequest { + id: string; + patchedNodeEdit?: Omit; +} + +export interface ApiV1NodesPartialUpdate2Request { + networkNumber: number; + patchedNodeEdit?: Omit; +} + +export interface ApiV1NodesRetrieveRequest { + id: string; +} + +export interface ApiV1NodesRetrieve2Request { + networkNumber: number; +} + +export interface ApiV1NodesUpdateRequest { + id: string; + nodeEdit: Omit; +} + +export interface ApiV1NodesUpdate2Request { + networkNumber: number; + nodeEdit: Omit; +} + +/** + * + */ +export class NodesApi extends runtime.BaseAPI { + + /** + */ + async apiV1NodesCreateRaw(requestParameters: ApiV1NodesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['node'] == null) { + throw new runtime.RequiredError( + 'node', + 'Required parameter "node" was null or undefined when calling apiV1NodesCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: NodeToJSON(requestParameters['node']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesCreate(requestParameters: ApiV1NodesCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesDestroyRaw(requestParameters: ApiV1NodesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1NodesDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1NodesDestroy(requestParameters: ApiV1NodesDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1NodesDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1NodesDestroy2Raw(requestParameters: ApiV1NodesDestroy2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['networkNumber'] == null) { + throw new runtime.RequiredError( + 'networkNumber', + 'Required parameter "networkNumber" was null or undefined when calling apiV1NodesDestroy2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{network_number}/`.replace(`{${"network_number"}}`, encodeURIComponent(String(requestParameters['networkNumber']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1NodesDestroy2(requestParameters: ApiV1NodesDestroy2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1NodesDestroy2Raw(requestParameters, initOverrides); + } + + /** + */ + async apiV1NodesListRaw(requestParameters: ApiV1NodesListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedNodeListFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesList(requestParameters: ApiV1NodesListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesLookupListRaw(requestParameters: ApiV1NodesLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['building'] != null) { + queryParameters['building'] = requestParameters['building']; + } + + if (requestParameters['installNumber'] != null) { + queryParameters['install_number'] = requestParameters['installNumber']; + } + + if (requestParameters['name'] != null) { + queryParameters['name'] = requestParameters['name']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedNodeListFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesLookupList(requestParameters: ApiV1NodesLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesPartialUpdateRaw(requestParameters: ApiV1NodesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1NodesPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedNodeEditToJSON(requestParameters['patchedNodeEdit']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeEditFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesPartialUpdate(requestParameters: ApiV1NodesPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesPartialUpdate2Raw(requestParameters: ApiV1NodesPartialUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['networkNumber'] == null) { + throw new runtime.RequiredError( + 'networkNumber', + 'Required parameter "networkNumber" was null or undefined when calling apiV1NodesPartialUpdate2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{network_number}/`.replace(`{${"network_number"}}`, encodeURIComponent(String(requestParameters['networkNumber']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedNodeEditToJSON(requestParameters['patchedNodeEdit']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeEditFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesPartialUpdate2(requestParameters: ApiV1NodesPartialUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesPartialUpdate2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesRetrieveRaw(requestParameters: ApiV1NodesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1NodesRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeEditFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesRetrieve(requestParameters: ApiV1NodesRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesRetrieve2Raw(requestParameters: ApiV1NodesRetrieve2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['networkNumber'] == null) { + throw new runtime.RequiredError( + 'networkNumber', + 'Required parameter "networkNumber" was null or undefined when calling apiV1NodesRetrieve2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{network_number}/`.replace(`{${"network_number"}}`, encodeURIComponent(String(requestParameters['networkNumber']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeEditFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesRetrieve2(requestParameters: ApiV1NodesRetrieve2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesRetrieve2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesUpdateRaw(requestParameters: ApiV1NodesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1NodesUpdate().' + ); + } + + if (requestParameters['nodeEdit'] == null) { + throw new runtime.RequiredError( + 'nodeEdit', + 'Required parameter "nodeEdit" was null or undefined when calling apiV1NodesUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: NodeEditToJSON(requestParameters['nodeEdit']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeEditFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesUpdate(requestParameters: ApiV1NodesUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1NodesUpdate2Raw(requestParameters: ApiV1NodesUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['networkNumber'] == null) { + throw new runtime.RequiredError( + 'networkNumber', + 'Required parameter "networkNumber" was null or undefined when calling apiV1NodesUpdate2().' + ); + } + + if (requestParameters['nodeEdit'] == null) { + throw new runtime.RequiredError( + 'nodeEdit', + 'Required parameter "nodeEdit" was null or undefined when calling apiV1NodesUpdate2().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nodes/{network_number}/`.replace(`{${"network_number"}}`, encodeURIComponent(String(requestParameters['networkNumber']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: NodeEditToJSON(requestParameters['nodeEdit']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NodeEditFromJSON(jsonValue)); + } + + /** + */ + async apiV1NodesUpdate2(requestParameters: ApiV1NodesUpdate2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NodesUpdate2Raw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/SectorsApi.ts b/src/generated-sources/openapi/apis/SectorsApi.ts new file mode 100644 index 0000000..89bcd6d --- /dev/null +++ b/src/generated-sources/openapi/apis/SectorsApi.ts @@ -0,0 +1,355 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PaginatedSectorList, + PatchedSector, + Sector, +} from '../models/index'; +import { + PaginatedSectorListFromJSON, + PaginatedSectorListToJSON, + PatchedSectorFromJSON, + PatchedSectorToJSON, + SectorFromJSON, + SectorToJSON, +} from '../models/index'; + +export interface ApiV1SectorsCreateRequest { + sector: Omit; +} + +export interface ApiV1SectorsDestroyRequest { + id: string; +} + +export interface ApiV1SectorsListRequest { + page?: number; + pageSize?: number; +} + +export interface ApiV1SectorsLookupListRequest { + name?: string; + networkNumber?: number; + node?: string; + page?: number; + pageSize?: number; + status?: string; + uispId?: string; +} + +export interface ApiV1SectorsPartialUpdateRequest { + id: string; + patchedSector?: Omit; +} + +export interface ApiV1SectorsRetrieveRequest { + id: string; +} + +export interface ApiV1SectorsUpdateRequest { + id: string; + sector: Omit; +} + +/** + * + */ +export class SectorsApi extends runtime.BaseAPI { + + /** + */ + async apiV1SectorsCreateRaw(requestParameters: ApiV1SectorsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['sector'] == null) { + throw new runtime.RequiredError( + 'sector', + 'Required parameter "sector" was null or undefined when calling apiV1SectorsCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SectorToJSON(requestParameters['sector']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SectorFromJSON(jsonValue)); + } + + /** + */ + async apiV1SectorsCreate(requestParameters: ApiV1SectorsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1SectorsCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1SectorsDestroyRaw(requestParameters: ApiV1SectorsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1SectorsDestroy().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async apiV1SectorsDestroy(requestParameters: ApiV1SectorsDestroyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.apiV1SectorsDestroyRaw(requestParameters, initOverrides); + } + + /** + */ + async apiV1SectorsListRaw(requestParameters: ApiV1SectorsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSectorListFromJSON(jsonValue)); + } + + /** + */ + async apiV1SectorsList(requestParameters: ApiV1SectorsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1SectorsListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1SectorsLookupListRaw(requestParameters: ApiV1SectorsLookupListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters['name'] != null) { + queryParameters['name'] = requestParameters['name']; + } + + if (requestParameters['networkNumber'] != null) { + queryParameters['network_number'] = requestParameters['networkNumber']; + } + + if (requestParameters['node'] != null) { + queryParameters['node'] = requestParameters['node']; + } + + if (requestParameters['page'] != null) { + queryParameters['page'] = requestParameters['page']; + } + + if (requestParameters['pageSize'] != null) { + queryParameters['page_size'] = requestParameters['pageSize']; + } + + if (requestParameters['status'] != null) { + queryParameters['status'] = requestParameters['status']; + } + + if (requestParameters['uispId'] != null) { + queryParameters['uisp_id'] = requestParameters['uispId']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/lookup/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSectorListFromJSON(jsonValue)); + } + + /** + */ + async apiV1SectorsLookupList(requestParameters: ApiV1SectorsLookupListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1SectorsLookupListRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1SectorsPartialUpdateRaw(requestParameters: ApiV1SectorsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1SectorsPartialUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: PatchedSectorToJSON(requestParameters['patchedSector']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SectorFromJSON(jsonValue)); + } + + /** + */ + async apiV1SectorsPartialUpdate(requestParameters: ApiV1SectorsPartialUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1SectorsPartialUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1SectorsRetrieveRaw(requestParameters: ApiV1SectorsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1SectorsRetrieve().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SectorFromJSON(jsonValue)); + } + + /** + */ + async apiV1SectorsRetrieve(requestParameters: ApiV1SectorsRetrieveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1SectorsRetrieveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async apiV1SectorsUpdateRaw(requestParameters: ApiV1SectorsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['id'] == null) { + throw new runtime.RequiredError( + 'id', + 'Required parameter "id" was null or undefined when calling apiV1SectorsUpdate().' + ); + } + + if (requestParameters['sector'] == null) { + throw new runtime.RequiredError( + 'sector', + 'Required parameter "sector" was null or undefined when calling apiV1SectorsUpdate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/sectors/{id}/`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SectorToJSON(requestParameters['sector']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SectorFromJSON(jsonValue)); + } + + /** + */ + async apiV1SectorsUpdate(requestParameters: ApiV1SectorsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1SectorsUpdateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/UserFormsApi.ts b/src/generated-sources/openapi/apis/UserFormsApi.ts new file mode 100644 index 0000000..f264681 --- /dev/null +++ b/src/generated-sources/openapi/apis/UserFormsApi.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ErrorResponse, + JoinFormRequest, + JoinFormSuccessResponse, + NNFormSuccessResponse, + NetworkNumberAssignmentRequest, +} from '../models/index'; +import { + ErrorResponseFromJSON, + ErrorResponseToJSON, + JoinFormRequestFromJSON, + JoinFormRequestToJSON, + JoinFormSuccessResponseFromJSON, + JoinFormSuccessResponseToJSON, + NNFormSuccessResponseFromJSON, + NNFormSuccessResponseToJSON, + NetworkNumberAssignmentRequestFromJSON, + NetworkNumberAssignmentRequestToJSON, +} from '../models/index'; + +export interface ApiV1JoinCreateRequest { + joinFormRequest: JoinFormRequest; +} + +export interface ApiV1NnAssignCreateRequest { + networkNumberAssignmentRequest: NetworkNumberAssignmentRequest; +} + +/** + * + */ +export class UserFormsApi extends runtime.BaseAPI { + + /** + * Register a new request for a potential mesh Install. Used by the join form posted on the nycmesh.net website + */ + async apiV1JoinCreateRaw(requestParameters: ApiV1JoinCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['joinFormRequest'] == null) { + throw new runtime.RequiredError( + 'joinFormRequest', + 'Required parameter "joinFormRequest" was null or undefined when calling apiV1JoinCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/api/v1/join/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: JoinFormRequestToJSON(requestParameters['joinFormRequest']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => JoinFormSuccessResponseFromJSON(jsonValue)); + } + + /** + * Register a new request for a potential mesh Install. Used by the join form posted on the nycmesh.net website + */ + async apiV1JoinCreate(requestParameters: ApiV1JoinCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1JoinCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Takes an install number, and assigns the install a network number, deduping using the other buildings in our database. + * Assign a network number to a given Install object. Used by the NN Assignment form + */ + async apiV1NnAssignCreateRaw(requestParameters: ApiV1NnAssignCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['networkNumberAssignmentRequest'] == null) { + throw new runtime.RequiredError( + 'networkNumberAssignmentRequest', + 'Required parameter "networkNumberAssignmentRequest" was null or undefined when calling apiV1NnAssignCreate().' + ); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // tokenAuth authentication + } + + const response = await this.request({ + path: `/api/v1/nn-assign/`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: NetworkNumberAssignmentRequestToJSON(requestParameters['networkNumberAssignmentRequest']), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NNFormSuccessResponseFromJSON(jsonValue)); + } + + /** + * Takes an install number, and assigns the install a network number, deduping using the other buildings in our database. + * Assign a network number to a given Install object. Used by the NN Assignment form + */ + async apiV1NnAssignCreate(requestParameters: ApiV1NnAssignCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.apiV1NnAssignCreateRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/WebsiteMapDataApi.ts b/src/generated-sources/openapi/apis/WebsiteMapDataApi.ts new file mode 100644 index 0000000..4417e50 --- /dev/null +++ b/src/generated-sources/openapi/apis/WebsiteMapDataApi.ts @@ -0,0 +1,146 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CityErrorResponse, + KioskData, + MapDataInstall, + MapDataLink, + MapDataSector, +} from '../models/index'; +import { + CityErrorResponseFromJSON, + CityErrorResponseToJSON, + KioskDataFromJSON, + KioskDataToJSON, + MapDataInstallFromJSON, + MapDataInstallToJSON, + MapDataLinkFromJSON, + MapDataLinkToJSON, + MapDataSectorFromJSON, + MapDataSectorToJSON, +} from '../models/index'; + +/** + * + */ +export class WebsiteMapDataApi extends runtime.BaseAPI { + + /** + * Proxy for the city of new york LinkNYC kisok location dataset. Output in a JSON format that is compatible with the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataKiosksRetrieveRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/mapdata/kiosks/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(KioskDataFromJSON)); + } + + /** + * Proxy for the city of new york LinkNYC kisok location dataset. Output in a JSON format that is compatible with the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataKiosksRetrieve(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiV1MapdataKiosksRetrieveRaw(initOverrides); + return await response.value(); + } + + /** + * Complete list of all Links, unpaginated, in the format expected by the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataLinksListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/mapdata/links/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(MapDataLinkFromJSON)); + } + + /** + * Complete list of all Links, unpaginated, in the format expected by the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataLinksList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiV1MapdataLinksListRaw(initOverrides); + return await response.value(); + } + + /** + * Complete list of all \"Nodes\" (mostly Installs with some fake installs generated to solve NN re-use), unpaginated, in the format expected by the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataNodesListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/mapdata/nodes/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(MapDataInstallFromJSON)); + } + + /** + * Complete list of all \"Nodes\" (mostly Installs with some fake installs generated to solve NN re-use), unpaginated, in the format expected by the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataNodesList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiV1MapdataNodesListRaw(initOverrides); + return await response.value(); + } + + /** + * Complete list of all Sectors, unpaginated, in the format expected by the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataSectorsListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/api/v1/mapdata/sectors/`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(MapDataSectorFromJSON)); + } + + /** + * Complete list of all Sectors, unpaginated, in the format expected by the website map. (Warning: This endpoint is a legacy format and may be deprecated/removed in the future) + */ + async apiV1MapdataSectorsList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.apiV1MapdataSectorsListRaw(initOverrides); + return await response.value(); + } + +} diff --git a/src/generated-sources/openapi/apis/index.ts b/src/generated-sources/openapi/apis/index.ts new file mode 100644 index 0000000..102bc33 --- /dev/null +++ b/src/generated-sources/openapi/apis/index.ts @@ -0,0 +1,16 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './APIStatusApi'; +export * from './AccessPointsApi'; +export * from './BuildingsApi'; +export * from './DevicesApi'; +export * from './GeographicKMLDataApi'; +export * from './InstallsApi'; +export * from './LOSesApi'; +export * from './LegacyQueryFormApi'; +export * from './LinksApi'; +export * from './MembersApi'; +export * from './NodesApi'; +export * from './SectorsApi'; +export * from './UserFormsApi'; +export * from './WebsiteMapDataApi'; diff --git a/src/generated-sources/openapi/index.ts b/src/generated-sources/openapi/index.ts new file mode 100644 index 0000000..bebe8bb --- /dev/null +++ b/src/generated-sources/openapi/index.ts @@ -0,0 +1,5 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './runtime'; +export * from './apis/index'; +export * from './models/index'; diff --git a/src/generated-sources/openapi/models/AccessPoint.ts b/src/generated-sources/openapi/models/AccessPoint.ts new file mode 100644 index 0000000..292fa65 --- /dev/null +++ b/src/generated-sources/openapi/models/AccessPoint.ts @@ -0,0 +1,186 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status432Enum } from './Status432Enum'; +import { + Status432EnumFromJSON, + Status432EnumFromJSONTyped, + Status432EnumToJSON, +} from './Status432Enum'; +import type { AccessPointNode } from './AccessPointNode'; +import { + AccessPointNodeFromJSON, + AccessPointNodeFromJSONTyped, + AccessPointNodeToJSON, +} from './AccessPointNode'; +import type { AccessPointLinksFromInner } from './AccessPointLinksFromInner'; +import { + AccessPointLinksFromInnerFromJSON, + AccessPointLinksFromInnerFromJSONTyped, + AccessPointLinksFromInnerToJSON, +} from './AccessPointLinksFromInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface AccessPoint + */ +export interface AccessPoint { + /** + * + * @type {string} + * @memberof AccessPoint + */ + readonly id: string; + /** + * + * @type {Array} + * @memberof AccessPoint + */ + readonly linksFrom: Array; + /** + * + * @type {Array} + * @memberof AccessPoint + */ + readonly linksTo: Array; + /** + * The name of this device, usually configured as the hostname in the device firmware, usually in the format nycmesh-xxxx-yyyy-zzzz, where xxxx is the network number for the node this device is located at, yyyy is the type of the device, and zzzz is the network number of the other side of the link this device creates (if applicable) + * @type {string} + * @memberof AccessPoint + */ + name?: string | null; + /** + * The current status of this device + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @type {Status432Enum} + * @memberof AccessPoint + */ + status: Status432Enum; + /** + * The date this device first became active on the mesh + * @type {Date} + * @memberof AccessPoint + */ + installDate?: Date | null; + /** + * The this device was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof AccessPoint + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Device, to track any additional information. For imported Devices, this starts with a formatted block of information about the import processand original data. However this structure can be changed by admins at any time and should not be relied onby automated systems. + * @type {string} + * @memberof AccessPoint + */ + notes?: string | null; + /** + * The UUID used to indentify this device in UISP (if applicable) + * @type {string} + * @memberof AccessPoint + */ + uispId?: string | null; + /** + * Approximate AP latitude in decimal degrees (this will match the attached Node object in most cases, but has been manually moved around in some cases to more accurately reflect the device location) + * @type {number} + * @memberof AccessPoint + */ + latitude: number; + /** + * Approximate AP longitude in decimal degrees (this will match the attached Node object in most cases, but has been manually moved around in some cases to more accurately reflect the device location) + * @type {number} + * @memberof AccessPoint + */ + longitude: number; + /** + * Approximate AP altitude in "absolute" meters above mean sea level (this will match the attached Node object in most cases, but has been manually moved around in some cases to more accurately reflect the device location) + * @type {number} + * @memberof AccessPoint + */ + altitude?: number | null; + /** + * + * @type {AccessPointNode} + * @memberof AccessPoint + */ + node: AccessPointNode; +} + + + +/** + * Check if a given object implements the AccessPoint interface. + */ +export function instanceOfAccessPoint(value: object): value is AccessPoint { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('linksFrom' in value) || value['linksFrom'] === undefined) return false; + if (!('linksTo' in value) || value['linksTo'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + if (!('node' in value) || value['node'] === undefined) return false; + return true; +} + +export function AccessPointFromJSON(json: any): AccessPoint { + return AccessPointFromJSONTyped(json, false); +} + +export function AccessPointFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessPoint { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'linksFrom': ((json['links_from'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'linksTo': ((json['links_to'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'status': Status432EnumFromJSON(json['status']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'node': AccessPointNodeFromJSON(json['node']), + }; +} + +export function AccessPointToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'status': Status432EnumToJSON(value['status']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'node': AccessPointNodeToJSON(value['node']), + }; +} + diff --git a/src/generated-sources/openapi/models/AccessPointLinksFromInner.ts b/src/generated-sources/openapi/models/AccessPointLinksFromInner.ts new file mode 100644 index 0000000..956fa9d --- /dev/null +++ b/src/generated-sources/openapi/models/AccessPointLinksFromInner.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * A reference to a Link object, via one or more of the following keys: ['id'] + * @export + * @interface AccessPointLinksFromInner + */ +export interface AccessPointLinksFromInner { + /** + * + * @type {string} + * @memberof AccessPointLinksFromInner + */ + id?: string; +} + +/** + * Check if a given object implements the AccessPointLinksFromInner interface. + */ +export function instanceOfAccessPointLinksFromInner(value: object): value is AccessPointLinksFromInner { + return true; +} + +export function AccessPointLinksFromInnerFromJSON(json: any): AccessPointLinksFromInner { + return AccessPointLinksFromInnerFromJSONTyped(json, false); +} + +export function AccessPointLinksFromInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessPointLinksFromInner { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function AccessPointLinksFromInnerToJSON(value?: AccessPointLinksFromInner | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/AccessPointNode.ts b/src/generated-sources/openapi/models/AccessPointNode.ts new file mode 100644 index 0000000..dba6ca8 --- /dev/null +++ b/src/generated-sources/openapi/models/AccessPointNode.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The logical node this Device is located within. This node's network_number field corresponds to the static IP address and OSPF ID of this device or the DHCP range it receives an address from. The network number is also usually found in the device name + * @export + * @interface AccessPointNode + */ +export interface AccessPointNode { + /** + * + * @type {string} + * @memberof AccessPointNode + */ + id?: string; + /** + * + * @type {number} + * @memberof AccessPointNode + */ + networkNumber?: number | null; +} + +/** + * Check if a given object implements the AccessPointNode interface. + */ +export function instanceOfAccessPointNode(value: object): value is AccessPointNode { + return true; +} + +export function AccessPointNodeFromJSON(json: any): AccessPointNode { + return AccessPointNodeFromJSONTyped(json, false); +} + +export function AccessPointNodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessPointNode { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'networkNumber': json['network_number'] == null ? undefined : json['network_number'], + }; +} + +export function AccessPointNodeToJSON(value?: AccessPointNode | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'network_number': value['networkNumber'], + }; +} + diff --git a/src/generated-sources/openapi/models/AddressTruthSourcesEnum.ts b/src/generated-sources/openapi/models/AddressTruthSourcesEnum.ts new file mode 100644 index 0000000..56cbeed --- /dev/null +++ b/src/generated-sources/openapi/models/AddressTruthSourcesEnum.ts @@ -0,0 +1,58 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `OSMNominatim` - OSMNominatim + * * `OSMNominatimZIPOnly` - OSMNominatimZIPOnly + * * `NYCPlanningLabs` - NYCPlanningLabs + * * `PeliasStringParsing` - PeliasStringParsing + * * `ReverseGeocodeFromCoordinates` - ReverseGeocodeFromCoordinates + * * `HumanEntry` - HumanEntry + * @export + */ +export const AddressTruthSourcesEnum = { + OsmNominatim: 'OSMNominatim', + OsmNominatimZipOnly: 'OSMNominatimZIPOnly', + NycPlanningLabs: 'NYCPlanningLabs', + PeliasStringParsing: 'PeliasStringParsing', + ReverseGeocodeFromCoordinates: 'ReverseGeocodeFromCoordinates', + HumanEntry: 'HumanEntry' +} as const; +export type AddressTruthSourcesEnum = typeof AddressTruthSourcesEnum[keyof typeof AddressTruthSourcesEnum]; + + +export function instanceOfAddressTruthSourcesEnum(value: any): boolean { + for (const key in AddressTruthSourcesEnum) { + if (Object.prototype.hasOwnProperty.call(AddressTruthSourcesEnum, key)) { + if (AddressTruthSourcesEnum[key as keyof typeof AddressTruthSourcesEnum] === value) { + return true; + } + } + } + return false; +} + +export function AddressTruthSourcesEnumFromJSON(json: any): AddressTruthSourcesEnum { + return AddressTruthSourcesEnumFromJSONTyped(json, false); +} + +export function AddressTruthSourcesEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddressTruthSourcesEnum { + return json as AddressTruthSourcesEnum; +} + +export function AddressTruthSourcesEnumToJSON(value?: AddressTruthSourcesEnum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/BlankEnum.ts b/src/generated-sources/openapi/models/BlankEnum.ts new file mode 100644 index 0000000..6541d0f --- /dev/null +++ b/src/generated-sources/openapi/models/BlankEnum.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const BlankEnum = { + Empty: '' +} as const; +export type BlankEnum = typeof BlankEnum[keyof typeof BlankEnum]; + + +export function instanceOfBlankEnum(value: any): boolean { + for (const key in BlankEnum) { + if (Object.prototype.hasOwnProperty.call(BlankEnum, key)) { + if (BlankEnum[key as keyof typeof BlankEnum] === value) { + return true; + } + } + } + return false; +} + +export function BlankEnumFromJSON(json: any): BlankEnum { + return BlankEnumFromJSONTyped(json, false); +} + +export function BlankEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): BlankEnum { + return json as BlankEnum; +} + +export function BlankEnumToJSON(value?: BlankEnum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/Building.ts b/src/generated-sources/openapi/models/Building.ts new file mode 100644 index 0000000..216ee2f --- /dev/null +++ b/src/generated-sources/openapi/models/Building.ts @@ -0,0 +1,201 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { AddressTruthSourcesEnum } from './AddressTruthSourcesEnum'; +import { + AddressTruthSourcesEnumFromJSON, + AddressTruthSourcesEnumFromJSONTyped, + AddressTruthSourcesEnumToJSON, +} from './AddressTruthSourcesEnum'; +import type { BuildingNodesInner } from './BuildingNodesInner'; +import { + BuildingNodesInnerFromJSON, + BuildingNodesInnerFromJSONTyped, + BuildingNodesInnerToJSON, +} from './BuildingNodesInner'; +import type { BuildingPrimaryNode } from './BuildingPrimaryNode'; +import { + BuildingPrimaryNodeFromJSON, + BuildingPrimaryNodeFromJSONTyped, + BuildingPrimaryNodeToJSON, +} from './BuildingPrimaryNode'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Building + */ +export interface Building { + /** + * + * @type {string} + * @memberof Building + */ + readonly id: string; + /** + * + * @type {Array} + * @memberof Building + */ + readonly installs: Array; + /** + * NYC DOB Identifier for the structure containing this building + * @type {number} + * @memberof Building + */ + bin?: number | null; + /** + * Line 1 only of the address of this building: i.e. + * @type {string} + * @memberof Building + */ + streetAddress?: string | null; + /** + * The name of the borough this building is in for buildings within NYC, "New York" for Manhattan to match street addresses. The actual city name for anything outside NYC + * @type {string} + * @memberof Building + */ + city?: string | null; + /** + * The 2 letter abreviation of the US State this building is contained within, e.g. "NY" or "NJ" + * @type {string} + * @memberof Building + */ + state?: string | null; + /** + * The five digit ZIP code this building is contained within + * @type {string} + * @memberof Building + */ + zipCode?: string | null; + /** + * A list of strings that answers the question: How was the content of the street address, city, state, and ZIP fields determined? This is useful in understanding the level of validation applied to spreadsheet imported data. Possible values are: OSMNominatim, OSMNominatimZIPOnly, NYCPlanningLabs, PeliasStringParsing, ReverseGeocodeFromCoordinates, HumanEntry. Check the import script for details + * @type {Array} + * @memberof Building + */ + addressTruthSources: Array; + /** + * Building latitude in decimal degrees + * @type {number} + * @memberof Building + */ + latitude: number; + /** + * Building longitude in decimal degrees + * @type {number} + * @memberof Building + */ + longitude: number; + /** + * Building rooftop altitude in "absolute" meters above mean sea level + * @type {number} + * @memberof Building + */ + altitude?: number | null; + /** + * A free-form text description of this building, to track any additional information. For Buidings imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof Building + */ + notes?: string | null; + /** + * Panoramas taken from the roof of this Building + * @type {Array} + * @memberof Building + */ + panoramas?: Array | null; + /** + * + * @type {BuildingPrimaryNode} + * @memberof Building + */ + primaryNode?: BuildingPrimaryNode | null; + /** + * All nodes located on the same structure (i.e. a discrete man-made place identified by the same BIN) that this Building is located within. + * @type {Array} + * @memberof Building + */ + nodes?: Array; +} + +/** + * Check if a given object implements the Building interface. + */ +export function instanceOfBuilding(value: object): value is Building { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('installs' in value) || value['installs'] === undefined) return false; + if (!('addressTruthSources' in value) || value['addressTruthSources'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + return true; +} + +export function BuildingFromJSON(json: any): Building { + return BuildingFromJSONTyped(json, false); +} + +export function BuildingFromJSONTyped(json: any, ignoreDiscriminator: boolean): Building { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'installs': ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'bin': json['bin'] == null ? undefined : json['bin'], + 'streetAddress': json['street_address'] == null ? undefined : json['street_address'], + 'city': json['city'] == null ? undefined : json['city'], + 'state': json['state'] == null ? undefined : json['state'], + 'zipCode': json['zip_code'] == null ? undefined : json['zip_code'], + 'addressTruthSources': ((json['address_truth_sources'] as Array).map(AddressTruthSourcesEnumFromJSON)), + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'notes': json['notes'] == null ? undefined : json['notes'], + 'panoramas': json['panoramas'] == null ? undefined : json['panoramas'], + 'primaryNode': json['primary_node'] == null ? undefined : BuildingPrimaryNodeFromJSON(json['primary_node']), + 'nodes': json['nodes'] == null ? undefined : ((json['nodes'] as Array).map(BuildingNodesInnerFromJSON)), + }; +} + +export function BuildingToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'bin': value['bin'], + 'street_address': value['streetAddress'], + 'city': value['city'], + 'state': value['state'], + 'zip_code': value['zipCode'], + 'address_truth_sources': ((value['addressTruthSources'] as Array).map(AddressTruthSourcesEnumToJSON)), + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'notes': value['notes'], + 'panoramas': value['panoramas'], + 'primary_node': BuildingPrimaryNodeToJSON(value['primaryNode']), + 'nodes': value['nodes'] == null ? undefined : ((value['nodes'] as Array).map(BuildingNodesInnerToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/BuildingInstallsInner.ts b/src/generated-sources/openapi/models/BuildingInstallsInner.ts new file mode 100644 index 0000000..3c5896c --- /dev/null +++ b/src/generated-sources/openapi/models/BuildingInstallsInner.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * A reference to a Install object, via one or more of the following keys: ['id', 'install_number'] + * @export + * @interface BuildingInstallsInner + */ +export interface BuildingInstallsInner { + /** + * + * @type {string} + * @memberof BuildingInstallsInner + */ + id?: string; + /** + * + * @type {number} + * @memberof BuildingInstallsInner + */ + installNumber?: number; +} + +/** + * Check if a given object implements the BuildingInstallsInner interface. + */ +export function instanceOfBuildingInstallsInner(value: object): value is BuildingInstallsInner { + return true; +} + +export function BuildingInstallsInnerFromJSON(json: any): BuildingInstallsInner { + return BuildingInstallsInnerFromJSONTyped(json, false); +} + +export function BuildingInstallsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): BuildingInstallsInner { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'installNumber': json['install_number'] == null ? undefined : json['install_number'], + }; +} + +export function BuildingInstallsInnerToJSON(value?: BuildingInstallsInner | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'install_number': value['installNumber'], + }; +} + diff --git a/src/generated-sources/openapi/models/BuildingNodesInner.ts b/src/generated-sources/openapi/models/BuildingNodesInner.ts new file mode 100644 index 0000000..15e451a --- /dev/null +++ b/src/generated-sources/openapi/models/BuildingNodesInner.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface BuildingNodesInner + */ +export interface BuildingNodesInner { + /** + * + * @type {string} + * @memberof BuildingNodesInner + */ + id?: string; + /** + * + * @type {number} + * @memberof BuildingNodesInner + */ + networkNumber?: number | null; +} + +/** + * Check if a given object implements the BuildingNodesInner interface. + */ +export function instanceOfBuildingNodesInner(value: object): value is BuildingNodesInner { + return true; +} + +export function BuildingNodesInnerFromJSON(json: any): BuildingNodesInner { + return BuildingNodesInnerFromJSONTyped(json, false); +} + +export function BuildingNodesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): BuildingNodesInner { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'networkNumber': json['network_number'] == null ? undefined : json['network_number'], + }; +} + +export function BuildingNodesInnerToJSON(value?: BuildingNodesInner | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'network_number': value['networkNumber'], + }; +} + diff --git a/src/generated-sources/openapi/models/BuildingPrimaryNode.ts b/src/generated-sources/openapi/models/BuildingPrimaryNode.ts new file mode 100644 index 0000000..2bc771a --- /dev/null +++ b/src/generated-sources/openapi/models/BuildingPrimaryNode.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The primary node for this Building, for cases where it has more than one. This is the node bearing the network number that the building is collquially referred to by volunteers and is usually the first NN held by any equipment on the building. If present, this must also be included in nodes + * @export + * @interface BuildingPrimaryNode + */ +export interface BuildingPrimaryNode { + /** + * + * @type {string} + * @memberof BuildingPrimaryNode + */ + id?: string; + /** + * + * @type {number} + * @memberof BuildingPrimaryNode + */ + networkNumber?: number | null; +} + +/** + * Check if a given object implements the BuildingPrimaryNode interface. + */ +export function instanceOfBuildingPrimaryNode(value: object): value is BuildingPrimaryNode { + return true; +} + +export function BuildingPrimaryNodeFromJSON(json: any): BuildingPrimaryNode { + return BuildingPrimaryNodeFromJSONTyped(json, false); +} + +export function BuildingPrimaryNodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): BuildingPrimaryNode { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'networkNumber': json['network_number'] == null ? undefined : json['network_number'], + }; +} + +export function BuildingPrimaryNodeToJSON(value?: BuildingPrimaryNode | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'network_number': value['networkNumber'], + }; +} + diff --git a/src/generated-sources/openapi/models/CityErrorResponse.ts b/src/generated-sources/openapi/models/CityErrorResponse.ts new file mode 100644 index 0000000..f00e174 --- /dev/null +++ b/src/generated-sources/openapi/models/CityErrorResponse.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface CityErrorResponse + */ +export interface CityErrorResponse { + /** + * + * @type {string} + * @memberof CityErrorResponse + */ + detail: string; +} + +/** + * Check if a given object implements the CityErrorResponse interface. + */ +export function instanceOfCityErrorResponse(value: object): value is CityErrorResponse { + if (!('detail' in value) || value['detail'] === undefined) return false; + return true; +} + +export function CityErrorResponseFromJSON(json: any): CityErrorResponse { + return CityErrorResponseFromJSONTyped(json, false); +} + +export function CityErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CityErrorResponse { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + }; +} + +export function CityErrorResponseToJSON(value?: CityErrorResponse | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + }; +} + diff --git a/src/generated-sources/openapi/models/Device.ts b/src/generated-sources/openapi/models/Device.ts new file mode 100644 index 0000000..03bd9ef --- /dev/null +++ b/src/generated-sources/openapi/models/Device.ts @@ -0,0 +1,184 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status432Enum } from './Status432Enum'; +import { + Status432EnumFromJSON, + Status432EnumFromJSONTyped, + Status432EnumToJSON, +} from './Status432Enum'; +import type { AccessPointNode } from './AccessPointNode'; +import { + AccessPointNodeFromJSON, + AccessPointNodeFromJSONTyped, + AccessPointNodeToJSON, +} from './AccessPointNode'; +import type { AccessPointLinksFromInner } from './AccessPointLinksFromInner'; +import { + AccessPointLinksFromInnerFromJSON, + AccessPointLinksFromInnerFromJSONTyped, + AccessPointLinksFromInnerToJSON, +} from './AccessPointLinksFromInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Device + */ +export interface Device { + /** + * + * @type {string} + * @memberof Device + */ + readonly id: string; + /** + * Approximate Device latitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof Device + */ + readonly latitude: number; + /** + * Approximate Device longitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof Device + */ + readonly longitude: number; + /** + * Approximate Device altitude in "absolute" meters above mean sea level (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof Device + */ + readonly altitude: number; + /** + * + * @type {Array} + * @memberof Device + */ + readonly linksFrom: Array; + /** + * + * @type {Array} + * @memberof Device + */ + readonly linksTo: Array; + /** + * The name of this device, usually configured as the hostname in the device firmware, usually in the format nycmesh-xxxx-yyyy-zzzz, where xxxx is the network number for the node this device is located at, yyyy is the type of the device, and zzzz is the network number of the other side of the link this device creates (if applicable) + * @type {string} + * @memberof Device + */ + name?: string | null; + /** + * The current status of this device + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @type {Status432Enum} + * @memberof Device + */ + status: Status432Enum; + /** + * The date this device first became active on the mesh + * @type {Date} + * @memberof Device + */ + installDate?: Date | null; + /** + * The this device was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof Device + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Device, to track any additional information. For imported Devices, this starts with a formatted block of information about the import processand original data. However this structure can be changed by admins at any time and should not be relied onby automated systems. + * @type {string} + * @memberof Device + */ + notes?: string | null; + /** + * The UUID used to indentify this device in UISP (if applicable) + * @type {string} + * @memberof Device + */ + uispId?: string | null; + /** + * + * @type {AccessPointNode} + * @memberof Device + */ + node: AccessPointNode; +} + + + +/** + * Check if a given object implements the Device interface. + */ +export function instanceOfDevice(value: object): value is Device { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + if (!('altitude' in value) || value['altitude'] === undefined) return false; + if (!('linksFrom' in value) || value['linksFrom'] === undefined) return false; + if (!('linksTo' in value) || value['linksTo'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('node' in value) || value['node'] === undefined) return false; + return true; +} + +export function DeviceFromJSON(json: any): Device { + return DeviceFromJSONTyped(json, false); +} + +export function DeviceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Device { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'], + 'linksFrom': ((json['links_from'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'linksTo': ((json['links_to'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'status': Status432EnumFromJSON(json['status']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'node': AccessPointNodeFromJSON(json['node']), + }; +} + +export function DeviceToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'status': Status432EnumToJSON(value['status']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'node': AccessPointNodeToJSON(value['node']), + }; +} + diff --git a/src/generated-sources/openapi/models/ErrorResponse.ts b/src/generated-sources/openapi/models/ErrorResponse.ts new file mode 100644 index 0000000..165d746 --- /dev/null +++ b/src/generated-sources/openapi/models/ErrorResponse.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ErrorResponse + */ +export interface ErrorResponse { + /** + * + * @type {string} + * @memberof ErrorResponse + */ + detail: string; +} + +/** + * Check if a given object implements the ErrorResponse interface. + */ +export function instanceOfErrorResponse(value: object): value is ErrorResponse { + if (!('detail' in value) || value['detail'] === undefined) return false; + return true; +} + +export function ErrorResponseFromJSON(json: any): ErrorResponse { + return ErrorResponseFromJSONTyped(json, false); +} + +export function ErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponse { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + }; +} + +export function ErrorResponseToJSON(value?: ErrorResponse | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + }; +} + diff --git a/src/generated-sources/openapi/models/ErrorResponseInternalFailure.ts b/src/generated-sources/openapi/models/ErrorResponseInternalFailure.ts new file mode 100644 index 0000000..2a21ca8 --- /dev/null +++ b/src/generated-sources/openapi/models/ErrorResponseInternalFailure.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ErrorResponseInternalFailure + */ +export interface ErrorResponseInternalFailure { + /** + * + * @type {string} + * @memberof ErrorResponseInternalFailure + */ + detail: string; +} + +/** + * Check if a given object implements the ErrorResponseInternalFailure interface. + */ +export function instanceOfErrorResponseInternalFailure(value: object): value is ErrorResponseInternalFailure { + if (!('detail' in value) || value['detail'] === undefined) return false; + return true; +} + +export function ErrorResponseInternalFailureFromJSON(json: any): ErrorResponseInternalFailure { + return ErrorResponseInternalFailureFromJSONTyped(json, false); +} + +export function ErrorResponseInternalFailureFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponseInternalFailure { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + }; +} + +export function ErrorResponseInternalFailureToJSON(value?: ErrorResponseInternalFailure | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + }; +} + diff --git a/src/generated-sources/openapi/models/ErrorResponseInvalidAddr.ts b/src/generated-sources/openapi/models/ErrorResponseInvalidAddr.ts new file mode 100644 index 0000000..3fa464e --- /dev/null +++ b/src/generated-sources/openapi/models/ErrorResponseInvalidAddr.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ErrorResponseInvalidAddr + */ +export interface ErrorResponseInvalidAddr { + /** + * + * @type {string} + * @memberof ErrorResponseInvalidAddr + */ + detail: string; +} + +/** + * Check if a given object implements the ErrorResponseInvalidAddr interface. + */ +export function instanceOfErrorResponseInvalidAddr(value: object): value is ErrorResponseInvalidAddr { + if (!('detail' in value) || value['detail'] === undefined) return false; + return true; +} + +export function ErrorResponseInvalidAddrFromJSON(json: any): ErrorResponseInvalidAddr { + return ErrorResponseInvalidAddrFromJSONTyped(json, false); +} + +export function ErrorResponseInvalidAddrFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponseInvalidAddr { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + }; +} + +export function ErrorResponseInvalidAddrToJSON(value?: ErrorResponseInvalidAddr | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + }; +} + diff --git a/src/generated-sources/openapi/models/ErrorResponseMissingFields.ts b/src/generated-sources/openapi/models/ErrorResponseMissingFields.ts new file mode 100644 index 0000000..18d8766 --- /dev/null +++ b/src/generated-sources/openapi/models/ErrorResponseMissingFields.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface ErrorResponseMissingFields + */ +export interface ErrorResponseMissingFields { + /** + * + * @type {{ [key: string]: any; }} + * @memberof ErrorResponseMissingFields + */ + detail: { [key: string]: any; }; +} + +/** + * Check if a given object implements the ErrorResponseMissingFields interface. + */ +export function instanceOfErrorResponseMissingFields(value: object): value is ErrorResponseMissingFields { + if (!('detail' in value) || value['detail'] === undefined) return false; + return true; +} + +export function ErrorResponseMissingFieldsFromJSON(json: any): ErrorResponseMissingFields { + return ErrorResponseMissingFieldsFromJSONTyped(json, false); +} + +export function ErrorResponseMissingFieldsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponseMissingFields { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + }; +} + +export function ErrorResponseMissingFieldsToJSON(value?: ErrorResponseMissingFields | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + }; +} + diff --git a/src/generated-sources/openapi/models/GeocodeSuccessResponse.ts b/src/generated-sources/openapi/models/GeocodeSuccessResponse.ts new file mode 100644 index 0000000..c35b05c --- /dev/null +++ b/src/generated-sources/openapi/models/GeocodeSuccessResponse.ts @@ -0,0 +1,87 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface GeocodeSuccessResponse + */ +export interface GeocodeSuccessResponse { + /** + * + * @type {number} + * @memberof GeocodeSuccessResponse + */ + bIN: number; + /** + * + * @type {number} + * @memberof GeocodeSuccessResponse + */ + latitude: number; + /** + * + * @type {number} + * @memberof GeocodeSuccessResponse + */ + longitude: number; + /** + * + * @type {number} + * @memberof GeocodeSuccessResponse + */ + altitude?: number; +} + +/** + * Check if a given object implements the GeocodeSuccessResponse interface. + */ +export function instanceOfGeocodeSuccessResponse(value: object): value is GeocodeSuccessResponse { + if (!('bIN' in value) || value['bIN'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + return true; +} + +export function GeocodeSuccessResponseFromJSON(json: any): GeocodeSuccessResponse { + return GeocodeSuccessResponseFromJSONTyped(json, false); +} + +export function GeocodeSuccessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GeocodeSuccessResponse { + if (json == null) { + return json; + } + return { + + 'bIN': json['BIN'], + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + }; +} + +export function GeocodeSuccessResponseToJSON(value?: GeocodeSuccessResponse | null): any { + if (value == null) { + return value; + } + return { + + 'BIN': value['bIN'], + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + }; +} + diff --git a/src/generated-sources/openapi/models/Install.ts b/src/generated-sources/openapi/models/Install.ts new file mode 100644 index 0000000..2fc5960 --- /dev/null +++ b/src/generated-sources/openapi/models/Install.ts @@ -0,0 +1,212 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { InstallBuilding } from './InstallBuilding'; +import { + InstallBuildingFromJSON, + InstallBuildingFromJSONTyped, + InstallBuildingToJSON, +} from './InstallBuilding'; +import type { Status195Enum } from './Status195Enum'; +import { + Status195EnumFromJSON, + Status195EnumFromJSONTyped, + Status195EnumToJSON, +} from './Status195Enum'; +import type { InstallNode } from './InstallNode'; +import { + InstallNodeFromJSON, + InstallNodeFromJSONTyped, + InstallNodeToJSON, +} from './InstallNode'; +import type { InstallMember } from './InstallMember'; +import { + InstallMemberFromJSON, + InstallMemberFromJSONTyped, + InstallMemberToJSON, +} from './InstallMember'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Install + */ +export interface Install { + /** + * + * @type {string} + * @memberof Install + */ + readonly id: string; + /** + * + * @type {number} + * @memberof Install + */ + readonly installNumber: number; + /** + * The current status of this install + * + * * `Request Received` - Request Received + * * `Pending` - Pending + * * `Blocked` - Blocked + * * `Active` - Active + * * `Inactive` - Inactive + * * `Closed` - Closed + * * `NN Reassigned` - Nn Reassigned + * @type {Status195Enum} + * @memberof Install + */ + status: Status195Enum; + /** + * The ticket number of the OSTicket used to track communications with the member about this install + * @type {number} + * @memberof Install + */ + ticketNumber?: number | null; + /** + * The date that this install request was received + * @type {Date} + * @memberof Install + */ + requestDate: Date; + /** + * The date this install was completed and deployed to the mesh + * @type {Date} + * @memberof Install + */ + installDate?: Date | null; + /** + * The date this install was abandoned, unplugged, or disassembled + * @type {Date} + * @memberof Install + */ + abandonDate?: Date | null; + /** + * Line 2 of this install's mailing address + * @type {string} + * @memberof Install + */ + unit?: string | null; + /** + * True if the member indicated they had access to the roof when they submitted the join form + * @type {boolean} + * @memberof Install + */ + roofAccess?: boolean; + /** + * The "How did you hear about us?" information provided to us when the member submitted the join form + * @type {string} + * @memberof Install + */ + referral?: string | null; + /** + * A free-form text description of this Install, to track any additional information. For Installs imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof Install + */ + notes?: string | null; + /** + * Was this install conducted by the member themselves? If not, it was done by a volunteer installer on their behalf + * @type {boolean} + * @memberof Install + */ + diy?: boolean | null; + /** + * + * @type {InstallNode} + * @memberof Install + */ + node?: InstallNode | null; + /** + * + * @type {InstallBuilding} + * @memberof Install + */ + building: InstallBuilding; + /** + * + * @type {InstallMember} + * @memberof Install + */ + member: InstallMember; +} + + + +/** + * Check if a given object implements the Install interface. + */ +export function instanceOfInstall(value: object): value is Install { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('installNumber' in value) || value['installNumber'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('requestDate' in value) || value['requestDate'] === undefined) return false; + if (!('building' in value) || value['building'] === undefined) return false; + if (!('member' in value) || value['member'] === undefined) return false; + return true; +} + +export function InstallFromJSON(json: any): Install { + return InstallFromJSONTyped(json, false); +} + +export function InstallFromJSONTyped(json: any, ignoreDiscriminator: boolean): Install { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'installNumber': json['install_number'], + 'status': Status195EnumFromJSON(json['status']), + 'ticketNumber': json['ticket_number'] == null ? undefined : json['ticket_number'], + 'requestDate': (new Date(json['request_date'])), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'unit': json['unit'] == null ? undefined : json['unit'], + 'roofAccess': json['roof_access'] == null ? undefined : json['roof_access'], + 'referral': json['referral'] == null ? undefined : json['referral'], + 'notes': json['notes'] == null ? undefined : json['notes'], + 'diy': json['diy'] == null ? undefined : json['diy'], + 'node': json['node'] == null ? undefined : InstallNodeFromJSON(json['node']), + 'building': InstallBuildingFromJSON(json['building']), + 'member': InstallMemberFromJSON(json['member']), + }; +} + +export function InstallToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'status': Status195EnumToJSON(value['status']), + 'ticket_number': value['ticketNumber'], + 'request_date': ((value['requestDate']).toISOString().substring(0,10)), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'unit': value['unit'], + 'roof_access': value['roofAccess'], + 'referral': value['referral'], + 'notes': value['notes'], + 'diy': value['diy'], + 'node': InstallNodeToJSON(value['node']), + 'building': InstallBuildingToJSON(value['building']), + 'member': InstallMemberToJSON(value['member']), + }; +} + diff --git a/src/generated-sources/openapi/models/InstallBuilding.ts b/src/generated-sources/openapi/models/InstallBuilding.ts new file mode 100644 index 0000000..b4c4b20 --- /dev/null +++ b/src/generated-sources/openapi/models/InstallBuilding.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The building where the install is located. In the case of a structure with multiple buildings, this will be the building whose address makes sense for this install's unit. + * @export + * @interface InstallBuilding + */ +export interface InstallBuilding { + /** + * + * @type {string} + * @memberof InstallBuilding + */ + id?: string; +} + +/** + * Check if a given object implements the InstallBuilding interface. + */ +export function instanceOfInstallBuilding(value: object): value is InstallBuilding { + return true; +} + +export function InstallBuildingFromJSON(json: any): InstallBuilding { + return InstallBuildingFromJSONTyped(json, false); +} + +export function InstallBuildingFromJSONTyped(json: any, ignoreDiscriminator: boolean): InstallBuilding { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function InstallBuildingToJSON(value?: InstallBuilding | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/InstallMember.ts b/src/generated-sources/openapi/models/InstallMember.ts new file mode 100644 index 0000000..2d81876 --- /dev/null +++ b/src/generated-sources/openapi/models/InstallMember.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The member this install is associated with + * @export + * @interface InstallMember + */ +export interface InstallMember { + /** + * + * @type {string} + * @memberof InstallMember + */ + id?: string; +} + +/** + * Check if a given object implements the InstallMember interface. + */ +export function instanceOfInstallMember(value: object): value is InstallMember { + return true; +} + +export function InstallMemberFromJSON(json: any): InstallMember { + return InstallMemberFromJSONTyped(json, false); +} + +export function InstallMemberFromJSONTyped(json: any, ignoreDiscriminator: boolean): InstallMember { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function InstallMemberToJSON(value?: InstallMember | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/InstallNode.ts b/src/generated-sources/openapi/models/InstallNode.ts new file mode 100644 index 0000000..d0e9e30 --- /dev/null +++ b/src/generated-sources/openapi/models/InstallNode.ts @@ -0,0 +1,68 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The node this install is associated with. This node's network_number field corresponds to the static IP address and OSPF ID of the router this install utilizes, the DHCP range it receives an address from, etc. + * @export + * @interface InstallNode + */ +export interface InstallNode { + /** + * + * @type {string} + * @memberof InstallNode + */ + id?: string; + /** + * + * @type {number} + * @memberof InstallNode + */ + networkNumber?: number | null; +} + +/** + * Check if a given object implements the InstallNode interface. + */ +export function instanceOfInstallNode(value: object): value is InstallNode { + return true; +} + +export function InstallNodeFromJSON(json: any): InstallNode { + return InstallNodeFromJSONTyped(json, false); +} + +export function InstallNodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): InstallNode { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'networkNumber': json['network_number'] == null ? undefined : json['network_number'], + }; +} + +export function InstallNodeToJSON(value?: InstallNode | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'network_number': value['networkNumber'], + }; +} + diff --git a/src/generated-sources/openapi/models/JoinFormRequest.ts b/src/generated-sources/openapi/models/JoinFormRequest.ts new file mode 100644 index 0000000..28577c8 --- /dev/null +++ b/src/generated-sources/openapi/models/JoinFormRequest.ts @@ -0,0 +1,160 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface JoinFormRequest + */ +export interface JoinFormRequest { + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + firstName: string; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + lastName: string; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + email: string; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + phone: string; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + streetAddress: string; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + city: string; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + state: string; + /** + * + * @type {number} + * @memberof JoinFormRequest + */ + zip: number; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + apartment: string; + /** + * + * @type {boolean} + * @memberof JoinFormRequest + */ + roofAccess: boolean; + /** + * + * @type {string} + * @memberof JoinFormRequest + */ + referral: string; + /** + * + * @type {boolean} + * @memberof JoinFormRequest + */ + ncl: boolean; +} + +/** + * Check if a given object implements the JoinFormRequest interface. + */ +export function instanceOfJoinFormRequest(value: object): value is JoinFormRequest { + if (!('firstName' in value) || value['firstName'] === undefined) return false; + if (!('lastName' in value) || value['lastName'] === undefined) return false; + if (!('email' in value) || value['email'] === undefined) return false; + if (!('phone' in value) || value['phone'] === undefined) return false; + if (!('streetAddress' in value) || value['streetAddress'] === undefined) return false; + if (!('city' in value) || value['city'] === undefined) return false; + if (!('state' in value) || value['state'] === undefined) return false; + if (!('zip' in value) || value['zip'] === undefined) return false; + if (!('apartment' in value) || value['apartment'] === undefined) return false; + if (!('roofAccess' in value) || value['roofAccess'] === undefined) return false; + if (!('referral' in value) || value['referral'] === undefined) return false; + if (!('ncl' in value) || value['ncl'] === undefined) return false; + return true; +} + +export function JoinFormRequestFromJSON(json: any): JoinFormRequest { + return JoinFormRequestFromJSONTyped(json, false); +} + +export function JoinFormRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoinFormRequest { + if (json == null) { + return json; + } + return { + + 'firstName': json['first_name'], + 'lastName': json['last_name'], + 'email': json['email'], + 'phone': json['phone'], + 'streetAddress': json['street_address'], + 'city': json['city'], + 'state': json['state'], + 'zip': json['zip'], + 'apartment': json['apartment'], + 'roofAccess': json['roof_access'], + 'referral': json['referral'], + 'ncl': json['ncl'], + }; +} + +export function JoinFormRequestToJSON(value?: JoinFormRequest | null): any { + if (value == null) { + return value; + } + return { + + 'first_name': value['firstName'], + 'last_name': value['lastName'], + 'email': value['email'], + 'phone': value['phone'], + 'street_address': value['streetAddress'], + 'city': value['city'], + 'state': value['state'], + 'zip': value['zip'], + 'apartment': value['apartment'], + 'roof_access': value['roofAccess'], + 'referral': value['referral'], + 'ncl': value['ncl'], + }; +} + diff --git a/src/generated-sources/openapi/models/JoinFormSuccessResponse.ts b/src/generated-sources/openapi/models/JoinFormSuccessResponse.ts new file mode 100644 index 0000000..ad430d0 --- /dev/null +++ b/src/generated-sources/openapi/models/JoinFormSuccessResponse.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface JoinFormSuccessResponse + */ +export interface JoinFormSuccessResponse { + /** + * + * @type {string} + * @memberof JoinFormSuccessResponse + */ + detail: string; + /** + * + * @type {string} + * @memberof JoinFormSuccessResponse + */ + buildingId: string; + /** + * + * @type {string} + * @memberof JoinFormSuccessResponse + */ + memberId: string; + /** + * + * @type {string} + * @memberof JoinFormSuccessResponse + */ + installId: string; + /** + * + * @type {number} + * @memberof JoinFormSuccessResponse + */ + installNumber: number; + /** + * + * @type {boolean} + * @memberof JoinFormSuccessResponse + */ + memberExists: boolean; +} + +/** + * Check if a given object implements the JoinFormSuccessResponse interface. + */ +export function instanceOfJoinFormSuccessResponse(value: object): value is JoinFormSuccessResponse { + if (!('detail' in value) || value['detail'] === undefined) return false; + if (!('buildingId' in value) || value['buildingId'] === undefined) return false; + if (!('memberId' in value) || value['memberId'] === undefined) return false; + if (!('installId' in value) || value['installId'] === undefined) return false; + if (!('installNumber' in value) || value['installNumber'] === undefined) return false; + if (!('memberExists' in value) || value['memberExists'] === undefined) return false; + return true; +} + +export function JoinFormSuccessResponseFromJSON(json: any): JoinFormSuccessResponse { + return JoinFormSuccessResponseFromJSONTyped(json, false); +} + +export function JoinFormSuccessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoinFormSuccessResponse { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + 'buildingId': json['building_id'], + 'memberId': json['member_id'], + 'installId': json['install_id'], + 'installNumber': json['install_number'], + 'memberExists': json['member_exists'], + }; +} + +export function JoinFormSuccessResponseToJSON(value?: JoinFormSuccessResponse | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + 'building_id': value['buildingId'], + 'member_id': value['memberId'], + 'install_id': value['installId'], + 'install_number': value['installNumber'], + 'member_exists': value['memberExists'], + }; +} + diff --git a/src/generated-sources/openapi/models/KioskData.ts b/src/generated-sources/openapi/models/KioskData.ts new file mode 100644 index 0000000..e709848 --- /dev/null +++ b/src/generated-sources/openapi/models/KioskData.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface KioskData + */ +export interface KioskData { + /** + * + * @type {string} + * @memberof KioskData + */ + streetAddress: string; + /** + * + * @type {string} + * @memberof KioskData + */ + type: string; + /** + * + * @type {number} + * @memberof KioskData + */ + id: number; + /** + * + * @type {Array} + * @memberof KioskData + */ + coordinates: Array; + /** + * + * @type {string} + * @memberof KioskData + */ + status?: string; +} + +/** + * Check if a given object implements the KioskData interface. + */ +export function instanceOfKioskData(value: object): value is KioskData { + if (!('streetAddress' in value) || value['streetAddress'] === undefined) return false; + if (!('type' in value) || value['type'] === undefined) return false; + if (!('id' in value) || value['id'] === undefined) return false; + if (!('coordinates' in value) || value['coordinates'] === undefined) return false; + return true; +} + +export function KioskDataFromJSON(json: any): KioskData { + return KioskDataFromJSONTyped(json, false); +} + +export function KioskDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): KioskData { + if (json == null) { + return json; + } + return { + + 'streetAddress': json['street_address'], + 'type': json['type'], + 'id': json['id'], + 'coordinates': json['coordinates'], + 'status': json['status'] == null ? undefined : json['status'], + }; +} + +export function KioskDataToJSON(value?: KioskData | null): any { + if (value == null) { + return value; + } + return { + + 'street_address': value['streetAddress'], + 'type': value['type'], + 'id': value['id'], + 'coordinates': value['coordinates'], + 'status': value['status'], + }; +} + diff --git a/src/generated-sources/openapi/models/LOS.ts b/src/generated-sources/openapi/models/LOS.ts new file mode 100644 index 0000000..fb9a071 --- /dev/null +++ b/src/generated-sources/openapi/models/LOS.ts @@ -0,0 +1,122 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { LOSFromBuilding } from './LOSFromBuilding'; +import { + LOSFromBuildingFromJSON, + LOSFromBuildingFromJSONTyped, + LOSFromBuildingToJSON, +} from './LOSFromBuilding'; +import type { SourceEnum } from './SourceEnum'; +import { + SourceEnumFromJSON, + SourceEnumFromJSONTyped, + SourceEnumToJSON, +} from './SourceEnum'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface LOS + */ +export interface LOS { + /** + * + * @type {string} + * @memberof LOS + */ + readonly id: string; + /** + * The date we conducted the analysis that concluded this LOS exists. Important since new buildings might have been built which block the LOS after this date + * @type {Date} + * @memberof LOS + */ + analysisDate?: Date | null; + /** + * The source of information that tells us this LOS exists + * + * * `Human Annotated` - Human Annotated + * * `Existing Link` - Existing Link + * @type {SourceEnum} + * @memberof LOS + */ + source: SourceEnum; + /** + * A free-form text description of this LOS, to track any additional information. + * @type {string} + * @memberof LOS + */ + notes?: string | null; + /** + * + * @type {LOSFromBuilding} + * @memberof LOS + */ + fromBuilding: LOSFromBuilding; + /** + * + * @type {LOSFromBuilding} + * @memberof LOS + */ + toBuilding: LOSFromBuilding; +} + + + +/** + * Check if a given object implements the LOS interface. + */ +export function instanceOfLOS(value: object): value is LOS { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('source' in value) || value['source'] === undefined) return false; + if (!('fromBuilding' in value) || value['fromBuilding'] === undefined) return false; + if (!('toBuilding' in value) || value['toBuilding'] === undefined) return false; + return true; +} + +export function LOSFromJSON(json: any): LOS { + return LOSFromJSONTyped(json, false); +} + +export function LOSFromJSONTyped(json: any, ignoreDiscriminator: boolean): LOS { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'analysisDate': json['analysis_date'] == null ? undefined : (new Date(json['analysis_date'])), + 'source': SourceEnumFromJSON(json['source']), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'fromBuilding': LOSFromBuildingFromJSON(json['from_building']), + 'toBuilding': LOSFromBuildingFromJSON(json['to_building']), + }; +} + +export function LOSToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'analysis_date': value['analysisDate'] == null ? undefined : ((value['analysisDate'] as any).toISOString().substring(0,10)), + 'source': SourceEnumToJSON(value['source']), + 'notes': value['notes'], + 'from_building': LOSFromBuildingToJSON(value['fromBuilding']), + 'to_building': LOSFromBuildingToJSON(value['toBuilding']), + }; +} + diff --git a/src/generated-sources/openapi/models/LOSFromBuilding.ts b/src/generated-sources/openapi/models/LOSFromBuilding.ts new file mode 100644 index 0000000..3c46c46 --- /dev/null +++ b/src/generated-sources/openapi/models/LOSFromBuilding.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The building on one side of this LOS, from/to are not meaningful except to disambiguate + * @export + * @interface LOSFromBuilding + */ +export interface LOSFromBuilding { + /** + * + * @type {string} + * @memberof LOSFromBuilding + */ + id?: string; +} + +/** + * Check if a given object implements the LOSFromBuilding interface. + */ +export function instanceOfLOSFromBuilding(value: object): value is LOSFromBuilding { + return true; +} + +export function LOSFromBuildingFromJSON(json: any): LOSFromBuilding { + return LOSFromBuildingFromJSONTyped(json, false); +} + +export function LOSFromBuildingFromJSONTyped(json: any, ignoreDiscriminator: boolean): LOSFromBuilding { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function LOSFromBuildingToJSON(value?: LOSFromBuilding | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/Link.ts b/src/generated-sources/openapi/models/Link.ts new file mode 100644 index 0000000..a835ec4 --- /dev/null +++ b/src/generated-sources/openapi/models/Link.ts @@ -0,0 +1,161 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { LinkFromDevice } from './LinkFromDevice'; +import { + LinkFromDeviceFromJSON, + LinkFromDeviceFromJSONTyped, + LinkFromDeviceToJSON, +} from './LinkFromDevice'; +import type { LinkStatusEnum } from './LinkStatusEnum'; +import { + LinkStatusEnumFromJSON, + LinkStatusEnumFromJSONTyped, + LinkStatusEnumToJSON, +} from './LinkStatusEnum'; +import type { LinkType } from './LinkType'; +import { + LinkTypeFromJSON, + LinkTypeFromJSONTyped, + LinkTypeToJSON, +} from './LinkType'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Link + */ +export interface Link { + /** + * + * @type {string} + * @memberof Link + */ + readonly id: string; + /** + * The current status of this link + * + * * `Inactive` - Inactive + * * `Planned` - Planned + * * `Active` - Active + * @type {LinkStatusEnum} + * @memberof Link + */ + status: LinkStatusEnum; + /** + * + * @type {LinkType} + * @memberof Link + */ + type?: LinkType | null; + /** + * The date this link was created + * @type {Date} + * @memberof Link + */ + installDate?: Date | null; + /** + * The date this link was powered off, disassembled, or abandoned + * @type {Date} + * @memberof Link + */ + abandonDate?: Date | null; + /** + * A short description of "where to where" this link connects in human readable language + * @type {string} + * @memberof Link + */ + description?: string | null; + /** + * A free-form text description of this Link, to track any additional information. + * @type {string} + * @memberof Link + */ + notes?: string | null; + /** + * The UUID used to indentify this link in UISP (if applicable) + * @type {string} + * @memberof Link + */ + uispId?: string | null; + /** + * + * @type {LinkFromDevice} + * @memberof Link + */ + fromDevice: LinkFromDevice; + /** + * + * @type {LinkFromDevice} + * @memberof Link + */ + toDevice: LinkFromDevice; +} + + + +/** + * Check if a given object implements the Link interface. + */ +export function instanceOfLink(value: object): value is Link { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('fromDevice' in value) || value['fromDevice'] === undefined) return false; + if (!('toDevice' in value) || value['toDevice'] === undefined) return false; + return true; +} + +export function LinkFromJSON(json: any): Link { + return LinkFromJSONTyped(json, false); +} + +export function LinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): Link { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'status': LinkStatusEnumFromJSON(json['status']), + 'type': json['type'] == null ? undefined : LinkTypeFromJSON(json['type']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'description': json['description'] == null ? undefined : json['description'], + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'fromDevice': LinkFromDeviceFromJSON(json['from_device']), + 'toDevice': LinkFromDeviceFromJSON(json['to_device']), + }; +} + +export function LinkToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'status': LinkStatusEnumToJSON(value['status']), + 'type': LinkTypeToJSON(value['type']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'description': value['description'], + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'from_device': LinkFromDeviceToJSON(value['fromDevice']), + 'to_device': LinkFromDeviceToJSON(value['toDevice']), + }; +} + diff --git a/src/generated-sources/openapi/models/LinkFromDevice.ts b/src/generated-sources/openapi/models/LinkFromDevice.ts new file mode 100644 index 0000000..d675f4e --- /dev/null +++ b/src/generated-sources/openapi/models/LinkFromDevice.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * The device on one side of this network link, from/to are not meaningful except to disambiguate + * @export + * @interface LinkFromDevice + */ +export interface LinkFromDevice { + /** + * + * @type {string} + * @memberof LinkFromDevice + */ + id?: string; +} + +/** + * Check if a given object implements the LinkFromDevice interface. + */ +export function instanceOfLinkFromDevice(value: object): value is LinkFromDevice { + return true; +} + +export function LinkFromDeviceFromJSON(json: any): LinkFromDevice { + return LinkFromDeviceFromJSONTyped(json, false); +} + +export function LinkFromDeviceFromJSONTyped(json: any, ignoreDiscriminator: boolean): LinkFromDevice { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function LinkFromDeviceToJSON(value?: LinkFromDevice | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/LinkStatusEnum.ts b/src/generated-sources/openapi/models/LinkStatusEnum.ts new file mode 100644 index 0000000..f59e198 --- /dev/null +++ b/src/generated-sources/openapi/models/LinkStatusEnum.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `Inactive` - Inactive + * * `Planned` - Planned + * * `Active` - Active + * @export + */ +export const LinkStatusEnum = { + Inactive: 'Inactive', + Planned: 'Planned', + Active: 'Active' +} as const; +export type LinkStatusEnum = typeof LinkStatusEnum[keyof typeof LinkStatusEnum]; + + +export function instanceOfLinkStatusEnum(value: any): boolean { + for (const key in LinkStatusEnum) { + if (Object.prototype.hasOwnProperty.call(LinkStatusEnum, key)) { + if (LinkStatusEnum[key as keyof typeof LinkStatusEnum] === value) { + return true; + } + } + } + return false; +} + +export function LinkStatusEnumFromJSON(json: any): LinkStatusEnum { + return LinkStatusEnumFromJSONTyped(json, false); +} + +export function LinkStatusEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): LinkStatusEnum { + return json as LinkStatusEnum; +} + +export function LinkStatusEnumToJSON(value?: LinkStatusEnum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/LinkType.ts b/src/generated-sources/openapi/models/LinkType.ts new file mode 100644 index 0000000..6ef339e --- /dev/null +++ b/src/generated-sources/openapi/models/LinkType.ts @@ -0,0 +1,77 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import type { BlankEnum } from './BlankEnum'; +import { + instanceOfBlankEnum, + BlankEnumFromJSON, + BlankEnumFromJSONTyped, + BlankEnumToJSON, +} from './BlankEnum'; +import type { LinkTypeEnum } from './LinkTypeEnum'; +import { + instanceOfLinkTypeEnum, + LinkTypeEnumFromJSON, + LinkTypeEnumFromJSONTyped, + LinkTypeEnumToJSON, +} from './LinkTypeEnum'; + +/** + * @type LinkType + * The technology used for this link 5Ghz, 60Ghz, fiber, etc. + * + * * `5 GHz` - Five Ghz + * * `24 GHz` - Twentyfour Ghz + * * `60 GHz` - Sixty Ghz + * * `70-80 GHz` - Seventy Eighty Ghz + * * `VPN` - Vpn + * * `Fiber` - Fiber + * * `Ethernet` - Ethernet + * @export + */ +export type LinkType = BlankEnum | LinkTypeEnum; + +export function LinkTypeFromJSON(json: any): LinkType { + return LinkTypeFromJSONTyped(json, false); +} + +export function LinkTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): LinkType { + if (json == null) { + return json; + } + if (instanceOfBlankEnum(json)) { + return BlankEnumFromJSONTyped(json, true); + } + if (instanceOfLinkTypeEnum(json)) { + return LinkTypeEnumFromJSONTyped(json, true); + } + + return {} as any; +} + +export function LinkTypeToJSON(value?: LinkType | null): any { + if (value == null) { + return value; + } + + if (instanceOfBlankEnum(value)) { + return BlankEnumToJSON(value as BlankEnum); + } + if (instanceOfLinkTypeEnum(value)) { + return LinkTypeEnumToJSON(value as LinkTypeEnum); + } + + return {}; +} + diff --git a/src/generated-sources/openapi/models/LinkTypeEnum.ts b/src/generated-sources/openapi/models/LinkTypeEnum.ts new file mode 100644 index 0000000..2848bf8 --- /dev/null +++ b/src/generated-sources/openapi/models/LinkTypeEnum.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `5 GHz` - Five Ghz + * * `24 GHz` - Twentyfour Ghz + * * `60 GHz` - Sixty Ghz + * * `70-80 GHz` - Seventy Eighty Ghz + * * `VPN` - Vpn + * * `Fiber` - Fiber + * * `Ethernet` - Ethernet + * @export + */ +export const LinkTypeEnum = { + _5Ghz: '5 GHz', + _24Ghz: '24 GHz', + _60Ghz: '60 GHz', + _7080Ghz: '70-80 GHz', + Vpn: 'VPN', + Fiber: 'Fiber', + Ethernet: 'Ethernet' +} as const; +export type LinkTypeEnum = typeof LinkTypeEnum[keyof typeof LinkTypeEnum]; + + +export function instanceOfLinkTypeEnum(value: any): boolean { + for (const key in LinkTypeEnum) { + if (Object.prototype.hasOwnProperty.call(LinkTypeEnum, key)) { + if (LinkTypeEnum[key as keyof typeof LinkTypeEnum] === value) { + return true; + } + } + } + return false; +} + +export function LinkTypeEnumFromJSON(json: any): LinkTypeEnum { + return LinkTypeEnumFromJSONTyped(json, false); +} + +export function LinkTypeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): LinkTypeEnum { + return json as LinkTypeEnum; +} + +export function LinkTypeEnumToJSON(value?: LinkTypeEnum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/MapDataInstall.ts b/src/generated-sources/openapi/models/MapDataInstall.ts new file mode 100644 index 0000000..4e8f053 --- /dev/null +++ b/src/generated-sources/openapi/models/MapDataInstall.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface MapDataInstall + */ +export interface MapDataInstall { + /** + * + * @type {number} + * @memberof MapDataInstall + */ + id: number; + /** + * + * @type {string} + * @memberof MapDataInstall + */ + readonly name: string | null; + /** + * + * @type {string} + * @memberof MapDataInstall + */ + readonly status: string | null; + /** + * + * @type {Array} + * @memberof MapDataInstall + */ + readonly coordinates: Array; + /** + * + * @type {number} + * @memberof MapDataInstall + */ + requestDate: number; + /** + * + * @type {number} + * @memberof MapDataInstall + */ + installDate: number; + /** + * + * @type {boolean} + * @memberof MapDataInstall + */ + roofAccess: boolean; + /** + * + * @type {string} + * @memberof MapDataInstall + */ + readonly notes: string | null; + /** + * + * @type {Array} + * @memberof MapDataInstall + */ + readonly panoramas: Array; +} + +/** + * Check if a given object implements the MapDataInstall interface. + */ +export function instanceOfMapDataInstall(value: object): value is MapDataInstall { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('coordinates' in value) || value['coordinates'] === undefined) return false; + if (!('requestDate' in value) || value['requestDate'] === undefined) return false; + if (!('installDate' in value) || value['installDate'] === undefined) return false; + if (!('roofAccess' in value) || value['roofAccess'] === undefined) return false; + if (!('notes' in value) || value['notes'] === undefined) return false; + if (!('panoramas' in value) || value['panoramas'] === undefined) return false; + return true; +} + +export function MapDataInstallFromJSON(json: any): MapDataInstall { + return MapDataInstallFromJSONTyped(json, false); +} + +export function MapDataInstallFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapDataInstall { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'status': json['status'], + 'coordinates': json['coordinates'], + 'requestDate': json['requestDate'], + 'installDate': json['installDate'], + 'roofAccess': json['roofAccess'], + 'notes': json['notes'], + 'panoramas': json['panoramas'], + }; +} + +export function MapDataInstallToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'requestDate': value['requestDate'], + 'installDate': value['installDate'], + 'roofAccess': value['roofAccess'], + }; +} + diff --git a/src/generated-sources/openapi/models/MapDataLink.ts b/src/generated-sources/openapi/models/MapDataLink.ts new file mode 100644 index 0000000..1740fe7 --- /dev/null +++ b/src/generated-sources/openapi/models/MapDataLink.ts @@ -0,0 +1,85 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface MapDataLink + */ +export interface MapDataLink { + /** + * + * @type {number} + * @memberof MapDataLink + */ + readonly from: number | null; + /** + * + * @type {number} + * @memberof MapDataLink + */ + readonly to: number | null; + /** + * + * @type {string} + * @memberof MapDataLink + */ + readonly status: string; + /** + * + * @type {number} + * @memberof MapDataLink + */ + installDate: number; +} + +/** + * Check if a given object implements the MapDataLink interface. + */ +export function instanceOfMapDataLink(value: object): value is MapDataLink { + if (!('from' in value) || value['from'] === undefined) return false; + if (!('to' in value) || value['to'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('installDate' in value) || value['installDate'] === undefined) return false; + return true; +} + +export function MapDataLinkFromJSON(json: any): MapDataLink { + return MapDataLinkFromJSONTyped(json, false); +} + +export function MapDataLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapDataLink { + if (json == null) { + return json; + } + return { + + 'from': json['from'], + 'to': json['to'], + 'status': json['status'], + 'installDate': json['installDate'], + }; +} + +export function MapDataLinkToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'installDate': value['installDate'], + }; +} + diff --git a/src/generated-sources/openapi/models/MapDataSector.ts b/src/generated-sources/openapi/models/MapDataSector.ts new file mode 100644 index 0000000..9385ee7 --- /dev/null +++ b/src/generated-sources/openapi/models/MapDataSector.ts @@ -0,0 +1,104 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface MapDataSector + */ +export interface MapDataSector { + /** + * + * @type {number} + * @memberof MapDataSector + */ + readonly nodeId: number | null; + /** + * The radius to display this sector on the map (in km) + * @type {number} + * @memberof MapDataSector + */ + radius: number; + /** + * The compass heading that this sector is pointed towards + * @type {number} + * @memberof MapDataSector + */ + azimuth: number; + /** + * The approximate width of the beam this sector produces + * @type {number} + * @memberof MapDataSector + */ + width: number; + /** + * + * @type {string} + * @memberof MapDataSector + */ + readonly status: string; + /** + * + * @type {number} + * @memberof MapDataSector + */ + installDate: number; +} + +/** + * Check if a given object implements the MapDataSector interface. + */ +export function instanceOfMapDataSector(value: object): value is MapDataSector { + if (!('nodeId' in value) || value['nodeId'] === undefined) return false; + if (!('radius' in value) || value['radius'] === undefined) return false; + if (!('azimuth' in value) || value['azimuth'] === undefined) return false; + if (!('width' in value) || value['width'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('installDate' in value) || value['installDate'] === undefined) return false; + return true; +} + +export function MapDataSectorFromJSON(json: any): MapDataSector { + return MapDataSectorFromJSONTyped(json, false); +} + +export function MapDataSectorFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapDataSector { + if (json == null) { + return json; + } + return { + + 'nodeId': json['nodeId'], + 'radius': json['radius'], + 'azimuth': json['azimuth'], + 'width': json['width'], + 'status': json['status'], + 'installDate': json['installDate'], + }; +} + +export function MapDataSectorToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'radius': value['radius'], + 'azimuth': value['azimuth'], + 'width': value['width'], + 'installDate': value['installDate'], + }; +} + diff --git a/src/generated-sources/openapi/models/Member.ts b/src/generated-sources/openapi/models/Member.ts new file mode 100644 index 0000000..2e934c0 --- /dev/null +++ b/src/generated-sources/openapi/models/Member.ts @@ -0,0 +1,157 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Member + */ +export interface Member { + /** + * + * @type {string} + * @memberof Member + */ + readonly id: string; + /** + * + * @type {Array} + * @memberof Member + */ + readonly allEmailAddresses: Array; + /** + * + * @type {Array} + * @memberof Member + */ + readonly allPhoneNumbers: Array; + /** + * + * @type {Array} + * @memberof Member + */ + readonly installs: Array; + /** + * Member full name in the format: "First Last" + * @type {string} + * @memberof Member + */ + name: string; + /** + * Primary email address used to contact the member + * @type {string} + * @memberof Member + */ + primaryEmailAddress?: string | null; + /** + * Email address used by the member to donate via Stripe, if different to their primary email + * @type {string} + * @memberof Member + */ + stripeEmailAddress?: string | null; + /** + * Any additional email addresses associated with this member + * @type {Array} + * @memberof Member + */ + additionalEmailAddresses?: Array | null; + /** + * A primary contact phone number for this member + * @type {string} + * @memberof Member + */ + phoneNumber?: string | null; + /** + * Any additional phone numbers used by this member + * @type {Array} + * @memberof Member + */ + additionalPhoneNumbers?: Array | null; + /** + * The member's slack handle + * @type {string} + * @memberof Member + */ + slackHandle?: string | null; + /** + * A free-form text description of how to contact this member, to track any additional information. For Members imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof Member + */ + notes?: string | null; +} + +/** + * Check if a given object implements the Member interface. + */ +export function instanceOfMember(value: object): value is Member { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('allEmailAddresses' in value) || value['allEmailAddresses'] === undefined) return false; + if (!('allPhoneNumbers' in value) || value['allPhoneNumbers'] === undefined) return false; + if (!('installs' in value) || value['installs'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + return true; +} + +export function MemberFromJSON(json: any): Member { + return MemberFromJSONTyped(json, false); +} + +export function MemberFromJSONTyped(json: any, ignoreDiscriminator: boolean): Member { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'allEmailAddresses': json['all_email_addresses'], + 'allPhoneNumbers': json['all_phone_numbers'], + 'installs': ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'name': json['name'], + 'primaryEmailAddress': json['primary_email_address'] == null ? undefined : json['primary_email_address'], + 'stripeEmailAddress': json['stripe_email_address'] == null ? undefined : json['stripe_email_address'], + 'additionalEmailAddresses': json['additional_email_addresses'] == null ? undefined : json['additional_email_addresses'], + 'phoneNumber': json['phone_number'] == null ? undefined : json['phone_number'], + 'additionalPhoneNumbers': json['additional_phone_numbers'] == null ? undefined : json['additional_phone_numbers'], + 'slackHandle': json['slack_handle'] == null ? undefined : json['slack_handle'], + 'notes': json['notes'] == null ? undefined : json['notes'], + }; +} + +export function MemberToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'primary_email_address': value['primaryEmailAddress'], + 'stripe_email_address': value['stripeEmailAddress'], + 'additional_email_addresses': value['additionalEmailAddresses'], + 'phone_number': value['phoneNumber'], + 'additional_phone_numbers': value['additionalPhoneNumbers'], + 'slack_handle': value['slackHandle'], + 'notes': value['notes'], + }; +} + diff --git a/src/generated-sources/openapi/models/NNFormSuccessResponse.ts b/src/generated-sources/openapi/models/NNFormSuccessResponse.ts new file mode 100644 index 0000000..ce1e8f1 --- /dev/null +++ b/src/generated-sources/openapi/models/NNFormSuccessResponse.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface NNFormSuccessResponse + */ +export interface NNFormSuccessResponse { + /** + * + * @type {string} + * @memberof NNFormSuccessResponse + */ + detail: string; + /** + * + * @type {string} + * @memberof NNFormSuccessResponse + */ + buildingId: string; + /** + * + * @type {string} + * @memberof NNFormSuccessResponse + */ + installId: string; + /** + * + * @type {number} + * @memberof NNFormSuccessResponse + */ + installNumber: number; + /** + * + * @type {number} + * @memberof NNFormSuccessResponse + */ + networkNumber: number; + /** + * + * @type {boolean} + * @memberof NNFormSuccessResponse + */ + created: boolean; +} + +/** + * Check if a given object implements the NNFormSuccessResponse interface. + */ +export function instanceOfNNFormSuccessResponse(value: object): value is NNFormSuccessResponse { + if (!('detail' in value) || value['detail'] === undefined) return false; + if (!('buildingId' in value) || value['buildingId'] === undefined) return false; + if (!('installId' in value) || value['installId'] === undefined) return false; + if (!('installNumber' in value) || value['installNumber'] === undefined) return false; + if (!('networkNumber' in value) || value['networkNumber'] === undefined) return false; + if (!('created' in value) || value['created'] === undefined) return false; + return true; +} + +export function NNFormSuccessResponseFromJSON(json: any): NNFormSuccessResponse { + return NNFormSuccessResponseFromJSONTyped(json, false); +} + +export function NNFormSuccessResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): NNFormSuccessResponse { + if (json == null) { + return json; + } + return { + + 'detail': json['detail'], + 'buildingId': json['building_id'], + 'installId': json['install_id'], + 'installNumber': json['install_number'], + 'networkNumber': json['network_number'], + 'created': json['created'], + }; +} + +export function NNFormSuccessResponseToJSON(value?: NNFormSuccessResponse | null): any { + if (value == null) { + return value; + } + return { + + 'detail': value['detail'], + 'building_id': value['buildingId'], + 'install_id': value['installId'], + 'install_number': value['installNumber'], + 'network_number': value['networkNumber'], + 'created': value['created'], + }; +} + diff --git a/src/generated-sources/openapi/models/NetworkNumberAssignmentRequest.ts b/src/generated-sources/openapi/models/NetworkNumberAssignmentRequest.ts new file mode 100644 index 0000000..d8540f8 --- /dev/null +++ b/src/generated-sources/openapi/models/NetworkNumberAssignmentRequest.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * + * @export + * @interface NetworkNumberAssignmentRequest + */ +export interface NetworkNumberAssignmentRequest { + /** + * + * @type {string} + * @memberof NetworkNumberAssignmentRequest + */ + password: string; + /** + * + * @type {number} + * @memberof NetworkNumberAssignmentRequest + */ + installNumber: number; +} + +/** + * Check if a given object implements the NetworkNumberAssignmentRequest interface. + */ +export function instanceOfNetworkNumberAssignmentRequest(value: object): value is NetworkNumberAssignmentRequest { + if (!('password' in value) || value['password'] === undefined) return false; + if (!('installNumber' in value) || value['installNumber'] === undefined) return false; + return true; +} + +export function NetworkNumberAssignmentRequestFromJSON(json: any): NetworkNumberAssignmentRequest { + return NetworkNumberAssignmentRequestFromJSONTyped(json, false); +} + +export function NetworkNumberAssignmentRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): NetworkNumberAssignmentRequest { + if (json == null) { + return json; + } + return { + + 'password': json['password'], + 'installNumber': json['install_number'], + }; +} + +export function NetworkNumberAssignmentRequestToJSON(value?: NetworkNumberAssignmentRequest | null): any { + if (value == null) { + return value; + } + return { + + 'password': value['password'], + 'install_number': value['installNumber'], + }; +} + diff --git a/src/generated-sources/openapi/models/Node.ts b/src/generated-sources/openapi/models/Node.ts new file mode 100644 index 0000000..cb70170 --- /dev/null +++ b/src/generated-sources/openapi/models/Node.ts @@ -0,0 +1,212 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { NodeBuildingsInner } from './NodeBuildingsInner'; +import { + NodeBuildingsInnerFromJSON, + NodeBuildingsInnerFromJSONTyped, + NodeBuildingsInnerToJSON, +} from './NodeBuildingsInner'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; +import type { NodeDevicesInner } from './NodeDevicesInner'; +import { + NodeDevicesInnerFromJSON, + NodeDevicesInnerFromJSONTyped, + NodeDevicesInnerToJSON, +} from './NodeDevicesInner'; +import type { Status2a6Enum } from './Status2a6Enum'; +import { + Status2a6EnumFromJSON, + Status2a6EnumFromJSONTyped, + Status2a6EnumToJSON, +} from './Status2a6Enum'; +import type { TypeB10Enum } from './TypeB10Enum'; +import { + TypeB10EnumFromJSON, + TypeB10EnumFromJSONTyped, + TypeB10EnumToJSON, +} from './TypeB10Enum'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Node + */ +export interface Node { + /** + * + * @type {string} + * @memberof Node + */ + id?: string; + /** + * + * @type {Array} + * @memberof Node + */ + readonly buildings: Array; + /** + * + * @type {Array} + * @memberof Node + */ + readonly devices: Array; + /** + * + * @type {Array} + * @memberof Node + */ + readonly installs: Array; + /** + * + * @type {number} + * @memberof Node + */ + networkNumber?: number | null; + /** + * The colloquial name of this node used among mesh volunteers, if applicable + * @type {string} + * @memberof Node + */ + name?: string | null; + /** + * The current status of this Node + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Planned` - Planned + * @type {Status2a6Enum} + * @memberof Node + */ + status: Status2a6Enum; + /** + * The type of node this is, controls the icon used on the network map + * + * * `Standard` - Standard + * * `Hub` - Hub + * * `Supernode` - Supernode + * * `POP` - Pop + * * `AP` - Ap + * * `Remote` - Remote + * @type {TypeB10Enum} + * @memberof Node + */ + type?: TypeB10Enum; + /** + * Approximate Node latitude in decimal degrees (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof Node + */ + latitude: number; + /** + * Approximate Node longitude in decimal degrees (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof Node + */ + longitude: number; + /** + * Approximate Node altitude in "absolute" meters above mean sea level (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof Node + */ + altitude?: number | null; + /** + * The date the first Install or Device associated with this Node became active on the mesh + * @type {Date} + * @memberof Node + */ + installDate?: Date | null; + /** + * The date the last Install or Device associated with this Node was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof Node + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Node, to track any additional information. For Nodes imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof Node + */ + notes?: string | null; +} + + + +/** + * Check if a given object implements the Node interface. + */ +export function instanceOfNode(value: object): value is Node { + if (!('buildings' in value) || value['buildings'] === undefined) return false; + if (!('devices' in value) || value['devices'] === undefined) return false; + if (!('installs' in value) || value['installs'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + return true; +} + +export function NodeFromJSON(json: any): Node { + return NodeFromJSONTyped(json, false); +} + +export function NodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Node { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'buildings': ((json['buildings'] as Array).map(NodeBuildingsInnerFromJSON)), + 'devices': ((json['devices'] as Array).map(NodeDevicesInnerFromJSON)), + 'installs': ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'networkNumber': json['network_number'] == null ? undefined : json['network_number'], + 'name': json['name'] == null ? undefined : json['name'], + 'status': Status2a6EnumFromJSON(json['status']), + 'type': json['type'] == null ? undefined : TypeB10EnumFromJSON(json['type']), + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + }; +} + +export function NodeToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'network_number': value['networkNumber'], + 'name': value['name'], + 'status': Status2a6EnumToJSON(value['status']), + 'type': TypeB10EnumToJSON(value['type']), + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + }; +} + diff --git a/src/generated-sources/openapi/models/NodeBuildingsInner.ts b/src/generated-sources/openapi/models/NodeBuildingsInner.ts new file mode 100644 index 0000000..991fcd0 --- /dev/null +++ b/src/generated-sources/openapi/models/NodeBuildingsInner.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * A reference to a Building object, via one or more of the following keys: ['id'] + * @export + * @interface NodeBuildingsInner + */ +export interface NodeBuildingsInner { + /** + * + * @type {string} + * @memberof NodeBuildingsInner + */ + id?: string; +} + +/** + * Check if a given object implements the NodeBuildingsInner interface. + */ +export function instanceOfNodeBuildingsInner(value: object): value is NodeBuildingsInner { + return true; +} + +export function NodeBuildingsInnerFromJSON(json: any): NodeBuildingsInner { + return NodeBuildingsInnerFromJSONTyped(json, false); +} + +export function NodeBuildingsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): NodeBuildingsInner { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function NodeBuildingsInnerToJSON(value?: NodeBuildingsInner | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/NodeDevicesInner.ts b/src/generated-sources/openapi/models/NodeDevicesInner.ts new file mode 100644 index 0000000..c44714f --- /dev/null +++ b/src/generated-sources/openapi/models/NodeDevicesInner.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +/** + * A reference to a Device object, via one or more of the following keys: ['id'] + * @export + * @interface NodeDevicesInner + */ +export interface NodeDevicesInner { + /** + * + * @type {string} + * @memberof NodeDevicesInner + */ + id?: string; +} + +/** + * Check if a given object implements the NodeDevicesInner interface. + */ +export function instanceOfNodeDevicesInner(value: object): value is NodeDevicesInner { + return true; +} + +export function NodeDevicesInnerFromJSON(json: any): NodeDevicesInner { + return NodeDevicesInnerFromJSONTyped(json, false); +} + +export function NodeDevicesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): NodeDevicesInner { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + }; +} + +export function NodeDevicesInnerToJSON(value?: NodeDevicesInner | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + }; +} + diff --git a/src/generated-sources/openapi/models/NodeEdit.ts b/src/generated-sources/openapi/models/NodeEdit.ts new file mode 100644 index 0000000..f59b2f0 --- /dev/null +++ b/src/generated-sources/openapi/models/NodeEdit.ts @@ -0,0 +1,212 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { NodeBuildingsInner } from './NodeBuildingsInner'; +import { + NodeBuildingsInnerFromJSON, + NodeBuildingsInnerFromJSONTyped, + NodeBuildingsInnerToJSON, +} from './NodeBuildingsInner'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; +import type { NodeDevicesInner } from './NodeDevicesInner'; +import { + NodeDevicesInnerFromJSON, + NodeDevicesInnerFromJSONTyped, + NodeDevicesInnerToJSON, +} from './NodeDevicesInner'; +import type { Status2a6Enum } from './Status2a6Enum'; +import { + Status2a6EnumFromJSON, + Status2a6EnumFromJSONTyped, + Status2a6EnumToJSON, +} from './Status2a6Enum'; +import type { TypeB10Enum } from './TypeB10Enum'; +import { + TypeB10EnumFromJSON, + TypeB10EnumFromJSONTyped, + TypeB10EnumToJSON, +} from './TypeB10Enum'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface NodeEdit + */ +export interface NodeEdit { + /** + * + * @type {string} + * @memberof NodeEdit + */ + id?: string; + /** + * + * @type {Array} + * @memberof NodeEdit + */ + readonly buildings: Array; + /** + * + * @type {Array} + * @memberof NodeEdit + */ + readonly devices: Array; + /** + * + * @type {Array} + * @memberof NodeEdit + */ + readonly installs: Array; + /** + * + * @type {number} + * @memberof NodeEdit + */ + readonly networkNumber: number | null; + /** + * The colloquial name of this node used among mesh volunteers, if applicable + * @type {string} + * @memberof NodeEdit + */ + name?: string | null; + /** + * The current status of this Node + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Planned` - Planned + * @type {Status2a6Enum} + * @memberof NodeEdit + */ + status: Status2a6Enum; + /** + * The type of node this is, controls the icon used on the network map + * + * * `Standard` - Standard + * * `Hub` - Hub + * * `Supernode` - Supernode + * * `POP` - Pop + * * `AP` - Ap + * * `Remote` - Remote + * @type {TypeB10Enum} + * @memberof NodeEdit + */ + type?: TypeB10Enum; + /** + * Approximate Node latitude in decimal degrees (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof NodeEdit + */ + latitude: number; + /** + * Approximate Node longitude in decimal degrees (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof NodeEdit + */ + longitude: number; + /** + * Approximate Node altitude in "absolute" meters above mean sea level (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof NodeEdit + */ + altitude?: number | null; + /** + * The date the first Install or Device associated with this Node became active on the mesh + * @type {Date} + * @memberof NodeEdit + */ + installDate?: Date | null; + /** + * The date the last Install or Device associated with this Node was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof NodeEdit + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Node, to track any additional information. For Nodes imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof NodeEdit + */ + notes?: string | null; +} + + + +/** + * Check if a given object implements the NodeEdit interface. + */ +export function instanceOfNodeEdit(value: object): value is NodeEdit { + if (!('buildings' in value) || value['buildings'] === undefined) return false; + if (!('devices' in value) || value['devices'] === undefined) return false; + if (!('installs' in value) || value['installs'] === undefined) return false; + if (!('networkNumber' in value) || value['networkNumber'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + return true; +} + +export function NodeEditFromJSON(json: any): NodeEdit { + return NodeEditFromJSONTyped(json, false); +} + +export function NodeEditFromJSONTyped(json: any, ignoreDiscriminator: boolean): NodeEdit { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'buildings': ((json['buildings'] as Array).map(NodeBuildingsInnerFromJSON)), + 'devices': ((json['devices'] as Array).map(NodeDevicesInnerFromJSON)), + 'installs': ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'networkNumber': json['network_number'], + 'name': json['name'] == null ? undefined : json['name'], + 'status': Status2a6EnumFromJSON(json['status']), + 'type': json['type'] == null ? undefined : TypeB10EnumFromJSON(json['type']), + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + }; +} + +export function NodeEditToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'name': value['name'], + 'status': Status2a6EnumToJSON(value['status']), + 'type': TypeB10EnumToJSON(value['type']), + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + }; +} + diff --git a/src/generated-sources/openapi/models/NullEnum.ts b/src/generated-sources/openapi/models/NullEnum.ts new file mode 100644 index 0000000..4537424 --- /dev/null +++ b/src/generated-sources/openapi/models/NullEnum.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const NullEnum = { + Null: 'null' +} as const; +export type NullEnum = typeof NullEnum[keyof typeof NullEnum]; + + +export function instanceOfNullEnum(value: any): boolean { + for (const key in NullEnum) { + if (Object.prototype.hasOwnProperty.call(NullEnum, key)) { + if (NullEnum[key as keyof typeof NullEnum] === value) { + return true; + } + } + } + return false; +} + +export function NullEnumFromJSON(json: any): NullEnum { + return NullEnumFromJSONTyped(json, false); +} + +export function NullEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): NullEnum { + return json as NullEnum; +} + +export function NullEnumToJSON(value?: NullEnum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/PaginatedAccessPointList.ts b/src/generated-sources/openapi/models/PaginatedAccessPointList.ts new file mode 100644 index 0000000..4f10a0c --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedAccessPointList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { AccessPoint } from './AccessPoint'; +import { + AccessPointFromJSON, + AccessPointFromJSONTyped, + AccessPointToJSON, +} from './AccessPoint'; + +/** + * + * @export + * @interface PaginatedAccessPointList + */ +export interface PaginatedAccessPointList { + /** + * + * @type {number} + * @memberof PaginatedAccessPointList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedAccessPointList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedAccessPointList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedAccessPointList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedAccessPointList interface. + */ +export function instanceOfPaginatedAccessPointList(value: object): value is PaginatedAccessPointList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedAccessPointListFromJSON(json: any): PaginatedAccessPointList { + return PaginatedAccessPointListFromJSONTyped(json, false); +} + +export function PaginatedAccessPointListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedAccessPointList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(AccessPointFromJSON)), + }; +} + +export function PaginatedAccessPointListToJSON(value?: PaginatedAccessPointList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(AccessPointToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedBuildingList.ts b/src/generated-sources/openapi/models/PaginatedBuildingList.ts new file mode 100644 index 0000000..b8223cb --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedBuildingList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Building } from './Building'; +import { + BuildingFromJSON, + BuildingFromJSONTyped, + BuildingToJSON, +} from './Building'; + +/** + * + * @export + * @interface PaginatedBuildingList + */ +export interface PaginatedBuildingList { + /** + * + * @type {number} + * @memberof PaginatedBuildingList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedBuildingList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedBuildingList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedBuildingList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedBuildingList interface. + */ +export function instanceOfPaginatedBuildingList(value: object): value is PaginatedBuildingList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedBuildingListFromJSON(json: any): PaginatedBuildingList { + return PaginatedBuildingListFromJSONTyped(json, false); +} + +export function PaginatedBuildingListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedBuildingList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(BuildingFromJSON)), + }; +} + +export function PaginatedBuildingListToJSON(value?: PaginatedBuildingList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(BuildingToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedDeviceList.ts b/src/generated-sources/openapi/models/PaginatedDeviceList.ts new file mode 100644 index 0000000..6324c2e --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedDeviceList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Device } from './Device'; +import { + DeviceFromJSON, + DeviceFromJSONTyped, + DeviceToJSON, +} from './Device'; + +/** + * + * @export + * @interface PaginatedDeviceList + */ +export interface PaginatedDeviceList { + /** + * + * @type {number} + * @memberof PaginatedDeviceList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedDeviceList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedDeviceList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedDeviceList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedDeviceList interface. + */ +export function instanceOfPaginatedDeviceList(value: object): value is PaginatedDeviceList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedDeviceListFromJSON(json: any): PaginatedDeviceList { + return PaginatedDeviceListFromJSONTyped(json, false); +} + +export function PaginatedDeviceListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedDeviceList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(DeviceFromJSON)), + }; +} + +export function PaginatedDeviceListToJSON(value?: PaginatedDeviceList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(DeviceToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedInstallList.ts b/src/generated-sources/openapi/models/PaginatedInstallList.ts new file mode 100644 index 0000000..0953d81 --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedInstallList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Install } from './Install'; +import { + InstallFromJSON, + InstallFromJSONTyped, + InstallToJSON, +} from './Install'; + +/** + * + * @export + * @interface PaginatedInstallList + */ +export interface PaginatedInstallList { + /** + * + * @type {number} + * @memberof PaginatedInstallList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedInstallList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedInstallList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedInstallList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedInstallList interface. + */ +export function instanceOfPaginatedInstallList(value: object): value is PaginatedInstallList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedInstallListFromJSON(json: any): PaginatedInstallList { + return PaginatedInstallListFromJSONTyped(json, false); +} + +export function PaginatedInstallListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedInstallList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(InstallFromJSON)), + }; +} + +export function PaginatedInstallListToJSON(value?: PaginatedInstallList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(InstallToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedLOSList.ts b/src/generated-sources/openapi/models/PaginatedLOSList.ts new file mode 100644 index 0000000..efff506 --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedLOSList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { LOS } from './LOS'; +import { + LOSFromJSON, + LOSFromJSONTyped, + LOSToJSON, +} from './LOS'; + +/** + * + * @export + * @interface PaginatedLOSList + */ +export interface PaginatedLOSList { + /** + * + * @type {number} + * @memberof PaginatedLOSList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedLOSList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedLOSList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedLOSList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedLOSList interface. + */ +export function instanceOfPaginatedLOSList(value: object): value is PaginatedLOSList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedLOSListFromJSON(json: any): PaginatedLOSList { + return PaginatedLOSListFromJSONTyped(json, false); +} + +export function PaginatedLOSListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedLOSList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(LOSFromJSON)), + }; +} + +export function PaginatedLOSListToJSON(value?: PaginatedLOSList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(LOSToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedLinkList.ts b/src/generated-sources/openapi/models/PaginatedLinkList.ts new file mode 100644 index 0000000..d2a0572 --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedLinkList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Link } from './Link'; +import { + LinkFromJSON, + LinkFromJSONTyped, + LinkToJSON, +} from './Link'; + +/** + * + * @export + * @interface PaginatedLinkList + */ +export interface PaginatedLinkList { + /** + * + * @type {number} + * @memberof PaginatedLinkList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedLinkList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedLinkList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedLinkList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedLinkList interface. + */ +export function instanceOfPaginatedLinkList(value: object): value is PaginatedLinkList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedLinkListFromJSON(json: any): PaginatedLinkList { + return PaginatedLinkListFromJSONTyped(json, false); +} + +export function PaginatedLinkListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedLinkList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(LinkFromJSON)), + }; +} + +export function PaginatedLinkListToJSON(value?: PaginatedLinkList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(LinkToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedMemberList.ts b/src/generated-sources/openapi/models/PaginatedMemberList.ts new file mode 100644 index 0000000..603185d --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedMemberList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Member } from './Member'; +import { + MemberFromJSON, + MemberFromJSONTyped, + MemberToJSON, +} from './Member'; + +/** + * + * @export + * @interface PaginatedMemberList + */ +export interface PaginatedMemberList { + /** + * + * @type {number} + * @memberof PaginatedMemberList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedMemberList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedMemberList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedMemberList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedMemberList interface. + */ +export function instanceOfPaginatedMemberList(value: object): value is PaginatedMemberList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedMemberListFromJSON(json: any): PaginatedMemberList { + return PaginatedMemberListFromJSONTyped(json, false); +} + +export function PaginatedMemberListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedMemberList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(MemberFromJSON)), + }; +} + +export function PaginatedMemberListToJSON(value?: PaginatedMemberList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(MemberToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedNodeList.ts b/src/generated-sources/openapi/models/PaginatedNodeList.ts new file mode 100644 index 0000000..6a00cb7 --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedNodeList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Node } from './Node'; +import { + NodeFromJSON, + NodeFromJSONTyped, + NodeToJSON, +} from './Node'; + +/** + * + * @export + * @interface PaginatedNodeList + */ +export interface PaginatedNodeList { + /** + * + * @type {number} + * @memberof PaginatedNodeList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedNodeList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedNodeList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedNodeList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedNodeList interface. + */ +export function instanceOfPaginatedNodeList(value: object): value is PaginatedNodeList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedNodeListFromJSON(json: any): PaginatedNodeList { + return PaginatedNodeListFromJSONTyped(json, false); +} + +export function PaginatedNodeListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedNodeList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(NodeFromJSON)), + }; +} + +export function PaginatedNodeListToJSON(value?: PaginatedNodeList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(NodeToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedQueryFormList.ts b/src/generated-sources/openapi/models/PaginatedQueryFormList.ts new file mode 100644 index 0000000..11dc3c9 --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedQueryFormList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { QueryForm } from './QueryForm'; +import { + QueryFormFromJSON, + QueryFormFromJSONTyped, + QueryFormToJSON, +} from './QueryForm'; + +/** + * + * @export + * @interface PaginatedQueryFormList + */ +export interface PaginatedQueryFormList { + /** + * + * @type {number} + * @memberof PaginatedQueryFormList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedQueryFormList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedQueryFormList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedQueryFormList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedQueryFormList interface. + */ +export function instanceOfPaginatedQueryFormList(value: object): value is PaginatedQueryFormList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedQueryFormListFromJSON(json: any): PaginatedQueryFormList { + return PaginatedQueryFormListFromJSONTyped(json, false); +} + +export function PaginatedQueryFormListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedQueryFormList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(QueryFormFromJSON)), + }; +} + +export function PaginatedQueryFormListToJSON(value?: PaginatedQueryFormList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(QueryFormToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PaginatedSectorList.ts b/src/generated-sources/openapi/models/PaginatedSectorList.ts new file mode 100644 index 0000000..7e54ca1 --- /dev/null +++ b/src/generated-sources/openapi/models/PaginatedSectorList.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Sector } from './Sector'; +import { + SectorFromJSON, + SectorFromJSONTyped, + SectorToJSON, +} from './Sector'; + +/** + * + * @export + * @interface PaginatedSectorList + */ +export interface PaginatedSectorList { + /** + * + * @type {number} + * @memberof PaginatedSectorList + */ + count: number; + /** + * + * @type {string} + * @memberof PaginatedSectorList + */ + next?: string | null; + /** + * + * @type {string} + * @memberof PaginatedSectorList + */ + previous?: string | null; + /** + * + * @type {Array} + * @memberof PaginatedSectorList + */ + results: Array; +} + +/** + * Check if a given object implements the PaginatedSectorList interface. + */ +export function instanceOfPaginatedSectorList(value: object): value is PaginatedSectorList { + if (!('count' in value) || value['count'] === undefined) return false; + if (!('results' in value) || value['results'] === undefined) return false; + return true; +} + +export function PaginatedSectorListFromJSON(json: any): PaginatedSectorList { + return PaginatedSectorListFromJSONTyped(json, false); +} + +export function PaginatedSectorListFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedSectorList { + if (json == null) { + return json; + } + return { + + 'count': json['count'], + 'next': json['next'] == null ? undefined : json['next'], + 'previous': json['previous'] == null ? undefined : json['previous'], + 'results': ((json['results'] as Array).map(SectorFromJSON)), + }; +} + +export function PaginatedSectorListToJSON(value?: PaginatedSectorList | null): any { + if (value == null) { + return value; + } + return { + + 'count': value['count'], + 'next': value['next'], + 'previous': value['previous'], + 'results': ((value['results'] as Array).map(SectorToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedAccessPoint.ts b/src/generated-sources/openapi/models/PatchedAccessPoint.ts new file mode 100644 index 0000000..e5a72e7 --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedAccessPoint.ts @@ -0,0 +1,179 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status432Enum } from './Status432Enum'; +import { + Status432EnumFromJSON, + Status432EnumFromJSONTyped, + Status432EnumToJSON, +} from './Status432Enum'; +import type { AccessPointNode } from './AccessPointNode'; +import { + AccessPointNodeFromJSON, + AccessPointNodeFromJSONTyped, + AccessPointNodeToJSON, +} from './AccessPointNode'; +import type { AccessPointLinksFromInner } from './AccessPointLinksFromInner'; +import { + AccessPointLinksFromInnerFromJSON, + AccessPointLinksFromInnerFromJSONTyped, + AccessPointLinksFromInnerToJSON, +} from './AccessPointLinksFromInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedAccessPoint + */ +export interface PatchedAccessPoint { + /** + * + * @type {string} + * @memberof PatchedAccessPoint + */ + readonly id?: string; + /** + * + * @type {Array} + * @memberof PatchedAccessPoint + */ + readonly linksFrom?: Array; + /** + * + * @type {Array} + * @memberof PatchedAccessPoint + */ + readonly linksTo?: Array; + /** + * The name of this device, usually configured as the hostname in the device firmware, usually in the format nycmesh-xxxx-yyyy-zzzz, where xxxx is the network number for the node this device is located at, yyyy is the type of the device, and zzzz is the network number of the other side of the link this device creates (if applicable) + * @type {string} + * @memberof PatchedAccessPoint + */ + name?: string | null; + /** + * The current status of this device + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @type {Status432Enum} + * @memberof PatchedAccessPoint + */ + status?: Status432Enum; + /** + * The date this device first became active on the mesh + * @type {Date} + * @memberof PatchedAccessPoint + */ + installDate?: Date | null; + /** + * The this device was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof PatchedAccessPoint + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Device, to track any additional information. For imported Devices, this starts with a formatted block of information about the import processand original data. However this structure can be changed by admins at any time and should not be relied onby automated systems. + * @type {string} + * @memberof PatchedAccessPoint + */ + notes?: string | null; + /** + * The UUID used to indentify this device in UISP (if applicable) + * @type {string} + * @memberof PatchedAccessPoint + */ + uispId?: string | null; + /** + * Approximate AP latitude in decimal degrees (this will match the attached Node object in most cases, but has been manually moved around in some cases to more accurately reflect the device location) + * @type {number} + * @memberof PatchedAccessPoint + */ + latitude?: number; + /** + * Approximate AP longitude in decimal degrees (this will match the attached Node object in most cases, but has been manually moved around in some cases to more accurately reflect the device location) + * @type {number} + * @memberof PatchedAccessPoint + */ + longitude?: number; + /** + * Approximate AP altitude in "absolute" meters above mean sea level (this will match the attached Node object in most cases, but has been manually moved around in some cases to more accurately reflect the device location) + * @type {number} + * @memberof PatchedAccessPoint + */ + altitude?: number | null; + /** + * + * @type {AccessPointNode} + * @memberof PatchedAccessPoint + */ + node?: AccessPointNode; +} + + + +/** + * Check if a given object implements the PatchedAccessPoint interface. + */ +export function instanceOfPatchedAccessPoint(value: object): value is PatchedAccessPoint { + return true; +} + +export function PatchedAccessPointFromJSON(json: any): PatchedAccessPoint { + return PatchedAccessPointFromJSONTyped(json, false); +} + +export function PatchedAccessPointFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedAccessPoint { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'linksFrom': json['links_from'] == null ? undefined : ((json['links_from'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'linksTo': json['links_to'] == null ? undefined : ((json['links_to'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'status': json['status'] == null ? undefined : Status432EnumFromJSON(json['status']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'latitude': json['latitude'] == null ? undefined : json['latitude'], + 'longitude': json['longitude'] == null ? undefined : json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'node': json['node'] == null ? undefined : AccessPointNodeFromJSON(json['node']), + }; +} + +export function PatchedAccessPointToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'status': Status432EnumToJSON(value['status']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'node': AccessPointNodeToJSON(value['node']), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedBuilding.ts b/src/generated-sources/openapi/models/PatchedBuilding.ts new file mode 100644 index 0000000..022fad5 --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedBuilding.ts @@ -0,0 +1,196 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { AddressTruthSourcesEnum } from './AddressTruthSourcesEnum'; +import { + AddressTruthSourcesEnumFromJSON, + AddressTruthSourcesEnumFromJSONTyped, + AddressTruthSourcesEnumToJSON, +} from './AddressTruthSourcesEnum'; +import type { BuildingNodesInner } from './BuildingNodesInner'; +import { + BuildingNodesInnerFromJSON, + BuildingNodesInnerFromJSONTyped, + BuildingNodesInnerToJSON, +} from './BuildingNodesInner'; +import type { BuildingPrimaryNode } from './BuildingPrimaryNode'; +import { + BuildingPrimaryNodeFromJSON, + BuildingPrimaryNodeFromJSONTyped, + BuildingPrimaryNodeToJSON, +} from './BuildingPrimaryNode'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedBuilding + */ +export interface PatchedBuilding { + /** + * + * @type {string} + * @memberof PatchedBuilding + */ + readonly id?: string; + /** + * + * @type {Array} + * @memberof PatchedBuilding + */ + readonly installs?: Array; + /** + * NYC DOB Identifier for the structure containing this building + * @type {number} + * @memberof PatchedBuilding + */ + bin?: number | null; + /** + * Line 1 only of the address of this building: i.e. + * @type {string} + * @memberof PatchedBuilding + */ + streetAddress?: string | null; + /** + * The name of the borough this building is in for buildings within NYC, "New York" for Manhattan to match street addresses. The actual city name for anything outside NYC + * @type {string} + * @memberof PatchedBuilding + */ + city?: string | null; + /** + * The 2 letter abreviation of the US State this building is contained within, e.g. "NY" or "NJ" + * @type {string} + * @memberof PatchedBuilding + */ + state?: string | null; + /** + * The five digit ZIP code this building is contained within + * @type {string} + * @memberof PatchedBuilding + */ + zipCode?: string | null; + /** + * A list of strings that answers the question: How was the content of the street address, city, state, and ZIP fields determined? This is useful in understanding the level of validation applied to spreadsheet imported data. Possible values are: OSMNominatim, OSMNominatimZIPOnly, NYCPlanningLabs, PeliasStringParsing, ReverseGeocodeFromCoordinates, HumanEntry. Check the import script for details + * @type {Array} + * @memberof PatchedBuilding + */ + addressTruthSources?: Array; + /** + * Building latitude in decimal degrees + * @type {number} + * @memberof PatchedBuilding + */ + latitude?: number; + /** + * Building longitude in decimal degrees + * @type {number} + * @memberof PatchedBuilding + */ + longitude?: number; + /** + * Building rooftop altitude in "absolute" meters above mean sea level + * @type {number} + * @memberof PatchedBuilding + */ + altitude?: number | null; + /** + * A free-form text description of this building, to track any additional information. For Buidings imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof PatchedBuilding + */ + notes?: string | null; + /** + * Panoramas taken from the roof of this Building + * @type {Array} + * @memberof PatchedBuilding + */ + panoramas?: Array | null; + /** + * + * @type {BuildingPrimaryNode} + * @memberof PatchedBuilding + */ + primaryNode?: BuildingPrimaryNode | null; + /** + * All nodes located on the same structure (i.e. a discrete man-made place identified by the same BIN) that this Building is located within. + * @type {Array} + * @memberof PatchedBuilding + */ + nodes?: Array; +} + +/** + * Check if a given object implements the PatchedBuilding interface. + */ +export function instanceOfPatchedBuilding(value: object): value is PatchedBuilding { + return true; +} + +export function PatchedBuildingFromJSON(json: any): PatchedBuilding { + return PatchedBuildingFromJSONTyped(json, false); +} + +export function PatchedBuildingFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedBuilding { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'installs': json['installs'] == null ? undefined : ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'bin': json['bin'] == null ? undefined : json['bin'], + 'streetAddress': json['street_address'] == null ? undefined : json['street_address'], + 'city': json['city'] == null ? undefined : json['city'], + 'state': json['state'] == null ? undefined : json['state'], + 'zipCode': json['zip_code'] == null ? undefined : json['zip_code'], + 'addressTruthSources': json['address_truth_sources'] == null ? undefined : ((json['address_truth_sources'] as Array).map(AddressTruthSourcesEnumFromJSON)), + 'latitude': json['latitude'] == null ? undefined : json['latitude'], + 'longitude': json['longitude'] == null ? undefined : json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'notes': json['notes'] == null ? undefined : json['notes'], + 'panoramas': json['panoramas'] == null ? undefined : json['panoramas'], + 'primaryNode': json['primary_node'] == null ? undefined : BuildingPrimaryNodeFromJSON(json['primary_node']), + 'nodes': json['nodes'] == null ? undefined : ((json['nodes'] as Array).map(BuildingNodesInnerFromJSON)), + }; +} + +export function PatchedBuildingToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'bin': value['bin'], + 'street_address': value['streetAddress'], + 'city': value['city'], + 'state': value['state'], + 'zip_code': value['zipCode'], + 'address_truth_sources': value['addressTruthSources'] == null ? undefined : ((value['addressTruthSources'] as Array).map(AddressTruthSourcesEnumToJSON)), + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'notes': value['notes'], + 'panoramas': value['panoramas'], + 'primary_node': BuildingPrimaryNodeToJSON(value['primaryNode']), + 'nodes': value['nodes'] == null ? undefined : ((value['nodes'] as Array).map(BuildingNodesInnerToJSON)), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedDevice.ts b/src/generated-sources/openapi/models/PatchedDevice.ts new file mode 100644 index 0000000..c2c2241 --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedDevice.ts @@ -0,0 +1,176 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status432Enum } from './Status432Enum'; +import { + Status432EnumFromJSON, + Status432EnumFromJSONTyped, + Status432EnumToJSON, +} from './Status432Enum'; +import type { AccessPointNode } from './AccessPointNode'; +import { + AccessPointNodeFromJSON, + AccessPointNodeFromJSONTyped, + AccessPointNodeToJSON, +} from './AccessPointNode'; +import type { AccessPointLinksFromInner } from './AccessPointLinksFromInner'; +import { + AccessPointLinksFromInnerFromJSON, + AccessPointLinksFromInnerFromJSONTyped, + AccessPointLinksFromInnerToJSON, +} from './AccessPointLinksFromInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedDevice + */ +export interface PatchedDevice { + /** + * + * @type {string} + * @memberof PatchedDevice + */ + readonly id?: string; + /** + * Approximate Device latitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof PatchedDevice + */ + readonly latitude?: number; + /** + * Approximate Device longitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof PatchedDevice + */ + readonly longitude?: number; + /** + * Approximate Device altitude in "absolute" meters above mean sea level (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof PatchedDevice + */ + readonly altitude?: number; + /** + * + * @type {Array} + * @memberof PatchedDevice + */ + readonly linksFrom?: Array; + /** + * + * @type {Array} + * @memberof PatchedDevice + */ + readonly linksTo?: Array; + /** + * The name of this device, usually configured as the hostname in the device firmware, usually in the format nycmesh-xxxx-yyyy-zzzz, where xxxx is the network number for the node this device is located at, yyyy is the type of the device, and zzzz is the network number of the other side of the link this device creates (if applicable) + * @type {string} + * @memberof PatchedDevice + */ + name?: string | null; + /** + * The current status of this device + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @type {Status432Enum} + * @memberof PatchedDevice + */ + status?: Status432Enum; + /** + * The date this device first became active on the mesh + * @type {Date} + * @memberof PatchedDevice + */ + installDate?: Date | null; + /** + * The this device was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof PatchedDevice + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Device, to track any additional information. For imported Devices, this starts with a formatted block of information about the import processand original data. However this structure can be changed by admins at any time and should not be relied onby automated systems. + * @type {string} + * @memberof PatchedDevice + */ + notes?: string | null; + /** + * The UUID used to indentify this device in UISP (if applicable) + * @type {string} + * @memberof PatchedDevice + */ + uispId?: string | null; + /** + * + * @type {AccessPointNode} + * @memberof PatchedDevice + */ + node?: AccessPointNode; +} + + + +/** + * Check if a given object implements the PatchedDevice interface. + */ +export function instanceOfPatchedDevice(value: object): value is PatchedDevice { + return true; +} + +export function PatchedDeviceFromJSON(json: any): PatchedDevice { + return PatchedDeviceFromJSONTyped(json, false); +} + +export function PatchedDeviceFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedDevice { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'latitude': json['latitude'] == null ? undefined : json['latitude'], + 'longitude': json['longitude'] == null ? undefined : json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'linksFrom': json['links_from'] == null ? undefined : ((json['links_from'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'linksTo': json['links_to'] == null ? undefined : ((json['links_to'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'status': json['status'] == null ? undefined : Status432EnumFromJSON(json['status']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'node': json['node'] == null ? undefined : AccessPointNodeFromJSON(json['node']), + }; +} + +export function PatchedDeviceToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'status': Status432EnumToJSON(value['status']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'node': AccessPointNodeToJSON(value['node']), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedInstall.ts b/src/generated-sources/openapi/models/PatchedInstall.ts new file mode 100644 index 0000000..e0abacd --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedInstall.ts @@ -0,0 +1,206 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { InstallBuilding } from './InstallBuilding'; +import { + InstallBuildingFromJSON, + InstallBuildingFromJSONTyped, + InstallBuildingToJSON, +} from './InstallBuilding'; +import type { Status195Enum } from './Status195Enum'; +import { + Status195EnumFromJSON, + Status195EnumFromJSONTyped, + Status195EnumToJSON, +} from './Status195Enum'; +import type { InstallNode } from './InstallNode'; +import { + InstallNodeFromJSON, + InstallNodeFromJSONTyped, + InstallNodeToJSON, +} from './InstallNode'; +import type { InstallMember } from './InstallMember'; +import { + InstallMemberFromJSON, + InstallMemberFromJSONTyped, + InstallMemberToJSON, +} from './InstallMember'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedInstall + */ +export interface PatchedInstall { + /** + * + * @type {string} + * @memberof PatchedInstall + */ + readonly id?: string; + /** + * + * @type {number} + * @memberof PatchedInstall + */ + readonly installNumber?: number; + /** + * The current status of this install + * + * * `Request Received` - Request Received + * * `Pending` - Pending + * * `Blocked` - Blocked + * * `Active` - Active + * * `Inactive` - Inactive + * * `Closed` - Closed + * * `NN Reassigned` - Nn Reassigned + * @type {Status195Enum} + * @memberof PatchedInstall + */ + status?: Status195Enum; + /** + * The ticket number of the OSTicket used to track communications with the member about this install + * @type {number} + * @memberof PatchedInstall + */ + ticketNumber?: number | null; + /** + * The date that this install request was received + * @type {Date} + * @memberof PatchedInstall + */ + requestDate?: Date; + /** + * The date this install was completed and deployed to the mesh + * @type {Date} + * @memberof PatchedInstall + */ + installDate?: Date | null; + /** + * The date this install was abandoned, unplugged, or disassembled + * @type {Date} + * @memberof PatchedInstall + */ + abandonDate?: Date | null; + /** + * Line 2 of this install's mailing address + * @type {string} + * @memberof PatchedInstall + */ + unit?: string | null; + /** + * True if the member indicated they had access to the roof when they submitted the join form + * @type {boolean} + * @memberof PatchedInstall + */ + roofAccess?: boolean; + /** + * The "How did you hear about us?" information provided to us when the member submitted the join form + * @type {string} + * @memberof PatchedInstall + */ + referral?: string | null; + /** + * A free-form text description of this Install, to track any additional information. For Installs imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof PatchedInstall + */ + notes?: string | null; + /** + * Was this install conducted by the member themselves? If not, it was done by a volunteer installer on their behalf + * @type {boolean} + * @memberof PatchedInstall + */ + diy?: boolean | null; + /** + * + * @type {InstallNode} + * @memberof PatchedInstall + */ + node?: InstallNode | null; + /** + * + * @type {InstallBuilding} + * @memberof PatchedInstall + */ + building?: InstallBuilding; + /** + * + * @type {InstallMember} + * @memberof PatchedInstall + */ + member?: InstallMember; +} + + + +/** + * Check if a given object implements the PatchedInstall interface. + */ +export function instanceOfPatchedInstall(value: object): value is PatchedInstall { + return true; +} + +export function PatchedInstallFromJSON(json: any): PatchedInstall { + return PatchedInstallFromJSONTyped(json, false); +} + +export function PatchedInstallFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedInstall { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'installNumber': json['install_number'] == null ? undefined : json['install_number'], + 'status': json['status'] == null ? undefined : Status195EnumFromJSON(json['status']), + 'ticketNumber': json['ticket_number'] == null ? undefined : json['ticket_number'], + 'requestDate': json['request_date'] == null ? undefined : (new Date(json['request_date'])), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'unit': json['unit'] == null ? undefined : json['unit'], + 'roofAccess': json['roof_access'] == null ? undefined : json['roof_access'], + 'referral': json['referral'] == null ? undefined : json['referral'], + 'notes': json['notes'] == null ? undefined : json['notes'], + 'diy': json['diy'] == null ? undefined : json['diy'], + 'node': json['node'] == null ? undefined : InstallNodeFromJSON(json['node']), + 'building': json['building'] == null ? undefined : InstallBuildingFromJSON(json['building']), + 'member': json['member'] == null ? undefined : InstallMemberFromJSON(json['member']), + }; +} + +export function PatchedInstallToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'status': Status195EnumToJSON(value['status']), + 'ticket_number': value['ticketNumber'], + 'request_date': value['requestDate'] == null ? undefined : ((value['requestDate']).toISOString().substring(0,10)), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'unit': value['unit'], + 'roof_access': value['roofAccess'], + 'referral': value['referral'], + 'notes': value['notes'], + 'diy': value['diy'], + 'node': InstallNodeToJSON(value['node']), + 'building': InstallBuildingToJSON(value['building']), + 'member': InstallMemberToJSON(value['member']), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedLOS.ts b/src/generated-sources/openapi/models/PatchedLOS.ts new file mode 100644 index 0000000..8225403 --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedLOS.ts @@ -0,0 +1,118 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { LOSFromBuilding } from './LOSFromBuilding'; +import { + LOSFromBuildingFromJSON, + LOSFromBuildingFromJSONTyped, + LOSFromBuildingToJSON, +} from './LOSFromBuilding'; +import type { SourceEnum } from './SourceEnum'; +import { + SourceEnumFromJSON, + SourceEnumFromJSONTyped, + SourceEnumToJSON, +} from './SourceEnum'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedLOS + */ +export interface PatchedLOS { + /** + * + * @type {string} + * @memberof PatchedLOS + */ + readonly id?: string; + /** + * The date we conducted the analysis that concluded this LOS exists. Important since new buildings might have been built which block the LOS after this date + * @type {Date} + * @memberof PatchedLOS + */ + analysisDate?: Date | null; + /** + * The source of information that tells us this LOS exists + * + * * `Human Annotated` - Human Annotated + * * `Existing Link` - Existing Link + * @type {SourceEnum} + * @memberof PatchedLOS + */ + source?: SourceEnum; + /** + * A free-form text description of this LOS, to track any additional information. + * @type {string} + * @memberof PatchedLOS + */ + notes?: string | null; + /** + * + * @type {LOSFromBuilding} + * @memberof PatchedLOS + */ + fromBuilding?: LOSFromBuilding; + /** + * + * @type {LOSFromBuilding} + * @memberof PatchedLOS + */ + toBuilding?: LOSFromBuilding; +} + + + +/** + * Check if a given object implements the PatchedLOS interface. + */ +export function instanceOfPatchedLOS(value: object): value is PatchedLOS { + return true; +} + +export function PatchedLOSFromJSON(json: any): PatchedLOS { + return PatchedLOSFromJSONTyped(json, false); +} + +export function PatchedLOSFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedLOS { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'analysisDate': json['analysis_date'] == null ? undefined : (new Date(json['analysis_date'])), + 'source': json['source'] == null ? undefined : SourceEnumFromJSON(json['source']), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'fromBuilding': json['from_building'] == null ? undefined : LOSFromBuildingFromJSON(json['from_building']), + 'toBuilding': json['to_building'] == null ? undefined : LOSFromBuildingFromJSON(json['to_building']), + }; +} + +export function PatchedLOSToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'analysis_date': value['analysisDate'] == null ? undefined : ((value['analysisDate'] as any).toISOString().substring(0,10)), + 'source': SourceEnumToJSON(value['source']), + 'notes': value['notes'], + 'from_building': LOSFromBuildingToJSON(value['fromBuilding']), + 'to_building': LOSFromBuildingToJSON(value['toBuilding']), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedLink.ts b/src/generated-sources/openapi/models/PatchedLink.ts new file mode 100644 index 0000000..7f07167 --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedLink.ts @@ -0,0 +1,157 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { LinkFromDevice } from './LinkFromDevice'; +import { + LinkFromDeviceFromJSON, + LinkFromDeviceFromJSONTyped, + LinkFromDeviceToJSON, +} from './LinkFromDevice'; +import type { LinkStatusEnum } from './LinkStatusEnum'; +import { + LinkStatusEnumFromJSON, + LinkStatusEnumFromJSONTyped, + LinkStatusEnumToJSON, +} from './LinkStatusEnum'; +import type { LinkType } from './LinkType'; +import { + LinkTypeFromJSON, + LinkTypeFromJSONTyped, + LinkTypeToJSON, +} from './LinkType'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedLink + */ +export interface PatchedLink { + /** + * + * @type {string} + * @memberof PatchedLink + */ + readonly id?: string; + /** + * The current status of this link + * + * * `Inactive` - Inactive + * * `Planned` - Planned + * * `Active` - Active + * @type {LinkStatusEnum} + * @memberof PatchedLink + */ + status?: LinkStatusEnum; + /** + * + * @type {LinkType} + * @memberof PatchedLink + */ + type?: LinkType | null; + /** + * The date this link was created + * @type {Date} + * @memberof PatchedLink + */ + installDate?: Date | null; + /** + * The date this link was powered off, disassembled, or abandoned + * @type {Date} + * @memberof PatchedLink + */ + abandonDate?: Date | null; + /** + * A short description of "where to where" this link connects in human readable language + * @type {string} + * @memberof PatchedLink + */ + description?: string | null; + /** + * A free-form text description of this Link, to track any additional information. + * @type {string} + * @memberof PatchedLink + */ + notes?: string | null; + /** + * The UUID used to indentify this link in UISP (if applicable) + * @type {string} + * @memberof PatchedLink + */ + uispId?: string | null; + /** + * + * @type {LinkFromDevice} + * @memberof PatchedLink + */ + fromDevice?: LinkFromDevice; + /** + * + * @type {LinkFromDevice} + * @memberof PatchedLink + */ + toDevice?: LinkFromDevice; +} + + + +/** + * Check if a given object implements the PatchedLink interface. + */ +export function instanceOfPatchedLink(value: object): value is PatchedLink { + return true; +} + +export function PatchedLinkFromJSON(json: any): PatchedLink { + return PatchedLinkFromJSONTyped(json, false); +} + +export function PatchedLinkFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedLink { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'status': json['status'] == null ? undefined : LinkStatusEnumFromJSON(json['status']), + 'type': json['type'] == null ? undefined : LinkTypeFromJSON(json['type']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'description': json['description'] == null ? undefined : json['description'], + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'fromDevice': json['from_device'] == null ? undefined : LinkFromDeviceFromJSON(json['from_device']), + 'toDevice': json['to_device'] == null ? undefined : LinkFromDeviceFromJSON(json['to_device']), + }; +} + +export function PatchedLinkToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'status': LinkStatusEnumToJSON(value['status']), + 'type': LinkTypeToJSON(value['type']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'description': value['description'], + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'from_device': LinkFromDeviceToJSON(value['fromDevice']), + 'to_device': LinkFromDeviceToJSON(value['toDevice']), + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedMember.ts b/src/generated-sources/openapi/models/PatchedMember.ts new file mode 100644 index 0000000..d29f8bf --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedMember.ts @@ -0,0 +1,152 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedMember + */ +export interface PatchedMember { + /** + * + * @type {string} + * @memberof PatchedMember + */ + readonly id?: string; + /** + * + * @type {Array} + * @memberof PatchedMember + */ + readonly allEmailAddresses?: Array; + /** + * + * @type {Array} + * @memberof PatchedMember + */ + readonly allPhoneNumbers?: Array; + /** + * + * @type {Array} + * @memberof PatchedMember + */ + readonly installs?: Array; + /** + * Member full name in the format: "First Last" + * @type {string} + * @memberof PatchedMember + */ + name?: string; + /** + * Primary email address used to contact the member + * @type {string} + * @memberof PatchedMember + */ + primaryEmailAddress?: string | null; + /** + * Email address used by the member to donate via Stripe, if different to their primary email + * @type {string} + * @memberof PatchedMember + */ + stripeEmailAddress?: string | null; + /** + * Any additional email addresses associated with this member + * @type {Array} + * @memberof PatchedMember + */ + additionalEmailAddresses?: Array | null; + /** + * A primary contact phone number for this member + * @type {string} + * @memberof PatchedMember + */ + phoneNumber?: string | null; + /** + * Any additional phone numbers used by this member + * @type {Array} + * @memberof PatchedMember + */ + additionalPhoneNumbers?: Array | null; + /** + * The member's slack handle + * @type {string} + * @memberof PatchedMember + */ + slackHandle?: string | null; + /** + * A free-form text description of how to contact this member, to track any additional information. For Members imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof PatchedMember + */ + notes?: string | null; +} + +/** + * Check if a given object implements the PatchedMember interface. + */ +export function instanceOfPatchedMember(value: object): value is PatchedMember { + return true; +} + +export function PatchedMemberFromJSON(json: any): PatchedMember { + return PatchedMemberFromJSONTyped(json, false); +} + +export function PatchedMemberFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedMember { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'allEmailAddresses': json['all_email_addresses'] == null ? undefined : json['all_email_addresses'], + 'allPhoneNumbers': json['all_phone_numbers'] == null ? undefined : json['all_phone_numbers'], + 'installs': json['installs'] == null ? undefined : ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'primaryEmailAddress': json['primary_email_address'] == null ? undefined : json['primary_email_address'], + 'stripeEmailAddress': json['stripe_email_address'] == null ? undefined : json['stripe_email_address'], + 'additionalEmailAddresses': json['additional_email_addresses'] == null ? undefined : json['additional_email_addresses'], + 'phoneNumber': json['phone_number'] == null ? undefined : json['phone_number'], + 'additionalPhoneNumbers': json['additional_phone_numbers'] == null ? undefined : json['additional_phone_numbers'], + 'slackHandle': json['slack_handle'] == null ? undefined : json['slack_handle'], + 'notes': json['notes'] == null ? undefined : json['notes'], + }; +} + +export function PatchedMemberToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'primary_email_address': value['primaryEmailAddress'], + 'stripe_email_address': value['stripeEmailAddress'], + 'additional_email_addresses': value['additionalEmailAddresses'], + 'phone_number': value['phoneNumber'], + 'additional_phone_numbers': value['additionalPhoneNumbers'], + 'slack_handle': value['slackHandle'], + 'notes': value['notes'], + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedNodeEdit.ts b/src/generated-sources/openapi/models/PatchedNodeEdit.ts new file mode 100644 index 0000000..73a90fc --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedNodeEdit.ts @@ -0,0 +1,205 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { NodeBuildingsInner } from './NodeBuildingsInner'; +import { + NodeBuildingsInnerFromJSON, + NodeBuildingsInnerFromJSONTyped, + NodeBuildingsInnerToJSON, +} from './NodeBuildingsInner'; +import type { BuildingInstallsInner } from './BuildingInstallsInner'; +import { + BuildingInstallsInnerFromJSON, + BuildingInstallsInnerFromJSONTyped, + BuildingInstallsInnerToJSON, +} from './BuildingInstallsInner'; +import type { NodeDevicesInner } from './NodeDevicesInner'; +import { + NodeDevicesInnerFromJSON, + NodeDevicesInnerFromJSONTyped, + NodeDevicesInnerToJSON, +} from './NodeDevicesInner'; +import type { Status2a6Enum } from './Status2a6Enum'; +import { + Status2a6EnumFromJSON, + Status2a6EnumFromJSONTyped, + Status2a6EnumToJSON, +} from './Status2a6Enum'; +import type { TypeB10Enum } from './TypeB10Enum'; +import { + TypeB10EnumFromJSON, + TypeB10EnumFromJSONTyped, + TypeB10EnumToJSON, +} from './TypeB10Enum'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedNodeEdit + */ +export interface PatchedNodeEdit { + /** + * + * @type {string} + * @memberof PatchedNodeEdit + */ + id?: string; + /** + * + * @type {Array} + * @memberof PatchedNodeEdit + */ + readonly buildings?: Array; + /** + * + * @type {Array} + * @memberof PatchedNodeEdit + */ + readonly devices?: Array; + /** + * + * @type {Array} + * @memberof PatchedNodeEdit + */ + readonly installs?: Array; + /** + * + * @type {number} + * @memberof PatchedNodeEdit + */ + readonly networkNumber?: number | null; + /** + * The colloquial name of this node used among mesh volunteers, if applicable + * @type {string} + * @memberof PatchedNodeEdit + */ + name?: string | null; + /** + * The current status of this Node + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Planned` - Planned + * @type {Status2a6Enum} + * @memberof PatchedNodeEdit + */ + status?: Status2a6Enum; + /** + * The type of node this is, controls the icon used on the network map + * + * * `Standard` - Standard + * * `Hub` - Hub + * * `Supernode` - Supernode + * * `POP` - Pop + * * `AP` - Ap + * * `Remote` - Remote + * @type {TypeB10Enum} + * @memberof PatchedNodeEdit + */ + type?: TypeB10Enum; + /** + * Approximate Node latitude in decimal degrees (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof PatchedNodeEdit + */ + latitude?: number; + /** + * Approximate Node longitude in decimal degrees (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof PatchedNodeEdit + */ + longitude?: number; + /** + * Approximate Node altitude in "absolute" meters above mean sea level (this will match one of the attached Building objects in most cases, but has been manually moved around in some cases to more accurately reflect node location) + * @type {number} + * @memberof PatchedNodeEdit + */ + altitude?: number | null; + /** + * The date the first Install or Device associated with this Node became active on the mesh + * @type {Date} + * @memberof PatchedNodeEdit + */ + installDate?: Date | null; + /** + * The date the last Install or Device associated with this Node was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof PatchedNodeEdit + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Node, to track any additional information. For Nodes imported from the spreadsheet, this starts with a formatted block of information about the import process and original spreadsheet data. However this structure can be changed by admins at any time and should not be relied on by automated systems. + * @type {string} + * @memberof PatchedNodeEdit + */ + notes?: string | null; +} + + + +/** + * Check if a given object implements the PatchedNodeEdit interface. + */ +export function instanceOfPatchedNodeEdit(value: object): value is PatchedNodeEdit { + return true; +} + +export function PatchedNodeEditFromJSON(json: any): PatchedNodeEdit { + return PatchedNodeEditFromJSONTyped(json, false); +} + +export function PatchedNodeEditFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedNodeEdit { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'buildings': json['buildings'] == null ? undefined : ((json['buildings'] as Array).map(NodeBuildingsInnerFromJSON)), + 'devices': json['devices'] == null ? undefined : ((json['devices'] as Array).map(NodeDevicesInnerFromJSON)), + 'installs': json['installs'] == null ? undefined : ((json['installs'] as Array).map(BuildingInstallsInnerFromJSON)), + 'networkNumber': json['network_number'] == null ? undefined : json['network_number'], + 'name': json['name'] == null ? undefined : json['name'], + 'status': json['status'] == null ? undefined : Status2a6EnumFromJSON(json['status']), + 'type': json['type'] == null ? undefined : TypeB10EnumFromJSON(json['type']), + 'latitude': json['latitude'] == null ? undefined : json['latitude'], + 'longitude': json['longitude'] == null ? undefined : json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + }; +} + +export function PatchedNodeEditToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'id': value['id'], + 'name': value['name'], + 'status': Status2a6EnumToJSON(value['status']), + 'type': TypeB10EnumToJSON(value['type']), + 'latitude': value['latitude'], + 'longitude': value['longitude'], + 'altitude': value['altitude'], + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + }; +} + diff --git a/src/generated-sources/openapi/models/PatchedSector.ts b/src/generated-sources/openapi/models/PatchedSector.ts new file mode 100644 index 0000000..626d451 --- /dev/null +++ b/src/generated-sources/openapi/models/PatchedSector.ts @@ -0,0 +1,200 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status432Enum } from './Status432Enum'; +import { + Status432EnumFromJSON, + Status432EnumFromJSONTyped, + Status432EnumToJSON, +} from './Status432Enum'; +import type { AccessPointNode } from './AccessPointNode'; +import { + AccessPointNodeFromJSON, + AccessPointNodeFromJSONTyped, + AccessPointNodeToJSON, +} from './AccessPointNode'; +import type { AccessPointLinksFromInner } from './AccessPointLinksFromInner'; +import { + AccessPointLinksFromInnerFromJSON, + AccessPointLinksFromInnerFromJSONTyped, + AccessPointLinksFromInnerToJSON, +} from './AccessPointLinksFromInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface PatchedSector + */ +export interface PatchedSector { + /** + * + * @type {string} + * @memberof PatchedSector + */ + readonly id?: string; + /** + * Approximate Device latitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof PatchedSector + */ + readonly latitude?: number; + /** + * Approximate Device longitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof PatchedSector + */ + readonly longitude?: number; + /** + * Approximate Device altitude in "absolute" meters above mean sea level (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof PatchedSector + */ + readonly altitude?: number; + /** + * + * @type {Array} + * @memberof PatchedSector + */ + readonly linksFrom?: Array; + /** + * + * @type {Array} + * @memberof PatchedSector + */ + readonly linksTo?: Array; + /** + * The name of this device, usually configured as the hostname in the device firmware, usually in the format nycmesh-xxxx-yyyy-zzzz, where xxxx is the network number for the node this device is located at, yyyy is the type of the device, and zzzz is the network number of the other side of the link this device creates (if applicable) + * @type {string} + * @memberof PatchedSector + */ + name?: string | null; + /** + * The current status of this device + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @type {Status432Enum} + * @memberof PatchedSector + */ + status?: Status432Enum; + /** + * The date this device first became active on the mesh + * @type {Date} + * @memberof PatchedSector + */ + installDate?: Date | null; + /** + * The this device was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof PatchedSector + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Device, to track any additional information. For imported Devices, this starts with a formatted block of information about the import processand original data. However this structure can be changed by admins at any time and should not be relied onby automated systems. + * @type {string} + * @memberof PatchedSector + */ + notes?: string | null; + /** + * The UUID used to indentify this device in UISP (if applicable) + * @type {string} + * @memberof PatchedSector + */ + uispId?: string | null; + /** + * The radius to display this sector on the map (in km) + * @type {number} + * @memberof PatchedSector + */ + radius?: number; + /** + * The compass heading that this sector is pointed towards + * @type {number} + * @memberof PatchedSector + */ + azimuth?: number; + /** + * The approximate width of the beam this sector produces + * @type {number} + * @memberof PatchedSector + */ + width?: number; + /** + * + * @type {AccessPointNode} + * @memberof PatchedSector + */ + node?: AccessPointNode; +} + + + +/** + * Check if a given object implements the PatchedSector interface. + */ +export function instanceOfPatchedSector(value: object): value is PatchedSector { + return true; +} + +export function PatchedSectorFromJSON(json: any): PatchedSector { + return PatchedSectorFromJSONTyped(json, false); +} + +export function PatchedSectorFromJSONTyped(json: any, ignoreDiscriminator: boolean): PatchedSector { + if (json == null) { + return json; + } + return { + + 'id': json['id'] == null ? undefined : json['id'], + 'latitude': json['latitude'] == null ? undefined : json['latitude'], + 'longitude': json['longitude'] == null ? undefined : json['longitude'], + 'altitude': json['altitude'] == null ? undefined : json['altitude'], + 'linksFrom': json['links_from'] == null ? undefined : ((json['links_from'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'linksTo': json['links_to'] == null ? undefined : ((json['links_to'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'status': json['status'] == null ? undefined : Status432EnumFromJSON(json['status']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'radius': json['radius'] == null ? undefined : json['radius'], + 'azimuth': json['azimuth'] == null ? undefined : json['azimuth'], + 'width': json['width'] == null ? undefined : json['width'], + 'node': json['node'] == null ? undefined : AccessPointNodeFromJSON(json['node']), + }; +} + +export function PatchedSectorToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'status': Status432EnumToJSON(value['status']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'radius': value['radius'], + 'azimuth': value['azimuth'], + 'width': value['width'], + 'node': AccessPointNodeToJSON(value['node']), + }; +} + diff --git a/src/generated-sources/openapi/models/QueryForm.ts b/src/generated-sources/openapi/models/QueryForm.ts new file mode 100644 index 0000000..733afdf --- /dev/null +++ b/src/generated-sources/openapi/models/QueryForm.ts @@ -0,0 +1,203 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status195Enum } from './Status195Enum'; +import { + Status195EnumFromJSON, + Status195EnumFromJSONTyped, + Status195EnumToJSON, +} from './Status195Enum'; + +/** + * Objects which approximate the CSV output from the legacy docs query form. These approximately + * correspond to the spreadsheet row format, by flattening attributes across many models into a + * single JSON object + * @export + * @interface QueryForm + */ +export interface QueryForm { + /** + * + * @type {number} + * @memberof QueryForm + */ + readonly installNumber: number; + /** + * + * @type {string} + * @memberof QueryForm + */ + streetAddress: string; + /** + * Line 2 of this install's mailing address + * @type {string} + * @memberof QueryForm + */ + unit?: string | null; + /** + * + * @type {string} + * @memberof QueryForm + */ + city: string; + /** + * + * @type {string} + * @memberof QueryForm + */ + state: string; + /** + * + * @type {string} + * @memberof QueryForm + */ + zipCode: string; + /** + * + * @type {string} + * @memberof QueryForm + */ + name: string; + /** + * + * @type {string} + * @memberof QueryForm + */ + phoneNumber: string; + /** + * + * @type {Array} + * @memberof QueryForm + */ + additionalPhoneNumbers: Array; + /** + * + * @type {string} + * @memberof QueryForm + */ + primaryEmailAddress: string; + /** + * + * @type {string} + * @memberof QueryForm + */ + stripeEmailAddress: string; + /** + * + * @type {Array} + * @memberof QueryForm + */ + additionalEmailAddresses: Array; + /** + * + * @type {string} + * @memberof QueryForm + */ + readonly notes: string; + /** + * + * @type {number} + * @memberof QueryForm + */ + networkNumber: number | null; + /** + * The current status of this install + * + * * `Request Received` - Request Received + * * `Pending` - Pending + * * `Blocked` - Blocked + * * `Active` - Active + * * `Inactive` - Inactive + * * `Closed` - Closed + * * `NN Reassigned` - Nn Reassigned + * @type {Status195Enum} + * @memberof QueryForm + */ + status: Status195Enum; +} + + + +/** + * Check if a given object implements the QueryForm interface. + */ +export function instanceOfQueryForm(value: object): value is QueryForm { + if (!('installNumber' in value) || value['installNumber'] === undefined) return false; + if (!('streetAddress' in value) || value['streetAddress'] === undefined) return false; + if (!('city' in value) || value['city'] === undefined) return false; + if (!('state' in value) || value['state'] === undefined) return false; + if (!('zipCode' in value) || value['zipCode'] === undefined) return false; + if (!('name' in value) || value['name'] === undefined) return false; + if (!('phoneNumber' in value) || value['phoneNumber'] === undefined) return false; + if (!('additionalPhoneNumbers' in value) || value['additionalPhoneNumbers'] === undefined) return false; + if (!('primaryEmailAddress' in value) || value['primaryEmailAddress'] === undefined) return false; + if (!('stripeEmailAddress' in value) || value['stripeEmailAddress'] === undefined) return false; + if (!('additionalEmailAddresses' in value) || value['additionalEmailAddresses'] === undefined) return false; + if (!('notes' in value) || value['notes'] === undefined) return false; + if (!('networkNumber' in value) || value['networkNumber'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + return true; +} + +export function QueryFormFromJSON(json: any): QueryForm { + return QueryFormFromJSONTyped(json, false); +} + +export function QueryFormFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryForm { + if (json == null) { + return json; + } + return { + + 'installNumber': json['install_number'], + 'streetAddress': json['street_address'], + 'unit': json['unit'] == null ? undefined : json['unit'], + 'city': json['city'], + 'state': json['state'], + 'zipCode': json['zip_code'], + 'name': json['name'], + 'phoneNumber': json['phone_number'], + 'additionalPhoneNumbers': json['additional_phone_numbers'], + 'primaryEmailAddress': json['primary_email_address'], + 'stripeEmailAddress': json['stripe_email_address'], + 'additionalEmailAddresses': json['additional_email_addresses'], + 'notes': json['notes'], + 'networkNumber': json['network_number'], + 'status': Status195EnumFromJSON(json['status']), + }; +} + +export function QueryFormToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'street_address': value['streetAddress'], + 'unit': value['unit'], + 'city': value['city'], + 'state': value['state'], + 'zip_code': value['zipCode'], + 'name': value['name'], + 'phone_number': value['phoneNumber'], + 'additional_phone_numbers': value['additionalPhoneNumbers'], + 'primary_email_address': value['primaryEmailAddress'], + 'stripe_email_address': value['stripeEmailAddress'], + 'additional_email_addresses': value['additionalEmailAddresses'], + 'network_number': value['networkNumber'], + 'status': Status195EnumToJSON(value['status']), + }; +} + diff --git a/src/generated-sources/openapi/models/Sector.ts b/src/generated-sources/openapi/models/Sector.ts new file mode 100644 index 0000000..fd7d19d --- /dev/null +++ b/src/generated-sources/openapi/models/Sector.ts @@ -0,0 +1,211 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { mapValues } from '../runtime'; +import type { Status432Enum } from './Status432Enum'; +import { + Status432EnumFromJSON, + Status432EnumFromJSONTyped, + Status432EnumToJSON, +} from './Status432Enum'; +import type { AccessPointNode } from './AccessPointNode'; +import { + AccessPointNodeFromJSON, + AccessPointNodeFromJSONTyped, + AccessPointNodeToJSON, +} from './AccessPointNode'; +import type { AccessPointLinksFromInner } from './AccessPointLinksFromInner'; +import { + AccessPointLinksFromInnerFromJSON, + AccessPointLinksFromInnerFromJSONTyped, + AccessPointLinksFromInnerToJSON, +} from './AccessPointLinksFromInner'; + +/** + * A ModelSerializer MixIn which sets `NestedKeyObjectRelatedField` as the default field class + * to use for the foreign key fields + * @export + * @interface Sector + */ +export interface Sector { + /** + * + * @type {string} + * @memberof Sector + */ + readonly id: string; + /** + * Approximate Device latitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof Sector + */ + readonly latitude: number; + /** + * Approximate Device longitude in decimal degrees (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof Sector + */ + readonly longitude: number; + /** + * Approximate Device altitude in "absolute" meters above mean sea level (this is read through from the attached Node object, not stored separately) + * @type {number} + * @memberof Sector + */ + readonly altitude: number; + /** + * + * @type {Array} + * @memberof Sector + */ + readonly linksFrom: Array; + /** + * + * @type {Array} + * @memberof Sector + */ + readonly linksTo: Array; + /** + * The name of this device, usually configured as the hostname in the device firmware, usually in the format nycmesh-xxxx-yyyy-zzzz, where xxxx is the network number for the node this device is located at, yyyy is the type of the device, and zzzz is the network number of the other side of the link this device creates (if applicable) + * @type {string} + * @memberof Sector + */ + name?: string | null; + /** + * The current status of this device + * + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @type {Status432Enum} + * @memberof Sector + */ + status: Status432Enum; + /** + * The date this device first became active on the mesh + * @type {Date} + * @memberof Sector + */ + installDate?: Date | null; + /** + * The this device was abandoned, unplugged, or removed from service + * @type {Date} + * @memberof Sector + */ + abandonDate?: Date | null; + /** + * A free-form text description of this Device, to track any additional information. For imported Devices, this starts with a formatted block of information about the import processand original data. However this structure can be changed by admins at any time and should not be relied onby automated systems. + * @type {string} + * @memberof Sector + */ + notes?: string | null; + /** + * The UUID used to indentify this device in UISP (if applicable) + * @type {string} + * @memberof Sector + */ + uispId?: string | null; + /** + * The radius to display this sector on the map (in km) + * @type {number} + * @memberof Sector + */ + radius: number; + /** + * The compass heading that this sector is pointed towards + * @type {number} + * @memberof Sector + */ + azimuth: number; + /** + * The approximate width of the beam this sector produces + * @type {number} + * @memberof Sector + */ + width: number; + /** + * + * @type {AccessPointNode} + * @memberof Sector + */ + node: AccessPointNode; +} + + + +/** + * Check if a given object implements the Sector interface. + */ +export function instanceOfSector(value: object): value is Sector { + if (!('id' in value) || value['id'] === undefined) return false; + if (!('latitude' in value) || value['latitude'] === undefined) return false; + if (!('longitude' in value) || value['longitude'] === undefined) return false; + if (!('altitude' in value) || value['altitude'] === undefined) return false; + if (!('linksFrom' in value) || value['linksFrom'] === undefined) return false; + if (!('linksTo' in value) || value['linksTo'] === undefined) return false; + if (!('status' in value) || value['status'] === undefined) return false; + if (!('radius' in value) || value['radius'] === undefined) return false; + if (!('azimuth' in value) || value['azimuth'] === undefined) return false; + if (!('width' in value) || value['width'] === undefined) return false; + if (!('node' in value) || value['node'] === undefined) return false; + return true; +} + +export function SectorFromJSON(json: any): Sector { + return SectorFromJSONTyped(json, false); +} + +export function SectorFromJSONTyped(json: any, ignoreDiscriminator: boolean): Sector { + if (json == null) { + return json; + } + return { + + 'id': json['id'], + 'latitude': json['latitude'], + 'longitude': json['longitude'], + 'altitude': json['altitude'], + 'linksFrom': ((json['links_from'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'linksTo': ((json['links_to'] as Array).map(AccessPointLinksFromInnerFromJSON)), + 'name': json['name'] == null ? undefined : json['name'], + 'status': Status432EnumFromJSON(json['status']), + 'installDate': json['install_date'] == null ? undefined : (new Date(json['install_date'])), + 'abandonDate': json['abandon_date'] == null ? undefined : (new Date(json['abandon_date'])), + 'notes': json['notes'] == null ? undefined : json['notes'], + 'uispId': json['uisp_id'] == null ? undefined : json['uisp_id'], + 'radius': json['radius'], + 'azimuth': json['azimuth'], + 'width': json['width'], + 'node': AccessPointNodeFromJSON(json['node']), + }; +} + +export function SectorToJSON(value?: Omit | null): any { + if (value == null) { + return value; + } + return { + + 'name': value['name'], + 'status': Status432EnumToJSON(value['status']), + 'install_date': value['installDate'] == null ? undefined : ((value['installDate'] as any).toISOString().substring(0,10)), + 'abandon_date': value['abandonDate'] == null ? undefined : ((value['abandonDate'] as any).toISOString().substring(0,10)), + 'notes': value['notes'], + 'uisp_id': value['uispId'], + 'radius': value['radius'], + 'azimuth': value['azimuth'], + 'width': value['width'], + 'node': AccessPointNodeToJSON(value['node']), + }; +} + diff --git a/src/generated-sources/openapi/models/SourceEnum.ts b/src/generated-sources/openapi/models/SourceEnum.ts new file mode 100644 index 0000000..066019e --- /dev/null +++ b/src/generated-sources/openapi/models/SourceEnum.ts @@ -0,0 +1,50 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `Human Annotated` - Human Annotated + * * `Existing Link` - Existing Link + * @export + */ +export const SourceEnum = { + HumanAnnotated: 'Human Annotated', + ExistingLink: 'Existing Link' +} as const; +export type SourceEnum = typeof SourceEnum[keyof typeof SourceEnum]; + + +export function instanceOfSourceEnum(value: any): boolean { + for (const key in SourceEnum) { + if (Object.prototype.hasOwnProperty.call(SourceEnum, key)) { + if (SourceEnum[key as keyof typeof SourceEnum] === value) { + return true; + } + } + } + return false; +} + +export function SourceEnumFromJSON(json: any): SourceEnum { + return SourceEnumFromJSONTyped(json, false); +} + +export function SourceEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): SourceEnum { + return json as SourceEnum; +} + +export function SourceEnumToJSON(value?: SourceEnum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/Status195Enum.ts b/src/generated-sources/openapi/models/Status195Enum.ts new file mode 100644 index 0000000..fe62199 --- /dev/null +++ b/src/generated-sources/openapi/models/Status195Enum.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `Request Received` - Request Received + * * `Pending` - Pending + * * `Blocked` - Blocked + * * `Active` - Active + * * `Inactive` - Inactive + * * `Closed` - Closed + * * `NN Reassigned` - Nn Reassigned + * @export + */ +export const Status195Enum = { + RequestReceived: 'Request Received', + Pending: 'Pending', + Blocked: 'Blocked', + Active: 'Active', + Inactive: 'Inactive', + Closed: 'Closed', + NnReassigned: 'NN Reassigned' +} as const; +export type Status195Enum = typeof Status195Enum[keyof typeof Status195Enum]; + + +export function instanceOfStatus195Enum(value: any): boolean { + for (const key in Status195Enum) { + if (Object.prototype.hasOwnProperty.call(Status195Enum, key)) { + if (Status195Enum[key as keyof typeof Status195Enum] === value) { + return true; + } + } + } + return false; +} + +export function Status195EnumFromJSON(json: any): Status195Enum { + return Status195EnumFromJSONTyped(json, false); +} + +export function Status195EnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): Status195Enum { + return json as Status195Enum; +} + +export function Status195EnumToJSON(value?: Status195Enum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/Status2a6Enum.ts b/src/generated-sources/openapi/models/Status2a6Enum.ts new file mode 100644 index 0000000..ff67f59 --- /dev/null +++ b/src/generated-sources/openapi/models/Status2a6Enum.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `Inactive` - Inactive + * * `Active` - Active + * * `Planned` - Planned + * @export + */ +export const Status2a6Enum = { + Inactive: 'Inactive', + Active: 'Active', + Planned: 'Planned' +} as const; +export type Status2a6Enum = typeof Status2a6Enum[keyof typeof Status2a6Enum]; + + +export function instanceOfStatus2a6Enum(value: any): boolean { + for (const key in Status2a6Enum) { + if (Object.prototype.hasOwnProperty.call(Status2a6Enum, key)) { + if (Status2a6Enum[key as keyof typeof Status2a6Enum] === value) { + return true; + } + } + } + return false; +} + +export function Status2a6EnumFromJSON(json: any): Status2a6Enum { + return Status2a6EnumFromJSONTyped(json, false); +} + +export function Status2a6EnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): Status2a6Enum { + return json as Status2a6Enum; +} + +export function Status2a6EnumToJSON(value?: Status2a6Enum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/Status432Enum.ts b/src/generated-sources/openapi/models/Status432Enum.ts new file mode 100644 index 0000000..4af6656 --- /dev/null +++ b/src/generated-sources/openapi/models/Status432Enum.ts @@ -0,0 +1,52 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `Inactive` - Inactive + * * `Active` - Active + * * `Potential` - Potential + * @export + */ +export const Status432Enum = { + Inactive: 'Inactive', + Active: 'Active', + Potential: 'Potential' +} as const; +export type Status432Enum = typeof Status432Enum[keyof typeof Status432Enum]; + + +export function instanceOfStatus432Enum(value: any): boolean { + for (const key in Status432Enum) { + if (Object.prototype.hasOwnProperty.call(Status432Enum, key)) { + if (Status432Enum[key as keyof typeof Status432Enum] === value) { + return true; + } + } + } + return false; +} + +export function Status432EnumFromJSON(json: any): Status432Enum { + return Status432EnumFromJSONTyped(json, false); +} + +export function Status432EnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): Status432Enum { + return json as Status432Enum; +} + +export function Status432EnumToJSON(value?: Status432Enum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/TypeB10Enum.ts b/src/generated-sources/openapi/models/TypeB10Enum.ts new file mode 100644 index 0000000..e5f3d90 --- /dev/null +++ b/src/generated-sources/openapi/models/TypeB10Enum.ts @@ -0,0 +1,58 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * * `Standard` - Standard + * * `Hub` - Hub + * * `Supernode` - Supernode + * * `POP` - Pop + * * `AP` - Ap + * * `Remote` - Remote + * @export + */ +export const TypeB10Enum = { + Standard: 'Standard', + Hub: 'Hub', + Supernode: 'Supernode', + Pop: 'POP', + Ap: 'AP', + Remote: 'Remote' +} as const; +export type TypeB10Enum = typeof TypeB10Enum[keyof typeof TypeB10Enum]; + + +export function instanceOfTypeB10Enum(value: any): boolean { + for (const key in TypeB10Enum) { + if (Object.prototype.hasOwnProperty.call(TypeB10Enum, key)) { + if (TypeB10Enum[key as keyof typeof TypeB10Enum] === value) { + return true; + } + } + } + return false; +} + +export function TypeB10EnumFromJSON(json: any): TypeB10Enum { + return TypeB10EnumFromJSONTyped(json, false); +} + +export function TypeB10EnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypeB10Enum { + return json as TypeB10Enum; +} + +export function TypeB10EnumToJSON(value?: TypeB10Enum | null): any { + return value as any; +} + diff --git a/src/generated-sources/openapi/models/index.ts b/src/generated-sources/openapi/models/index.ts new file mode 100644 index 0000000..45532c5 --- /dev/null +++ b/src/generated-sources/openapi/models/index.ts @@ -0,0 +1,69 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './AccessPoint'; +export * from './AccessPointLinksFromInner'; +export * from './AccessPointNode'; +export * from './AddressTruthSourcesEnum'; +export * from './BlankEnum'; +export * from './Building'; +export * from './BuildingInstallsInner'; +export * from './BuildingNodesInner'; +export * from './BuildingPrimaryNode'; +export * from './CityErrorResponse'; +export * from './Device'; +export * from './ErrorResponse'; +export * from './ErrorResponseInternalFailure'; +export * from './ErrorResponseInvalidAddr'; +export * from './ErrorResponseMissingFields'; +export * from './GeocodeSuccessResponse'; +export * from './Install'; +export * from './InstallBuilding'; +export * from './InstallMember'; +export * from './InstallNode'; +export * from './JoinFormRequest'; +export * from './JoinFormSuccessResponse'; +export * from './KioskData'; +export * from './LOS'; +export * from './LOSFromBuilding'; +export * from './Link'; +export * from './LinkFromDevice'; +export * from './LinkStatusEnum'; +export * from './LinkType'; +export * from './LinkTypeEnum'; +export * from './MapDataInstall'; +export * from './MapDataLink'; +export * from './MapDataSector'; +export * from './Member'; +export * from './NNFormSuccessResponse'; +export * from './NetworkNumberAssignmentRequest'; +export * from './Node'; +export * from './NodeBuildingsInner'; +export * from './NodeDevicesInner'; +export * from './NodeEdit'; +export * from './NullEnum'; +export * from './PaginatedAccessPointList'; +export * from './PaginatedBuildingList'; +export * from './PaginatedDeviceList'; +export * from './PaginatedInstallList'; +export * from './PaginatedLOSList'; +export * from './PaginatedLinkList'; +export * from './PaginatedMemberList'; +export * from './PaginatedNodeList'; +export * from './PaginatedQueryFormList'; +export * from './PaginatedSectorList'; +export * from './PatchedAccessPoint'; +export * from './PatchedBuilding'; +export * from './PatchedDevice'; +export * from './PatchedInstall'; +export * from './PatchedLOS'; +export * from './PatchedLink'; +export * from './PatchedMember'; +export * from './PatchedNodeEdit'; +export * from './PatchedSector'; +export * from './QueryForm'; +export * from './Sector'; +export * from './SourceEnum'; +export * from './Status195Enum'; +export * from './Status2a6Enum'; +export * from './Status432Enum'; +export * from './TypeB10Enum'; diff --git a/src/generated-sources/openapi/runtime.ts b/src/generated-sources/openapi/runtime.ts new file mode 100644 index 0000000..db945a9 --- /dev/null +++ b/src/generated-sources/openapi/runtime.ts @@ -0,0 +1,426 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * MeshDB Data API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export const BASE_PATH = "http://localhost".replace(/\/+$/, ""); + +export interface ConfigurationParameters { + basePath?: string; // override base path + fetchApi?: FetchAPI; // override for fetch implementation + middleware?: Middleware[]; // middleware to apply before/after fetch requests + queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings + username?: string; // parameter for basic security + password?: string; // parameter for basic security + apiKey?: string | Promise | ((name: string) => string | Promise); // parameter for apiKey security + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security + headers?: HTTPHeaders; //header params we want to use on every request + credentials?: RequestCredentials; //value for the credentials param we want to use on each request +} + +export class Configuration { + constructor(private configuration: ConfigurationParameters = {}) {} + + set config(configuration: Configuration) { + this.configuration = configuration; + } + + get basePath(): string { + return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH; + } + + get fetchApi(): FetchAPI | undefined { + return this.configuration.fetchApi; + } + + get middleware(): Middleware[] { + return this.configuration.middleware || []; + } + + get queryParamsStringify(): (params: HTTPQuery) => string { + return this.configuration.queryParamsStringify || querystring; + } + + get username(): string | undefined { + return this.configuration.username; + } + + get password(): string | undefined { + return this.configuration.password; + } + + get apiKey(): ((name: string) => string | Promise) | undefined { + const apiKey = this.configuration.apiKey; + if (apiKey) { + return typeof apiKey === 'function' ? apiKey : () => apiKey; + } + return undefined; + } + + get accessToken(): ((name?: string, scopes?: string[]) => string | Promise) | undefined { + const accessToken = this.configuration.accessToken; + if (accessToken) { + return typeof accessToken === 'function' ? accessToken : async () => accessToken; + } + return undefined; + } + + get headers(): HTTPHeaders | undefined { + return this.configuration.headers; + } + + get credentials(): RequestCredentials | undefined { + return this.configuration.credentials; + } +} + +export const DefaultConfig = new Configuration(); + +/** + * This is the base class for all generated API classes. + */ +export class BaseAPI { + + private static readonly jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i'); + private middleware: Middleware[]; + + constructor(protected configuration = DefaultConfig) { + this.middleware = configuration.middleware; + } + + withMiddleware(this: T, ...middlewares: Middleware[]) { + const next = this.clone(); + next.middleware = next.middleware.concat(...middlewares); + return next; + } + + withPreMiddleware(this: T, ...preMiddlewares: Array) { + const middlewares = preMiddlewares.map((pre) => ({ pre })); + return this.withMiddleware(...middlewares); + } + + withPostMiddleware(this: T, ...postMiddlewares: Array) { + const middlewares = postMiddlewares.map((post) => ({ post })); + return this.withMiddleware(...middlewares); + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + protected isJsonMime(mime: string | null | undefined): boolean { + if (!mime) { + return false; + } + return BaseAPI.jsonRegex.test(mime); + } + + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { + const { url, init } = await this.createFetchParams(context, initOverrides); + const response = await this.fetchApi(url, init); + if (response && (response.status >= 200 && response.status < 300)) { + return response; + } + throw new ResponseError(response, 'Response returned an error code'); + } + + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { + let url = this.configuration.basePath + context.path; + if (context.query !== undefined && Object.keys(context.query).length !== 0) { + // only add the querystring to the URL if there are query parameters. + // this is done to avoid urls ending with a "?" character which buggy webservers + // do not handle correctly sometimes. + url += '?' + this.configuration.queryParamsStringify(context.query); + } + + const headers = Object.assign({}, this.configuration.headers, context.headers); + Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {}); + + const initOverrideFn = + typeof initOverrides === "function" + ? initOverrides + : async () => initOverrides; + + const initParams = { + method: context.method, + headers, + body: context.body, + credentials: this.configuration.credentials, + }; + + const overriddenInit: RequestInit = { + ...initParams, + ...(await initOverrideFn({ + init: initParams, + context, + })) + }; + + let body: any; + if (isFormData(overriddenInit.body) + || (overriddenInit.body instanceof URLSearchParams) + || isBlob(overriddenInit.body)) { + body = overriddenInit.body; + } else if (this.isJsonMime(headers['Content-Type'])) { + body = JSON.stringify(overriddenInit.body); + } else { + body = overriddenInit.body; + } + + const init: RequestInit = { + ...overriddenInit, + body + }; + + return { url, init }; + } + + private fetchApi = async (url: string, init: RequestInit) => { + let fetchParams = { url, init }; + for (const middleware of this.middleware) { + if (middleware.pre) { + fetchParams = await middleware.pre({ + fetch: this.fetchApi, + ...fetchParams, + }) || fetchParams; + } + } + let response: Response | undefined = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response === undefined) { + if (e instanceof Error) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } else { + throw e; + } + } + } + for (const middleware of this.middleware) { + if (middleware.post) { + response = await middleware.post({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + response: response.clone(), + }) || response; + } + } + return response; + } + + /** + * Create a shallow clone of `this` by constructing a new instance + * and then shallow cloning data members. + */ + private clone(this: T): T { + const constructor = this.constructor as any; + const next = new constructor(this.configuration); + next.middleware = this.middleware.slice(); + return next; + } +}; + +function isBlob(value: any): value is Blob { + return typeof Blob !== 'undefined' && value instanceof Blob; +} + +function isFormData(value: any): value is FormData { + return typeof FormData !== "undefined" && value instanceof FormData; +} + +export class ResponseError extends Error { + override name: "ResponseError" = "ResponseError"; + constructor(public response: Response, msg?: string) { + super(msg); + } +} + +export class FetchError extends Error { + override name: "FetchError" = "FetchError"; + constructor(public cause: Error, msg?: string) { + super(msg); + } +} + +export class RequiredError extends Error { + override name: "RequiredError" = "RequiredError"; + constructor(public field: string, msg?: string) { + super(msg); + } +} + +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +export type FetchAPI = WindowOrWorkerGlobalScope['fetch']; + +export type Json = any; +export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD'; +export type HTTPHeaders = { [key: string]: string }; +export type HTTPQuery = { [key: string]: string | number | null | boolean | Array | Set | HTTPQuery }; +export type HTTPBody = Json | FormData | URLSearchParams; +export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody }; +export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; + +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise + +export interface FetchParams { + url: string; + init: RequestInit; +} + +export interface RequestOpts { + path: string; + method: HTTPMethod; + headers: HTTPHeaders; + query?: HTTPQuery; + body?: HTTPBody; +} + +export function querystring(params: HTTPQuery, prefix: string = ''): string { + return Object.keys(params) + .map(key => querystringSingleKey(key, params[key], prefix)) + .filter(part => part.length > 0) + .join('&'); +} + +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { + const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); + if (value instanceof Array) { + const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) + .join(`&${encodeURIComponent(fullKey)}=`); + return `${encodeURIComponent(fullKey)}=${multiValue}`; + } + if (value instanceof Set) { + const valueAsArray = Array.from(value); + return querystringSingleKey(key, valueAsArray, keyPrefix); + } + if (value instanceof Date) { + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`; + } + if (value instanceof Object) { + return querystring(value as HTTPQuery, fullKey); + } + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`; +} + +export function mapValues(data: any, fn: (item: any) => any) { + return Object.keys(data).reduce( + (acc, key) => ({ ...acc, [key]: fn(data[key]) }), + {} + ); +} + +export function canConsumeForm(consumes: Consume[]): boolean { + for (const consume of consumes) { + if ('multipart/form-data' === consume.contentType) { + return true; + } + } + return false; +} + +export interface Consume { + contentType: string; +} + +export interface RequestContext { + fetch: FetchAPI; + url: string; + init: RequestInit; +} + +export interface ResponseContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + response: Response; +} + +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + +export interface Middleware { + pre?(context: RequestContext): Promise; + post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; +} + +export interface ApiResponse { + raw: Response; + value(): Promise; +} + +export interface ResponseTransformer { + (json: any): T; +} + +export class JSONApiResponse { + constructor(public raw: Response, private transformer: ResponseTransformer = (jsonValue: any) => jsonValue) {} + + async value(): Promise { + return this.transformer(await this.raw.json()); + } +} + +export class VoidApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return undefined; + } +} + +export class BlobApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.blob(); + }; +} + +export class TextApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.text(); + }; +}