diff --git a/.gitignore b/.gitignore
index 80b802a2..147cebcd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@ etc/dev-frontend.yml
# Generated files
.docusaurus
.cache-loader
+openapitools.json
sdk/python/sdk/build/
diff --git a/bin/generate_rest.sh b/bin/generate_rest.sh
index 374ff612..835c0060 100755
--- a/bin/generate_rest.sh
+++ b/bin/generate_rest.sh
@@ -7,8 +7,8 @@ command -v swagger >/dev/null 2>&1 || {
exit 1
}
-command -v openapi >/dev/null 2>&1 || {
- echo >&2 "command 'openapi' not installed. see: https://www.npmjs.com/package/openapi-client for installation"
+command -v openapi-generator-cli >/dev/null 2>&1 || {
+ echo >&2 "command 'openapi-generator-cli' not installed. see: https://github.com/OpenAPITools/openapi-generator-cli#installation for installation"
}
command -v swagger-codegen 2>&1 || {
@@ -31,7 +31,7 @@ echo "...generating zrok client"
swagger generate client -P rest_model_zrok.Principal -f "$zrokSpec" -c rest_client_zrok -t "$zrokDir" -m "rest_model_zrok"
echo "...generating js client"
-openapi -s specs/zrok.yml -o ui/src/api -l js
+openapi-generator-cli generate -i specs/zrok.yml -o ui/src/api -g javascript --additional-properties=usePromises=true,useES6=true
echo "...generating python client"
swagger-codegen generate -i specs/zrok.yml -o sdk/python/sdk/zrok -c $pythonConfig -l python
diff --git a/ui/config-overrides.js b/ui/config-overrides.js
new file mode 100644
index 00000000..3363bdee
--- /dev/null
+++ b/ui/config-overrides.js
@@ -0,0 +1,18 @@
+const ModuleScopePlugin = require("react-dev-utils/ModuleScopePlugin");
+const path = require("path");
+
+module.exports = function override(config, env) {
+ //do stuff with the webpack config...
+
+ config.resolve.plugins.forEach(plugin => {
+ if (plugin instanceof ModuleScopePlugin) {
+ plugin.allowedFiles.add(path.resolve("./node_modules/querystring-es3/index.js"));
+ }
+ });
+
+ let loaders = config.resolve
+ loaders.fallback = {
+ "querystring": require.resolve("querystring-es3")
+ }
+ return config;
+}
diff --git a/ui/package-lock.json b/ui/package-lock.json
index 65c57a25..f391254f 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -18,6 +18,7 @@
"eslint-config-react-app": "^7.0.1",
"humanize-duration": "^3.27.3",
"moment": "^2.29.4",
+ "querystring-es3": "^0.2.1",
"react": "^18.2.0",
"react-bootstrap": "^2.7.0",
"react-data-table-component": "^7.5.2",
@@ -27,9 +28,11 @@
"react-sizeme": "^3.0.2",
"recharts": "^2.6.1",
"styled-components": "^5.3.5",
+ "superagent": "^8.1.2",
"svgo": "^3.0.2"
},
"devDependencies": {
+ "react-app-rewired": "^2.2.1",
"react-scripts": "^5.0.1"
}
},
@@ -5426,8 +5429,7 @@
"node_modules/asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
"node_modules/ast-types-flow": {
"version": "0.0.7",
@@ -5443,8 +5445,7 @@
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/at-least-node": {
"version": "1.0.0",
@@ -6450,7 +6451,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -6488,6 +6488,14 @@
"integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
"dev": true
},
+ "node_modules/component-emitter": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
+ "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -6599,6 +6607,11 @@
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
"dev": true
},
+ "node_modules/cookiejar": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
+ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw=="
+ },
"node_modules/core-js": {
"version": "3.27.2",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.27.2.tgz",
@@ -7535,7 +7548,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true,
"engines": {
"node": ">=0.4.0"
}
@@ -7631,6 +7643,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/dezalgo": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+ "dependencies": {
+ "asap": "^2.0.0",
+ "wrappy": "1"
+ }
+ },
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -8981,6 +9002,11 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
+ "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=="
+ },
"node_modules/fastq": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
@@ -9452,6 +9478,20 @@
"node": ">= 6"
}
},
+ "node_modules/formidable": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
+ "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
+ "dependencies": {
+ "dezalgo": "^1.0.4",
+ "hexoid": "^1.0.0",
+ "once": "^1.4.0",
+ "qs": "^6.11.0"
+ },
+ "funding": {
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
+ }
+ },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -9912,6 +9952,14 @@
"he": "bin/he"
}
},
+ "node_modules/hexoid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -13473,7 +13521,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true,
"engines": {
"node": ">= 0.6"
}
@@ -13505,7 +13552,6 @@
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
"engines": {
"node": ">= 0.6"
}
@@ -13514,7 +13560,6 @@
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
@@ -15926,7 +15971,6 @@
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dev": true,
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -15960,6 +16004,14 @@
"node": ">=0.10.0"
}
},
+ "node_modules/querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
"node_modules/querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
@@ -16088,6 +16140,30 @@
"node": ">=14"
}
},
+ "node_modules/react-app-rewired": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz",
+ "integrity": "sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^5.6.0"
+ },
+ "bin": {
+ "react-app-rewired": "bin/index.js"
+ },
+ "peerDependencies": {
+ "react-scripts": ">=2.1.3"
+ }
+ },
+ "node_modules/react-app-rewired/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/react-bootstrap": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.0.tgz",
@@ -17825,6 +17901,80 @@
"resolved": "https://registry.npmjs.org/super-three/-/super-three-0.147.1.tgz",
"integrity": "sha512-H8yhlXqjscWpqYLhPQ/h3EfElNBxe3Ktp1tGVp13vBjIxF5sMVkAo2NpIDXkY8+MVhuTrA0ZN42IMNPdOKwKLg=="
},
+ "node_modules/superagent": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
+ "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
+ "dependencies": {
+ "component-emitter": "^1.3.0",
+ "cookiejar": "^2.1.4",
+ "debug": "^4.3.4",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.0",
+ "formidable": "^2.1.2",
+ "methods": "^1.1.2",
+ "mime": "2.6.0",
+ "qs": "^6.11.0",
+ "semver": "^7.3.8"
+ },
+ "engines": {
+ "node": ">=6.4.0 <13 || >=14"
+ }
+ },
+ "node_modules/superagent/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==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/superagent/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/superagent/node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/superagent/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/superagent/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -23715,8 +23865,7 @@
"asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
- "dev": true
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
"ast-types-flow": {
"version": "0.0.7",
@@ -23732,8 +23881,7 @@
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"at-least-node": {
"version": "1.0.0",
@@ -24466,7 +24614,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -24495,6 +24642,11 @@
"integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
"dev": true
},
+ "component-emitter": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
+ "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ=="
+ },
"compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -24590,6 +24742,11 @@
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
"dev": true
},
+ "cookiejar": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
+ "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw=="
+ },
"core-js": {
"version": "3.27.2",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.27.2.tgz",
@@ -25263,8 +25420,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"depd": {
"version": "2.0.0",
@@ -25333,6 +25489,15 @@
"minimist": "^1.2.6"
}
},
+ "dezalgo": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+ "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+ "requires": {
+ "asap": "^2.0.0",
+ "wrappy": "1"
+ }
+ },
"didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -26360,6 +26525,11 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
},
+ "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=="
+ },
"fastq": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
@@ -26710,6 +26880,17 @@
"mime-types": "^2.1.12"
}
},
+ "formidable": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz",
+ "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==",
+ "requires": {
+ "dezalgo": "^1.0.4",
+ "hexoid": "^1.0.0",
+ "once": "^1.4.0",
+ "qs": "^6.11.0"
+ }
+ },
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -27027,6 +27208,11 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
+ "hexoid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
+ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g=="
+ },
"hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -29692,8 +29878,7 @@
"methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
},
"micromatch": {
"version": "4.0.5",
@@ -29712,14 +29897,12 @@
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"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==",
- "dev": true,
"requires": {
"mime-db": "1.52.0"
}
@@ -31339,7 +31522,6 @@
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dev": true,
"requires": {
"side-channel": "^1.0.4"
}
@@ -31364,6 +31546,11 @@
"strict-uri-encode": "^1.0.0"
}
},
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="
+ },
"querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
@@ -31456,6 +31643,23 @@
"whatwg-fetch": "^3.6.2"
}
},
+ "react-app-rewired": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.2.1.tgz",
+ "integrity": "sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.6.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true
+ }
+ }
+ },
"react-bootstrap": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.0.tgz",
@@ -32763,6 +32967,61 @@
"resolved": "https://registry.npmjs.org/super-three/-/super-three-0.147.1.tgz",
"integrity": "sha512-H8yhlXqjscWpqYLhPQ/h3EfElNBxe3Ktp1tGVp13vBjIxF5sMVkAo2NpIDXkY8+MVhuTrA0ZN42IMNPdOKwKLg=="
},
+ "superagent": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
+ "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
+ "requires": {
+ "component-emitter": "^1.3.0",
+ "cookiejar": "^2.1.4",
+ "debug": "^4.3.4",
+ "fast-safe-stringify": "^2.1.1",
+ "form-data": "^4.0.0",
+ "formidable": "^2.1.2",
+ "methods": "^1.1.2",
+ "mime": "2.6.0",
+ "qs": "^6.11.0",
+ "semver": "^7.3.8"
+ },
+ "dependencies": {
+ "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==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
+ },
+ "semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
+ }
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
diff --git a/ui/package.json b/ui/package.json
index a585b11d..6f067125 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -13,6 +13,7 @@
"eslint-config-react-app": "^7.0.1",
"humanize-duration": "^3.27.3",
"moment": "^2.29.4",
+ "querystring-es3": "^0.2.1",
"react": "^18.2.0",
"react-bootstrap": "^2.7.0",
"react-data-table-component": "^7.5.2",
@@ -22,15 +23,17 @@
"react-sizeme": "^3.0.2",
"recharts": "^2.6.1",
"styled-components": "^5.3.5",
+ "superagent": "^8.1.2",
"svgo": "^3.0.2"
},
"devDependencies": {
+ "react-app-rewired": "^2.2.1",
"react-scripts": "^5.0.1"
},
"scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
+ "start": "react-app-rewired start",
+ "build": "react-app-rewired build",
+ "test": "react-app-rewired test",
"eject": "react-scripts eject"
},
"eslintConfig": {
diff --git a/ui/src/api/.babelrc b/ui/src/api/.babelrc
new file mode 100644
index 00000000..c73df9d5
--- /dev/null
+++ b/ui/src/api/.babelrc
@@ -0,0 +1,33 @@
+{
+ "presets": [
+ "@babel/preset-env"
+ ],
+ "plugins": [
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ "@babel/plugin-proposal-class-properties",
+ "@babel/plugin-proposal-json-strings",
+ [
+ "@babel/plugin-proposal-decorators",
+ {
+ "legacy": true
+ }
+ ],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
+ "@babel/plugin-proposal-export-default-from",
+ "@babel/plugin-proposal-logical-assignment-operators",
+ "@babel/plugin-proposal-optional-chaining",
+ [
+ "@babel/plugin-proposal-pipeline-operator",
+ {
+ "proposal": "minimal"
+ }
+ ],
+ "@babel/plugin-proposal-nullish-coalescing-operator",
+ "@babel/plugin-proposal-do-expressions",
+ "@babel/plugin-proposal-function-bind"
+ ]
+}
diff --git a/ui/src/api/.gitignore b/ui/src/api/.gitignore
new file mode 100644
index 00000000..6a7d6d8e
--- /dev/null
+++ b/ui/src/api/.gitignore
@@ -0,0 +1,130 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# vuepress v2.x temp and cache directory
+.temp
+.cache
+
+# Docusaurus cache and generated files
+.docusaurus
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
\ No newline at end of file
diff --git a/ui/src/api/.openapi-generator-ignore b/ui/src/api/.openapi-generator-ignore
new file mode 100644
index 00000000..0dc0a98d
--- /dev/null
+++ b/ui/src/api/.openapi-generator-ignore
@@ -0,0 +1,25 @@
+# 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
+git_push.sh
+.travis.yml
diff --git a/ui/src/api/.openapi-generator/FILES b/ui/src/api/.openapi-generator/FILES
new file mode 100644
index 00000000..bba1bbcc
--- /dev/null
+++ b/ui/src/api/.openapi-generator/FILES
@@ -0,0 +1,93 @@
+.babelrc
+.gitignore
+README.md
+docs/AccessRequest.md
+docs/AccessResponse.md
+docs/AccountApi.md
+docs/AdminApi.md
+docs/AuthUser.md
+docs/Configuration.md
+docs/CreateFrontendRequest.md
+docs/CreateFrontendResponse.md
+docs/CreateIdentity201Response.md
+docs/CreateIdentityRequest.md
+docs/DeleteFrontendRequest.md
+docs/DisableRequest.md
+docs/EnableRequest.md
+docs/EnableResponse.md
+docs/Environment.md
+docs/EnvironmentAndResources.md
+docs/EnvironmentApi.md
+docs/Frontend.md
+docs/InviteRequest.md
+docs/InviteTokenGenerateRequest.md
+docs/LoginRequest.md
+docs/MetadataApi.md
+docs/Metrics.md
+docs/MetricsSample.md
+docs/Overview.md
+docs/PasswordRequirements.md
+docs/Principal.md
+docs/PublicFrontend.md
+docs/RegisterRequest.md
+docs/RegisterResponse.md
+docs/ResetPasswordRequest.md
+docs/ResetPasswordRequestRequest.md
+docs/Share.md
+docs/ShareApi.md
+docs/ShareRequest.md
+docs/ShareResponse.md
+docs/SparkDataSample.md
+docs/UnaccessRequest.md
+docs/UnshareRequest.md
+docs/UpdateFrontendRequest.md
+docs/UpdateShareRequest.md
+docs/VerifyRequest.md
+docs/VerifyResponse.md
+mocha.opts
+package.json
+src/ApiClient.js
+src/api/AccountApi.js
+src/api/AdminApi.js
+src/api/EnvironmentApi.js
+src/api/MetadataApi.js
+src/api/ShareApi.js
+src/index.js
+src/model/AccessRequest.js
+src/model/AccessResponse.js
+src/model/AuthUser.js
+src/model/Configuration.js
+src/model/CreateFrontendRequest.js
+src/model/CreateFrontendResponse.js
+src/model/CreateIdentity201Response.js
+src/model/CreateIdentityRequest.js
+src/model/DeleteFrontendRequest.js
+src/model/DisableRequest.js
+src/model/EnableRequest.js
+src/model/EnableResponse.js
+src/model/Environment.js
+src/model/EnvironmentAndResources.js
+src/model/Frontend.js
+src/model/InviteRequest.js
+src/model/InviteTokenGenerateRequest.js
+src/model/LoginRequest.js
+src/model/Metrics.js
+src/model/MetricsSample.js
+src/model/Overview.js
+src/model/PasswordRequirements.js
+src/model/Principal.js
+src/model/PublicFrontend.js
+src/model/RegisterRequest.js
+src/model/RegisterResponse.js
+src/model/ResetPasswordRequest.js
+src/model/ResetPasswordRequestRequest.js
+src/model/Share.js
+src/model/ShareRequest.js
+src/model/ShareResponse.js
+src/model/SparkDataSample.js
+src/model/UnaccessRequest.js
+src/model/UnshareRequest.js
+src/model/UpdateFrontendRequest.js
+src/model/UpdateShareRequest.js
+src/model/VerifyRequest.js
+src/model/VerifyResponse.js
diff --git a/ui/src/api/.openapi-generator/VERSION b/ui/src/api/.openapi-generator/VERSION
new file mode 100644
index 00000000..3769235d
--- /dev/null
+++ b/ui/src/api/.openapi-generator/VERSION
@@ -0,0 +1 @@
+7.1.0
\ No newline at end of file
diff --git a/ui/src/api/README.md b/ui/src/api/README.md
new file mode 100644
index 00000000..03f4dabb
--- /dev/null
+++ b/ui/src/api/README.md
@@ -0,0 +1,206 @@
+# zrok
+
+Zrok - JavaScript client for zrok
+zrok client access
+This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
+
+- API version: 0.3.0
+- Package version: 0.3.0
+- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen
+
+## Installation
+
+### For [Node.js](https://nodejs.org/)
+
+#### npm
+
+To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).
+
+Then install it via:
+
+```shell
+npm install zrok --save
+```
+
+Finally, you need to build the module:
+
+```shell
+npm run build
+```
+
+##### Local development
+
+To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:
+
+```shell
+npm install
+```
+
+Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:
+
+```shell
+npm link
+```
+
+To use the link you just defined in your project, switch to the directory you want to use your zrok from, and run:
+
+```shell
+npm link /path/to/
+* A non-AMD browser application (discouraged) might do something like this: +*
+* var xxxSvc = new Zrok.XxxApi(); // Allocate the API class we're going to use. +* var yyy = new Zrok.Yyy(); // Construct a model instance. +* yyyModel.someProperty = 'someValue'; +* ... +* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service. +* ... +*+* +* @module index +* @version 0.3.0 +*/ +export { + /** + * The ApiClient constructor. + * @property {module:ApiClient} + */ + ApiClient, + + /** + * The AccessRequest model constructor. + * @property {module:model/AccessRequest} + */ + AccessRequest, + + /** + * The AccessResponse model constructor. + * @property {module:model/AccessResponse} + */ + AccessResponse, + + /** + * The AuthUser model constructor. + * @property {module:model/AuthUser} + */ + AuthUser, + + /** + * The Configuration model constructor. + * @property {module:model/Configuration} + */ + Configuration, + + /** + * The CreateFrontendRequest model constructor. + * @property {module:model/CreateFrontendRequest} + */ + CreateFrontendRequest, + + /** + * The CreateFrontendResponse model constructor. + * @property {module:model/CreateFrontendResponse} + */ + CreateFrontendResponse, + + /** + * The CreateIdentity201Response model constructor. + * @property {module:model/CreateIdentity201Response} + */ + CreateIdentity201Response, + + /** + * The CreateIdentityRequest model constructor. + * @property {module:model/CreateIdentityRequest} + */ + CreateIdentityRequest, + + /** + * The DeleteFrontendRequest model constructor. + * @property {module:model/DeleteFrontendRequest} + */ + DeleteFrontendRequest, + + /** + * The DisableRequest model constructor. + * @property {module:model/DisableRequest} + */ + DisableRequest, + + /** + * The EnableRequest model constructor. + * @property {module:model/EnableRequest} + */ + EnableRequest, + + /** + * The EnableResponse model constructor. + * @property {module:model/EnableResponse} + */ + EnableResponse, + + /** + * The Environment model constructor. + * @property {module:model/Environment} + */ + Environment, + + /** + * The EnvironmentAndResources model constructor. + * @property {module:model/EnvironmentAndResources} + */ + EnvironmentAndResources, + + /** + * The Frontend model constructor. + * @property {module:model/Frontend} + */ + Frontend, + + /** + * The InviteRequest model constructor. + * @property {module:model/InviteRequest} + */ + InviteRequest, + + /** + * The InviteTokenGenerateRequest model constructor. + * @property {module:model/InviteTokenGenerateRequest} + */ + InviteTokenGenerateRequest, + + /** + * The LoginRequest model constructor. + * @property {module:model/LoginRequest} + */ + LoginRequest, + + /** + * The Metrics model constructor. + * @property {module:model/Metrics} + */ + Metrics, + + /** + * The MetricsSample model constructor. + * @property {module:model/MetricsSample} + */ + MetricsSample, + + /** + * The Overview model constructor. + * @property {module:model/Overview} + */ + Overview, + + /** + * The PasswordRequirements model constructor. + * @property {module:model/PasswordRequirements} + */ + PasswordRequirements, + + /** + * The Principal model constructor. + * @property {module:model/Principal} + */ + Principal, + + /** + * The PublicFrontend model constructor. + * @property {module:model/PublicFrontend} + */ + PublicFrontend, + + /** + * The RegisterRequest model constructor. + * @property {module:model/RegisterRequest} + */ + RegisterRequest, + + /** + * The RegisterResponse model constructor. + * @property {module:model/RegisterResponse} + */ + RegisterResponse, + + /** + * The ResetPasswordRequest model constructor. + * @property {module:model/ResetPasswordRequest} + */ + ResetPasswordRequest, + + /** + * The ResetPasswordRequestRequest model constructor. + * @property {module:model/ResetPasswordRequestRequest} + */ + ResetPasswordRequestRequest, + + /** + * The Share model constructor. + * @property {module:model/Share} + */ + Share, + + /** + * The ShareRequest model constructor. + * @property {module:model/ShareRequest} + */ + ShareRequest, + + /** + * The ShareResponse model constructor. + * @property {module:model/ShareResponse} + */ + ShareResponse, + + /** + * The SparkDataSample model constructor. + * @property {module:model/SparkDataSample} + */ + SparkDataSample, + + /** + * The UnaccessRequest model constructor. + * @property {module:model/UnaccessRequest} + */ + UnaccessRequest, + + /** + * The UnshareRequest model constructor. + * @property {module:model/UnshareRequest} + */ + UnshareRequest, + + /** + * The UpdateFrontendRequest model constructor. + * @property {module:model/UpdateFrontendRequest} + */ + UpdateFrontendRequest, + + /** + * The UpdateShareRequest model constructor. + * @property {module:model/UpdateShareRequest} + */ + UpdateShareRequest, + + /** + * The VerifyRequest model constructor. + * @property {module:model/VerifyRequest} + */ + VerifyRequest, + + /** + * The VerifyResponse model constructor. + * @property {module:model/VerifyResponse} + */ + VerifyResponse, + + /** + * The AccountApi service constructor. + * @property {module:api/AccountApi} + */ + AccountApi, + + /** + * The AdminApi service constructor. + * @property {module:api/AdminApi} + */ + AdminApi, + + /** + * The EnvironmentApi service constructor. + * @property {module:api/EnvironmentApi} + */ + EnvironmentApi, + + /** + * The MetadataApi service constructor. + * @property {module:api/MetadataApi} + */ + MetadataApi, + + /** + * The ShareApi service constructor. + * @property {module:api/ShareApi} + */ + ShareApi +}; diff --git a/ui/src/api/src/model/AccessRequest.js b/ui/src/api/src/model/AccessRequest.js new file mode 100644 index 00000000..ae246a2b --- /dev/null +++ b/ui/src/api/src/model/AccessRequest.js @@ -0,0 +1,99 @@ +/** + * zrok + * zrok client access + * + * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient'; + +/** + * The AccessRequest model module. + * @module model/AccessRequest + * @version 0.3.0 + */ +class AccessRequest { + /** + * Constructs a new
AccessRequest
.
+ * @alias module:model/AccessRequest
+ */
+ constructor() {
+
+ AccessRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a AccessRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/AccessRequest} obj Optional instance to populate.
+ * @return {module:model/AccessRequest} The populated AccessRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new AccessRequest();
+
+ if (data.hasOwnProperty('envZId')) {
+ obj['envZId'] = ApiClient.convertToType(data['envZId'], 'String');
+ }
+ if (data.hasOwnProperty('shrToken')) {
+ obj['shrToken'] = ApiClient.convertToType(data['shrToken'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to AccessRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to AccessRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['envZId'] && !(typeof data['envZId'] === 'string' || data['envZId'] instanceof String)) {
+ throw new Error("Expected the field `envZId` to be a primitive type in the JSON string but got " + data['envZId']);
+ }
+ // ensure the json data is a string
+ if (data['shrToken'] && !(typeof data['shrToken'] === 'string' || data['shrToken'] instanceof String)) {
+ throw new Error("Expected the field `shrToken` to be a primitive type in the JSON string but got " + data['shrToken']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} envZId
+ */
+AccessRequest.prototype['envZId'] = undefined;
+
+/**
+ * @member {String} shrToken
+ */
+AccessRequest.prototype['shrToken'] = undefined;
+
+
+
+
+
+
+export default AccessRequest;
+
diff --git a/ui/src/api/src/model/AccessResponse.js b/ui/src/api/src/model/AccessResponse.js
new file mode 100644
index 00000000..99417a40
--- /dev/null
+++ b/ui/src/api/src/model/AccessResponse.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The AccessResponse model module.
+ * @module model/AccessResponse
+ * @version 0.3.0
+ */
+class AccessResponse {
+ /**
+ * Constructs a new AccessResponse
.
+ * @alias module:model/AccessResponse
+ */
+ constructor() {
+
+ AccessResponse.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a AccessResponse
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/AccessResponse} obj Optional instance to populate.
+ * @return {module:model/AccessResponse} The populated AccessResponse
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new AccessResponse();
+
+ if (data.hasOwnProperty('frontendToken')) {
+ obj['frontendToken'] = ApiClient.convertToType(data['frontendToken'], 'String');
+ }
+ if (data.hasOwnProperty('backendMode')) {
+ obj['backendMode'] = ApiClient.convertToType(data['backendMode'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to AccessResponse
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to AccessResponse
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['frontendToken'] && !(typeof data['frontendToken'] === 'string' || data['frontendToken'] instanceof String)) {
+ throw new Error("Expected the field `frontendToken` to be a primitive type in the JSON string but got " + data['frontendToken']);
+ }
+ // ensure the json data is a string
+ if (data['backendMode'] && !(typeof data['backendMode'] === 'string' || data['backendMode'] instanceof String)) {
+ throw new Error("Expected the field `backendMode` to be a primitive type in the JSON string but got " + data['backendMode']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} frontendToken
+ */
+AccessResponse.prototype['frontendToken'] = undefined;
+
+/**
+ * @member {String} backendMode
+ */
+AccessResponse.prototype['backendMode'] = undefined;
+
+
+
+
+
+
+export default AccessResponse;
+
diff --git a/ui/src/api/src/model/AuthUser.js b/ui/src/api/src/model/AuthUser.js
new file mode 100644
index 00000000..e9badfea
--- /dev/null
+++ b/ui/src/api/src/model/AuthUser.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The AuthUser model module.
+ * @module model/AuthUser
+ * @version 0.3.0
+ */
+class AuthUser {
+ /**
+ * Constructs a new AuthUser
.
+ * @alias module:model/AuthUser
+ */
+ constructor() {
+
+ AuthUser.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a AuthUser
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/AuthUser} obj Optional instance to populate.
+ * @return {module:model/AuthUser} The populated AuthUser
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new AuthUser();
+
+ if (data.hasOwnProperty('username')) {
+ obj['username'] = ApiClient.convertToType(data['username'], 'String');
+ }
+ if (data.hasOwnProperty('password')) {
+ obj['password'] = ApiClient.convertToType(data['password'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to AuthUser
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to AuthUser
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['username'] && !(typeof data['username'] === 'string' || data['username'] instanceof String)) {
+ throw new Error("Expected the field `username` to be a primitive type in the JSON string but got " + data['username']);
+ }
+ // ensure the json data is a string
+ if (data['password'] && !(typeof data['password'] === 'string' || data['password'] instanceof String)) {
+ throw new Error("Expected the field `password` to be a primitive type in the JSON string but got " + data['password']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} username
+ */
+AuthUser.prototype['username'] = undefined;
+
+/**
+ * @member {String} password
+ */
+AuthUser.prototype['password'] = undefined;
+
+
+
+
+
+
+export default AuthUser;
+
diff --git a/ui/src/api/src/model/Configuration.js b/ui/src/api/src/model/Configuration.js
new file mode 100644
index 00000000..372b6bda
--- /dev/null
+++ b/ui/src/api/src/model/Configuration.js
@@ -0,0 +1,140 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+import PasswordRequirements from './PasswordRequirements';
+
+/**
+ * The Configuration model module.
+ * @module model/Configuration
+ * @version 0.3.0
+ */
+class Configuration {
+ /**
+ * Constructs a new Configuration
.
+ * @alias module:model/Configuration
+ */
+ constructor() {
+
+ Configuration.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Configuration
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Configuration} obj Optional instance to populate.
+ * @return {module:model/Configuration} The populated Configuration
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Configuration();
+
+ if (data.hasOwnProperty('version')) {
+ obj['version'] = ApiClient.convertToType(data['version'], 'String');
+ }
+ if (data.hasOwnProperty('touLink')) {
+ obj['touLink'] = ApiClient.convertToType(data['touLink'], 'String');
+ }
+ if (data.hasOwnProperty('invitesOpen')) {
+ obj['invitesOpen'] = ApiClient.convertToType(data['invitesOpen'], 'Boolean');
+ }
+ if (data.hasOwnProperty('requiresInviteToken')) {
+ obj['requiresInviteToken'] = ApiClient.convertToType(data['requiresInviteToken'], 'Boolean');
+ }
+ if (data.hasOwnProperty('inviteTokenContact')) {
+ obj['inviteTokenContact'] = ApiClient.convertToType(data['inviteTokenContact'], 'String');
+ }
+ if (data.hasOwnProperty('passwordRequirements')) {
+ obj['passwordRequirements'] = PasswordRequirements.constructFromObject(data['passwordRequirements']);
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Configuration
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Configuration
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['version'] && !(typeof data['version'] === 'string' || data['version'] instanceof String)) {
+ throw new Error("Expected the field `version` to be a primitive type in the JSON string but got " + data['version']);
+ }
+ // ensure the json data is a string
+ if (data['touLink'] && !(typeof data['touLink'] === 'string' || data['touLink'] instanceof String)) {
+ throw new Error("Expected the field `touLink` to be a primitive type in the JSON string but got " + data['touLink']);
+ }
+ // ensure the json data is a string
+ if (data['inviteTokenContact'] && !(typeof data['inviteTokenContact'] === 'string' || data['inviteTokenContact'] instanceof String)) {
+ throw new Error("Expected the field `inviteTokenContact` to be a primitive type in the JSON string but got " + data['inviteTokenContact']);
+ }
+ // validate the optional field `passwordRequirements`
+ if (data['passwordRequirements']) { // data not null
+ PasswordRequirements.validateJSON(data['passwordRequirements']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} version
+ */
+Configuration.prototype['version'] = undefined;
+
+/**
+ * @member {String} touLink
+ */
+Configuration.prototype['touLink'] = undefined;
+
+/**
+ * @member {Boolean} invitesOpen
+ */
+Configuration.prototype['invitesOpen'] = undefined;
+
+/**
+ * @member {Boolean} requiresInviteToken
+ */
+Configuration.prototype['requiresInviteToken'] = undefined;
+
+/**
+ * @member {String} inviteTokenContact
+ */
+Configuration.prototype['inviteTokenContact'] = undefined;
+
+/**
+ * @member {module:model/PasswordRequirements} passwordRequirements
+ */
+Configuration.prototype['passwordRequirements'] = undefined;
+
+
+
+
+
+
+export default Configuration;
+
diff --git a/ui/src/api/src/model/CreateFrontendRequest.js b/ui/src/api/src/model/CreateFrontendRequest.js
new file mode 100644
index 00000000..1eba5db8
--- /dev/null
+++ b/ui/src/api/src/model/CreateFrontendRequest.js
@@ -0,0 +1,111 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The CreateFrontendRequest model module.
+ * @module model/CreateFrontendRequest
+ * @version 0.3.0
+ */
+class CreateFrontendRequest {
+ /**
+ * Constructs a new CreateFrontendRequest
.
+ * @alias module:model/CreateFrontendRequest
+ */
+ constructor() {
+
+ CreateFrontendRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a CreateFrontendRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/CreateFrontendRequest} obj Optional instance to populate.
+ * @return {module:model/CreateFrontendRequest} The populated CreateFrontendRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new CreateFrontendRequest();
+
+ if (data.hasOwnProperty('zId')) {
+ obj['zId'] = ApiClient.convertToType(data['zId'], 'String');
+ }
+ if (data.hasOwnProperty('url_template')) {
+ obj['url_template'] = ApiClient.convertToType(data['url_template'], 'String');
+ }
+ if (data.hasOwnProperty('public_name')) {
+ obj['public_name'] = ApiClient.convertToType(data['public_name'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to CreateFrontendRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to CreateFrontendRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['zId'] && !(typeof data['zId'] === 'string' || data['zId'] instanceof String)) {
+ throw new Error("Expected the field `zId` to be a primitive type in the JSON string but got " + data['zId']);
+ }
+ // ensure the json data is a string
+ if (data['url_template'] && !(typeof data['url_template'] === 'string' || data['url_template'] instanceof String)) {
+ throw new Error("Expected the field `url_template` to be a primitive type in the JSON string but got " + data['url_template']);
+ }
+ // ensure the json data is a string
+ if (data['public_name'] && !(typeof data['public_name'] === 'string' || data['public_name'] instanceof String)) {
+ throw new Error("Expected the field `public_name` to be a primitive type in the JSON string but got " + data['public_name']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} zId
+ */
+CreateFrontendRequest.prototype['zId'] = undefined;
+
+/**
+ * @member {String} url_template
+ */
+CreateFrontendRequest.prototype['url_template'] = undefined;
+
+/**
+ * @member {String} public_name
+ */
+CreateFrontendRequest.prototype['public_name'] = undefined;
+
+
+
+
+
+
+export default CreateFrontendRequest;
+
diff --git a/ui/src/api/src/model/CreateFrontendResponse.js b/ui/src/api/src/model/CreateFrontendResponse.js
new file mode 100644
index 00000000..e578224e
--- /dev/null
+++ b/ui/src/api/src/model/CreateFrontendResponse.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The CreateFrontendResponse model module.
+ * @module model/CreateFrontendResponse
+ * @version 0.3.0
+ */
+class CreateFrontendResponse {
+ /**
+ * Constructs a new CreateFrontendResponse
.
+ * @alias module:model/CreateFrontendResponse
+ */
+ constructor() {
+
+ CreateFrontendResponse.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a CreateFrontendResponse
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/CreateFrontendResponse} obj Optional instance to populate.
+ * @return {module:model/CreateFrontendResponse} The populated CreateFrontendResponse
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new CreateFrontendResponse();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to CreateFrontendResponse
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to CreateFrontendResponse
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+CreateFrontendResponse.prototype['token'] = undefined;
+
+
+
+
+
+
+export default CreateFrontendResponse;
+
diff --git a/ui/src/api/src/model/CreateIdentity201Response.js b/ui/src/api/src/model/CreateIdentity201Response.js
new file mode 100644
index 00000000..533a6903
--- /dev/null
+++ b/ui/src/api/src/model/CreateIdentity201Response.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The CreateIdentity201Response model module.
+ * @module model/CreateIdentity201Response
+ * @version 0.3.0
+ */
+class CreateIdentity201Response {
+ /**
+ * Constructs a new CreateIdentity201Response
.
+ * @alias module:model/CreateIdentity201Response
+ */
+ constructor() {
+
+ CreateIdentity201Response.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a CreateIdentity201Response
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/CreateIdentity201Response} obj Optional instance to populate.
+ * @return {module:model/CreateIdentity201Response} The populated CreateIdentity201Response
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new CreateIdentity201Response();
+
+ if (data.hasOwnProperty('identity')) {
+ obj['identity'] = ApiClient.convertToType(data['identity'], 'String');
+ }
+ if (data.hasOwnProperty('cfg')) {
+ obj['cfg'] = ApiClient.convertToType(data['cfg'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to CreateIdentity201Response
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to CreateIdentity201Response
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['identity'] && !(typeof data['identity'] === 'string' || data['identity'] instanceof String)) {
+ throw new Error("Expected the field `identity` to be a primitive type in the JSON string but got " + data['identity']);
+ }
+ // ensure the json data is a string
+ if (data['cfg'] && !(typeof data['cfg'] === 'string' || data['cfg'] instanceof String)) {
+ throw new Error("Expected the field `cfg` to be a primitive type in the JSON string but got " + data['cfg']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} identity
+ */
+CreateIdentity201Response.prototype['identity'] = undefined;
+
+/**
+ * @member {String} cfg
+ */
+CreateIdentity201Response.prototype['cfg'] = undefined;
+
+
+
+
+
+
+export default CreateIdentity201Response;
+
diff --git a/ui/src/api/src/model/CreateIdentityRequest.js b/ui/src/api/src/model/CreateIdentityRequest.js
new file mode 100644
index 00000000..5e3bb3a3
--- /dev/null
+++ b/ui/src/api/src/model/CreateIdentityRequest.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The CreateIdentityRequest model module.
+ * @module model/CreateIdentityRequest
+ * @version 0.3.0
+ */
+class CreateIdentityRequest {
+ /**
+ * Constructs a new CreateIdentityRequest
.
+ * @alias module:model/CreateIdentityRequest
+ */
+ constructor() {
+
+ CreateIdentityRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a CreateIdentityRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/CreateIdentityRequest} obj Optional instance to populate.
+ * @return {module:model/CreateIdentityRequest} The populated CreateIdentityRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new CreateIdentityRequest();
+
+ if (data.hasOwnProperty('name')) {
+ obj['name'] = ApiClient.convertToType(data['name'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to CreateIdentityRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to CreateIdentityRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['name'] && !(typeof data['name'] === 'string' || data['name'] instanceof String)) {
+ throw new Error("Expected the field `name` to be a primitive type in the JSON string but got " + data['name']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} name
+ */
+CreateIdentityRequest.prototype['name'] = undefined;
+
+
+
+
+
+
+export default CreateIdentityRequest;
+
diff --git a/ui/src/api/src/model/DeleteFrontendRequest.js b/ui/src/api/src/model/DeleteFrontendRequest.js
new file mode 100644
index 00000000..582d8195
--- /dev/null
+++ b/ui/src/api/src/model/DeleteFrontendRequest.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The DeleteFrontendRequest model module.
+ * @module model/DeleteFrontendRequest
+ * @version 0.3.0
+ */
+class DeleteFrontendRequest {
+ /**
+ * Constructs a new DeleteFrontendRequest
.
+ * @alias module:model/DeleteFrontendRequest
+ */
+ constructor() {
+
+ DeleteFrontendRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a DeleteFrontendRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/DeleteFrontendRequest} obj Optional instance to populate.
+ * @return {module:model/DeleteFrontendRequest} The populated DeleteFrontendRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new DeleteFrontendRequest();
+
+ if (data.hasOwnProperty('frontendToken')) {
+ obj['frontendToken'] = ApiClient.convertToType(data['frontendToken'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to DeleteFrontendRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to DeleteFrontendRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['frontendToken'] && !(typeof data['frontendToken'] === 'string' || data['frontendToken'] instanceof String)) {
+ throw new Error("Expected the field `frontendToken` to be a primitive type in the JSON string but got " + data['frontendToken']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} frontendToken
+ */
+DeleteFrontendRequest.prototype['frontendToken'] = undefined;
+
+
+
+
+
+
+export default DeleteFrontendRequest;
+
diff --git a/ui/src/api/src/model/DisableRequest.js b/ui/src/api/src/model/DisableRequest.js
new file mode 100644
index 00000000..da634b88
--- /dev/null
+++ b/ui/src/api/src/model/DisableRequest.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The DisableRequest model module.
+ * @module model/DisableRequest
+ * @version 0.3.0
+ */
+class DisableRequest {
+ /**
+ * Constructs a new DisableRequest
.
+ * @alias module:model/DisableRequest
+ */
+ constructor() {
+
+ DisableRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a DisableRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/DisableRequest} obj Optional instance to populate.
+ * @return {module:model/DisableRequest} The populated DisableRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new DisableRequest();
+
+ if (data.hasOwnProperty('identity')) {
+ obj['identity'] = ApiClient.convertToType(data['identity'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to DisableRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to DisableRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['identity'] && !(typeof data['identity'] === 'string' || data['identity'] instanceof String)) {
+ throw new Error("Expected the field `identity` to be a primitive type in the JSON string but got " + data['identity']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} identity
+ */
+DisableRequest.prototype['identity'] = undefined;
+
+
+
+
+
+
+export default DisableRequest;
+
diff --git a/ui/src/api/src/model/EnableRequest.js b/ui/src/api/src/model/EnableRequest.js
new file mode 100644
index 00000000..7be51c4a
--- /dev/null
+++ b/ui/src/api/src/model/EnableRequest.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The EnableRequest model module.
+ * @module model/EnableRequest
+ * @version 0.3.0
+ */
+class EnableRequest {
+ /**
+ * Constructs a new EnableRequest
.
+ * @alias module:model/EnableRequest
+ */
+ constructor() {
+
+ EnableRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a EnableRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/EnableRequest} obj Optional instance to populate.
+ * @return {module:model/EnableRequest} The populated EnableRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new EnableRequest();
+
+ if (data.hasOwnProperty('description')) {
+ obj['description'] = ApiClient.convertToType(data['description'], 'String');
+ }
+ if (data.hasOwnProperty('host')) {
+ obj['host'] = ApiClient.convertToType(data['host'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to EnableRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to EnableRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['description'] && !(typeof data['description'] === 'string' || data['description'] instanceof String)) {
+ throw new Error("Expected the field `description` to be a primitive type in the JSON string but got " + data['description']);
+ }
+ // ensure the json data is a string
+ if (data['host'] && !(typeof data['host'] === 'string' || data['host'] instanceof String)) {
+ throw new Error("Expected the field `host` to be a primitive type in the JSON string but got " + data['host']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} description
+ */
+EnableRequest.prototype['description'] = undefined;
+
+/**
+ * @member {String} host
+ */
+EnableRequest.prototype['host'] = undefined;
+
+
+
+
+
+
+export default EnableRequest;
+
diff --git a/ui/src/api/src/model/EnableResponse.js b/ui/src/api/src/model/EnableResponse.js
new file mode 100644
index 00000000..e641284d
--- /dev/null
+++ b/ui/src/api/src/model/EnableResponse.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The EnableResponse model module.
+ * @module model/EnableResponse
+ * @version 0.3.0
+ */
+class EnableResponse {
+ /**
+ * Constructs a new EnableResponse
.
+ * @alias module:model/EnableResponse
+ */
+ constructor() {
+
+ EnableResponse.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a EnableResponse
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/EnableResponse} obj Optional instance to populate.
+ * @return {module:model/EnableResponse} The populated EnableResponse
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new EnableResponse();
+
+ if (data.hasOwnProperty('identity')) {
+ obj['identity'] = ApiClient.convertToType(data['identity'], 'String');
+ }
+ if (data.hasOwnProperty('cfg')) {
+ obj['cfg'] = ApiClient.convertToType(data['cfg'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to EnableResponse
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to EnableResponse
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['identity'] && !(typeof data['identity'] === 'string' || data['identity'] instanceof String)) {
+ throw new Error("Expected the field `identity` to be a primitive type in the JSON string but got " + data['identity']);
+ }
+ // ensure the json data is a string
+ if (data['cfg'] && !(typeof data['cfg'] === 'string' || data['cfg'] instanceof String)) {
+ throw new Error("Expected the field `cfg` to be a primitive type in the JSON string but got " + data['cfg']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} identity
+ */
+EnableResponse.prototype['identity'] = undefined;
+
+/**
+ * @member {String} cfg
+ */
+EnableResponse.prototype['cfg'] = undefined;
+
+
+
+
+
+
+export default EnableResponse;
+
diff --git a/ui/src/api/src/model/Environment.js b/ui/src/api/src/model/Environment.js
new file mode 100644
index 00000000..a2e800a4
--- /dev/null
+++ b/ui/src/api/src/model/Environment.js
@@ -0,0 +1,166 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+import SparkDataSample from './SparkDataSample';
+
+/**
+ * The Environment model module.
+ * @module model/Environment
+ * @version 0.3.0
+ */
+class Environment {
+ /**
+ * Constructs a new Environment
.
+ * @alias module:model/Environment
+ */
+ constructor() {
+
+ Environment.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Environment
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Environment} obj Optional instance to populate.
+ * @return {module:model/Environment} The populated Environment
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Environment();
+
+ if (data.hasOwnProperty('description')) {
+ obj['description'] = ApiClient.convertToType(data['description'], 'String');
+ }
+ if (data.hasOwnProperty('host')) {
+ obj['host'] = ApiClient.convertToType(data['host'], 'String');
+ }
+ if (data.hasOwnProperty('address')) {
+ obj['address'] = ApiClient.convertToType(data['address'], 'String');
+ }
+ if (data.hasOwnProperty('zId')) {
+ obj['zId'] = ApiClient.convertToType(data['zId'], 'String');
+ }
+ if (data.hasOwnProperty('activity')) {
+ obj['activity'] = ApiClient.convertToType(data['activity'], [SparkDataSample]);
+ }
+ if (data.hasOwnProperty('limited')) {
+ obj['limited'] = ApiClient.convertToType(data['limited'], 'Boolean');
+ }
+ if (data.hasOwnProperty('createdAt')) {
+ obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Number');
+ }
+ if (data.hasOwnProperty('updatedAt')) {
+ obj['updatedAt'] = ApiClient.convertToType(data['updatedAt'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Environment
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Environment
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['description'] && !(typeof data['description'] === 'string' || data['description'] instanceof String)) {
+ throw new Error("Expected the field `description` to be a primitive type in the JSON string but got " + data['description']);
+ }
+ // ensure the json data is a string
+ if (data['host'] && !(typeof data['host'] === 'string' || data['host'] instanceof String)) {
+ throw new Error("Expected the field `host` to be a primitive type in the JSON string but got " + data['host']);
+ }
+ // ensure the json data is a string
+ if (data['address'] && !(typeof data['address'] === 'string' || data['address'] instanceof String)) {
+ throw new Error("Expected the field `address` to be a primitive type in the JSON string but got " + data['address']);
+ }
+ // ensure the json data is a string
+ if (data['zId'] && !(typeof data['zId'] === 'string' || data['zId'] instanceof String)) {
+ throw new Error("Expected the field `zId` to be a primitive type in the JSON string but got " + data['zId']);
+ }
+ if (data['activity']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['activity'])) {
+ throw new Error("Expected the field `activity` to be an array in the JSON data but got " + data['activity']);
+ }
+ // validate the optional field `activity` (array)
+ for (const item of data['activity']) {
+ SparkDataSample.validateJSON(item);
+ };
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} description
+ */
+Environment.prototype['description'] = undefined;
+
+/**
+ * @member {String} host
+ */
+Environment.prototype['host'] = undefined;
+
+/**
+ * @member {String} address
+ */
+Environment.prototype['address'] = undefined;
+
+/**
+ * @member {String} zId
+ */
+Environment.prototype['zId'] = undefined;
+
+/**
+ * @member {Array.EnvironmentAndResources
.
+ * @alias module:model/EnvironmentAndResources
+ */
+ constructor() {
+
+ EnvironmentAndResources.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a EnvironmentAndResources
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/EnvironmentAndResources} obj Optional instance to populate.
+ * @return {module:model/EnvironmentAndResources} The populated EnvironmentAndResources
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new EnvironmentAndResources();
+
+ if (data.hasOwnProperty('environment')) {
+ obj['environment'] = Environment.constructFromObject(data['environment']);
+ }
+ if (data.hasOwnProperty('frontends')) {
+ obj['frontends'] = ApiClient.convertToType(data['frontends'], [Frontend]);
+ }
+ if (data.hasOwnProperty('shares')) {
+ obj['shares'] = ApiClient.convertToType(data['shares'], [Share]);
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to EnvironmentAndResources
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to EnvironmentAndResources
.
+ */
+ static validateJSON(data) {
+ // validate the optional field `environment`
+ if (data['environment']) { // data not null
+ Environment.validateJSON(data['environment']);
+ }
+ if (data['frontends']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['frontends'])) {
+ throw new Error("Expected the field `frontends` to be an array in the JSON data but got " + data['frontends']);
+ }
+ // validate the optional field `frontends` (array)
+ for (const item of data['frontends']) {
+ Frontend.validateJSON(item);
+ };
+ }
+ if (data['shares']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['shares'])) {
+ throw new Error("Expected the field `shares` to be an array in the JSON data but got " + data['shares']);
+ }
+ // validate the optional field `shares` (array)
+ for (const item of data['shares']) {
+ Share.validateJSON(item);
+ };
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {module:model/Environment} environment
+ */
+EnvironmentAndResources.prototype['environment'] = undefined;
+
+/**
+ * @member {Array.Frontend
.
+ * @alias module:model/Frontend
+ */
+ constructor() {
+
+ Frontend.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Frontend
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Frontend} obj Optional instance to populate.
+ * @return {module:model/Frontend} The populated Frontend
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Frontend();
+
+ if (data.hasOwnProperty('id')) {
+ obj['id'] = ApiClient.convertToType(data['id'], 'Number');
+ }
+ if (data.hasOwnProperty('shrToken')) {
+ obj['shrToken'] = ApiClient.convertToType(data['shrToken'], 'String');
+ }
+ if (data.hasOwnProperty('zId')) {
+ obj['zId'] = ApiClient.convertToType(data['zId'], 'String');
+ }
+ if (data.hasOwnProperty('createdAt')) {
+ obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Number');
+ }
+ if (data.hasOwnProperty('updatedAt')) {
+ obj['updatedAt'] = ApiClient.convertToType(data['updatedAt'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Frontend
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Frontend
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['shrToken'] && !(typeof data['shrToken'] === 'string' || data['shrToken'] instanceof String)) {
+ throw new Error("Expected the field `shrToken` to be a primitive type in the JSON string but got " + data['shrToken']);
+ }
+ // ensure the json data is a string
+ if (data['zId'] && !(typeof data['zId'] === 'string' || data['zId'] instanceof String)) {
+ throw new Error("Expected the field `zId` to be a primitive type in the JSON string but got " + data['zId']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Number} id
+ */
+Frontend.prototype['id'] = undefined;
+
+/**
+ * @member {String} shrToken
+ */
+Frontend.prototype['shrToken'] = undefined;
+
+/**
+ * @member {String} zId
+ */
+Frontend.prototype['zId'] = undefined;
+
+/**
+ * @member {Number} createdAt
+ */
+Frontend.prototype['createdAt'] = undefined;
+
+/**
+ * @member {Number} updatedAt
+ */
+Frontend.prototype['updatedAt'] = undefined;
+
+
+
+
+
+
+export default Frontend;
+
diff --git a/ui/src/api/src/model/InviteRequest.js b/ui/src/api/src/model/InviteRequest.js
new file mode 100644
index 00000000..501f0847
--- /dev/null
+++ b/ui/src/api/src/model/InviteRequest.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The InviteRequest model module.
+ * @module model/InviteRequest
+ * @version 0.3.0
+ */
+class InviteRequest {
+ /**
+ * Constructs a new InviteRequest
.
+ * @alias module:model/InviteRequest
+ */
+ constructor() {
+
+ InviteRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a InviteRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/InviteRequest} obj Optional instance to populate.
+ * @return {module:model/InviteRequest} The populated InviteRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new InviteRequest();
+
+ if (data.hasOwnProperty('email')) {
+ obj['email'] = ApiClient.convertToType(data['email'], 'String');
+ }
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to InviteRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to InviteRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['email'] && !(typeof data['email'] === 'string' || data['email'] instanceof String)) {
+ throw new Error("Expected the field `email` to be a primitive type in the JSON string but got " + data['email']);
+ }
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} email
+ */
+InviteRequest.prototype['email'] = undefined;
+
+/**
+ * @member {String} token
+ */
+InviteRequest.prototype['token'] = undefined;
+
+
+
+
+
+
+export default InviteRequest;
+
diff --git a/ui/src/api/src/model/InviteTokenGenerateRequest.js b/ui/src/api/src/model/InviteTokenGenerateRequest.js
new file mode 100644
index 00000000..47a418a3
--- /dev/null
+++ b/ui/src/api/src/model/InviteTokenGenerateRequest.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The InviteTokenGenerateRequest model module.
+ * @module model/InviteTokenGenerateRequest
+ * @version 0.3.0
+ */
+class InviteTokenGenerateRequest {
+ /**
+ * Constructs a new InviteTokenGenerateRequest
.
+ * @alias module:model/InviteTokenGenerateRequest
+ */
+ constructor() {
+
+ InviteTokenGenerateRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a InviteTokenGenerateRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/InviteTokenGenerateRequest} obj Optional instance to populate.
+ * @return {module:model/InviteTokenGenerateRequest} The populated InviteTokenGenerateRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new InviteTokenGenerateRequest();
+
+ if (data.hasOwnProperty('tokens')) {
+ obj['tokens'] = ApiClient.convertToType(data['tokens'], ['String']);
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to InviteTokenGenerateRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to InviteTokenGenerateRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is an array
+ if (!Array.isArray(data['tokens'])) {
+ throw new Error("Expected the field `tokens` to be an array in the JSON data but got " + data['tokens']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Array.LoginRequest
.
+ * @alias module:model/LoginRequest
+ */
+ constructor() {
+
+ LoginRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a LoginRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/LoginRequest} obj Optional instance to populate.
+ * @return {module:model/LoginRequest} The populated LoginRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new LoginRequest();
+
+ if (data.hasOwnProperty('email')) {
+ obj['email'] = ApiClient.convertToType(data['email'], 'String');
+ }
+ if (data.hasOwnProperty('password')) {
+ obj['password'] = ApiClient.convertToType(data['password'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to LoginRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to LoginRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['email'] && !(typeof data['email'] === 'string' || data['email'] instanceof String)) {
+ throw new Error("Expected the field `email` to be a primitive type in the JSON string but got " + data['email']);
+ }
+ // ensure the json data is a string
+ if (data['password'] && !(typeof data['password'] === 'string' || data['password'] instanceof String)) {
+ throw new Error("Expected the field `password` to be a primitive type in the JSON string but got " + data['password']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} email
+ */
+LoginRequest.prototype['email'] = undefined;
+
+/**
+ * @member {String} password
+ */
+LoginRequest.prototype['password'] = undefined;
+
+
+
+
+
+
+export default LoginRequest;
+
diff --git a/ui/src/api/src/model/Metrics.js b/ui/src/api/src/model/Metrics.js
new file mode 100644
index 00000000..e551b3c0
--- /dev/null
+++ b/ui/src/api/src/model/Metrics.js
@@ -0,0 +1,126 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+import MetricsSample from './MetricsSample';
+
+/**
+ * The Metrics model module.
+ * @module model/Metrics
+ * @version 0.3.0
+ */
+class Metrics {
+ /**
+ * Constructs a new Metrics
.
+ * @alias module:model/Metrics
+ */
+ constructor() {
+
+ Metrics.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Metrics
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Metrics} obj Optional instance to populate.
+ * @return {module:model/Metrics} The populated Metrics
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Metrics();
+
+ if (data.hasOwnProperty('scope')) {
+ obj['scope'] = ApiClient.convertToType(data['scope'], 'String');
+ }
+ if (data.hasOwnProperty('id')) {
+ obj['id'] = ApiClient.convertToType(data['id'], 'String');
+ }
+ if (data.hasOwnProperty('period')) {
+ obj['period'] = ApiClient.convertToType(data['period'], 'Number');
+ }
+ if (data.hasOwnProperty('samples')) {
+ obj['samples'] = ApiClient.convertToType(data['samples'], [MetricsSample]);
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Metrics
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Metrics
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['scope'] && !(typeof data['scope'] === 'string' || data['scope'] instanceof String)) {
+ throw new Error("Expected the field `scope` to be a primitive type in the JSON string but got " + data['scope']);
+ }
+ // ensure the json data is a string
+ if (data['id'] && !(typeof data['id'] === 'string' || data['id'] instanceof String)) {
+ throw new Error("Expected the field `id` to be a primitive type in the JSON string but got " + data['id']);
+ }
+ if (data['samples']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['samples'])) {
+ throw new Error("Expected the field `samples` to be an array in the JSON data but got " + data['samples']);
+ }
+ // validate the optional field `samples` (array)
+ for (const item of data['samples']) {
+ MetricsSample.validateJSON(item);
+ };
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} scope
+ */
+Metrics.prototype['scope'] = undefined;
+
+/**
+ * @member {String} id
+ */
+Metrics.prototype['id'] = undefined;
+
+/**
+ * @member {Number} period
+ */
+Metrics.prototype['period'] = undefined;
+
+/**
+ * @member {Array.MetricsSample
.
+ * @alias module:model/MetricsSample
+ */
+ constructor() {
+
+ MetricsSample.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a MetricsSample
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/MetricsSample} obj Optional instance to populate.
+ * @return {module:model/MetricsSample} The populated MetricsSample
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new MetricsSample();
+
+ if (data.hasOwnProperty('rx')) {
+ obj['rx'] = ApiClient.convertToType(data['rx'], 'Number');
+ }
+ if (data.hasOwnProperty('tx')) {
+ obj['tx'] = ApiClient.convertToType(data['tx'], 'Number');
+ }
+ if (data.hasOwnProperty('timestamp')) {
+ obj['timestamp'] = ApiClient.convertToType(data['timestamp'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to MetricsSample
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to MetricsSample
.
+ */
+ static validateJSON(data) {
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Number} rx
+ */
+MetricsSample.prototype['rx'] = undefined;
+
+/**
+ * @member {Number} tx
+ */
+MetricsSample.prototype['tx'] = undefined;
+
+/**
+ * @member {Number} timestamp
+ */
+MetricsSample.prototype['timestamp'] = undefined;
+
+
+
+
+
+
+export default MetricsSample;
+
diff --git a/ui/src/api/src/model/Overview.js b/ui/src/api/src/model/Overview.js
new file mode 100644
index 00000000..aa8faad1
--- /dev/null
+++ b/ui/src/api/src/model/Overview.js
@@ -0,0 +1,102 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+import EnvironmentAndResources from './EnvironmentAndResources';
+
+/**
+ * The Overview model module.
+ * @module model/Overview
+ * @version 0.3.0
+ */
+class Overview {
+ /**
+ * Constructs a new Overview
.
+ * @alias module:model/Overview
+ */
+ constructor() {
+
+ Overview.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Overview
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Overview} obj Optional instance to populate.
+ * @return {module:model/Overview} The populated Overview
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Overview();
+
+ if (data.hasOwnProperty('accountLimited')) {
+ obj['accountLimited'] = ApiClient.convertToType(data['accountLimited'], 'Boolean');
+ }
+ if (data.hasOwnProperty('environments')) {
+ obj['environments'] = ApiClient.convertToType(data['environments'], [EnvironmentAndResources]);
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Overview
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Overview
.
+ */
+ static validateJSON(data) {
+ if (data['environments']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['environments'])) {
+ throw new Error("Expected the field `environments` to be an array in the JSON data but got " + data['environments']);
+ }
+ // validate the optional field `environments` (array)
+ for (const item of data['environments']) {
+ EnvironmentAndResources.validateJSON(item);
+ };
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Boolean} accountLimited
+ */
+Overview.prototype['accountLimited'] = undefined;
+
+/**
+ * @member {Array.PasswordRequirements
.
+ * @alias module:model/PasswordRequirements
+ */
+ constructor() {
+
+ PasswordRequirements.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a PasswordRequirements
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/PasswordRequirements} obj Optional instance to populate.
+ * @return {module:model/PasswordRequirements} The populated PasswordRequirements
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new PasswordRequirements();
+
+ if (data.hasOwnProperty('length')) {
+ obj['length'] = ApiClient.convertToType(data['length'], 'Number');
+ }
+ if (data.hasOwnProperty('requireCapital')) {
+ obj['requireCapital'] = ApiClient.convertToType(data['requireCapital'], 'Boolean');
+ }
+ if (data.hasOwnProperty('requireNumeric')) {
+ obj['requireNumeric'] = ApiClient.convertToType(data['requireNumeric'], 'Boolean');
+ }
+ if (data.hasOwnProperty('requireSpecial')) {
+ obj['requireSpecial'] = ApiClient.convertToType(data['requireSpecial'], 'Boolean');
+ }
+ if (data.hasOwnProperty('validSpecialCharacters')) {
+ obj['validSpecialCharacters'] = ApiClient.convertToType(data['validSpecialCharacters'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to PasswordRequirements
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to PasswordRequirements
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['validSpecialCharacters'] && !(typeof data['validSpecialCharacters'] === 'string' || data['validSpecialCharacters'] instanceof String)) {
+ throw new Error("Expected the field `validSpecialCharacters` to be a primitive type in the JSON string but got " + data['validSpecialCharacters']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Number} length
+ */
+PasswordRequirements.prototype['length'] = undefined;
+
+/**
+ * @member {Boolean} requireCapital
+ */
+PasswordRequirements.prototype['requireCapital'] = undefined;
+
+/**
+ * @member {Boolean} requireNumeric
+ */
+PasswordRequirements.prototype['requireNumeric'] = undefined;
+
+/**
+ * @member {Boolean} requireSpecial
+ */
+PasswordRequirements.prototype['requireSpecial'] = undefined;
+
+/**
+ * @member {String} validSpecialCharacters
+ */
+PasswordRequirements.prototype['validSpecialCharacters'] = undefined;
+
+
+
+
+
+
+export default PasswordRequirements;
+
diff --git a/ui/src/api/src/model/Principal.js b/ui/src/api/src/model/Principal.js
new file mode 100644
index 00000000..38aa9605
--- /dev/null
+++ b/ui/src/api/src/model/Principal.js
@@ -0,0 +1,123 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The Principal model module.
+ * @module model/Principal
+ * @version 0.3.0
+ */
+class Principal {
+ /**
+ * Constructs a new Principal
.
+ * @alias module:model/Principal
+ */
+ constructor() {
+
+ Principal.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Principal
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Principal} obj Optional instance to populate.
+ * @return {module:model/Principal} The populated Principal
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Principal();
+
+ if (data.hasOwnProperty('id')) {
+ obj['id'] = ApiClient.convertToType(data['id'], 'Number');
+ }
+ if (data.hasOwnProperty('email')) {
+ obj['email'] = ApiClient.convertToType(data['email'], 'String');
+ }
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ if (data.hasOwnProperty('limitless')) {
+ obj['limitless'] = ApiClient.convertToType(data['limitless'], 'Boolean');
+ }
+ if (data.hasOwnProperty('admin')) {
+ obj['admin'] = ApiClient.convertToType(data['admin'], 'Boolean');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Principal
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Principal
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['email'] && !(typeof data['email'] === 'string' || data['email'] instanceof String)) {
+ throw new Error("Expected the field `email` to be a primitive type in the JSON string but got " + data['email']);
+ }
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Number} id
+ */
+Principal.prototype['id'] = undefined;
+
+/**
+ * @member {String} email
+ */
+Principal.prototype['email'] = undefined;
+
+/**
+ * @member {String} token
+ */
+Principal.prototype['token'] = undefined;
+
+/**
+ * @member {Boolean} limitless
+ */
+Principal.prototype['limitless'] = undefined;
+
+/**
+ * @member {Boolean} admin
+ */
+Principal.prototype['admin'] = undefined;
+
+
+
+
+
+
+export default Principal;
+
diff --git a/ui/src/api/src/model/PublicFrontend.js b/ui/src/api/src/model/PublicFrontend.js
new file mode 100644
index 00000000..57c2ac52
--- /dev/null
+++ b/ui/src/api/src/model/PublicFrontend.js
@@ -0,0 +1,139 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The PublicFrontend model module.
+ * @module model/PublicFrontend
+ * @version 0.3.0
+ */
+class PublicFrontend {
+ /**
+ * Constructs a new PublicFrontend
.
+ * @alias module:model/PublicFrontend
+ */
+ constructor() {
+
+ PublicFrontend.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a PublicFrontend
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/PublicFrontend} obj Optional instance to populate.
+ * @return {module:model/PublicFrontend} The populated PublicFrontend
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new PublicFrontend();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ if (data.hasOwnProperty('zId')) {
+ obj['zId'] = ApiClient.convertToType(data['zId'], 'String');
+ }
+ if (data.hasOwnProperty('urlTemplate')) {
+ obj['urlTemplate'] = ApiClient.convertToType(data['urlTemplate'], 'String');
+ }
+ if (data.hasOwnProperty('publicName')) {
+ obj['publicName'] = ApiClient.convertToType(data['publicName'], 'String');
+ }
+ if (data.hasOwnProperty('createdAt')) {
+ obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Number');
+ }
+ if (data.hasOwnProperty('updatedAt')) {
+ obj['updatedAt'] = ApiClient.convertToType(data['updatedAt'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to PublicFrontend
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to PublicFrontend
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+ // ensure the json data is a string
+ if (data['zId'] && !(typeof data['zId'] === 'string' || data['zId'] instanceof String)) {
+ throw new Error("Expected the field `zId` to be a primitive type in the JSON string but got " + data['zId']);
+ }
+ // ensure the json data is a string
+ if (data['urlTemplate'] && !(typeof data['urlTemplate'] === 'string' || data['urlTemplate'] instanceof String)) {
+ throw new Error("Expected the field `urlTemplate` to be a primitive type in the JSON string but got " + data['urlTemplate']);
+ }
+ // ensure the json data is a string
+ if (data['publicName'] && !(typeof data['publicName'] === 'string' || data['publicName'] instanceof String)) {
+ throw new Error("Expected the field `publicName` to be a primitive type in the JSON string but got " + data['publicName']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+PublicFrontend.prototype['token'] = undefined;
+
+/**
+ * @member {String} zId
+ */
+PublicFrontend.prototype['zId'] = undefined;
+
+/**
+ * @member {String} urlTemplate
+ */
+PublicFrontend.prototype['urlTemplate'] = undefined;
+
+/**
+ * @member {String} publicName
+ */
+PublicFrontend.prototype['publicName'] = undefined;
+
+/**
+ * @member {Number} createdAt
+ */
+PublicFrontend.prototype['createdAt'] = undefined;
+
+/**
+ * @member {Number} updatedAt
+ */
+PublicFrontend.prototype['updatedAt'] = undefined;
+
+
+
+
+
+
+export default PublicFrontend;
+
diff --git a/ui/src/api/src/model/RegisterRequest.js b/ui/src/api/src/model/RegisterRequest.js
new file mode 100644
index 00000000..87960782
--- /dev/null
+++ b/ui/src/api/src/model/RegisterRequest.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The RegisterRequest model module.
+ * @module model/RegisterRequest
+ * @version 0.3.0
+ */
+class RegisterRequest {
+ /**
+ * Constructs a new RegisterRequest
.
+ * @alias module:model/RegisterRequest
+ */
+ constructor() {
+
+ RegisterRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a RegisterRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/RegisterRequest} obj Optional instance to populate.
+ * @return {module:model/RegisterRequest} The populated RegisterRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new RegisterRequest();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ if (data.hasOwnProperty('password')) {
+ obj['password'] = ApiClient.convertToType(data['password'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to RegisterRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to RegisterRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+ // ensure the json data is a string
+ if (data['password'] && !(typeof data['password'] === 'string' || data['password'] instanceof String)) {
+ throw new Error("Expected the field `password` to be a primitive type in the JSON string but got " + data['password']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+RegisterRequest.prototype['token'] = undefined;
+
+/**
+ * @member {String} password
+ */
+RegisterRequest.prototype['password'] = undefined;
+
+
+
+
+
+
+export default RegisterRequest;
+
diff --git a/ui/src/api/src/model/RegisterResponse.js b/ui/src/api/src/model/RegisterResponse.js
new file mode 100644
index 00000000..b2389891
--- /dev/null
+++ b/ui/src/api/src/model/RegisterResponse.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The RegisterResponse model module.
+ * @module model/RegisterResponse
+ * @version 0.3.0
+ */
+class RegisterResponse {
+ /**
+ * Constructs a new RegisterResponse
.
+ * @alias module:model/RegisterResponse
+ */
+ constructor() {
+
+ RegisterResponse.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a RegisterResponse
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/RegisterResponse} obj Optional instance to populate.
+ * @return {module:model/RegisterResponse} The populated RegisterResponse
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new RegisterResponse();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to RegisterResponse
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to RegisterResponse
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+RegisterResponse.prototype['token'] = undefined;
+
+
+
+
+
+
+export default RegisterResponse;
+
diff --git a/ui/src/api/src/model/ResetPasswordRequest.js b/ui/src/api/src/model/ResetPasswordRequest.js
new file mode 100644
index 00000000..eee25081
--- /dev/null
+++ b/ui/src/api/src/model/ResetPasswordRequest.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The ResetPasswordRequest model module.
+ * @module model/ResetPasswordRequest
+ * @version 0.3.0
+ */
+class ResetPasswordRequest {
+ /**
+ * Constructs a new ResetPasswordRequest
.
+ * @alias module:model/ResetPasswordRequest
+ */
+ constructor() {
+
+ ResetPasswordRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a ResetPasswordRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/ResetPasswordRequest} obj Optional instance to populate.
+ * @return {module:model/ResetPasswordRequest} The populated ResetPasswordRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new ResetPasswordRequest();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ if (data.hasOwnProperty('password')) {
+ obj['password'] = ApiClient.convertToType(data['password'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to ResetPasswordRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to ResetPasswordRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+ // ensure the json data is a string
+ if (data['password'] && !(typeof data['password'] === 'string' || data['password'] instanceof String)) {
+ throw new Error("Expected the field `password` to be a primitive type in the JSON string but got " + data['password']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+ResetPasswordRequest.prototype['token'] = undefined;
+
+/**
+ * @member {String} password
+ */
+ResetPasswordRequest.prototype['password'] = undefined;
+
+
+
+
+
+
+export default ResetPasswordRequest;
+
diff --git a/ui/src/api/src/model/ResetPasswordRequestRequest.js b/ui/src/api/src/model/ResetPasswordRequestRequest.js
new file mode 100644
index 00000000..efb429a6
--- /dev/null
+++ b/ui/src/api/src/model/ResetPasswordRequestRequest.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The ResetPasswordRequestRequest model module.
+ * @module model/ResetPasswordRequestRequest
+ * @version 0.3.0
+ */
+class ResetPasswordRequestRequest {
+ /**
+ * Constructs a new ResetPasswordRequestRequest
.
+ * @alias module:model/ResetPasswordRequestRequest
+ */
+ constructor() {
+
+ ResetPasswordRequestRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a ResetPasswordRequestRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/ResetPasswordRequestRequest} obj Optional instance to populate.
+ * @return {module:model/ResetPasswordRequestRequest} The populated ResetPasswordRequestRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new ResetPasswordRequestRequest();
+
+ if (data.hasOwnProperty('emailAddress')) {
+ obj['emailAddress'] = ApiClient.convertToType(data['emailAddress'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to ResetPasswordRequestRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to ResetPasswordRequestRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['emailAddress'] && !(typeof data['emailAddress'] === 'string' || data['emailAddress'] instanceof String)) {
+ throw new Error("Expected the field `emailAddress` to be a primitive type in the JSON string but got " + data['emailAddress']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} emailAddress
+ */
+ResetPasswordRequestRequest.prototype['emailAddress'] = undefined;
+
+
+
+
+
+
+export default ResetPasswordRequestRequest;
+
diff --git a/ui/src/api/src/model/Share.js b/ui/src/api/src/model/Share.js
new file mode 100644
index 00000000..f6b8e44c
--- /dev/null
+++ b/ui/src/api/src/model/Share.js
@@ -0,0 +1,210 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+import SparkDataSample from './SparkDataSample';
+
+/**
+ * The Share model module.
+ * @module model/Share
+ * @version 0.3.0
+ */
+class Share {
+ /**
+ * Constructs a new Share
.
+ * @alias module:model/Share
+ */
+ constructor() {
+
+ Share.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a Share
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/Share} obj Optional instance to populate.
+ * @return {module:model/Share} The populated Share
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new Share();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ if (data.hasOwnProperty('zId')) {
+ obj['zId'] = ApiClient.convertToType(data['zId'], 'String');
+ }
+ if (data.hasOwnProperty('shareMode')) {
+ obj['shareMode'] = ApiClient.convertToType(data['shareMode'], 'String');
+ }
+ if (data.hasOwnProperty('backendMode')) {
+ obj['backendMode'] = ApiClient.convertToType(data['backendMode'], 'String');
+ }
+ if (data.hasOwnProperty('frontendSelection')) {
+ obj['frontendSelection'] = ApiClient.convertToType(data['frontendSelection'], 'String');
+ }
+ if (data.hasOwnProperty('frontendEndpoint')) {
+ obj['frontendEndpoint'] = ApiClient.convertToType(data['frontendEndpoint'], 'String');
+ }
+ if (data.hasOwnProperty('backendProxyEndpoint')) {
+ obj['backendProxyEndpoint'] = ApiClient.convertToType(data['backendProxyEndpoint'], 'String');
+ }
+ if (data.hasOwnProperty('reserved')) {
+ obj['reserved'] = ApiClient.convertToType(data['reserved'], 'Boolean');
+ }
+ if (data.hasOwnProperty('activity')) {
+ obj['activity'] = ApiClient.convertToType(data['activity'], [SparkDataSample]);
+ }
+ if (data.hasOwnProperty('limited')) {
+ obj['limited'] = ApiClient.convertToType(data['limited'], 'Boolean');
+ }
+ if (data.hasOwnProperty('createdAt')) {
+ obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Number');
+ }
+ if (data.hasOwnProperty('updatedAt')) {
+ obj['updatedAt'] = ApiClient.convertToType(data['updatedAt'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to Share
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to Share
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+ // ensure the json data is a string
+ if (data['zId'] && !(typeof data['zId'] === 'string' || data['zId'] instanceof String)) {
+ throw new Error("Expected the field `zId` to be a primitive type in the JSON string but got " + data['zId']);
+ }
+ // ensure the json data is a string
+ if (data['shareMode'] && !(typeof data['shareMode'] === 'string' || data['shareMode'] instanceof String)) {
+ throw new Error("Expected the field `shareMode` to be a primitive type in the JSON string but got " + data['shareMode']);
+ }
+ // ensure the json data is a string
+ if (data['backendMode'] && !(typeof data['backendMode'] === 'string' || data['backendMode'] instanceof String)) {
+ throw new Error("Expected the field `backendMode` to be a primitive type in the JSON string but got " + data['backendMode']);
+ }
+ // ensure the json data is a string
+ if (data['frontendSelection'] && !(typeof data['frontendSelection'] === 'string' || data['frontendSelection'] instanceof String)) {
+ throw new Error("Expected the field `frontendSelection` to be a primitive type in the JSON string but got " + data['frontendSelection']);
+ }
+ // ensure the json data is a string
+ if (data['frontendEndpoint'] && !(typeof data['frontendEndpoint'] === 'string' || data['frontendEndpoint'] instanceof String)) {
+ throw new Error("Expected the field `frontendEndpoint` to be a primitive type in the JSON string but got " + data['frontendEndpoint']);
+ }
+ // ensure the json data is a string
+ if (data['backendProxyEndpoint'] && !(typeof data['backendProxyEndpoint'] === 'string' || data['backendProxyEndpoint'] instanceof String)) {
+ throw new Error("Expected the field `backendProxyEndpoint` to be a primitive type in the JSON string but got " + data['backendProxyEndpoint']);
+ }
+ if (data['activity']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['activity'])) {
+ throw new Error("Expected the field `activity` to be an array in the JSON data but got " + data['activity']);
+ }
+ // validate the optional field `activity` (array)
+ for (const item of data['activity']) {
+ SparkDataSample.validateJSON(item);
+ };
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+Share.prototype['token'] = undefined;
+
+/**
+ * @member {String} zId
+ */
+Share.prototype['zId'] = undefined;
+
+/**
+ * @member {String} shareMode
+ */
+Share.prototype['shareMode'] = undefined;
+
+/**
+ * @member {String} backendMode
+ */
+Share.prototype['backendMode'] = undefined;
+
+/**
+ * @member {String} frontendSelection
+ */
+Share.prototype['frontendSelection'] = undefined;
+
+/**
+ * @member {String} frontendEndpoint
+ */
+Share.prototype['frontendEndpoint'] = undefined;
+
+/**
+ * @member {String} backendProxyEndpoint
+ */
+Share.prototype['backendProxyEndpoint'] = undefined;
+
+/**
+ * @member {Boolean} reserved
+ */
+Share.prototype['reserved'] = undefined;
+
+/**
+ * @member {Array.ShareRequest
.
+ * @alias module:model/ShareRequest
+ */
+ constructor() {
+
+ ShareRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a ShareRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/ShareRequest} obj Optional instance to populate.
+ * @return {module:model/ShareRequest} The populated ShareRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new ShareRequest();
+
+ if (data.hasOwnProperty('envZId')) {
+ obj['envZId'] = ApiClient.convertToType(data['envZId'], 'String');
+ }
+ if (data.hasOwnProperty('shareMode')) {
+ obj['shareMode'] = ApiClient.convertToType(data['shareMode'], 'String');
+ }
+ if (data.hasOwnProperty('frontendSelection')) {
+ obj['frontendSelection'] = ApiClient.convertToType(data['frontendSelection'], ['String']);
+ }
+ if (data.hasOwnProperty('backendMode')) {
+ obj['backendMode'] = ApiClient.convertToType(data['backendMode'], 'String');
+ }
+ if (data.hasOwnProperty('backendProxyEndpoint')) {
+ obj['backendProxyEndpoint'] = ApiClient.convertToType(data['backendProxyEndpoint'], 'String');
+ }
+ if (data.hasOwnProperty('authScheme')) {
+ obj['authScheme'] = ApiClient.convertToType(data['authScheme'], 'String');
+ }
+ if (data.hasOwnProperty('authUsers')) {
+ obj['authUsers'] = ApiClient.convertToType(data['authUsers'], [AuthUser]);
+ }
+ if (data.hasOwnProperty('oauthProvider')) {
+ obj['oauthProvider'] = ApiClient.convertToType(data['oauthProvider'], 'String');
+ }
+ if (data.hasOwnProperty('oauthEmailDomains')) {
+ obj['oauthEmailDomains'] = ApiClient.convertToType(data['oauthEmailDomains'], ['String']);
+ }
+ if (data.hasOwnProperty('oauthAuthorizationCheckInterval')) {
+ obj['oauthAuthorizationCheckInterval'] = ApiClient.convertToType(data['oauthAuthorizationCheckInterval'], 'String');
+ }
+ if (data.hasOwnProperty('reserved')) {
+ obj['reserved'] = ApiClient.convertToType(data['reserved'], 'Boolean');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to ShareRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to ShareRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['envZId'] && !(typeof data['envZId'] === 'string' || data['envZId'] instanceof String)) {
+ throw new Error("Expected the field `envZId` to be a primitive type in the JSON string but got " + data['envZId']);
+ }
+ // ensure the json data is a string
+ if (data['shareMode'] && !(typeof data['shareMode'] === 'string' || data['shareMode'] instanceof String)) {
+ throw new Error("Expected the field `shareMode` to be a primitive type in the JSON string but got " + data['shareMode']);
+ }
+ // ensure the json data is an array
+ if (!Array.isArray(data['frontendSelection'])) {
+ throw new Error("Expected the field `frontendSelection` to be an array in the JSON data but got " + data['frontendSelection']);
+ }
+ // ensure the json data is a string
+ if (data['backendMode'] && !(typeof data['backendMode'] === 'string' || data['backendMode'] instanceof String)) {
+ throw new Error("Expected the field `backendMode` to be a primitive type in the JSON string but got " + data['backendMode']);
+ }
+ // ensure the json data is a string
+ if (data['backendProxyEndpoint'] && !(typeof data['backendProxyEndpoint'] === 'string' || data['backendProxyEndpoint'] instanceof String)) {
+ throw new Error("Expected the field `backendProxyEndpoint` to be a primitive type in the JSON string but got " + data['backendProxyEndpoint']);
+ }
+ // ensure the json data is a string
+ if (data['authScheme'] && !(typeof data['authScheme'] === 'string' || data['authScheme'] instanceof String)) {
+ throw new Error("Expected the field `authScheme` to be a primitive type in the JSON string but got " + data['authScheme']);
+ }
+ if (data['authUsers']) { // data not null
+ // ensure the json data is an array
+ if (!Array.isArray(data['authUsers'])) {
+ throw new Error("Expected the field `authUsers` to be an array in the JSON data but got " + data['authUsers']);
+ }
+ // validate the optional field `authUsers` (array)
+ for (const item of data['authUsers']) {
+ AuthUser.validateJSON(item);
+ };
+ }
+ // ensure the json data is a string
+ if (data['oauthProvider'] && !(typeof data['oauthProvider'] === 'string' || data['oauthProvider'] instanceof String)) {
+ throw new Error("Expected the field `oauthProvider` to be a primitive type in the JSON string but got " + data['oauthProvider']);
+ }
+ // ensure the json data is an array
+ if (!Array.isArray(data['oauthEmailDomains'])) {
+ throw new Error("Expected the field `oauthEmailDomains` to be an array in the JSON data but got " + data['oauthEmailDomains']);
+ }
+ // ensure the json data is a string
+ if (data['oauthAuthorizationCheckInterval'] && !(typeof data['oauthAuthorizationCheckInterval'] === 'string' || data['oauthAuthorizationCheckInterval'] instanceof String)) {
+ throw new Error("Expected the field `oauthAuthorizationCheckInterval` to be a primitive type in the JSON string but got " + data['oauthAuthorizationCheckInterval']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} envZId
+ */
+ShareRequest.prototype['envZId'] = undefined;
+
+/**
+ * @member {module:model/ShareRequest.ShareModeEnum} shareMode
+ */
+ShareRequest.prototype['shareMode'] = undefined;
+
+/**
+ * @member {Array.shareMode
property.
+ * @enum {String}
+ * @readonly
+ */
+ShareRequest['ShareModeEnum'] = {
+
+ /**
+ * value: "public"
+ * @const
+ */
+ "public": "public",
+
+ /**
+ * value: "private"
+ * @const
+ */
+ "private": "private"
+};
+
+
+/**
+ * Allowed values for the backendMode
property.
+ * @enum {String}
+ * @readonly
+ */
+ShareRequest['BackendModeEnum'] = {
+
+ /**
+ * value: "proxy"
+ * @const
+ */
+ "proxy": "proxy",
+
+ /**
+ * value: "web"
+ * @const
+ */
+ "web": "web",
+
+ /**
+ * value: "tcpTunnel"
+ * @const
+ */
+ "tcpTunnel": "tcpTunnel",
+
+ /**
+ * value: "udpTunnel"
+ * @const
+ */
+ "udpTunnel": "udpTunnel",
+
+ /**
+ * value: "caddy"
+ * @const
+ */
+ "caddy": "caddy",
+
+ /**
+ * value: "drive"
+ * @const
+ */
+ "drive": "drive"
+};
+
+
+/**
+ * Allowed values for the oauthProvider
property.
+ * @enum {String}
+ * @readonly
+ */
+ShareRequest['OauthProviderEnum'] = {
+
+ /**
+ * value: "github"
+ * @const
+ */
+ "github": "github",
+
+ /**
+ * value: "google"
+ * @const
+ */
+ "google": "google"
+};
+
+
+
+export default ShareRequest;
+
diff --git a/ui/src/api/src/model/ShareResponse.js b/ui/src/api/src/model/ShareResponse.js
new file mode 100644
index 00000000..4bcde801
--- /dev/null
+++ b/ui/src/api/src/model/ShareResponse.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The ShareResponse model module.
+ * @module model/ShareResponse
+ * @version 0.3.0
+ */
+class ShareResponse {
+ /**
+ * Constructs a new ShareResponse
.
+ * @alias module:model/ShareResponse
+ */
+ constructor() {
+
+ ShareResponse.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a ShareResponse
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/ShareResponse} obj Optional instance to populate.
+ * @return {module:model/ShareResponse} The populated ShareResponse
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new ShareResponse();
+
+ if (data.hasOwnProperty('frontendProxyEndpoints')) {
+ obj['frontendProxyEndpoints'] = ApiClient.convertToType(data['frontendProxyEndpoints'], ['String']);
+ }
+ if (data.hasOwnProperty('shrToken')) {
+ obj['shrToken'] = ApiClient.convertToType(data['shrToken'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to ShareResponse
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to ShareResponse
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is an array
+ if (!Array.isArray(data['frontendProxyEndpoints'])) {
+ throw new Error("Expected the field `frontendProxyEndpoints` to be an array in the JSON data but got " + data['frontendProxyEndpoints']);
+ }
+ // ensure the json data is a string
+ if (data['shrToken'] && !(typeof data['shrToken'] === 'string' || data['shrToken'] instanceof String)) {
+ throw new Error("Expected the field `shrToken` to be a primitive type in the JSON string but got " + data['shrToken']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Array.SparkDataSample
.
+ * @alias module:model/SparkDataSample
+ */
+ constructor() {
+
+ SparkDataSample.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a SparkDataSample
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/SparkDataSample} obj Optional instance to populate.
+ * @return {module:model/SparkDataSample} The populated SparkDataSample
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new SparkDataSample();
+
+ if (data.hasOwnProperty('rx')) {
+ obj['rx'] = ApiClient.convertToType(data['rx'], 'Number');
+ }
+ if (data.hasOwnProperty('tx')) {
+ obj['tx'] = ApiClient.convertToType(data['tx'], 'Number');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to SparkDataSample
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to SparkDataSample
.
+ */
+ static validateJSON(data) {
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {Number} rx
+ */
+SparkDataSample.prototype['rx'] = undefined;
+
+/**
+ * @member {Number} tx
+ */
+SparkDataSample.prototype['tx'] = undefined;
+
+
+
+
+
+
+export default SparkDataSample;
+
diff --git a/ui/src/api/src/model/UnaccessRequest.js b/ui/src/api/src/model/UnaccessRequest.js
new file mode 100644
index 00000000..96292848
--- /dev/null
+++ b/ui/src/api/src/model/UnaccessRequest.js
@@ -0,0 +1,111 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The UnaccessRequest model module.
+ * @module model/UnaccessRequest
+ * @version 0.3.0
+ */
+class UnaccessRequest {
+ /**
+ * Constructs a new UnaccessRequest
.
+ * @alias module:model/UnaccessRequest
+ */
+ constructor() {
+
+ UnaccessRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a UnaccessRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/UnaccessRequest} obj Optional instance to populate.
+ * @return {module:model/UnaccessRequest} The populated UnaccessRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new UnaccessRequest();
+
+ if (data.hasOwnProperty('frontendToken')) {
+ obj['frontendToken'] = ApiClient.convertToType(data['frontendToken'], 'String');
+ }
+ if (data.hasOwnProperty('envZId')) {
+ obj['envZId'] = ApiClient.convertToType(data['envZId'], 'String');
+ }
+ if (data.hasOwnProperty('shrToken')) {
+ obj['shrToken'] = ApiClient.convertToType(data['shrToken'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to UnaccessRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to UnaccessRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['frontendToken'] && !(typeof data['frontendToken'] === 'string' || data['frontendToken'] instanceof String)) {
+ throw new Error("Expected the field `frontendToken` to be a primitive type in the JSON string but got " + data['frontendToken']);
+ }
+ // ensure the json data is a string
+ if (data['envZId'] && !(typeof data['envZId'] === 'string' || data['envZId'] instanceof String)) {
+ throw new Error("Expected the field `envZId` to be a primitive type in the JSON string but got " + data['envZId']);
+ }
+ // ensure the json data is a string
+ if (data['shrToken'] && !(typeof data['shrToken'] === 'string' || data['shrToken'] instanceof String)) {
+ throw new Error("Expected the field `shrToken` to be a primitive type in the JSON string but got " + data['shrToken']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} frontendToken
+ */
+UnaccessRequest.prototype['frontendToken'] = undefined;
+
+/**
+ * @member {String} envZId
+ */
+UnaccessRequest.prototype['envZId'] = undefined;
+
+/**
+ * @member {String} shrToken
+ */
+UnaccessRequest.prototype['shrToken'] = undefined;
+
+
+
+
+
+
+export default UnaccessRequest;
+
diff --git a/ui/src/api/src/model/UnshareRequest.js b/ui/src/api/src/model/UnshareRequest.js
new file mode 100644
index 00000000..46831d68
--- /dev/null
+++ b/ui/src/api/src/model/UnshareRequest.js
@@ -0,0 +1,107 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The UnshareRequest model module.
+ * @module model/UnshareRequest
+ * @version 0.3.0
+ */
+class UnshareRequest {
+ /**
+ * Constructs a new UnshareRequest
.
+ * @alias module:model/UnshareRequest
+ */
+ constructor() {
+
+ UnshareRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a UnshareRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/UnshareRequest} obj Optional instance to populate.
+ * @return {module:model/UnshareRequest} The populated UnshareRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new UnshareRequest();
+
+ if (data.hasOwnProperty('envZId')) {
+ obj['envZId'] = ApiClient.convertToType(data['envZId'], 'String');
+ }
+ if (data.hasOwnProperty('shrToken')) {
+ obj['shrToken'] = ApiClient.convertToType(data['shrToken'], 'String');
+ }
+ if (data.hasOwnProperty('reserved')) {
+ obj['reserved'] = ApiClient.convertToType(data['reserved'], 'Boolean');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to UnshareRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to UnshareRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['envZId'] && !(typeof data['envZId'] === 'string' || data['envZId'] instanceof String)) {
+ throw new Error("Expected the field `envZId` to be a primitive type in the JSON string but got " + data['envZId']);
+ }
+ // ensure the json data is a string
+ if (data['shrToken'] && !(typeof data['shrToken'] === 'string' || data['shrToken'] instanceof String)) {
+ throw new Error("Expected the field `shrToken` to be a primitive type in the JSON string but got " + data['shrToken']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} envZId
+ */
+UnshareRequest.prototype['envZId'] = undefined;
+
+/**
+ * @member {String} shrToken
+ */
+UnshareRequest.prototype['shrToken'] = undefined;
+
+/**
+ * @member {Boolean} reserved
+ */
+UnshareRequest.prototype['reserved'] = undefined;
+
+
+
+
+
+
+export default UnshareRequest;
+
diff --git a/ui/src/api/src/model/UpdateFrontendRequest.js b/ui/src/api/src/model/UpdateFrontendRequest.js
new file mode 100644
index 00000000..f73564ee
--- /dev/null
+++ b/ui/src/api/src/model/UpdateFrontendRequest.js
@@ -0,0 +1,111 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The UpdateFrontendRequest model module.
+ * @module model/UpdateFrontendRequest
+ * @version 0.3.0
+ */
+class UpdateFrontendRequest {
+ /**
+ * Constructs a new UpdateFrontendRequest
.
+ * @alias module:model/UpdateFrontendRequest
+ */
+ constructor() {
+
+ UpdateFrontendRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a UpdateFrontendRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/UpdateFrontendRequest} obj Optional instance to populate.
+ * @return {module:model/UpdateFrontendRequest} The populated UpdateFrontendRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new UpdateFrontendRequest();
+
+ if (data.hasOwnProperty('frontendToken')) {
+ obj['frontendToken'] = ApiClient.convertToType(data['frontendToken'], 'String');
+ }
+ if (data.hasOwnProperty('publicName')) {
+ obj['publicName'] = ApiClient.convertToType(data['publicName'], 'String');
+ }
+ if (data.hasOwnProperty('urlTemplate')) {
+ obj['urlTemplate'] = ApiClient.convertToType(data['urlTemplate'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to UpdateFrontendRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to UpdateFrontendRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['frontendToken'] && !(typeof data['frontendToken'] === 'string' || data['frontendToken'] instanceof String)) {
+ throw new Error("Expected the field `frontendToken` to be a primitive type in the JSON string but got " + data['frontendToken']);
+ }
+ // ensure the json data is a string
+ if (data['publicName'] && !(typeof data['publicName'] === 'string' || data['publicName'] instanceof String)) {
+ throw new Error("Expected the field `publicName` to be a primitive type in the JSON string but got " + data['publicName']);
+ }
+ // ensure the json data is a string
+ if (data['urlTemplate'] && !(typeof data['urlTemplate'] === 'string' || data['urlTemplate'] instanceof String)) {
+ throw new Error("Expected the field `urlTemplate` to be a primitive type in the JSON string but got " + data['urlTemplate']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} frontendToken
+ */
+UpdateFrontendRequest.prototype['frontendToken'] = undefined;
+
+/**
+ * @member {String} publicName
+ */
+UpdateFrontendRequest.prototype['publicName'] = undefined;
+
+/**
+ * @member {String} urlTemplate
+ */
+UpdateFrontendRequest.prototype['urlTemplate'] = undefined;
+
+
+
+
+
+
+export default UpdateFrontendRequest;
+
diff --git a/ui/src/api/src/model/UpdateShareRequest.js b/ui/src/api/src/model/UpdateShareRequest.js
new file mode 100644
index 00000000..86dc058e
--- /dev/null
+++ b/ui/src/api/src/model/UpdateShareRequest.js
@@ -0,0 +1,99 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The UpdateShareRequest model module.
+ * @module model/UpdateShareRequest
+ * @version 0.3.0
+ */
+class UpdateShareRequest {
+ /**
+ * Constructs a new UpdateShareRequest
.
+ * @alias module:model/UpdateShareRequest
+ */
+ constructor() {
+
+ UpdateShareRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a UpdateShareRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/UpdateShareRequest} obj Optional instance to populate.
+ * @return {module:model/UpdateShareRequest} The populated UpdateShareRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new UpdateShareRequest();
+
+ if (data.hasOwnProperty('shrToken')) {
+ obj['shrToken'] = ApiClient.convertToType(data['shrToken'], 'String');
+ }
+ if (data.hasOwnProperty('backendProxyEndpoint')) {
+ obj['backendProxyEndpoint'] = ApiClient.convertToType(data['backendProxyEndpoint'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to UpdateShareRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to UpdateShareRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['shrToken'] && !(typeof data['shrToken'] === 'string' || data['shrToken'] instanceof String)) {
+ throw new Error("Expected the field `shrToken` to be a primitive type in the JSON string but got " + data['shrToken']);
+ }
+ // ensure the json data is a string
+ if (data['backendProxyEndpoint'] && !(typeof data['backendProxyEndpoint'] === 'string' || data['backendProxyEndpoint'] instanceof String)) {
+ throw new Error("Expected the field `backendProxyEndpoint` to be a primitive type in the JSON string but got " + data['backendProxyEndpoint']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} shrToken
+ */
+UpdateShareRequest.prototype['shrToken'] = undefined;
+
+/**
+ * @member {String} backendProxyEndpoint
+ */
+UpdateShareRequest.prototype['backendProxyEndpoint'] = undefined;
+
+
+
+
+
+
+export default UpdateShareRequest;
+
diff --git a/ui/src/api/src/model/VerifyRequest.js b/ui/src/api/src/model/VerifyRequest.js
new file mode 100644
index 00000000..e4754ca2
--- /dev/null
+++ b/ui/src/api/src/model/VerifyRequest.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The VerifyRequest model module.
+ * @module model/VerifyRequest
+ * @version 0.3.0
+ */
+class VerifyRequest {
+ /**
+ * Constructs a new VerifyRequest
.
+ * @alias module:model/VerifyRequest
+ */
+ constructor() {
+
+ VerifyRequest.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a VerifyRequest
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/VerifyRequest} obj Optional instance to populate.
+ * @return {module:model/VerifyRequest} The populated VerifyRequest
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new VerifyRequest();
+
+ if (data.hasOwnProperty('token')) {
+ obj['token'] = ApiClient.convertToType(data['token'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to VerifyRequest
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to VerifyRequest
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['token'] && !(typeof data['token'] === 'string' || data['token'] instanceof String)) {
+ throw new Error("Expected the field `token` to be a primitive type in the JSON string but got " + data['token']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} token
+ */
+VerifyRequest.prototype['token'] = undefined;
+
+
+
+
+
+
+export default VerifyRequest;
+
diff --git a/ui/src/api/src/model/VerifyResponse.js b/ui/src/api/src/model/VerifyResponse.js
new file mode 100644
index 00000000..6af88783
--- /dev/null
+++ b/ui/src/api/src/model/VerifyResponse.js
@@ -0,0 +1,87 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.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 ApiClient from '../ApiClient';
+
+/**
+ * The VerifyResponse model module.
+ * @module model/VerifyResponse
+ * @version 0.3.0
+ */
+class VerifyResponse {
+ /**
+ * Constructs a new VerifyResponse
.
+ * @alias module:model/VerifyResponse
+ */
+ constructor() {
+
+ VerifyResponse.initialize(this);
+ }
+
+ /**
+ * Initializes the fields of this object.
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
+ * Only for internal use.
+ */
+ static initialize(obj) {
+ }
+
+ /**
+ * Constructs a VerifyResponse
from a plain JavaScript object, optionally creating a new instance.
+ * Copies all relevant properties from data
to obj
if supplied or a new instance if not.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @param {module:model/VerifyResponse} obj Optional instance to populate.
+ * @return {module:model/VerifyResponse} The populated VerifyResponse
instance.
+ */
+ static constructFromObject(data, obj) {
+ if (data) {
+ obj = obj || new VerifyResponse();
+
+ if (data.hasOwnProperty('email')) {
+ obj['email'] = ApiClient.convertToType(data['email'], 'String');
+ }
+ }
+ return obj;
+ }
+
+ /**
+ * Validates the JSON data with respect to VerifyResponse
.
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
+ * @return {boolean} to indicate whether the JSON data is valid with respect to VerifyResponse
.
+ */
+ static validateJSON(data) {
+ // ensure the json data is a string
+ if (data['email'] && !(typeof data['email'] === 'string' || data['email'] instanceof String)) {
+ throw new Error("Expected the field `email` to be a primitive type in the JSON string but got " + data['email']);
+ }
+
+ return true;
+ }
+
+
+}
+
+
+
+/**
+ * @member {String} email
+ */
+VerifyResponse.prototype['email'] = undefined;
+
+
+
+
+
+
+export default VerifyResponse;
+
diff --git a/ui/src/api/test/api/AccountApi.spec.js b/ui/src/api/test/api/AccountApi.spec.js
new file mode 100644
index 00000000..1d9e8099
--- /dev/null
+++ b/ui/src/api/test/api/AccountApi.spec.js
@@ -0,0 +1,113 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.AccountApi();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('AccountApi', function() {
+ describe('invite', function() {
+ it('should call invite successfully', function(done) {
+ //uncomment below and update the code to test invite
+ //instance.invite(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('login', function() {
+ it('should call login successfully', function(done) {
+ //uncomment below and update the code to test login
+ //instance.login(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('register', function() {
+ it('should call register successfully', function(done) {
+ //uncomment below and update the code to test register
+ //instance.register(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('resetPassword', function() {
+ it('should call resetPassword successfully', function(done) {
+ //uncomment below and update the code to test resetPassword
+ //instance.resetPassword(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('resetPasswordRequest', function() {
+ it('should call resetPasswordRequest successfully', function(done) {
+ //uncomment below and update the code to test resetPasswordRequest
+ //instance.resetPasswordRequest(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('verify', function() {
+ it('should call verify successfully', function(done) {
+ //uncomment below and update the code to test verify
+ //instance.verify(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ });
+
+}));
diff --git a/ui/src/api/test/api/AdminApi.spec.js b/ui/src/api/test/api/AdminApi.spec.js
new file mode 100644
index 00000000..2c475a24
--- /dev/null
+++ b/ui/src/api/test/api/AdminApi.spec.js
@@ -0,0 +1,113 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.AdminApi();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('AdminApi', function() {
+ describe('createFrontend', function() {
+ it('should call createFrontend successfully', function(done) {
+ //uncomment below and update the code to test createFrontend
+ //instance.createFrontend(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('createIdentity', function() {
+ it('should call createIdentity successfully', function(done) {
+ //uncomment below and update the code to test createIdentity
+ //instance.createIdentity(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('deleteFrontend', function() {
+ it('should call deleteFrontend successfully', function(done) {
+ //uncomment below and update the code to test deleteFrontend
+ //instance.deleteFrontend(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('inviteTokenGenerate', function() {
+ it('should call inviteTokenGenerate successfully', function(done) {
+ //uncomment below and update the code to test inviteTokenGenerate
+ //instance.inviteTokenGenerate(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('listFrontends', function() {
+ it('should call listFrontends successfully', function(done) {
+ //uncomment below and update the code to test listFrontends
+ //instance.listFrontends(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('updateFrontend', function() {
+ it('should call updateFrontend successfully', function(done) {
+ //uncomment below and update the code to test updateFrontend
+ //instance.updateFrontend(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ });
+
+}));
diff --git a/ui/src/api/test/api/EnvironmentApi.spec.js b/ui/src/api/test/api/EnvironmentApi.spec.js
new file mode 100644
index 00000000..78374af4
--- /dev/null
+++ b/ui/src/api/test/api/EnvironmentApi.spec.js
@@ -0,0 +1,73 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.EnvironmentApi();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('EnvironmentApi', function() {
+ describe('disable', function() {
+ it('should call disable successfully', function(done) {
+ //uncomment below and update the code to test disable
+ //instance.disable(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('enable', function() {
+ it('should call enable successfully', function(done) {
+ //uncomment below and update the code to test enable
+ //instance.enable(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ });
+
+}));
diff --git a/ui/src/api/test/api/MetadataApi.spec.js b/ui/src/api/test/api/MetadataApi.spec.js
new file mode 100644
index 00000000..a4473321
--- /dev/null
+++ b/ui/src/api/test/api/MetadataApi.spec.js
@@ -0,0 +1,153 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.MetadataApi();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('MetadataApi', function() {
+ describe('configuration', function() {
+ it('should call configuration successfully', function(done) {
+ //uncomment below and update the code to test configuration
+ //instance.configuration(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getAccountDetail', function() {
+ it('should call getAccountDetail successfully', function(done) {
+ //uncomment below and update the code to test getAccountDetail
+ //instance.getAccountDetail(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getAccountMetrics', function() {
+ it('should call getAccountMetrics successfully', function(done) {
+ //uncomment below and update the code to test getAccountMetrics
+ //instance.getAccountMetrics(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getEnvironmentDetail', function() {
+ it('should call getEnvironmentDetail successfully', function(done) {
+ //uncomment below and update the code to test getEnvironmentDetail
+ //instance.getEnvironmentDetail(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getEnvironmentMetrics', function() {
+ it('should call getEnvironmentMetrics successfully', function(done) {
+ //uncomment below and update the code to test getEnvironmentMetrics
+ //instance.getEnvironmentMetrics(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getFrontendDetail', function() {
+ it('should call getFrontendDetail successfully', function(done) {
+ //uncomment below and update the code to test getFrontendDetail
+ //instance.getFrontendDetail(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getShareDetail', function() {
+ it('should call getShareDetail successfully', function(done) {
+ //uncomment below and update the code to test getShareDetail
+ //instance.getShareDetail(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('getShareMetrics', function() {
+ it('should call getShareMetrics successfully', function(done) {
+ //uncomment below and update the code to test getShareMetrics
+ //instance.getShareMetrics(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('overview', function() {
+ it('should call overview successfully', function(done) {
+ //uncomment below and update the code to test overview
+ //instance.overview(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('version', function() {
+ it('should call version successfully', function(done) {
+ //uncomment below and update the code to test version
+ //instance.version(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ });
+
+}));
diff --git a/ui/src/api/test/api/ShareApi.spec.js b/ui/src/api/test/api/ShareApi.spec.js
new file mode 100644
index 00000000..26fc49dc
--- /dev/null
+++ b/ui/src/api/test/api/ShareApi.spec.js
@@ -0,0 +1,103 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.ShareApi();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('ShareApi', function() {
+ describe('access', function() {
+ it('should call access successfully', function(done) {
+ //uncomment below and update the code to test access
+ //instance.access(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('share', function() {
+ it('should call share successfully', function(done) {
+ //uncomment below and update the code to test share
+ //instance.share(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('unaccess', function() {
+ it('should call unaccess successfully', function(done) {
+ //uncomment below and update the code to test unaccess
+ //instance.unaccess(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('unshare', function() {
+ it('should call unshare successfully', function(done) {
+ //uncomment below and update the code to test unshare
+ //instance.unshare(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ describe('updateShare', function() {
+ it('should call updateShare successfully', function(done) {
+ //uncomment below and update the code to test updateShare
+ //instance.updateShare(function(error) {
+ // if (error) throw error;
+ //expect().to.be();
+ //});
+ done();
+ });
+ });
+ });
+
+}));
diff --git a/ui/src/api/test/model/AccessRequest.spec.js b/ui/src/api/test/model/AccessRequest.spec.js
new file mode 100644
index 00000000..ee0981a9
--- /dev/null
+++ b/ui/src/api/test/model/AccessRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.AccessRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('AccessRequest', function() {
+ it('should create an instance of AccessRequest', function() {
+ // uncomment below and update the code to test AccessRequest
+ //var instance = new Zrok.AccessRequest();
+ //expect(instance).to.be.a(Zrok.AccessRequest);
+ });
+
+ it('should have the property envZId (base name: "envZId")', function() {
+ // uncomment below and update the code to test the property envZId
+ //var instance = new Zrok.AccessRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shrToken (base name: "shrToken")', function() {
+ // uncomment below and update the code to test the property shrToken
+ //var instance = new Zrok.AccessRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/AccessResponse.spec.js b/ui/src/api/test/model/AccessResponse.spec.js
new file mode 100644
index 00000000..7a68a32f
--- /dev/null
+++ b/ui/src/api/test/model/AccessResponse.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.AccessResponse();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('AccessResponse', function() {
+ it('should create an instance of AccessResponse', function() {
+ // uncomment below and update the code to test AccessResponse
+ //var instance = new Zrok.AccessResponse();
+ //expect(instance).to.be.a(Zrok.AccessResponse);
+ });
+
+ it('should have the property frontendToken (base name: "frontendToken")', function() {
+ // uncomment below and update the code to test the property frontendToken
+ //var instance = new Zrok.AccessResponse();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property backendMode (base name: "backendMode")', function() {
+ // uncomment below and update the code to test the property backendMode
+ //var instance = new Zrok.AccessResponse();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/AuthUser.spec.js b/ui/src/api/test/model/AuthUser.spec.js
new file mode 100644
index 00000000..4625f112
--- /dev/null
+++ b/ui/src/api/test/model/AuthUser.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.AuthUser();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('AuthUser', function() {
+ it('should create an instance of AuthUser', function() {
+ // uncomment below and update the code to test AuthUser
+ //var instance = new Zrok.AuthUser();
+ //expect(instance).to.be.a(Zrok.AuthUser);
+ });
+
+ it('should have the property username (base name: "username")', function() {
+ // uncomment below and update the code to test the property username
+ //var instance = new Zrok.AuthUser();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property password (base name: "password")', function() {
+ // uncomment below and update the code to test the property password
+ //var instance = new Zrok.AuthUser();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Configuration.spec.js b/ui/src/api/test/model/Configuration.spec.js
new file mode 100644
index 00000000..d575021c
--- /dev/null
+++ b/ui/src/api/test/model/Configuration.spec.js
@@ -0,0 +1,95 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Configuration();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Configuration', function() {
+ it('should create an instance of Configuration', function() {
+ // uncomment below and update the code to test Configuration
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be.a(Zrok.Configuration);
+ });
+
+ it('should have the property version (base name: "version")', function() {
+ // uncomment below and update the code to test the property version
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property touLink (base name: "touLink")', function() {
+ // uncomment below and update the code to test the property touLink
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property invitesOpen (base name: "invitesOpen")', function() {
+ // uncomment below and update the code to test the property invitesOpen
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property requiresInviteToken (base name: "requiresInviteToken")', function() {
+ // uncomment below and update the code to test the property requiresInviteToken
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property inviteTokenContact (base name: "inviteTokenContact")', function() {
+ // uncomment below and update the code to test the property inviteTokenContact
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property passwordRequirements (base name: "passwordRequirements")', function() {
+ // uncomment below and update the code to test the property passwordRequirements
+ //var instance = new Zrok.Configuration();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/CreateFrontendRequest.spec.js b/ui/src/api/test/model/CreateFrontendRequest.spec.js
new file mode 100644
index 00000000..6add3e89
--- /dev/null
+++ b/ui/src/api/test/model/CreateFrontendRequest.spec.js
@@ -0,0 +1,77 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.CreateFrontendRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('CreateFrontendRequest', function() {
+ it('should create an instance of CreateFrontendRequest', function() {
+ // uncomment below and update the code to test CreateFrontendRequest
+ //var instance = new Zrok.CreateFrontendRequest();
+ //expect(instance).to.be.a(Zrok.CreateFrontendRequest);
+ });
+
+ it('should have the property zId (base name: "zId")', function() {
+ // uncomment below and update the code to test the property zId
+ //var instance = new Zrok.CreateFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property urlTemplate (base name: "url_template")', function() {
+ // uncomment below and update the code to test the property urlTemplate
+ //var instance = new Zrok.CreateFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property publicName (base name: "public_name")', function() {
+ // uncomment below and update the code to test the property publicName
+ //var instance = new Zrok.CreateFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/CreateFrontendResponse.spec.js b/ui/src/api/test/model/CreateFrontendResponse.spec.js
new file mode 100644
index 00000000..3eb74ca8
--- /dev/null
+++ b/ui/src/api/test/model/CreateFrontendResponse.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.CreateFrontendResponse();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('CreateFrontendResponse', function() {
+ it('should create an instance of CreateFrontendResponse', function() {
+ // uncomment below and update the code to test CreateFrontendResponse
+ //var instance = new Zrok.CreateFrontendResponse();
+ //expect(instance).to.be.a(Zrok.CreateFrontendResponse);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.CreateFrontendResponse();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/CreateIdentity201Response.spec.js b/ui/src/api/test/model/CreateIdentity201Response.spec.js
new file mode 100644
index 00000000..54f82034
--- /dev/null
+++ b/ui/src/api/test/model/CreateIdentity201Response.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.CreateIdentity201Response();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('CreateIdentity201Response', function() {
+ it('should create an instance of CreateIdentity201Response', function() {
+ // uncomment below and update the code to test CreateIdentity201Response
+ //var instance = new Zrok.CreateIdentity201Response();
+ //expect(instance).to.be.a(Zrok.CreateIdentity201Response);
+ });
+
+ it('should have the property identity (base name: "identity")', function() {
+ // uncomment below and update the code to test the property identity
+ //var instance = new Zrok.CreateIdentity201Response();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property cfg (base name: "cfg")', function() {
+ // uncomment below and update the code to test the property cfg
+ //var instance = new Zrok.CreateIdentity201Response();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/CreateIdentityRequest.spec.js b/ui/src/api/test/model/CreateIdentityRequest.spec.js
new file mode 100644
index 00000000..edc14129
--- /dev/null
+++ b/ui/src/api/test/model/CreateIdentityRequest.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.CreateIdentityRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('CreateIdentityRequest', function() {
+ it('should create an instance of CreateIdentityRequest', function() {
+ // uncomment below and update the code to test CreateIdentityRequest
+ //var instance = new Zrok.CreateIdentityRequest();
+ //expect(instance).to.be.a(Zrok.CreateIdentityRequest);
+ });
+
+ it('should have the property name (base name: "name")', function() {
+ // uncomment below and update the code to test the property name
+ //var instance = new Zrok.CreateIdentityRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/DeleteFrontendRequest.spec.js b/ui/src/api/test/model/DeleteFrontendRequest.spec.js
new file mode 100644
index 00000000..200a561e
--- /dev/null
+++ b/ui/src/api/test/model/DeleteFrontendRequest.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.DeleteFrontendRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('DeleteFrontendRequest', function() {
+ it('should create an instance of DeleteFrontendRequest', function() {
+ // uncomment below and update the code to test DeleteFrontendRequest
+ //var instance = new Zrok.DeleteFrontendRequest();
+ //expect(instance).to.be.a(Zrok.DeleteFrontendRequest);
+ });
+
+ it('should have the property frontendToken (base name: "frontendToken")', function() {
+ // uncomment below and update the code to test the property frontendToken
+ //var instance = new Zrok.DeleteFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/DisableRequest.spec.js b/ui/src/api/test/model/DisableRequest.spec.js
new file mode 100644
index 00000000..ce2add82
--- /dev/null
+++ b/ui/src/api/test/model/DisableRequest.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.DisableRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('DisableRequest', function() {
+ it('should create an instance of DisableRequest', function() {
+ // uncomment below and update the code to test DisableRequest
+ //var instance = new Zrok.DisableRequest();
+ //expect(instance).to.be.a(Zrok.DisableRequest);
+ });
+
+ it('should have the property identity (base name: "identity")', function() {
+ // uncomment below and update the code to test the property identity
+ //var instance = new Zrok.DisableRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/EnableRequest.spec.js b/ui/src/api/test/model/EnableRequest.spec.js
new file mode 100644
index 00000000..5804158e
--- /dev/null
+++ b/ui/src/api/test/model/EnableRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.EnableRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('EnableRequest', function() {
+ it('should create an instance of EnableRequest', function() {
+ // uncomment below and update the code to test EnableRequest
+ //var instance = new Zrok.EnableRequest();
+ //expect(instance).to.be.a(Zrok.EnableRequest);
+ });
+
+ it('should have the property description (base name: "description")', function() {
+ // uncomment below and update the code to test the property description
+ //var instance = new Zrok.EnableRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property host (base name: "host")', function() {
+ // uncomment below and update the code to test the property host
+ //var instance = new Zrok.EnableRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/EnableResponse.spec.js b/ui/src/api/test/model/EnableResponse.spec.js
new file mode 100644
index 00000000..d4b2e754
--- /dev/null
+++ b/ui/src/api/test/model/EnableResponse.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.EnableResponse();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('EnableResponse', function() {
+ it('should create an instance of EnableResponse', function() {
+ // uncomment below and update the code to test EnableResponse
+ //var instance = new Zrok.EnableResponse();
+ //expect(instance).to.be.a(Zrok.EnableResponse);
+ });
+
+ it('should have the property identity (base name: "identity")', function() {
+ // uncomment below and update the code to test the property identity
+ //var instance = new Zrok.EnableResponse();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property cfg (base name: "cfg")', function() {
+ // uncomment below and update the code to test the property cfg
+ //var instance = new Zrok.EnableResponse();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Environment.spec.js b/ui/src/api/test/model/Environment.spec.js
new file mode 100644
index 00000000..2157fa8b
--- /dev/null
+++ b/ui/src/api/test/model/Environment.spec.js
@@ -0,0 +1,107 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Environment();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Environment', function() {
+ it('should create an instance of Environment', function() {
+ // uncomment below and update the code to test Environment
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be.a(Zrok.Environment);
+ });
+
+ it('should have the property description (base name: "description")', function() {
+ // uncomment below and update the code to test the property description
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property host (base name: "host")', function() {
+ // uncomment below and update the code to test the property host
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property address (base name: "address")', function() {
+ // uncomment below and update the code to test the property address
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property zId (base name: "zId")', function() {
+ // uncomment below and update the code to test the property zId
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property activity (base name: "activity")', function() {
+ // uncomment below and update the code to test the property activity
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property limited (base name: "limited")', function() {
+ // uncomment below and update the code to test the property limited
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property createdAt (base name: "createdAt")', function() {
+ // uncomment below and update the code to test the property createdAt
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property updatedAt (base name: "updatedAt")', function() {
+ // uncomment below and update the code to test the property updatedAt
+ //var instance = new Zrok.Environment();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/EnvironmentAndResources.spec.js b/ui/src/api/test/model/EnvironmentAndResources.spec.js
new file mode 100644
index 00000000..09907c36
--- /dev/null
+++ b/ui/src/api/test/model/EnvironmentAndResources.spec.js
@@ -0,0 +1,77 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.EnvironmentAndResources();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('EnvironmentAndResources', function() {
+ it('should create an instance of EnvironmentAndResources', function() {
+ // uncomment below and update the code to test EnvironmentAndResources
+ //var instance = new Zrok.EnvironmentAndResources();
+ //expect(instance).to.be.a(Zrok.EnvironmentAndResources);
+ });
+
+ it('should have the property environment (base name: "environment")', function() {
+ // uncomment below and update the code to test the property environment
+ //var instance = new Zrok.EnvironmentAndResources();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property frontends (base name: "frontends")', function() {
+ // uncomment below and update the code to test the property frontends
+ //var instance = new Zrok.EnvironmentAndResources();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shares (base name: "shares")', function() {
+ // uncomment below and update the code to test the property shares
+ //var instance = new Zrok.EnvironmentAndResources();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Frontend.spec.js b/ui/src/api/test/model/Frontend.spec.js
new file mode 100644
index 00000000..1944f8ff
--- /dev/null
+++ b/ui/src/api/test/model/Frontend.spec.js
@@ -0,0 +1,89 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Frontend();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Frontend', function() {
+ it('should create an instance of Frontend', function() {
+ // uncomment below and update the code to test Frontend
+ //var instance = new Zrok.Frontend();
+ //expect(instance).to.be.a(Zrok.Frontend);
+ });
+
+ it('should have the property id (base name: "id")', function() {
+ // uncomment below and update the code to test the property id
+ //var instance = new Zrok.Frontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shrToken (base name: "shrToken")', function() {
+ // uncomment below and update the code to test the property shrToken
+ //var instance = new Zrok.Frontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property zId (base name: "zId")', function() {
+ // uncomment below and update the code to test the property zId
+ //var instance = new Zrok.Frontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property createdAt (base name: "createdAt")', function() {
+ // uncomment below and update the code to test the property createdAt
+ //var instance = new Zrok.Frontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property updatedAt (base name: "updatedAt")', function() {
+ // uncomment below and update the code to test the property updatedAt
+ //var instance = new Zrok.Frontend();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/InviteRequest.spec.js b/ui/src/api/test/model/InviteRequest.spec.js
new file mode 100644
index 00000000..4cddb531
--- /dev/null
+++ b/ui/src/api/test/model/InviteRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.InviteRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('InviteRequest', function() {
+ it('should create an instance of InviteRequest', function() {
+ // uncomment below and update the code to test InviteRequest
+ //var instance = new Zrok.InviteRequest();
+ //expect(instance).to.be.a(Zrok.InviteRequest);
+ });
+
+ it('should have the property email (base name: "email")', function() {
+ // uncomment below and update the code to test the property email
+ //var instance = new Zrok.InviteRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.InviteRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/InviteTokenGenerateRequest.spec.js b/ui/src/api/test/model/InviteTokenGenerateRequest.spec.js
new file mode 100644
index 00000000..d4ff1615
--- /dev/null
+++ b/ui/src/api/test/model/InviteTokenGenerateRequest.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.InviteTokenGenerateRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('InviteTokenGenerateRequest', function() {
+ it('should create an instance of InviteTokenGenerateRequest', function() {
+ // uncomment below and update the code to test InviteTokenGenerateRequest
+ //var instance = new Zrok.InviteTokenGenerateRequest();
+ //expect(instance).to.be.a(Zrok.InviteTokenGenerateRequest);
+ });
+
+ it('should have the property tokens (base name: "tokens")', function() {
+ // uncomment below and update the code to test the property tokens
+ //var instance = new Zrok.InviteTokenGenerateRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/LoginRequest.spec.js b/ui/src/api/test/model/LoginRequest.spec.js
new file mode 100644
index 00000000..fb9b2659
--- /dev/null
+++ b/ui/src/api/test/model/LoginRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.LoginRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('LoginRequest', function() {
+ it('should create an instance of LoginRequest', function() {
+ // uncomment below and update the code to test LoginRequest
+ //var instance = new Zrok.LoginRequest();
+ //expect(instance).to.be.a(Zrok.LoginRequest);
+ });
+
+ it('should have the property email (base name: "email")', function() {
+ // uncomment below and update the code to test the property email
+ //var instance = new Zrok.LoginRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property password (base name: "password")', function() {
+ // uncomment below and update the code to test the property password
+ //var instance = new Zrok.LoginRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Metrics.spec.js b/ui/src/api/test/model/Metrics.spec.js
new file mode 100644
index 00000000..f575e9f4
--- /dev/null
+++ b/ui/src/api/test/model/Metrics.spec.js
@@ -0,0 +1,83 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Metrics();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Metrics', function() {
+ it('should create an instance of Metrics', function() {
+ // uncomment below and update the code to test Metrics
+ //var instance = new Zrok.Metrics();
+ //expect(instance).to.be.a(Zrok.Metrics);
+ });
+
+ it('should have the property scope (base name: "scope")', function() {
+ // uncomment below and update the code to test the property scope
+ //var instance = new Zrok.Metrics();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property id (base name: "id")', function() {
+ // uncomment below and update the code to test the property id
+ //var instance = new Zrok.Metrics();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property period (base name: "period")', function() {
+ // uncomment below and update the code to test the property period
+ //var instance = new Zrok.Metrics();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property samples (base name: "samples")', function() {
+ // uncomment below and update the code to test the property samples
+ //var instance = new Zrok.Metrics();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/MetricsSample.spec.js b/ui/src/api/test/model/MetricsSample.spec.js
new file mode 100644
index 00000000..d41294d7
--- /dev/null
+++ b/ui/src/api/test/model/MetricsSample.spec.js
@@ -0,0 +1,77 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.MetricsSample();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('MetricsSample', function() {
+ it('should create an instance of MetricsSample', function() {
+ // uncomment below and update the code to test MetricsSample
+ //var instance = new Zrok.MetricsSample();
+ //expect(instance).to.be.a(Zrok.MetricsSample);
+ });
+
+ it('should have the property rx (base name: "rx")', function() {
+ // uncomment below and update the code to test the property rx
+ //var instance = new Zrok.MetricsSample();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property tx (base name: "tx")', function() {
+ // uncomment below and update the code to test the property tx
+ //var instance = new Zrok.MetricsSample();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property timestamp (base name: "timestamp")', function() {
+ // uncomment below and update the code to test the property timestamp
+ //var instance = new Zrok.MetricsSample();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Overview.spec.js b/ui/src/api/test/model/Overview.spec.js
new file mode 100644
index 00000000..d8936c80
--- /dev/null
+++ b/ui/src/api/test/model/Overview.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Overview();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Overview', function() {
+ it('should create an instance of Overview', function() {
+ // uncomment below and update the code to test Overview
+ //var instance = new Zrok.Overview();
+ //expect(instance).to.be.a(Zrok.Overview);
+ });
+
+ it('should have the property accountLimited (base name: "accountLimited")', function() {
+ // uncomment below and update the code to test the property accountLimited
+ //var instance = new Zrok.Overview();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property environments (base name: "environments")', function() {
+ // uncomment below and update the code to test the property environments
+ //var instance = new Zrok.Overview();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/PasswordRequirements.spec.js b/ui/src/api/test/model/PasswordRequirements.spec.js
new file mode 100644
index 00000000..90d474db
--- /dev/null
+++ b/ui/src/api/test/model/PasswordRequirements.spec.js
@@ -0,0 +1,89 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.PasswordRequirements();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('PasswordRequirements', function() {
+ it('should create an instance of PasswordRequirements', function() {
+ // uncomment below and update the code to test PasswordRequirements
+ //var instance = new Zrok.PasswordRequirements();
+ //expect(instance).to.be.a(Zrok.PasswordRequirements);
+ });
+
+ it('should have the property length (base name: "length")', function() {
+ // uncomment below and update the code to test the property length
+ //var instance = new Zrok.PasswordRequirements();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property requireCapital (base name: "requireCapital")', function() {
+ // uncomment below and update the code to test the property requireCapital
+ //var instance = new Zrok.PasswordRequirements();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property requireNumeric (base name: "requireNumeric")', function() {
+ // uncomment below and update the code to test the property requireNumeric
+ //var instance = new Zrok.PasswordRequirements();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property requireSpecial (base name: "requireSpecial")', function() {
+ // uncomment below and update the code to test the property requireSpecial
+ //var instance = new Zrok.PasswordRequirements();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property validSpecialCharacters (base name: "validSpecialCharacters")', function() {
+ // uncomment below and update the code to test the property validSpecialCharacters
+ //var instance = new Zrok.PasswordRequirements();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Principal.spec.js b/ui/src/api/test/model/Principal.spec.js
new file mode 100644
index 00000000..d46277df
--- /dev/null
+++ b/ui/src/api/test/model/Principal.spec.js
@@ -0,0 +1,89 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Principal();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Principal', function() {
+ it('should create an instance of Principal', function() {
+ // uncomment below and update the code to test Principal
+ //var instance = new Zrok.Principal();
+ //expect(instance).to.be.a(Zrok.Principal);
+ });
+
+ it('should have the property id (base name: "id")', function() {
+ // uncomment below and update the code to test the property id
+ //var instance = new Zrok.Principal();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property email (base name: "email")', function() {
+ // uncomment below and update the code to test the property email
+ //var instance = new Zrok.Principal();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.Principal();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property limitless (base name: "limitless")', function() {
+ // uncomment below and update the code to test the property limitless
+ //var instance = new Zrok.Principal();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property admin (base name: "admin")', function() {
+ // uncomment below and update the code to test the property admin
+ //var instance = new Zrok.Principal();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/PublicFrontend.spec.js b/ui/src/api/test/model/PublicFrontend.spec.js
new file mode 100644
index 00000000..f708db57
--- /dev/null
+++ b/ui/src/api/test/model/PublicFrontend.spec.js
@@ -0,0 +1,95 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.PublicFrontend();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('PublicFrontend', function() {
+ it('should create an instance of PublicFrontend', function() {
+ // uncomment below and update the code to test PublicFrontend
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be.a(Zrok.PublicFrontend);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property zId (base name: "zId")', function() {
+ // uncomment below and update the code to test the property zId
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property urlTemplate (base name: "urlTemplate")', function() {
+ // uncomment below and update the code to test the property urlTemplate
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property publicName (base name: "publicName")', function() {
+ // uncomment below and update the code to test the property publicName
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property createdAt (base name: "createdAt")', function() {
+ // uncomment below and update the code to test the property createdAt
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property updatedAt (base name: "updatedAt")', function() {
+ // uncomment below and update the code to test the property updatedAt
+ //var instance = new Zrok.PublicFrontend();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/RegisterRequest.spec.js b/ui/src/api/test/model/RegisterRequest.spec.js
new file mode 100644
index 00000000..b831cda7
--- /dev/null
+++ b/ui/src/api/test/model/RegisterRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.RegisterRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('RegisterRequest', function() {
+ it('should create an instance of RegisterRequest', function() {
+ // uncomment below and update the code to test RegisterRequest
+ //var instance = new Zrok.RegisterRequest();
+ //expect(instance).to.be.a(Zrok.RegisterRequest);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.RegisterRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property password (base name: "password")', function() {
+ // uncomment below and update the code to test the property password
+ //var instance = new Zrok.RegisterRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/RegisterResponse.spec.js b/ui/src/api/test/model/RegisterResponse.spec.js
new file mode 100644
index 00000000..a52bf787
--- /dev/null
+++ b/ui/src/api/test/model/RegisterResponse.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.RegisterResponse();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('RegisterResponse', function() {
+ it('should create an instance of RegisterResponse', function() {
+ // uncomment below and update the code to test RegisterResponse
+ //var instance = new Zrok.RegisterResponse();
+ //expect(instance).to.be.a(Zrok.RegisterResponse);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.RegisterResponse();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/ResetPasswordRequest.spec.js b/ui/src/api/test/model/ResetPasswordRequest.spec.js
new file mode 100644
index 00000000..6b3b9854
--- /dev/null
+++ b/ui/src/api/test/model/ResetPasswordRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.ResetPasswordRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('ResetPasswordRequest', function() {
+ it('should create an instance of ResetPasswordRequest', function() {
+ // uncomment below and update the code to test ResetPasswordRequest
+ //var instance = new Zrok.ResetPasswordRequest();
+ //expect(instance).to.be.a(Zrok.ResetPasswordRequest);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.ResetPasswordRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property password (base name: "password")', function() {
+ // uncomment below and update the code to test the property password
+ //var instance = new Zrok.ResetPasswordRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/ResetPasswordRequestRequest.spec.js b/ui/src/api/test/model/ResetPasswordRequestRequest.spec.js
new file mode 100644
index 00000000..fb01d22d
--- /dev/null
+++ b/ui/src/api/test/model/ResetPasswordRequestRequest.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.ResetPasswordRequestRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('ResetPasswordRequestRequest', function() {
+ it('should create an instance of ResetPasswordRequestRequest', function() {
+ // uncomment below and update the code to test ResetPasswordRequestRequest
+ //var instance = new Zrok.ResetPasswordRequestRequest();
+ //expect(instance).to.be.a(Zrok.ResetPasswordRequestRequest);
+ });
+
+ it('should have the property emailAddress (base name: "emailAddress")', function() {
+ // uncomment below and update the code to test the property emailAddress
+ //var instance = new Zrok.ResetPasswordRequestRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/Share.spec.js b/ui/src/api/test/model/Share.spec.js
new file mode 100644
index 00000000..9cfe1423
--- /dev/null
+++ b/ui/src/api/test/model/Share.spec.js
@@ -0,0 +1,131 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.Share();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('Share', function() {
+ it('should create an instance of Share', function() {
+ // uncomment below and update the code to test Share
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be.a(Zrok.Share);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property zId (base name: "zId")', function() {
+ // uncomment below and update the code to test the property zId
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shareMode (base name: "shareMode")', function() {
+ // uncomment below and update the code to test the property shareMode
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property backendMode (base name: "backendMode")', function() {
+ // uncomment below and update the code to test the property backendMode
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property frontendSelection (base name: "frontendSelection")', function() {
+ // uncomment below and update the code to test the property frontendSelection
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property frontendEndpoint (base name: "frontendEndpoint")', function() {
+ // uncomment below and update the code to test the property frontendEndpoint
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property backendProxyEndpoint (base name: "backendProxyEndpoint")', function() {
+ // uncomment below and update the code to test the property backendProxyEndpoint
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property reserved (base name: "reserved")', function() {
+ // uncomment below and update the code to test the property reserved
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property activity (base name: "activity")', function() {
+ // uncomment below and update the code to test the property activity
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property limited (base name: "limited")', function() {
+ // uncomment below and update the code to test the property limited
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property createdAt (base name: "createdAt")', function() {
+ // uncomment below and update the code to test the property createdAt
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property updatedAt (base name: "updatedAt")', function() {
+ // uncomment below and update the code to test the property updatedAt
+ //var instance = new Zrok.Share();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/ShareRequest.spec.js b/ui/src/api/test/model/ShareRequest.spec.js
new file mode 100644
index 00000000..65187883
--- /dev/null
+++ b/ui/src/api/test/model/ShareRequest.spec.js
@@ -0,0 +1,125 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.ShareRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('ShareRequest', function() {
+ it('should create an instance of ShareRequest', function() {
+ // uncomment below and update the code to test ShareRequest
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be.a(Zrok.ShareRequest);
+ });
+
+ it('should have the property envZId (base name: "envZId")', function() {
+ // uncomment below and update the code to test the property envZId
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shareMode (base name: "shareMode")', function() {
+ // uncomment below and update the code to test the property shareMode
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property frontendSelection (base name: "frontendSelection")', function() {
+ // uncomment below and update the code to test the property frontendSelection
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property backendMode (base name: "backendMode")', function() {
+ // uncomment below and update the code to test the property backendMode
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property backendProxyEndpoint (base name: "backendProxyEndpoint")', function() {
+ // uncomment below and update the code to test the property backendProxyEndpoint
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property authScheme (base name: "authScheme")', function() {
+ // uncomment below and update the code to test the property authScheme
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property authUsers (base name: "authUsers")', function() {
+ // uncomment below and update the code to test the property authUsers
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property oauthProvider (base name: "oauthProvider")', function() {
+ // uncomment below and update the code to test the property oauthProvider
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property oauthEmailDomains (base name: "oauthEmailDomains")', function() {
+ // uncomment below and update the code to test the property oauthEmailDomains
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property oauthAuthorizationCheckInterval (base name: "oauthAuthorizationCheckInterval")', function() {
+ // uncomment below and update the code to test the property oauthAuthorizationCheckInterval
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property reserved (base name: "reserved")', function() {
+ // uncomment below and update the code to test the property reserved
+ //var instance = new Zrok.ShareRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/ShareResponse.spec.js b/ui/src/api/test/model/ShareResponse.spec.js
new file mode 100644
index 00000000..b1b00f78
--- /dev/null
+++ b/ui/src/api/test/model/ShareResponse.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.ShareResponse();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('ShareResponse', function() {
+ it('should create an instance of ShareResponse', function() {
+ // uncomment below and update the code to test ShareResponse
+ //var instance = new Zrok.ShareResponse();
+ //expect(instance).to.be.a(Zrok.ShareResponse);
+ });
+
+ it('should have the property frontendProxyEndpoints (base name: "frontendProxyEndpoints")', function() {
+ // uncomment below and update the code to test the property frontendProxyEndpoints
+ //var instance = new Zrok.ShareResponse();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shrToken (base name: "shrToken")', function() {
+ // uncomment below and update the code to test the property shrToken
+ //var instance = new Zrok.ShareResponse();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/SparkDataSample.spec.js b/ui/src/api/test/model/SparkDataSample.spec.js
new file mode 100644
index 00000000..5de98c3f
--- /dev/null
+++ b/ui/src/api/test/model/SparkDataSample.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.SparkDataSample();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('SparkDataSample', function() {
+ it('should create an instance of SparkDataSample', function() {
+ // uncomment below and update the code to test SparkDataSample
+ //var instance = new Zrok.SparkDataSample();
+ //expect(instance).to.be.a(Zrok.SparkDataSample);
+ });
+
+ it('should have the property rx (base name: "rx")', function() {
+ // uncomment below and update the code to test the property rx
+ //var instance = new Zrok.SparkDataSample();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property tx (base name: "tx")', function() {
+ // uncomment below and update the code to test the property tx
+ //var instance = new Zrok.SparkDataSample();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/UnaccessRequest.spec.js b/ui/src/api/test/model/UnaccessRequest.spec.js
new file mode 100644
index 00000000..d4485730
--- /dev/null
+++ b/ui/src/api/test/model/UnaccessRequest.spec.js
@@ -0,0 +1,77 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.UnaccessRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('UnaccessRequest', function() {
+ it('should create an instance of UnaccessRequest', function() {
+ // uncomment below and update the code to test UnaccessRequest
+ //var instance = new Zrok.UnaccessRequest();
+ //expect(instance).to.be.a(Zrok.UnaccessRequest);
+ });
+
+ it('should have the property frontendToken (base name: "frontendToken")', function() {
+ // uncomment below and update the code to test the property frontendToken
+ //var instance = new Zrok.UnaccessRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property envZId (base name: "envZId")', function() {
+ // uncomment below and update the code to test the property envZId
+ //var instance = new Zrok.UnaccessRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shrToken (base name: "shrToken")', function() {
+ // uncomment below and update the code to test the property shrToken
+ //var instance = new Zrok.UnaccessRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/UnshareRequest.spec.js b/ui/src/api/test/model/UnshareRequest.spec.js
new file mode 100644
index 00000000..c1c7d964
--- /dev/null
+++ b/ui/src/api/test/model/UnshareRequest.spec.js
@@ -0,0 +1,77 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.UnshareRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('UnshareRequest', function() {
+ it('should create an instance of UnshareRequest', function() {
+ // uncomment below and update the code to test UnshareRequest
+ //var instance = new Zrok.UnshareRequest();
+ //expect(instance).to.be.a(Zrok.UnshareRequest);
+ });
+
+ it('should have the property envZId (base name: "envZId")', function() {
+ // uncomment below and update the code to test the property envZId
+ //var instance = new Zrok.UnshareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property shrToken (base name: "shrToken")', function() {
+ // uncomment below and update the code to test the property shrToken
+ //var instance = new Zrok.UnshareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property reserved (base name: "reserved")', function() {
+ // uncomment below and update the code to test the property reserved
+ //var instance = new Zrok.UnshareRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/UpdateFrontendRequest.spec.js b/ui/src/api/test/model/UpdateFrontendRequest.spec.js
new file mode 100644
index 00000000..b90421b1
--- /dev/null
+++ b/ui/src/api/test/model/UpdateFrontendRequest.spec.js
@@ -0,0 +1,77 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.UpdateFrontendRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('UpdateFrontendRequest', function() {
+ it('should create an instance of UpdateFrontendRequest', function() {
+ // uncomment below and update the code to test UpdateFrontendRequest
+ //var instance = new Zrok.UpdateFrontendRequest();
+ //expect(instance).to.be.a(Zrok.UpdateFrontendRequest);
+ });
+
+ it('should have the property frontendToken (base name: "frontendToken")', function() {
+ // uncomment below and update the code to test the property frontendToken
+ //var instance = new Zrok.UpdateFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property publicName (base name: "publicName")', function() {
+ // uncomment below and update the code to test the property publicName
+ //var instance = new Zrok.UpdateFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property urlTemplate (base name: "urlTemplate")', function() {
+ // uncomment below and update the code to test the property urlTemplate
+ //var instance = new Zrok.UpdateFrontendRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/UpdateShareRequest.spec.js b/ui/src/api/test/model/UpdateShareRequest.spec.js
new file mode 100644
index 00000000..e23ec94f
--- /dev/null
+++ b/ui/src/api/test/model/UpdateShareRequest.spec.js
@@ -0,0 +1,71 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.UpdateShareRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('UpdateShareRequest', function() {
+ it('should create an instance of UpdateShareRequest', function() {
+ // uncomment below and update the code to test UpdateShareRequest
+ //var instance = new Zrok.UpdateShareRequest();
+ //expect(instance).to.be.a(Zrok.UpdateShareRequest);
+ });
+
+ it('should have the property shrToken (base name: "shrToken")', function() {
+ // uncomment below and update the code to test the property shrToken
+ //var instance = new Zrok.UpdateShareRequest();
+ //expect(instance).to.be();
+ });
+
+ it('should have the property backendProxyEndpoint (base name: "backendProxyEndpoint")', function() {
+ // uncomment below and update the code to test the property backendProxyEndpoint
+ //var instance = new Zrok.UpdateShareRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/VerifyRequest.spec.js b/ui/src/api/test/model/VerifyRequest.spec.js
new file mode 100644
index 00000000..c0db8e2e
--- /dev/null
+++ b/ui/src/api/test/model/VerifyRequest.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.VerifyRequest();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('VerifyRequest', function() {
+ it('should create an instance of VerifyRequest', function() {
+ // uncomment below and update the code to test VerifyRequest
+ //var instance = new Zrok.VerifyRequest();
+ //expect(instance).to.be.a(Zrok.VerifyRequest);
+ });
+
+ it('should have the property token (base name: "token")', function() {
+ // uncomment below and update the code to test the property token
+ //var instance = new Zrok.VerifyRequest();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/test/model/VerifyResponse.spec.js b/ui/src/api/test/model/VerifyResponse.spec.js
new file mode 100644
index 00000000..622a3d96
--- /dev/null
+++ b/ui/src/api/test/model/VerifyResponse.spec.js
@@ -0,0 +1,65 @@
+/**
+ * zrok
+ * zrok client access
+ *
+ * The version of the OpenAPI document: 0.3.0
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ *
+ */
+
+(function(root, factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD.
+ define(['expect.js', process.cwd()+'/src/index'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports, like Node.
+ factory(require('expect.js'), require(process.cwd()+'/src/index'));
+ } else {
+ // Browser globals (root is window)
+ factory(root.expect, root.Zrok);
+ }
+}(this, function(expect, Zrok) {
+ 'use strict';
+
+ var instance;
+
+ beforeEach(function() {
+ instance = new Zrok.VerifyResponse();
+ });
+
+ var getProperty = function(object, getter, property) {
+ // Use getter method if present; otherwise, get the property directly.
+ if (typeof object[getter] === 'function')
+ return object[getter]();
+ else
+ return object[property];
+ }
+
+ var setProperty = function(object, setter, property, value) {
+ // Use setter method if present; otherwise, set the property directly.
+ if (typeof object[setter] === 'function')
+ object[setter](value);
+ else
+ object[property] = value;
+ }
+
+ describe('VerifyResponse', function() {
+ it('should create an instance of VerifyResponse', function() {
+ // uncomment below and update the code to test VerifyResponse
+ //var instance = new Zrok.VerifyResponse();
+ //expect(instance).to.be.a(Zrok.VerifyResponse);
+ });
+
+ it('should have the property email (base name: "email")', function() {
+ // uncomment below and update the code to test the property email
+ //var instance = new Zrok.VerifyResponse();
+ //expect(instance).to.be();
+ });
+
+ });
+
+}));
diff --git a/ui/src/api/types.js b/ui/src/api/types.js
deleted file mode 100644
index 5f06119b..00000000
--- a/ui/src/api/types.js
+++ /dev/null
@@ -1,325 +0,0 @@
-/** @module types */
-// Auto-generated, edits will be overwritten
-
-/**
- * @typedef accessRequest
- * @memberof module:types
- *
- * @property {string} envZId
- * @property {string} shrToken
- */
-
-/**
- * @typedef accessResponse
- * @memberof module:types
- *
- * @property {string} frontendToken
- * @property {string} backendMode
- */
-
-/**
- * @typedef authUser
- * @memberof module:types
- *
- * @property {string} username
- * @property {string} password
- */
-
-/**
- * @typedef configuration
- * @memberof module:types
- *
- * @property {string} version
- * @property {string} touLink
- * @property {boolean} invitesOpen
- * @property {boolean} requiresInviteToken
- * @property {string} inviteTokenContact
- * @property {module:types.passwordRequirements} passwordRequirements
- */
-
-/**
- * @typedef createFrontendRequest
- * @memberof module:types
- *
- * @property {string} zId
- * @property {string} url_template
- * @property {string} public_name
- */
-
-/**
- * @typedef createFrontendResponse
- * @memberof module:types
- *
- * @property {string} token
- */
-
-/**
- * @typedef deleteFrontendRequest
- * @memberof module:types
- *
- * @property {string} frontendToken
- */
-
-/**
- * @typedef disableRequest
- * @memberof module:types
- *
- * @property {string} identity
- */
-
-/**
- * @typedef enableRequest
- * @memberof module:types
- *
- * @property {string} description
- * @property {string} host
- */
-
-/**
- * @typedef enableResponse
- * @memberof module:types
- *
- * @property {string} identity
- * @property {string} cfg
- */
-
-/**
- * @typedef environment
- * @memberof module:types
- *
- * @property {string} description
- * @property {string} host
- * @property {string} address
- * @property {string} zId
- * @property {module:types.sparkData} activity
- * @property {boolean} limited
- * @property {number} createdAt
- * @property {number} updatedAt
- */
-
-/**
- * @typedef environmentAndResources
- * @memberof module:types
- *
- * @property {module:types.environment} environment
- * @property {module:types.frontends} frontends
- * @property {module:types.shares} shares
- */
-
-/**
- * @typedef frontend
- * @memberof module:types
- *
- * @property {number} id
- * @property {string} shrToken
- * @property {string} zId
- * @property {number} createdAt
- * @property {number} updatedAt
- */
-
-/**
- * @typedef inviteTokenGenerateRequest
- * @memberof module:types
- *
- * @property {string[]} tokens
- */
-
-/**
- * @typedef inviteRequest
- * @memberof module:types
- *
- * @property {string} email
- * @property {string} token
- */
-
-/**
- * @typedef loginRequest
- * @memberof module:types
- *
- * @property {string} email
- * @property {string} password
- */
-
-/**
- * @typedef metrics
- * @memberof module:types
- *
- * @property {string} scope
- * @property {string} id
- * @property {number} period
- * @property {module:types.metricsSample[]} samples
- */
-
-/**
- * @typedef metricsSample
- * @memberof module:types
- *
- * @property {number} rx
- * @property {number} tx
- * @property {number} timestamp
- */
-
-/**
- * @typedef overview
- * @memberof module:types
- *
- * @property {boolean} accountLimited
- * @property {module:types.environmentAndResources[]} environments
- */
-
-/**
- * @typedef passwordRequirements
- * @memberof module:types
- *
- * @property {number} length
- * @property {boolean} requireCapital
- * @property {boolean} requireNumeric
- * @property {boolean} requireSpecial
- * @property {string} validSpecialCharacters
- */
-
-/**
- * @typedef principal
- * @memberof module:types
- *
- * @property {number} id
- * @property {string} email
- * @property {string} token
- * @property {boolean} limitless
- * @property {boolean} admin
- */
-
-/**
- * @typedef publicFrontend
- * @memberof module:types
- *
- * @property {string} token
- * @property {string} zId
- * @property {string} urlTemplate
- * @property {string} publicName
- * @property {number} createdAt
- * @property {number} updatedAt
- */
-
-/**
- * @typedef registerRequest
- * @memberof module:types
- *
- * @property {string} token
- * @property {string} password
- */
-
-/**
- * @typedef registerResponse
- * @memberof module:types
- *
- * @property {string} token
- */
-
-/**
- * @typedef resetPasswordRequest
- * @memberof module:types
- *
- * @property {string} token
- * @property {string} password
- */
-
-/**
- * @typedef share
- * @memberof module:types
- *
- * @property {string} token
- * @property {string} zId
- * @property {string} shareMode
- * @property {string} backendMode
- * @property {string} frontendSelection
- * @property {string} frontendEndpoint
- * @property {string} backendProxyEndpoint
- * @property {boolean} reserved
- * @property {module:types.sparkData} activity
- * @property {boolean} limited
- * @property {number} createdAt
- * @property {number} updatedAt
- */
-
-/**
- * @typedef shareRequest
- * @memberof module:types
- *
- * @property {string} envZId
- * @property {string} shareMode
- * @property {string[]} frontendSelection
- * @property {string} backendMode
- * @property {string} backendProxyEndpoint
- * @property {string} authScheme
- * @property {module:types.authUser[]} authUsers
- * @property {string} oauthProvider
- * @property {string[]} oauthEmailDomains
- * @property {string} oauthAuthorizationCheckInterval
- * @property {boolean} reserved
- */
-
-/**
- * @typedef shareResponse
- * @memberof module:types
- *
- * @property {string[]} frontendProxyEndpoints
- * @property {string} shrToken
- */
-
-/**
- * @typedef sparkDataSample
- * @memberof module:types
- *
- * @property {number} rx
- * @property {number} tx
- */
-
-/**
- * @typedef unaccessRequest
- * @memberof module:types
- *
- * @property {string} frontendToken
- * @property {string} envZId
- * @property {string} shrToken
- */
-
-/**
- * @typedef unshareRequest
- * @memberof module:types
- *
- * @property {string} envZId
- * @property {string} shrToken
- * @property {boolean} reserved
- */
-
-/**
- * @typedef updateFrontendRequest
- * @memberof module:types
- *
- * @property {string} frontendToken
- * @property {string} publicName
- * @property {string} urlTemplate
- */
-
-/**
- * @typedef updateShareRequest
- * @memberof module:types
- *
- * @property {string} shrToken
- * @property {string} backendProxyEndpoint
- */
-
-/**
- * @typedef verifyRequest
- * @memberof module:types
- *
- * @property {string} token
- */
-
-/**
- * @typedef verifyResponse
- * @memberof module:types
- *
- * @property {string} email
- */
diff --git a/ui/src/console/Console.js b/ui/src/console/Console.js
index fc36ae1c..e7af5c39 100644
--- a/ui/src/console/Console.js
+++ b/ui/src/console/Console.js
@@ -3,7 +3,7 @@ import {useEffect, useState} from "react";
import Visualizer from "./visualizer/Visualizer";
import Enable from "./modals/Enable";
import Version from "./modals/Version";
-import * as metadata from "../api/metadata";
+import {MetadataApi} from "../api/src";
import Detail from "./detail/Detail";
const Console = (props) => {
@@ -17,11 +17,13 @@ const Console = (props) => {
const [overview, setOverview] = useState({});
+ const metadata = new MetadataApi()
+
useEffect(() => {
let mounted = true;
metadata.overview().then(resp => {
if(mounted) {
- setOverview(resp.data);
+ setOverview(resp);
}
});
}, []);
@@ -31,7 +33,7 @@ const Console = (props) => {
let interval = setInterval(() => {
metadata.overview().then(resp => {
if(mounted) {
- setOverview(resp.data);
+ setOverview(resp);
}
})
}, 1000);
diff --git a/ui/src/console/detail/access/AccessDetail.js b/ui/src/console/detail/access/AccessDetail.js
index 455fa016..0d2a031e 100644
--- a/ui/src/console/detail/access/AccessDetail.js
+++ b/ui/src/console/detail/access/AccessDetail.js
@@ -1,17 +1,18 @@
import {mdiAccessPointNetwork} from "@mdi/js";
import Icon from "@mdi/react";
import {useEffect, useState} from "react";
-import {getFrontendDetail} from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import {Tab, Tabs} from "react-bootstrap";
import DetailTab from "./DetailTab";
const AccessDetail = (props) => {
const [detail, setDetail] = useState({});
+ const metadata = new MetadataApi()
useEffect(() => {
- getFrontendDetail(props.selection.feId)
+ metadata.getFrontendDetail(props.selection.feId)
.then(resp => {
- setDetail(resp.data);
+ setDetail(resp);
});
}, [props.selection]);
diff --git a/ui/src/console/detail/account/EnvironmentsTab.js b/ui/src/console/detail/account/EnvironmentsTab.js
index 4141365b..a3b76955 100644
--- a/ui/src/console/detail/account/EnvironmentsTab.js
+++ b/ui/src/console/detail/account/EnvironmentsTab.js
@@ -1,15 +1,16 @@
import React, {useEffect, useState} from "react";
-import * as metadata from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import {Area, AreaChart, ResponsiveContainer} from "recharts";
import DataTable from "react-data-table-component";
const EnvironmentsTab = (props) => {
const [detail, setDetail] = useState([]);
+ const metadata = new MetadataApi()
useEffect(() => {
metadata.getAccountDetail()
.then(resp => {
- setDetail(resp.data);
+ setDetail(resp);
});
}, [props.selection]);
@@ -19,7 +20,7 @@ const EnvironmentsTab = (props) => {
metadata.getAccountDetail()
.then(resp => {
if(mounted) {
- setDetail(resp.data);
+ setDetail(resp);
}
});
}, 5000);
diff --git a/ui/src/console/detail/account/MetricsTab.js b/ui/src/console/detail/account/MetricsTab.js
index fdcbab7d..fd6ca610 100644
--- a/ui/src/console/detail/account/MetricsTab.js
+++ b/ui/src/console/detail/account/MetricsTab.js
@@ -1,25 +1,26 @@
import React, {useEffect, useState} from "react";
import {buildMetrics} from "../../metrics/util";
-import * as metadata from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import MetricsView from "../../metrics/MetricsView";
const MetricsTab = () => {
const [metrics30, setMetrics30] = useState(buildMetrics([]));
const [metrics7, setMetrics7] = useState(buildMetrics([]));
const [metrics1, setMetrics1] = useState(buildMetrics([]));
+ const metadata = new MetadataApi()
useEffect(() => {
metadata.getAccountMetrics()
.then(resp => {
- setMetrics30(buildMetrics(resp.data));
+ setMetrics30(buildMetrics(resp));
});
metadata.getAccountMetrics({duration: "168h"})
.then(resp => {
- setMetrics7(buildMetrics(resp.data));
+ setMetrics7(buildMetrics(resp));
});
metadata.getAccountMetrics({duration: "24h"})
.then(resp => {
- setMetrics1(buildMetrics(resp.data));
+ setMetrics1(buildMetrics(resp));
});
}, []);
@@ -29,16 +30,16 @@ const MetricsTab = () => {
metadata.getAccountMetrics()
.then(resp => {
if(mounted) {
- setMetrics30(buildMetrics(resp.data));
+ setMetrics30(buildMetrics(resp));
}
});
metadata.getAccountMetrics({duration: "168h"})
.then(resp => {
- setMetrics7(buildMetrics(resp.data));
+ setMetrics7(buildMetrics(resp));
});
metadata.getAccountMetrics({duration: "24h"})
.then(resp => {
- setMetrics1(buildMetrics(resp.data));
+ setMetrics1(buildMetrics(resp));
});
}, 5000);
return () => {
diff --git a/ui/src/console/detail/environment/ActionsTab.js b/ui/src/console/detail/environment/ActionsTab.js
index 4a242829..46d3fad6 100644
--- a/ui/src/console/detail/environment/ActionsTab.js
+++ b/ui/src/console/detail/environment/ActionsTab.js
@@ -1,7 +1,10 @@
import {Button} from "react-bootstrap";
-import * as environment from "../../../api/environment";
+import {EnvironmentApi} from "../../../api/src";
const ActionsTab = (props) => {
+
+ const environment = new EnvironmentApi()
+
const deleteEnvironment = (envZId) => {
if(window.confirm("Really delete environment '" + envZId + "' and all shares within?")) {
environment.disable({body: {identity: envZId}}).then(resp => {
diff --git a/ui/src/console/detail/environment/EnvironmentDetail.js b/ui/src/console/detail/environment/EnvironmentDetail.js
index 818a4d97..466b6674 100644
--- a/ui/src/console/detail/environment/EnvironmentDetail.js
+++ b/ui/src/console/detail/environment/EnvironmentDetail.js
@@ -3,18 +3,19 @@ import SharesTab from "./SharesTab";
import {useEffect, useState} from "react";
import Icon from "@mdi/react";
import {mdiConsoleNetwork} from "@mdi/js";
-import {getEnvironmentDetail} from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import DetailTab from "./DetailTab";
import ActionsTab from "./ActionsTab";
import MetricsTab from "./MetricsTab";
const EnvironmentDetail = (props) => {
const [detail, setDetail] = useState({});
+ const metadata = new MetadataApi()
useEffect(() => {
- getEnvironmentDetail(props.selection.envZId)
+ metadata.getEnvironmentDetail(props.selection.envZId)
.then(resp => {
- setDetail(resp.data);
+ setDetail(resp);
});
}, [props.selection]);
diff --git a/ui/src/console/detail/environment/MetricsTab.js b/ui/src/console/detail/environment/MetricsTab.js
index 4e46dd6f..91024f65 100644
--- a/ui/src/console/detail/environment/MetricsTab.js
+++ b/ui/src/console/detail/environment/MetricsTab.js
@@ -1,25 +1,26 @@
import React, {useEffect, useState} from "react";
import {buildMetrics} from "../../metrics/util";
-import * as metadata from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import MetricsView from "../../metrics/MetricsView";
const MetricsTab = (props) => {
const [metrics30, setMetrics30] = useState(buildMetrics([]));
const [metrics7, setMetrics7] = useState(buildMetrics([]));
const [metrics1, setMetrics1] = useState(buildMetrics([]));
+ const metadata = new MetadataApi()
useEffect(() => {
metadata.getEnvironmentMetrics(props.selection.envZId)
.then(resp => {
- setMetrics30(buildMetrics(resp.data));
+ setMetrics30(buildMetrics(resp));
});
metadata.getEnvironmentMetrics(props.selection.envZId, {duration: "168h"})
.then(resp => {
- setMetrics7(buildMetrics(resp.data));
+ setMetrics7(buildMetrics(resp));
});
metadata.getEnvironmentMetrics(props.selection.envZId, {duration: "24h"})
.then(resp => {
- setMetrics1(buildMetrics(resp.data));
+ setMetrics1(buildMetrics(resp));
});
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [props.selection.id]);
@@ -30,16 +31,16 @@ const MetricsTab = (props) => {
metadata.getEnvironmentMetrics(props.selection.envZId)
.then(resp => {
if(mounted) {
- setMetrics30(buildMetrics(resp.data));
+ setMetrics30(buildMetrics(resp));
}
});
metadata.getEnvironmentMetrics(props.selection.envZId, {duration: "168h"})
.then(resp => {
- setMetrics7(buildMetrics(resp.data));
+ setMetrics7(buildMetrics(resp));
});
metadata.getEnvironmentMetrics(props.selection.envZId, {duration: "24h"})
.then(resp => {
- setMetrics1(buildMetrics(resp.data));
+ setMetrics1(buildMetrics(resp));
});
}, 5000);
return () => {
diff --git a/ui/src/console/detail/environment/SharesTab.js b/ui/src/console/detail/environment/SharesTab.js
index 301ed8a3..d5f89fd5 100644
--- a/ui/src/console/detail/environment/SharesTab.js
+++ b/ui/src/console/detail/environment/SharesTab.js
@@ -1,15 +1,16 @@
-import * as metadata from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import React, {useEffect, useState} from "react";
import DataTable from 'react-data-table-component';
import {Area, AreaChart, ResponsiveContainer} from "recharts";
const SharesTab = (props) => {
const [detail, setDetail] = useState({});
+ const metadata = new MetadataApi()
useEffect(() => {
metadata.getEnvironmentDetail(props.selection.envZId)
.then(resp => {
- setDetail(resp.data);
+ setDetail(resp);
});
}, [props.selection]);
@@ -19,7 +20,7 @@ const SharesTab = (props) => {
metadata.getEnvironmentDetail(props.selection.envZId)
.then(resp => {
if(mounted) {
- setDetail(resp.data);
+ setDetail(resp);
}
});
}, 5000);
diff --git a/ui/src/console/detail/share/ActionsTab.js b/ui/src/console/detail/share/ActionsTab.js
index 8d58bcab..b8b91204 100644
--- a/ui/src/console/detail/share/ActionsTab.js
+++ b/ui/src/console/detail/share/ActionsTab.js
@@ -1,7 +1,8 @@
-import * as share from "../../../api/share";
+import {ShareApi} from "../../../api/src";
import {Button} from "react-bootstrap";
const ActionsTab = (props) => {
+ const share = new ShareApi()
const deleteShare = (envZId, shrToken, reserved) => {
console.log(envZId, shrToken, reserved);
if(window.confirm("Really delete share '" + shrToken + "'?")) {
diff --git a/ui/src/console/detail/share/MetricsTab.js b/ui/src/console/detail/share/MetricsTab.js
index b5289eaf..645ac4e9 100644
--- a/ui/src/console/detail/share/MetricsTab.js
+++ b/ui/src/console/detail/share/MetricsTab.js
@@ -1,26 +1,27 @@
import React, {useEffect, useState} from "react";
import {buildMetrics} from "../../metrics/util";
-import * as metadata from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import MetricsView from "../../metrics/MetricsView";
const MetricsTab = (props) => {
const [metrics30, setMetrics30] = useState(buildMetrics([]));
const [metrics7, setMetrics7] = useState(buildMetrics([]));
const [metrics1, setMetrics1] = useState(buildMetrics([]));
+ const metadata = new MetadataApi()
useEffect(() => {
if(props.share.token) {
metadata.getShareMetrics(props.share.token)
.then(resp => {
- setMetrics30(buildMetrics(resp.data));
+ setMetrics30(buildMetrics(resp));
});
metadata.getShareMetrics(props.share.token, {duration: "168h"})
.then(resp => {
- setMetrics7(buildMetrics(resp.data));
+ setMetrics7(buildMetrics(resp));
});
metadata.getShareMetrics(props.share.token, {duration: "24h"})
.then(resp => {
- setMetrics1(buildMetrics(resp.data));
+ setMetrics1(buildMetrics(resp));
});
}
}, [props.share]);
@@ -32,19 +33,19 @@ const MetricsTab = (props) => {
metadata.getShareMetrics(props.share.token)
.then(resp => {
if(mounted) {
- setMetrics30(buildMetrics(resp.data));
+ setMetrics30(buildMetrics(resp));
}
});
metadata.getShareMetrics(props.share.token, {duration: "168h"})
.then(resp => {
if(mounted) {
- setMetrics7(buildMetrics(resp.data));
+ setMetrics7(buildMetrics(resp));
}
});
metadata.getShareMetrics(props.share.token, {duration: "24h"})
.then(resp => {
if(mounted) {
- setMetrics1(buildMetrics(resp.data));
+ setMetrics1(buildMetrics(resp));
}
});
}
diff --git a/ui/src/console/detail/share/ShareDetail.js b/ui/src/console/detail/share/ShareDetail.js
index d2c56d5a..526590d8 100644
--- a/ui/src/console/detail/share/ShareDetail.js
+++ b/ui/src/console/detail/share/ShareDetail.js
@@ -1,4 +1,4 @@
-import * as metadata from "../../../api/metadata";
+import {MetadataApi} from "../../../api/src";
import React, {useEffect, useState} from "react";
import {mdiShareVariant} from "@mdi/js";
import Icon from "@mdi/react";
@@ -12,10 +12,12 @@ import MetricsTab from "./MetricsTab";
const ShareDetail = (props) => {
const [detail, setDetail] = useState({});
+ const metadata = new MetadataApi()
+
useEffect(() => {
metadata.getShareDetail(props.selection.shrToken)
.then(resp => {
- let detail = resp.data;
+ let detail = resp;
detail.envZId = props.selection.envZId;
setDetail(detail);
});
@@ -27,7 +29,7 @@ const ShareDetail = (props) => {
metadata.getShareDetail(props.selection.shrToken)
.then(resp => {
if(mounted) {
- let detail = resp.data;
+ let detail = resp;
detail.envZId = props.selection.envZId;
setDetail(detail);
}
diff --git a/ui/src/console/login/Login.js b/ui/src/console/login/Login.js
index 3c380899..a107197f 100644
--- a/ui/src/console/login/Login.js
+++ b/ui/src/console/login/Login.js
@@ -1,6 +1,5 @@
import {useEffect, useState} from "react";
-import * as account from '../../api/account';
-import * as metadata from "../../api/metadata"
+import {MetadataApi, AccountApi} from "../../api/src"
import {Button, Container, Form, Row} from "react-bootstrap";
import { Link } from "react-router-dom";
@@ -10,14 +9,17 @@ const Login = (props) => {
const [message, setMessage] = useState();
const [tou, setTou] = useState();
+ const metadata = new MetadataApi()
+ const account = new AccountApi()
+
const errorMessage =