diff --git a/commafeed-client/package-lock.json b/commafeed-client/package-lock.json index 9d03be6f..81da8608 100644 --- a/commafeed-client/package-lock.json +++ b/commafeed-client/package-lock.json @@ -39,7 +39,7 @@ "react-redux": "^8.0.5", "react-router-dom": "^6.11.2", "react-swipeable": "^7.0.0", - "swagger-ui-react": "^4.18.3", + "swagger-ui-react": "^5.10.5", "throttle-debounce": "^5.0.0", "tinycon": "^0.6.8", "use-local-storage": "^3.0.0", @@ -1976,17 +1976,22 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.5.tgz", - "integrity": "sha512-FRqFlFKNazWYykft5zvzuEl1YyTDGsIRrjV9rvxvYkUC7W/ueBng1X68Xd6uRMzAaJ0xMKn08/wem5YS1lpX8w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.6.tgz", + "integrity": "sha512-Djs/ZTAnpyj0nyg7p1J6oiE/tZ9G2stqAFlLGZynrW+F3k2w2jGK2mLOBxzYIOcZYA89+c3d3wXKpYLcpwcU6w==", "dependencies": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.11" + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/runtime-corejs3/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, "node_modules/@babel/template": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", @@ -2036,9 +2041,9 @@ } }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==" + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, "node_modules/@emotion/babel-plugin": { "version": "11.11.0", @@ -2589,6 +2594,14 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@floating-ui/core": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.6.tgz", @@ -3318,31 +3331,32 @@ "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==" }, "node_modules/@swagger-api/apidom-ast": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.69.3.tgz", - "integrity": "sha512-orGw/gihk7RmorxibwalthDS58B7QaEBd31fK+/aFx6QqEO1tEO35F850BiL2B5C8TaK8C2Tey01AZTXCxYmfw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.88.0.tgz", + "integrity": "sha512-Gsp2VRWRrekIvxWRV8dEdigRpxGc0PSM+tB7MC1BJJEMZvKzj+xWcU2QcDJLO2/DgBIRvsvtEX8ZfLWqUubT2A==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2", - "unraw": "=2.0.1" + "@swagger-api/apidom-error": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2", + "unraw": "^3.0.0" } }, "node_modules/@swagger-api/apidom-ast/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-ast/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -3355,33 +3369,34 @@ } }, "node_modules/@swagger-api/apidom-core": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.69.3.tgz", - "integrity": "sha512-EIQiJUuT/V9nGkHOYYFP0QNgAW7Y4QwrQzldDzy9ltcHbOKY3TNh/QzYvO0+HvKSv9W7u7WTMH/kaRaSsaZsGw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.88.0.tgz", + "integrity": "sha512-Zfeww6tphn1eDaAHhECFEULnBspF0u1J2x1a5x7E3LMS7OuyE+/53xOyN71UAakvX1+K+Cw8UBLxR0yGbFEMow==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.69.3", - "@types/ramda": "=0.29.0", - "minim": "=0.23.8", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "short-unique-id": "=4.4.4", - "stampit": "=4.3.2" + "@swagger-api/apidom-ast": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@types/ramda": "~0.29.6", + "minim": "~0.23.8", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "short-unique-id": "^5.0.2", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-core/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-core/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -3393,31 +3408,40 @@ "ramda": ">= 0.29.0" } }, + "node_modules/@swagger-api/apidom-error": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.88.0.tgz", + "integrity": "sha512-RBhk2rlZn/oi916cgwKj+b/ynHHHabAcVzi0T7VY38JbU+6ab8F+JDbUSvFK42vmCF3/FSnpf7CnIm6TEBuaQA==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7" + } + }, "node_modules/@swagger-api/apidom-json-pointer": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.69.3.tgz", - "integrity": "sha512-VYXqLY8f2fkaS/d+vVQEMEOEZRXAgGm5tCMx4C7uaU+wC+SKPH/zTh+qElbkaXQr4nfLjbphBsHh31doCyBEjw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.88.0.tgz", + "integrity": "sha512-wGdKNhA5WGwegJ6spTfPxg9te5dyAUDQLArTa0wesFtpVV5cXg9jVifSCmuFHJBTzBHLF3xyAbJNe4luq8QW9Q==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-json-pointer/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-json-pointer/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -3430,24 +3454,25 @@ } }, "node_modules/@swagger-api/apidom-ns-api-design-systems": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.69.3.tgz", - "integrity": "sha512-oTwIG8LyKnU4/m8BtAOc+X572+nH4gjxITYtw0L8f4a8Iv1b8LHS0KRzG7c/LVUGtMijpv3aBKPV6QvWhjrrtg==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.88.0.tgz", + "integrity": "sha512-JELQajWJOYGAnx7T3k33v8HQlIkmHmgfiCNarHTCV6i1mImJDRTPTYvvyPMWzzyx9JdQR1u47ZFb7b7I33k7vg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-1": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-api-design-systems/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3455,9 +3480,9 @@ } }, "node_modules/@swagger-api/apidom-ns-api-design-systems/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3471,24 +3496,24 @@ } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.69.3.tgz", - "integrity": "sha512-98HgNbZWqPHqf+EyXs/GcAnayA08/mfN7YlXIRRIys+rll4M/1b+ap+BkTnJ+le3Kra7DhIQ8ucQuEJ+Ik1Sxg==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.88.0.tgz", + "integrity": "sha512-80025KRDyRMgHFSZt8LT1S0wVK6VkzMKec0w4u1vrnjcC9lcAWmV1Ojuur6g2afEbn4Avv9bcUb6uPb9U3NEYA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-json-schema-draft-7": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-json-schema-draft-7": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3496,9 +3521,9 @@ } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3512,31 +3537,32 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.69.3.tgz", - "integrity": "sha512-/tMeoz1IHEblc3OwWC812NQFLITOnexjGVujG5Wvsr9ZnTkRb+0g7CbXuooujwfcEY+++o2+kCUgy4SBQFIIlQ==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.88.0.tgz", + "integrity": "sha512-m0h+HMUTKZ7MNJMflJwXC0ArFgLntENmIg4pqtPKTcA7Qwij8rJjKzGgHvXBe1ahkVc6uGBulIWOT86hpIxWSg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-ast": "^0.88.0", + "@swagger-api/apidom-core": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -3549,24 +3575,25 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.69.3.tgz", - "integrity": "sha512-B/6zPFYW1xE66Uc/jOdZVZMEe0+444heTMlpGJGejTy6pNRxCTOsv+B63QzctJv410dHPxGeMRZMeff9wQPBDA==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.88.0.tgz", + "integrity": "sha512-ow4rcijuw+DX29Kv4kZS7AaeblmpHv4fxDumKrfv2raQbj4YCew0tK+8LEno4ssIjcHCIOUbbxU1rLAJPtqwyA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3574,9 +3601,9 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3590,24 +3617,25 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.69.3.tgz", - "integrity": "sha512-EkgPlKPQZ3XBkbxAFh2lXsLcyIwRikARFD3RlupsKjAHVFbH7cImbPxb+MnjacfwgVreMk34OWuXqjnGZ8lG1Q==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.88.0.tgz", + "integrity": "sha512-YlNb5Z6vDhVJGsSbXBhJLt5pRiV2tf0fBZH1rkBrzX0Zl0TJYD7X4bAkU/FdZsK1eDhvEYVq8VQHJRrwbqCr4g==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-json-schema-draft-6": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@swagger-api/apidom-ns-json-schema-draft-6": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3615,9 +3643,51 @@ } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", + "optional": true, + "engines": { + "node": ">=0.10.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda-adjunct" + }, + "peerDependencies": { + "ramda": ">= 0.29.0" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-2": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-0.88.0.tgz", + "integrity": "sha512-QVay4Kh3Z1KV7UScJezdiIBQiBNAhTitAz2XY4U5kpyiifn0Z/KlokeMBk5mpuwWxFo83PPoB+kCTb/Joa3D7g==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-2/node_modules/ramda": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-2/node_modules/ramda-adjunct": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3631,32 +3701,33 @@ } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.69.3.tgz", - "integrity": "sha512-iScwP+SzX8SJMrgChZbdS60Ode/zXfesNaDA+HkNBLbfSrri4/C5FTB0gfWOG0gCGPq+1K5dHlgLrEgogfAARw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.88.0.tgz", + "integrity": "sha512-RrAe32aDT/EZMEVz1kE3dGp5M2eSFMsciQYGBS+SAadaFe8sTgDeKw5J0rPUhcfcrpUnAXHx3EL+37u5JfPJ2w==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -3669,32 +3740,33 @@ } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.69.3.tgz", - "integrity": "sha512-J+yIsTBTn7rzfj+vaCXRRdOCrL4kxwnS3P/h4lXb82EZnPU/EbJi+C0LK7O24/vXpeBVRr+OpDfnhpospanMJg==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.88.0.tgz", + "integrity": "sha512-RJl74WxWZjiF1iz/7887Lc0hcjS9EZ+IBTzLaZNhr8VYPJG6vkpUV05YOVYUAyY22CMkP4cYtL9pfVni9pYdkA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-0": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-ast": "^0.88.0", + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -3707,24 +3779,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.69.3.tgz", - "integrity": "sha512-y8xOaSaZVphITajH12T1EHLuZB9kw79DTdQRYoMC+BqZQbsPv3/mLWXS1STQU9oR/PZBA9FJcgAFdThaRgi8UA==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.88.0.tgz", + "integrity": "sha512-sq1RY9hhttG0em6lf0Dj5nGIXQjb0Q3wOGIHsFT4d3FdVoPKMtTbtrSJvaYlETzKrjZCT6HtdmTa7CNtrW/1mA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-api-design-systems": "^0.69.3", - "@swagger-api/apidom-parser-adapter-json": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.88.0", + "@swagger-api/apidom-parser-adapter-json": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3732,9 +3804,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3748,24 +3820,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.69.3.tgz", - "integrity": "sha512-zMc+Dy7zl7cT8YduaUEpvLkRDVfZp8jZ1v13VjueX/VhsSXK0DW+OX/Mc8CU1Qx6Gg6tUMKxqmILdXZwxCrh6Q==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.88.0.tgz", + "integrity": "sha512-jeDD+a9Dt+bcgR9AV5NCks02nL4qP6IOeRxtij+jkHkvC70swCS160tUl4D+ID1TWDPJx689weQuVDlIbwBzMg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-api-design-systems": "^0.69.3", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.88.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3773,9 +3845,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3789,24 +3861,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.69.3.tgz", - "integrity": "sha512-BbsBxxZxTMX2rKgVKJtqPoAsER0JvCe1pt3NUBLuQssugvpwaqimIsKC65dwspHFGSn0CVdBKA4n/XhZ3aT7tw==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.88.0.tgz", + "integrity": "sha512-rGze1i5ItUCuaNgy397YKKniQCTAko6Bi3SLSsRXeb+hLU4z3Bwzw/ImEVUqo/uUVNUGNc0tgGcTah0pBfzb1g==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-asyncapi-2": "^0.69.3", - "@swagger-api/apidom-parser-adapter-json": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-json": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3814,9 +3886,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3830,24 +3902,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.69.3.tgz", - "integrity": "sha512-lae39qaKrkls+iVzYuc9CUyCbRl80wNK8iBWriSVETv5IwlVS6wywtTxCqtzcpd5K+m9KqXAlSkd+Z2AS9cWuQ==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.88.0.tgz", + "integrity": "sha512-RqR+vq/P0OkyxvLh1Nvaj88TEwEaNvxCBrkC8BkiS+LM4j4XtxHEFbjisuHCi2ANqvvonNN1ccU1Y1mBJv3D1A==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-asyncapi-2": "^0.69.3", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3855,9 +3927,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3871,27 +3943,28 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-json": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.69.3.tgz", - "integrity": "sha512-Z1CqG9OcV4WVESdQ1D0s5JUa2jeF8hpw4RupMDJ4lRoKTVeIDS5Qb7OOhIGeKpK2DgMep9SN2ULYJdgldPtq/A==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.88.0.tgz", + "integrity": "sha512-JiMOxnYtr7VjyenjdMc9LH6WhgCNH065vROAakTZqZG814J/iM5HoPjdZbm7yyjl0+4OXoDNm6XPIuMxrwAeiA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.69.3", - "@swagger-api/apidom-core": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2", - "tree-sitter": "=0.20.1", - "tree-sitter-json": "=0.20.0", - "web-tree-sitter": "=0.20.7" + "@swagger-api/apidom-ast": "^0.88.0", + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2", + "tree-sitter": "=0.20.4", + "tree-sitter-json": "=0.20.1", + "web-tree-sitter": "=0.20.3" } }, "node_modules/@swagger-api/apidom-parser-adapter-json/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3899,9 +3972,50 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-json/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", + "optional": true, + "engines": { + "node": ">=0.10.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda-adjunct" + }, + "peerDependencies": { + "ramda": ">= 0.29.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-0.88.0.tgz", + "integrity": "sha512-RpzHNSpvN1ieAeyyKvK24H3vl0OiSfaPbRYTN6BRthab1dPC5vSjuP7ARwY576vldtUTQX8ltBfuRlB2G0NZXQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-json": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2/node_modules/ramda": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2/node_modules/ramda-adjunct": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3915,24 +4029,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.69.3.tgz", - "integrity": "sha512-f5Xby5hAGy4VujkV74UA61UkSVRsNzhcBaW0IIapVVepFEclfU7J3dGvfkMIXv5Bg0infGeKddIUZUY61JN88w==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.88.0.tgz", + "integrity": "sha512-6h01b3QUJ/QNQ8ngNl+edQma3puL2DXIa5rW0VqVOi2e4x0hKbgYdsxx+lE8IV6SVl6t/I+nWKXDjWgZR0GOdA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-0": "^0.69.3", - "@swagger-api/apidom-parser-adapter-json": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.88.0", + "@swagger-api/apidom-parser-adapter-json": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3940,9 +4054,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3956,24 +4070,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.69.3.tgz", - "integrity": "sha512-Yq3k/d89Nmf+ePD5EIIkhXNti2Ru5XMqOXDbNQGKHH00e252Q+c+QF2A7Pgdy0xP3oA9OoYTGHLtL0ncmzYB9A==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.88.0.tgz", + "integrity": "sha512-r7GKkldiHbL6YAvE6ZUVSW2Sfy70kRHV86esvOj8rQxy2tf7WRsgscjXGY5Gq4BpPWo7lMg31LpBmt5Ahqrrtw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-1": "^0.69.3", - "@swagger-api/apidom-parser-adapter-json": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.88.0", + "@swagger-api/apidom-parser-adapter-json": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -3981,9 +4095,50 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", + "optional": true, + "engines": { + "node": ">=0.10.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda-adjunct" + }, + "peerDependencies": { + "ramda": ">= 0.29.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2": { + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-0.88.0.tgz", + "integrity": "sha512-mFAzDtv9y4oqvaLsKVsJYstpH/6UzKAm2gD4ahj/w5/Gf7lG/3bpSvhzefErUbo8wXG1HcmP2v9AWKrjutyCwg==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2/node_modules/ramda": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2/node_modules/ramda-adjunct": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -3997,24 +4152,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.69.3.tgz", - "integrity": "sha512-X4Qtg/0n0l2leWBBZC8+7Kj6eP3pqB4WCWlacoWuldz8WBDBuffTBmTV/qe6gKdI4DW6mX5ovxDf+tz2tr0ppQ==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.88.0.tgz", + "integrity": "sha512-1RJ5V9QklKV40N/Q8UrfqjVddynjvqi318lYusCLzFOM13cRgGZKKAztasabSEaI886wiV3rwR+EcH1eH+okQg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-0": "^0.69.3", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.88.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -4022,9 +4177,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -4038,24 +4193,24 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.69.3.tgz", - "integrity": "sha512-ZW/2T92HZT2RQOPW1VOa78VyDYD5wwR9EGNKXBsfMCnl0zVHwhwwkn/GgsYS0VDk56t43ww5DHM976q4ukF6Ew==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.88.0.tgz", + "integrity": "sha512-5JFGJgAAPrAPLuiGzMK9uRUqulO7pORlSslptfWhfTS68ES1X2TCODhFoH0LBCz1xTd5KhJn/7tRNlrPns0+ow==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-1": "^0.69.3", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0" + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.88.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -4063,9 +4218,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -4079,27 +4234,28 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.69.3.tgz", - "integrity": "sha512-HJ/OiXnVoUshwKrfaHDq4LfKeKxBsa6Bmo8NVdSZiRfeA1Y/fAx9mWW5xSzTADxmc6yA2MevnfIoq7W0NX6SSQ==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.88.0.tgz", + "integrity": "sha512-MGhcLYecAAp3hIx8pKd8QWzDjP9nLF/iM39BLAoDgt4gPduNJDMVtuHJGvFT75MOjWTuLgc6gfYK7VCZhjrmvg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.69.3", - "@swagger-api/apidom-core": "^0.69.3", - "@types/ramda": "=0.29.0", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2", - "tree-sitter": "=0.20.1", + "@swagger-api/apidom-ast": "^0.88.0", + "@swagger-api/apidom-core": "^0.88.0", + "@swagger-api/apidom-error": "^0.88.0", + "@types/ramda": "~0.29.6", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2", + "tree-sitter": "=0.20.4", "tree-sitter-yaml": "=0.5.0", - "web-tree-sitter": "=0.20.7" + "web-tree-sitter": "=0.20.3" } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "optional": true, "funding": { "type": "opencollective", @@ -4107,9 +4263,9 @@ } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "optional": true, "engines": { "node": ">=0.10.3" @@ -4123,45 +4279,39 @@ } }, "node_modules/@swagger-api/apidom-reference": { - "version": "0.69.3", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.69.3.tgz", - "integrity": "sha512-dimoVsW4COR4TUTgOqTnXSZAIdYOepIudWOvca2fGOcXg85eBMS4xJlNHx1095Fm664y5y8DVxIYe1oLu9gjVA==", + "version": "0.88.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.88.0.tgz", + "integrity": "sha512-rNM8j3JAcCWqNxnxFLm8mqqUT6usLXOU3fTrySZhqch2g1nOkZ0wPjhTV87VrovK/rtEdqLHCBwvfluyrxYXEg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.69.3", - "@types/ramda": "=0.29.0", - "axios": "=1.3.6", - "minimatch": "=7.4.3", - "process": "=0.11.10", - "ramda": "=0.29.0", - "ramda-adjunct": "=4.0.0", - "stampit": "=4.3.2" + "@swagger-api/apidom-core": "^0.88.0", + "@types/ramda": "~0.29.6", + "axios": "^1.4.0", + "minimatch": "^7.4.3", + "process": "^0.11.10", + "ramda": "~0.29.1", + "ramda-adjunct": "^4.1.1", + "stampit": "^4.3.2" }, "optionalDependencies": { - "@swagger-api/apidom-json-pointer": "^0.69.3", - "@swagger-api/apidom-ns-asyncapi-2": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-0": "^0.69.3", - "@swagger-api/apidom-ns-openapi-3-1": "^0.69.3", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.69.3", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.69.3", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.69.3", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.69.3", - "@swagger-api/apidom-parser-adapter-json": "^0.69.3", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.69.3", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.69.3", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.69.3", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.69.3", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.69.3" - } - }, - "node_modules/@swagger-api/apidom-reference/node_modules/axios": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", - "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "@swagger-api/apidom-error": "^0.88.0", + "@swagger-api/apidom-json-pointer": "^0.88.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.88.0", + "@swagger-api/apidom-ns-openapi-2": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.88.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.88.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.88.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.88.0", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-json": "^0.88.0", + "@swagger-api/apidom-parser-adapter-openapi-json-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.88.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.88.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^0.88.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.88.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.88.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.88.0" } }, "node_modules/@swagger-api/apidom-reference/node_modules/brace-expansion": { @@ -4173,9 +4323,9 @@ } }, "node_modules/@swagger-api/apidom-reference/node_modules/minimatch": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.3.tgz", - "integrity": "sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4187,18 +4337,18 @@ } }, "node_modules/@swagger-api/apidom-reference/node_modules/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", + "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" } }, "node_modules/@swagger-api/apidom-reference/node_modules/ramda-adjunct": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.0.0.tgz", - "integrity": "sha512-W/NiJAlZdwZ/iUkWEQQgRdH5Szqqet1WoVH9cdqDVjFbVaZHuJfJRvsxqHhvq6tZse+yVbFatLDLdVa30wBlGQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-4.1.1.tgz", + "integrity": "sha512-BnCGsZybQZMDGram9y7RiryoRHS5uwx8YeGuUeDKuZuvK38XO6JJfmK85BwRWAKFA6pZ5nZBO/HBFtExVaf31w==", "engines": { "node": ">=0.10.3" }, @@ -4313,11 +4463,11 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/ramda": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.0.tgz", - "integrity": "sha512-TY9eKsklU43CmAbFJPKDUyBjleZ4EFAkbJeQRF4e8byGkOw1CjDcwg5EGa0Bgf0Kgs9BE9OU4UzQWnQDHnvMtA==", + "version": "0.29.9", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.9.tgz", + "integrity": "sha512-X3yEG6tQCWBcUAql+RPC/O1Hm9BSU+MXu2wJnCETuAgUlrEDwTA1kIOdEEE4YXDtf0zfQLHa9CCE7WYp9kqPIQ==", "dependencies": { - "types-ramda": "^0.29.1" + "types-ramda": "^0.29.6" } }, "node_modules/@types/react": { @@ -5297,7 +5447,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -5329,58 +5479,6 @@ "node": ">= 8" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "optional": true - }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "optional": true - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -5802,12 +5900,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5955,9 +6054,18 @@ "optional": true }, "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } }, "node_modules/classnames": { "version": "2.3.2", @@ -6040,15 +6148,6 @@ "node": ">=6" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -6166,21 +6265,15 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true - }, "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -6207,21 +6300,15 @@ } }, "node_modules/core-js-pure": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.2.tgz", - "integrity": "sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==", + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.34.0.tgz", + "integrity": "sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg==", "hasInstallScript": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "optional": true - }, "node_modules/cosmiconfig": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", @@ -6239,19 +6326,10 @@ "url": "https://github.com/sponsors/d-fischer" } }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -6328,15 +6406,18 @@ } }, "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "optional": true, "dependencies": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/deep-eql": { @@ -6414,6 +6495,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -6447,22 +6541,13 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, "node_modules/detect-node-es": { @@ -6504,9 +6589,9 @@ } }, "node_modules/dompurify": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.2.tgz", - "integrity": "sha512-B8c6JdiEpxAKnd8Dm++QQxJL4lfuc757scZtcapj6qjTjrQzyq5iAyznLKVvK+77eYNiFblHBlt7MM0fOeqoKw==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz", + "integrity": "sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==" }, "node_modules/drange": { "version": "1.1.1", @@ -7556,11 +7641,6 @@ "node": ">= 6" } }, - "node_modules/form-data-encoder": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.9.0.tgz", - "integrity": "sha512-rahaRMkN8P8d/tgK/BLPX+WBVM27NbvdXBxqQujBtkDAIFspaRqN7Od7lfdGQA6KAD+f82fYCLBq1ipvcu8qLw==" - }, "node_modules/format": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", @@ -7569,18 +7649,6 @@ "node": ">=0.4.x" } }, - "node_modules/formdata-node": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", - "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", - "dependencies": { - "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.3" - }, - "engines": { - "node": ">= 12.20" - } - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -7621,9 +7689,12 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.5", @@ -7652,69 +7723,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "optional": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "optional": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "optional": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "optional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -7743,13 +7751,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7870,7 +7879,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -7927,7 +7935,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -7939,7 +7946,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -7973,11 +7979,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "optional": true + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/hast-util-parse-selector": { "version": "2.2.5", @@ -8291,17 +8302,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", @@ -8364,7 +8364,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -8606,8 +8606,7 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/isexe": { "version": "2.0.0", @@ -8699,6 +8698,23 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/json-stable-stringify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz", + "integrity": "sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA==", + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -8734,6 +8750,14 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", @@ -8990,12 +9014,12 @@ } }, "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "optional": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9077,9 +9101,9 @@ "dev": true }, "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, "node_modules/nanoid": { @@ -9118,29 +9142,56 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, "node_modules/node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", + "version": "3.52.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", + "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", "optional": true, "dependencies": { - "semver": "^5.4.1" + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/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==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/node-abi/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/node-abi/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -9159,23 +9210,20 @@ "node": ">=10.5.0" } }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "node_modules/node-fetch-commonjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch-commonjs/-/node-fetch-commonjs-3.3.2.tgz", + "integrity": "sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==", "dependencies": { - "whatwg-url": "^5.0.0" + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" }, "engines": { - "node": "4.x || >=6.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, "node_modules/node-releases": { @@ -9193,27 +9241,6 @@ "node": ">=0.10.0" } }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "optional": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -9250,7 +9277,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, "engines": { "node": ">= 0.4" } @@ -9507,46 +9533,43 @@ } }, "node_modules/patch-package": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.5.1.tgz", - "integrity": "sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", "dependencies": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^4.1.2", - "cross-spawn": "^6.0.5", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", "find-yarn-workspace-root": "^2.0.0", "fs-extra": "^9.0.0", - "is-ci": "^2.0.0", + "json-stable-stringify": "^1.0.2", "klaw-sync": "^6.0.0", "minimist": "^1.2.6", "open": "^7.4.2", "rimraf": "^2.6.3", - "semver": "^5.6.0", + "semver": "^7.5.3", "slash": "^2.0.0", "tmp": "^0.0.33", - "yaml": "^1.10.2" + "yaml": "^2.2.2" }, "bin": { "patch-package": "index.js" }, "engines": { - "node": ">=10", + "node": ">=14", "npm": ">5" } }, - "node_modules/patch-package/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/patch-package/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": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4.8" + "node": ">=10" } }, "node_modules/patch-package/node_modules/open": { @@ -9564,14 +9587,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/patch-package/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "engines": { - "node": ">=4" - } - }, "node_modules/patch-package/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -9584,30 +9599,17 @@ } }, "node_modules/patch-package/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/patch-package/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "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": { - "shebang-regex": "^1.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/patch-package/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/patch-package/node_modules/slash": { @@ -9618,15 +9620,17 @@ "node": ">=6" } }, - "node_modules/patch-package/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "node_modules/patch-package/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/patch-package/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" } }, "node_modules/path-exists": { @@ -9650,7 +9654,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "engines": { "node": ">=8" } @@ -9819,22 +9822,21 @@ } }, "node_modules/prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "optional": true, "dependencies": { - "detect-libc": "^1.0.3", + "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", + "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", - "simple-get": "^3.0.3", + "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, @@ -9842,7 +9844,7 @@ "prebuild-install": "bin.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/prelude-ls": { @@ -9926,12 +9928,6 @@ "node": ">= 0.6.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "optional": true - }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -9994,9 +9990,9 @@ } }, "node_modules/qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "dependencies": { "side-channel": "^1.0.4" }, @@ -10007,15 +10003,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -10238,9 +10225,9 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-redux": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", - "integrity": "sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", "dependencies": { "@babel/runtime": "^7.12.1", "@types/hoist-non-react-statics": "^3.3.1", @@ -10255,7 +10242,7 @@ "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0", "react-native": ">=0.59", - "redux": "^4" + "redux": "^4 || ^5.0.0-beta.0" }, "peerDependenciesMeta": { "@types/react": { @@ -10910,11 +10897,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/sha.js": { "version": "2.4.11", @@ -10932,7 +10927,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10944,15 +10938,14 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "engines": { "node": ">=8" } }, "node_modules/short-unique-id": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-4.4.4.tgz", - "integrity": "sha512-oLF1NCmtbiTWl2SqdXZQbo5KM1b7axdp0RgQLq8qCBBLoq+o3A5wmLrNM6bZIh54/a8BJ3l69kTXuxwZ+XCYuw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", "bin": { "short-unique-id": "bin/short-unique-id", "suid": "bin/short-unique-id" @@ -10981,7 +10974,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "devOptional": true + "dev": true }, "node_modules/simple-concat": { "version": "1.0.1", @@ -11004,12 +10997,26 @@ "optional": true }, "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "optional": true, "dependencies": { - "decompress-response": "^4.2.0", + "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } @@ -11107,7 +11114,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "devOptional": true, + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -11121,7 +11128,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "devOptional": true + "dev": true }, "node_modules/string.prototype.matchall": { "version": "4.0.8", @@ -11191,7 +11198,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11260,47 +11267,46 @@ } }, "node_modules/swagger-client": { - "version": "3.19.7", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.19.7.tgz", - "integrity": "sha512-5U4+tksrzVODZaLTtivzS9be6u7rX5ZSWFKDIYWsy8HCwt9FH1ANrrGpY1wDHydpOeaySbxMjMaqEM9cGWxOuQ==", + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.24.6.tgz", + "integrity": "sha512-vgolnwLjsLCLe3mA9yOuXqmslVzxRpjz0fTBWwPtDGvYSU8FMVra0FGevw+N2OQ80UE1rOqgv4Te0AfvzMyR8g==", "dependencies": { - "@babel/runtime-corejs3": "^7.20.13", - "@swagger-api/apidom-core": ">=0.69.3 <1.0.0", - "@swagger-api/apidom-json-pointer": ">=0.69.3 <1.0.0", - "@swagger-api/apidom-ns-openapi-3-1": ">=0.69.3 <1.0.0", - "@swagger-api/apidom-reference": ">=0.69.3 <1.0.0", - "cookie": "~0.5.0", - "cross-fetch": "^3.1.5", + "@babel/runtime-corejs3": "^7.22.15", + "@swagger-api/apidom-core": ">=0.83.0 <1.0.0", + "@swagger-api/apidom-error": ">=0.83.0 <1.0.0", + "@swagger-api/apidom-json-pointer": ">=0.83.0 <1.0.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=0.83.0 <1.0.0", + "@swagger-api/apidom-reference": ">=0.83.0 <1.0.0", + "cookie": "~0.6.0", "deepmerge": "~4.3.0", "fast-json-patch": "^3.0.0-1", - "form-data-encoder": "^1.4.3", - "formdata-node": "^4.0.0", "is-plain-object": "^5.0.0", "js-yaml": "^4.1.0", - "lodash": "^4.17.21", + "node-abort-controller": "^3.1.1", + "node-fetch-commonjs": "^3.3.1", "qs": "^6.10.2", "traverse": "~0.6.6", - "url": "~0.11.0" + "undici": "^5.24.0" } }, "node_modules/swagger-ui-react": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/swagger-ui-react/-/swagger-ui-react-4.18.3.tgz", - "integrity": "sha512-aOA/Ty1hKa5gXxWm+mqM+OQTz7VhGdwy4BGSwpy5iAm3oeacgpGJqOr6ySdqgV84KwzRAmW+5C5hK4Ss6xmODw==", + "version": "5.10.5", + "resolved": "https://registry.npmjs.org/swagger-ui-react/-/swagger-ui-react-5.10.5.tgz", + "integrity": "sha512-uBQLku4j3L1NC4/xE3HTgz1EcFisBphh8AnGqbj9LMxeGGcpKOlx/ZDigRAeVXWr9jOnZZbeGBzMe4NVHxPZrQ==", "dependencies": { - "@babel/runtime-corejs3": "^7.18.9", - "@braintree/sanitize-url": "=6.0.2", + "@babel/runtime-corejs3": "^7.23.5", + "@braintree/sanitize-url": "=6.0.4", "base64-js": "^1.5.1", "classnames": "^2.3.1", "css.escape": "1.5.1", "deep-extend": "0.6.0", - "dompurify": "=3.0.2", + "dompurify": "=3.0.6", "ieee754": "^1.2.1", "immutable": "^3.x.x", "js-file-download": "^0.4.12", "js-yaml": "=4.1.0", "lodash": "^4.17.21", - "patch-package": "^6.5.0", + "patch-package": "^8.0.0", "prop-types": "^15.8.1", "randexp": "^0.5.3", "randombytes": "^2.1.0", @@ -11309,7 +11315,7 @@ "react-immutable-proptypes": "2.2.0", "react-immutable-pure-component": "^2.2.0", "react-inspector": "^6.0.1", - "react-redux": "^8.0.5", + "react-redux": "^8.1.3", "react-syntax-highlighter": "^15.5.0", "redux": "^4.1.2", "redux-immutable": "^4.0.0", @@ -11317,8 +11323,8 @@ "reselect": "^4.1.8", "serialize-error": "^8.1.0", "sha.js": "^2.4.11", - "swagger-client": "^3.19.6", - "url-parse": "^1.5.8", + "swagger-client": "^3.24.6", + "url-parse": "^1.5.10", "xml": "=1.0.1", "xml-but-prettier": "^1.0.1", "zenscroll": "^4.0.2" @@ -11454,11 +11460,6 @@ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "node_modules/traverse": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", @@ -11468,24 +11469,24 @@ } }, "node_modules/tree-sitter": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.20.1.tgz", - "integrity": "sha512-Cmb8V0ocamHbgWMVhZIa+78k/7r8VCQ6+ePG8eYEAO7AccwWi06Ct4ATNiI94KwhIkRl0+OwZ42/5nk3GnEMpQ==", + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.20.4.tgz", + "integrity": "sha512-rjfR5dc4knG3jnJNN/giJ9WOoN1zL/kZyrS0ILh+eqq8RNcIbiXA63JsMEgluug0aNvfQvK4BfCErN1vIzvKog==", "hasInstallScript": true, "optional": true, "dependencies": { - "nan": "^2.14.0", - "prebuild-install": "^6.0.1" + "nan": "^2.17.0", + "prebuild-install": "^7.1.1" } }, "node_modules/tree-sitter-json": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.0.tgz", - "integrity": "sha512-PteOLH+Tx6Bz4ZA/d40/DbkiSXXRM/gKahhHI8hQ1lWNfFvdknnz9k3Mz84ol5srRyLboJ8wp8GSkhZ6ht9EGQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.1.tgz", + "integrity": "sha512-482hf7J+aBwhksSw8yWaqI8nyP1DrSwnS4IMBShsnkFWD3SE8oalHnsEik59fEVi3orcTCUtMzSjZx+0Tpa6Vw==", "hasInstallScript": true, "optional": true, "dependencies": { - "nan": "^2.14.1" + "nan": "^2.18.0" } }, "node_modules/tree-sitter-yaml": { @@ -11642,9 +11643,9 @@ } }, "node_modules/types-ramda": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.2.tgz", - "integrity": "sha512-HpLcR0ly2EfXQwG8VSI5ov6ml7PvtT+u+cp+7lZLu7q4nhnPDVW+rUTC1uy/SNs4aAyTUXri5M/LyhgvjEXJDg==", + "version": "0.29.6", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.6.tgz", + "integrity": "sha512-VJoOk1uYNh9ZguGd3eZvqkdhD4hTGtnjRBUx5Zc0U9ftmnCgiWcSj/lsahzKunbiwRje1MxxNkEy1UdcXRCpYw==", "dependencies": { "ts-toolbelt": "^9.6.0" } @@ -11683,6 +11684,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici": { + "version": "5.28.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", + "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -11724,17 +11736,17 @@ } }, "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { "node": ">= 10.0.0" } }, "node_modules/unraw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unraw/-/unraw-2.0.1.tgz", - "integrity": "sha512-tdOvLfRzHolwYcHS6HIX860MkK9LQ4+oLuNwFYL7bpgTEO64PZrcQxkisgwJYCfF8sKiWLwwu1c83DvMkbefIQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unraw/-/unraw-3.0.0.tgz", + "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==" }, "node_modules/update-browserslist-db": { "version": "1.0.11", @@ -11775,15 +11787,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -11793,11 +11796,6 @@ "requires-port": "^1.0.0" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - }, "node_modules/use-callback-ref": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", @@ -12119,24 +12117,19 @@ } }, "node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", - "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", "engines": { - "node": ">= 14" + "node": ">= 8" } }, "node_modules/web-tree-sitter": { - "version": "0.20.7", - "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.7.tgz", - "integrity": "sha512-flC9JJmTII9uAeeYpWF8hxDJ7bfY+leldQryetll8Nv4WgI+MXc6h7TiyAZASWl9uC9TvmfdgOjZn1DAQecb3A==", + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.3.tgz", + "integrity": "sha512-zKGJW9r23y3BcJusbgvnOH2OYAW40MXAOi9bi3Gcc7T4Gms9WWgXF8m6adsJWpGJEhgOzCrfiz1IzKowJWrtYw==", "optional": true }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, "node_modules/websocket-heartbeat-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/websocket-heartbeat-js/-/websocket-heartbeat-js-1.1.2.tgz", @@ -12151,20 +12144,10 @@ "node": ">=6" } }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -12242,15 +12225,6 @@ "node": ">=8" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/commafeed-client/package.json b/commafeed-client/package.json index c7fe211c..4a644d07 100644 --- a/commafeed-client/package.json +++ b/commafeed-client/package.json @@ -45,7 +45,7 @@ "react-redux": "^8.0.5", "react-router-dom": "^6.11.2", "react-swipeable": "^7.0.0", - "swagger-ui-react": "^4.18.3", + "swagger-ui-react": "^5.10.5", "throttle-debounce": "^5.0.0", "tinycon": "^0.6.8", "use-local-storage": "^3.0.0", diff --git a/commafeed-client/src/pages/app/ApiDocumentationPage.tsx b/commafeed-client/src/pages/app/ApiDocumentationPage.tsx index f31617c7..0f7b58b0 100644 --- a/commafeed-client/src/pages/app/ApiDocumentationPage.tsx +++ b/commafeed-client/src/pages/app/ApiDocumentationPage.tsx @@ -6,7 +6,7 @@ function ApiDocumentationPage() { return ( // force white background because swagger is unreadable with dark theme - + ) } diff --git a/commafeed-client/vite.config.ts b/commafeed-client/vite.config.ts index 5c740258..c59b5623 100644 --- a/commafeed-client/vite.config.ts +++ b/commafeed-client/vite.config.ts @@ -54,7 +54,7 @@ export default defineConfig({ "/rest": "http://localhost:8083", "/next": "http://localhost:8083", "/ws": "ws://localhost:8083", - "/swagger": "http://localhost:8083", + "/openapi": "http://localhost:8083", "/custom_css.css": "http://localhost:8083", "/custom_js.js": "http://localhost:8083", }, diff --git a/commafeed-server/pom.xml b/commafeed-server/pom.xml index 1b0bfe53..b63792f7 100644 --- a/commafeed-server/pom.xml +++ b/commafeed-server/pom.xml @@ -124,41 +124,25 @@ - com.github.kongchen + io.swagger.core.v3 swagger-maven-plugin - 3.1.7 + 2.2.19 - - - - com.commafeed.frontend.resource - com.commafeed.frontend.model - com.commafeed.frontend.model.request - - ${project.build.directory}/classes/assets/swagger - /rest - - CommaFeed - ${project.version} - - - - basicAuth - basic - - - - com.commafeed.backend.model.User - - - + ${project.build.directory}/classes/assets/openapi + JSONANDYAML + + com.commafeed.frontend.resource + com.commafeed.frontend.model + com.commafeed.frontend.model.request + + true compile - generate + resolve @@ -307,9 +291,9 @@ - io.swagger + io.swagger.core.v3 swagger-annotations - 1.5.22 + 2.2.19 diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java index 8cab04d1..c360d7cd 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java @@ -4,36 +4,36 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Entry details") +@Schema(description = "Entry details") @Data public class Category implements Serializable { - @ApiModelProperty(value = "category id", required = true) + @Schema(description = "category id", requiredMode = RequiredMode.REQUIRED) private String id; - @ApiModelProperty(value = "parent category id") + @Schema(description = "parent category id") private String parentId; - @ApiModelProperty(value = "parent category name") + @Schema(description = "parent category name") private String parentName; - @ApiModelProperty(value = "category id", required = true) + @Schema(description = "category id", requiredMode = RequiredMode.REQUIRED) private String name; - @ApiModelProperty(value = "category children categories", required = true) + @Schema(description = "category children categories", requiredMode = RequiredMode.REQUIRED) private List children = new ArrayList<>(); - @ApiModelProperty(value = "category feeds", required = true) + @Schema(description = "category feeds", requiredMode = RequiredMode.REQUIRED) private List feeds = new ArrayList<>(); - @ApiModelProperty(value = "whether the category is expanded or collapsed", required = true) + @Schema(description = "whether the category is expanded or collapsed", requiredMode = RequiredMode.REQUIRED) private boolean expanded; - @ApiModelProperty(value = "position of the category in the list", required = true) + @Schema(description = "position of the category in the list", requiredMode = RequiredMode.REQUIRED) private int position; } \ No newline at end of file diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Entries.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Entries.java index a57747ba..9e7d6483 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Entries.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Entries.java @@ -4,45 +4,45 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "List of entries with some metadata") +@Schema(description = "List of entries with some metadata") @Data public class Entries implements Serializable { - @ApiModelProperty(value = "name of the feed or the category requested", required = true) + @Schema(description = "name of the feed or the category requested", requiredMode = RequiredMode.REQUIRED) private String name; - @ApiModelProperty(value = "error or warning message") + @Schema(description = "error or warning message") private String message; - @ApiModelProperty(value = "times the server tried to refresh the feed and failed", required = true) + @Schema(description = "times the server tried to refresh the feed and failed", requiredMode = RequiredMode.REQUIRED) private int errorCount; - @ApiModelProperty(value = "URL of the website, extracted from the feed, only filled if querying for feed entries, not category entries") + @Schema(description = "URL of the website, extracted from the feed, only filled if querying for feed entries, not category entries") private String feedLink; - @ApiModelProperty(value = "list generation timestamp", required = true) + @Schema(description = "list generation timestamp", requiredMode = RequiredMode.REQUIRED) private long timestamp; - @ApiModelProperty(value = "if the query has more elements", required = true) + @Schema(description = "if the query has more elements", requiredMode = RequiredMode.REQUIRED) private boolean hasMore; - @ApiModelProperty(value = "the requested offset") + @Schema(description = "the requested offset") private int offset; - @ApiModelProperty(value = "the requested limit") + @Schema(description = "the requested limit") private int limit; - @ApiModelProperty(value = "list of entries", required = true) + @Schema(description = "list of entries", requiredMode = RequiredMode.REQUIRED) private List entries = new ArrayList<>(); - @ApiModelProperty( - value = "if true, the unread flag was ignored in the request, all entries are returned regardless of their read status", - required = true) + @Schema( + description = "if true, the unread flag was ignored in the request, all entries are returned regardless of their read status", + requiredMode = RequiredMode.REQUIRED) private boolean ignoredReadStatus; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java index 1c35986a..693b177a 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Entry.java @@ -21,88 +21,88 @@ import com.rometools.rome.feed.synd.SyndEnclosureImpl; import com.rometools.rome.feed.synd.SyndEntry; import com.rometools.rome.feed.synd.SyndEntryImpl; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Entry details") +@Schema(description = "Entry details") @Data public class Entry implements Serializable { - @ApiModelProperty(value = "entry id", required = true) + @Schema(description = "entry id", requiredMode = RequiredMode.REQUIRED) private String id; - @ApiModelProperty(value = "entry guid", required = true) + @Schema(description = "entry guid", requiredMode = RequiredMode.REQUIRED) private String guid; - @ApiModelProperty(value = "entry title", required = true) + @Schema(description = "entry title", requiredMode = RequiredMode.REQUIRED) private String title; - @ApiModelProperty(value = "entry content", required = true) + @Schema(description = "entry content", requiredMode = RequiredMode.REQUIRED) private String content; - @ApiModelProperty(value = "comma-separated list of categories") + @Schema(description = "comma-separated list of categories") private String categories; - @ApiModelProperty(value = "whether entry content and title are rtl", required = true) + @Schema(description = "whether entry content and title are rtl", requiredMode = RequiredMode.REQUIRED) private boolean rtl; - @ApiModelProperty(value = "entry author") + @Schema(description = "entry author") private String author; - @ApiModelProperty(value = "entry enclosure url, if any") + @Schema(description = "entry enclosure url, if any") private String enclosureUrl; - @ApiModelProperty(value = "entry enclosure mime type, if any") + @Schema(description = "entry enclosure mime type, if any") private String enclosureType; - @ApiModelProperty(value = "entry media description, if any") + @Schema(description = "entry media description, if any") private String mediaDescription; - @ApiModelProperty(value = "entry media thumbnail url, if any") + @Schema(description = "entry media thumbnail url, if any") private String mediaThumbnailUrl; - @ApiModelProperty(value = "entry media thumbnail width, if any") + @Schema(description = "entry media thumbnail width, if any") private Integer mediaThumbnailWidth; - @ApiModelProperty(value = "entry media thumbnail height, if any") + @Schema(description = "entry media thumbnail height, if any") private Integer mediaThumbnailHeight; - @ApiModelProperty(value = "entry publication date", dataType = "number", required = true) + @Schema(description = "entry publication date", type = "number", requiredMode = RequiredMode.REQUIRED) private Date date; - @ApiModelProperty(value = "entry insertion date in the database", dataType = "number", required = true) + @Schema(description = "entry insertion date in the database", type = "number", requiredMode = RequiredMode.REQUIRED) private Date insertedDate; - @ApiModelProperty(value = "feed id", required = true) + @Schema(description = "feed id", requiredMode = RequiredMode.REQUIRED) private String feedId; - @ApiModelProperty(value = "feed name", required = true) + @Schema(description = "feed name", requiredMode = RequiredMode.REQUIRED) private String feedName; - @ApiModelProperty(value = "this entry's feed url", required = true) + @Schema(description = "this entry's feed url", requiredMode = RequiredMode.REQUIRED) private String feedUrl; - @ApiModelProperty(value = "this entry's website url", required = true) + @Schema(description = "this entry's website url", requiredMode = RequiredMode.REQUIRED) private String feedLink; - @ApiModelProperty(value = "The favicon url to use for this feed", required = true) + @Schema(description = "The favicon url to use for this feed", requiredMode = RequiredMode.REQUIRED) private String iconUrl; - @ApiModelProperty(value = "entry url", required = true) + @Schema(description = "entry url", requiredMode = RequiredMode.REQUIRED) private String url; - @ApiModelProperty(value = "read status", required = true) + @Schema(description = "read status", requiredMode = RequiredMode.REQUIRED) private boolean read; - @ApiModelProperty(value = "starred status", required = true) + @Schema(description = "starred status", requiredMode = RequiredMode.REQUIRED) private boolean starred; - @ApiModelProperty(value = "whether the entry is still markable (old entry statuses are discarded)", required = true) + @Schema(description = "whether the entry is still markable (old entry statuses are discarded)", requiredMode = RequiredMode.REQUIRED) private boolean markable; - @ApiModelProperty(value = "tags", required = true) + @Schema(description = "tags", requiredMode = RequiredMode.REQUIRED) private List tags; public static Entry build(FeedEntryStatus status, boolean proxyImages) { diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/FeedInfo.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/FeedInfo.java index 4983f326..ffc4cca3 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/FeedInfo.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/FeedInfo.java @@ -2,19 +2,19 @@ package com.commafeed.frontend.model; import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Feed details") +@Schema(description = "Feed details") @Data public class FeedInfo implements Serializable { - @ApiModelProperty(value = "url", required = true) + @Schema(description = "url", requiredMode = RequiredMode.REQUIRED) private String url; - @ApiModelProperty(value = "title", required = true) + @Schema(description = "title", requiredMode = RequiredMode.REQUIRED) private String title; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/ServerInfo.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/ServerInfo.java index b305c97c..f28d79d0 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/ServerInfo.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/ServerInfo.java @@ -2,34 +2,34 @@ package com.commafeed.frontend.model; import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Server infos") +@Schema(description = "Server infos") @Data public class ServerInfo implements Serializable { - @ApiModelProperty + @Schema private String announcement; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private String version; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private String gitCommit; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean allowRegistrations; - @ApiModelProperty + @Schema private String googleAnalyticsCode; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean smtpEnabled; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean demoAccountEnabled; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Settings.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Settings.java index 9b442d8a..5b259825 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Settings.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Settings.java @@ -2,76 +2,84 @@ package com.commafeed.frontend.model; import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "User settings") +@Schema(description = "User settings") @Data public class Settings implements Serializable { - @ApiModelProperty(value = "user's preferred language, english if none", required = true) + @Schema(description = "user's preferred language, english if none", requiredMode = RequiredMode.REQUIRED) private String language; - @ApiModelProperty(value = "user reads all entries or unread entries only", allowableValues = "all,unread", required = true) + @Schema( + description = "user reads all entries or unread entries only", + allowableValues = "all,unread", + requiredMode = RequiredMode.REQUIRED) private String readingMode; - @ApiModelProperty(value = "user reads entries in ascending or descending order", allowableValues = "asc,desc", required = true) + @Schema( + description = "user reads entries in ascending or descending order", + allowableValues = "asc,desc", + requiredMode = RequiredMode.REQUIRED) private String readingOrder; - @ApiModelProperty(value = "user wants category and feeds with no unread entries shown", required = true) + @Schema(description = "user wants category and feeds with no unread entries shown", requiredMode = RequiredMode.REQUIRED) private boolean showRead; - @ApiModelProperty(value = "In expanded view, scroll through entries mark them as read", required = true) + @Schema(description = "In expanded view, scroll through entries mark them as read", requiredMode = RequiredMode.REQUIRED) private boolean scrollMarks; - @ApiModelProperty(value = "user's custom css for the website") + @Schema(description = "user's custom css for the website") private String customCss; - @ApiModelProperty(value = "user's custom js for the website") + @Schema(description = "user's custom js for the website") private String customJs; - @ApiModelProperty(value = "user's preferred scroll speed when navigating between entries", required = true) + @Schema(description = "user's preferred scroll speed when navigating between entries", requiredMode = RequiredMode.REQUIRED) private int scrollSpeed; - @ApiModelProperty(value = "always scroll selected entry to the top of the page, even if it fits entirely on screen", required = true) + @Schema( + description = "always scroll selected entry to the top of the page, even if it fits entirely on screen", + requiredMode = RequiredMode.REQUIRED) private boolean alwaysScrollToEntry; - @ApiModelProperty(value = "ask for confirmation when marking all entries as read", required = true) + @Schema(description = "ask for confirmation when marking all entries as read", requiredMode = RequiredMode.REQUIRED) private boolean markAllAsReadConfirmation; - @ApiModelProperty(value = "show commafeed's own context menu on right click", required = true) + @Schema(description = "show commafeed's own context menu on right click", requiredMode = RequiredMode.REQUIRED) private boolean customContextMenu; - @ApiModelProperty(value = "sharing settings", required = true) + @Schema(description = "sharing settings", requiredMode = RequiredMode.REQUIRED) private SharingSettings sharingSettings = new SharingSettings(); - @ApiModel(description = "User sharing settings") + @Schema(description = "User sharing settings") @Data public static class SharingSettings implements Serializable { - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean email; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean gmail; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean facebook; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean twitter; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean tumblr; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean pocket; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean instapaper; - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private boolean buffer; } } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java index 6b49f63d..ce91bee1 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java @@ -8,55 +8,55 @@ import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.FeedCategory; import com.commafeed.backend.model.FeedSubscription; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "User information") +@Schema(description = "User information") @Data public class Subscription implements Serializable { - @ApiModelProperty(value = "subscription id", required = true) + @Schema(description = "subscription id", requiredMode = RequiredMode.REQUIRED) private Long id; - @ApiModelProperty(value = "subscription name", required = true) + @Schema(description = "subscription name", requiredMode = RequiredMode.REQUIRED) private String name; - @ApiModelProperty(value = "error message while fetching the feed") + @Schema(description = "error message while fetching the feed") private String message; - @ApiModelProperty(value = "error count", required = true) + @Schema(description = "error count", requiredMode = RequiredMode.REQUIRED) private int errorCount; - @ApiModelProperty(value = "last time the feed was refreshed", dataType = "number") + @Schema(description = "last time the feed was refreshed", type = "number") private Date lastRefresh; - @ApiModelProperty(value = "next time the feed refresh is planned, null if refresh is already queued", dataType = "number") + @Schema(description = "next time the feed refresh is planned, null if refresh is already queued", type = "number") private Date nextRefresh; - @ApiModelProperty(value = "this subscription's feed url", required = true) + @Schema(description = "this subscription's feed url", requiredMode = RequiredMode.REQUIRED) private String feedUrl; - @ApiModelProperty(value = "this subscription's website url", required = true) + @Schema(description = "this subscription's website url", requiredMode = RequiredMode.REQUIRED) private String feedLink; - @ApiModelProperty(value = "The favicon url to use for this feed", required = true) + @Schema(description = "The favicon url to use for this feed", requiredMode = RequiredMode.REQUIRED) private String iconUrl; - @ApiModelProperty(value = "unread count", required = true) + @Schema(description = "unread count", requiredMode = RequiredMode.REQUIRED) private long unread; - @ApiModelProperty(value = "category id") + @Schema(description = "category id") private String categoryId; - @ApiModelProperty("position of the subscription's in the list") + @Schema(description = "position of the subscription's in the list") private int position; - @ApiModelProperty(value = "date of the newest item", dataType = "number") + @Schema(description = "date of the newest item", type = "number") private Date newestItemTime; - @ApiModelProperty(value = "JEXL string evaluated on new entries to mark them as read if they do not match") + @Schema(description = "JEXL string evaluated on new entries to mark them as read if they do not match") private String filter; public static Subscription build(FeedSubscription subscription, UnreadCount unreadCount) { diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/UnreadCount.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/UnreadCount.java index 72e4b73f..94d743c7 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/UnreadCount.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/UnreadCount.java @@ -3,22 +3,21 @@ package com.commafeed.frontend.model; import java.io.Serializable; import java.util.Date; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Unread count") +@Schema(description = "Unread count") @Data public class UnreadCount implements Serializable { - @ApiModelProperty + @Schema private long feedId; - @ApiModelProperty + @Schema private long unreadCount; - @ApiModelProperty(dataType = "number") + @Schema(type = "number") private Date newestItemTime; public UnreadCount() { diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/UserModel.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/UserModel.java index 7506d197..4bf4a3d7 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/UserModel.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/UserModel.java @@ -3,40 +3,40 @@ package com.commafeed.frontend.model; import java.io.Serializable; import java.util.Date; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "User information") +@Schema(description = "User information") @Data public class UserModel implements Serializable { - @ApiModelProperty(value = "user id", required = true) + @Schema(description = "user id", requiredMode = RequiredMode.REQUIRED) private Long id; - @ApiModelProperty(value = "user name", required = true) + @Schema(description = "user name", requiredMode = RequiredMode.REQUIRED) private String name; - @ApiModelProperty("user email, if any") + @Schema(description = "user email, if any") private String email; - @ApiModelProperty("api key") + @Schema(description = "api key") private String apiKey; - @ApiModelProperty(value = "user password, never returned by the api") + @Schema(description = "user password, never returned by the api") private String password; - @ApiModelProperty(value = "account status", required = true) + @Schema(description = "account status", requiredMode = RequiredMode.REQUIRED) private boolean enabled; - @ApiModelProperty(value = "account creation date", dataType = "number") + @Schema(description = "account creation date", type = "number") private Date created; - @ApiModelProperty(value = "last login date", dataType = "number") + @Schema(description = "last login date", type = "number") private Date lastLogin; - @ApiModelProperty(value = "user is admin", required = true) + @Schema(description = "user is admin", requiredMode = RequiredMode.REQUIRED) private boolean admin; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/AddCategoryRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/AddCategoryRequest.java index 41441a90..a1815d49 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/AddCategoryRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/AddCategoryRequest.java @@ -5,21 +5,21 @@ import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Add Category Request") +@Schema(description = "Add Category Request") @Data public class AddCategoryRequest implements Serializable { - @ApiModelProperty(value = "name", required = true) + @Schema(description = "name", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 128) private String name; - @ApiModelProperty(value = "parent category id, if any") + @Schema(description = "parent category id, if any") @Size(max = 128) private String parentId; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CategoryModificationRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CategoryModificationRequest.java index b76c44ef..99d02c95 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CategoryModificationRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CategoryModificationRequest.java @@ -4,27 +4,27 @@ import java.io.Serializable; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Category modification request") +@Schema(description = "Category modification request") @Data public class CategoryModificationRequest implements Serializable { - @ApiModelProperty(value = "id", required = true) + @Schema(description = "id", requiredMode = RequiredMode.REQUIRED) private Long id; - @ApiModelProperty(value = "new name, null if not changed") + @Schema(description = "new name, null if not changed") @Size(max = 128) private String name; - @ApiModelProperty(value = "new parent category id") + @Schema(description = "new parent category id") @Size(max = 128) private String parentId; - @ApiModelProperty(value = "new display position, null if not changed") + @Schema(description = "new display position, null if not changed") private Integer position; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CollapseRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CollapseRequest.java index b140e211..87937427 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CollapseRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/CollapseRequest.java @@ -2,19 +2,19 @@ package com.commafeed.frontend.model.request; import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Mark Request") +@Schema(description = "Mark Request") @Data public class CollapseRequest implements Serializable { - @ApiModelProperty(value = "category id", required = true) + @Schema(description = "category id", requiredMode = RequiredMode.REQUIRED) private Long id; - @ApiModelProperty(value = "collapse", required = true) + @Schema(description = "collapse", requiredMode = RequiredMode.REQUIRED) private boolean collapse; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java index 3ab7f3db..8507f5b2 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedInfoRequest.java @@ -5,16 +5,16 @@ import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Feed information request") +@Schema(description = "Feed information request") @Data public class FeedInfoRequest implements Serializable { - @ApiModelProperty(value = "feed url", required = true) + @Schema(description = "feed url", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 4096) private String url; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedModificationRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedModificationRequest.java index ae27b9bc..1841fe99 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedModificationRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/FeedModificationRequest.java @@ -4,30 +4,30 @@ import java.io.Serializable; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Feed modification request") +@Schema(description = "Feed modification request") @Data public class FeedModificationRequest implements Serializable { - @ApiModelProperty(value = "id", required = true) + @Schema(description = "id", requiredMode = RequiredMode.REQUIRED) private Long id; - @ApiModelProperty(value = "new name, null if not changed") + @Schema(description = "new name, null if not changed") @Size(max = 128) private String name; - @ApiModelProperty(value = "new parent category id") + @Schema(description = "new parent category id") @Size(max = 128) private String categoryId; - @ApiModelProperty(value = "new display position, null if not changed") + @Schema(description = "new display position, null if not changed") private Integer position; - @ApiModelProperty(value = "JEXL string evaluated on new entries to mark them as read if they do not match") + @Schema(description = "JEXL string evaluated on new entries to mark them as read if they do not match") @Size(max = 4096) private String filter; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/IDRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/IDRequest.java index bdea4e80..38810d9a 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/IDRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/IDRequest.java @@ -2,16 +2,16 @@ package com.commafeed.frontend.model.request; import java.io.Serializable; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel +@Schema @Data public class IDRequest implements Serializable { - @ApiModelProperty(required = true) + @Schema(requiredMode = RequiredMode.REQUIRED) private Long id; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/LoginRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/LoginRequest.java index a773f80c..7b2c4e2e 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/LoginRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/LoginRequest.java @@ -5,20 +5,20 @@ import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") @Data -@ApiModel +@Schema public class LoginRequest implements Serializable { - @ApiModelProperty(value = "username", required = true) + @Schema(description = "username", requiredMode = RequiredMode.REQUIRED) @Size(min = 3, max = 32) private String name; - @ApiModelProperty(value = "password", required = true) + @Schema(description = "password", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 128) private String password; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MarkRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MarkRequest.java index 3f8f7e2d..7dddfb51 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MarkRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MarkRequest.java @@ -6,33 +6,37 @@ import java.util.List; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Mark Request") +@Schema(description = "Mark Request") @Data public class MarkRequest implements Serializable { - @ApiModelProperty(value = "entry id, category id, 'all' or 'starred'", required = true) + @Schema(description = "entry id, category id, 'all' or 'starred'", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 128) private String id; - @ApiModelProperty(value = "mark as read or unread", required = true) + @Schema(description = "mark as read or unread", requiredMode = RequiredMode.REQUIRED) private boolean read; - @ApiModelProperty( - value = "only entries older than this, pass the timestamp you got from the entry list to prevent marking an entry that was not retrieved", - required = false) + @Schema( + description = "only entries older than this, pass the timestamp you got from the entry list to prevent marking an entry that was not retrieved", + requiredMode = RequiredMode.NOT_REQUIRED) private Long olderThan; - @ApiModelProperty(value = "only mark read if a feed has these keywords in the title or rss content", required = false) + @Schema( + description = "only mark read if a feed has these keywords in the title or rss content", + requiredMode = RequiredMode.NOT_REQUIRED) @Size(max = 128) private String keywords; - @ApiModelProperty(value = "if marking a category or 'all', exclude those subscriptions from the marking", required = false) + @Schema( + description = "if marking a category or 'all', exclude those subscriptions from the marking", + requiredMode = RequiredMode.NOT_REQUIRED) private List excludedSubscriptions; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MultipleMarkRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MultipleMarkRequest.java index 68b56889..22ead95b 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MultipleMarkRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/MultipleMarkRequest.java @@ -5,16 +5,16 @@ import java.util.List; import javax.validation.Valid; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Multiple Mark Request") +@Schema(description = "Multiple Mark Request") @Data public class MultipleMarkRequest implements Serializable { - @ApiModelProperty(value = "list of mark requests", required = true) + @Schema(description = "list of mark requests", requiredMode = RequiredMode.REQUIRED) private List<@Valid MarkRequest> requests; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/PasswordResetRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/PasswordResetRequest.java index f27ba6a8..c098e8f3 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/PasswordResetRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/PasswordResetRequest.java @@ -6,16 +6,16 @@ import javax.validation.constraints.Email; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") @Data -@ApiModel +@Schema public class PasswordResetRequest implements Serializable { - @ApiModelProperty(value = "email address for password recovery", required = true) + @Schema(description = "email address for password recovery", requiredMode = RequiredMode.REQUIRED) @Email @NotEmpty @Size(max = 255) diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/ProfileModificationRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/ProfileModificationRequest.java index 84322d94..9e508d28 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/ProfileModificationRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/ProfileModificationRequest.java @@ -7,28 +7,28 @@ import javax.validation.constraints.Size; import com.commafeed.frontend.auth.ValidPassword; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Profile modification request") +@Schema(description = "Profile modification request") @Data public class ProfileModificationRequest implements Serializable { - @ApiModelProperty(value = "current user password, required to change profile data", required = true) + @Schema(description = "current user password, required to change profile data", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 128) private String currentPassword; - @ApiModelProperty(value = "changes email of the user, if specified") + @Schema(description = "changes email of the user, if specified") @Size(max = 255) private String email; - @ApiModelProperty(value = "changes password of the user, if specified") + @Schema(description = "changes password of the user, if specified") @ValidPassword private String newPassword; - @ApiModelProperty(value = "generate a new api key") + @Schema(description = "generate a new api key") private boolean newApiKey; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/RegistrationRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/RegistrationRequest.java index 3dce12d5..3133a23d 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/RegistrationRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/RegistrationRequest.java @@ -8,26 +8,26 @@ import javax.validation.constraints.Size; import com.commafeed.frontend.auth.ValidPassword; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") @Data -@ApiModel +@Schema public class RegistrationRequest implements Serializable { - @ApiModelProperty(value = "username, between 3 and 32 characters", required = true) + @Schema(description = "username, between 3 and 32 characters", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(min = 3, max = 32) private String name; - @ApiModelProperty(value = "password, minimum 6 characters", required = true) + @Schema(description = "password, minimum 6 characters", requiredMode = RequiredMode.REQUIRED) @NotEmpty @ValidPassword private String password; - @ApiModelProperty(value = "email address for password recovery", required = true) + @Schema(description = "email address for password recovery", requiredMode = RequiredMode.REQUIRED) @Email @NotEmpty @Size(max = 255) diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/StarRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/StarRequest.java index 79099ad4..715a85a4 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/StarRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/StarRequest.java @@ -5,24 +5,24 @@ import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Star Request") +@Schema(description = "Star Request") @Data public class StarRequest implements Serializable { - @ApiModelProperty(value = "id", required = true) + @Schema(description = "id", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 128) private String id; - @ApiModelProperty(value = "feed id", required = true) + @Schema(description = "feed id", requiredMode = RequiredMode.REQUIRED) private Long feedId; - @ApiModelProperty(value = "starred or not", required = true) + @Schema(description = "starred or not", requiredMode = RequiredMode.REQUIRED) private boolean starred; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/SubscribeRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/SubscribeRequest.java index e095accb..2045fdf3 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/SubscribeRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/SubscribeRequest.java @@ -5,26 +5,26 @@ import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Subscription request") +@Schema(description = "Subscription request") @Data public class SubscribeRequest implements Serializable { - @ApiModelProperty(value = "url of the feed", required = true) + @Schema(description = "url of the feed", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 4096) private String url; - @ApiModelProperty(value = "name of the feed for the user", required = true) + @Schema(description = "name of the feed for the user", requiredMode = RequiredMode.REQUIRED) @NotEmpty @Size(max = 128) private String title; - @ApiModelProperty(value = "id of the user category to place the feed in") + @Schema(description = "id of the user category to place the feed in") @Size(max = 128) private String categoryId; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/TagRequest.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/TagRequest.java index 58cbfc47..fe4e4680 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/request/TagRequest.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/request/TagRequest.java @@ -3,19 +3,19 @@ package com.commafeed.frontend.model.request; import java.io.Serializable; import java.util.List; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import lombok.Data; @SuppressWarnings("serial") -@ApiModel(description = "Tag Request") +@Schema(description = "Tag Request") @Data public class TagRequest implements Serializable { - @ApiModelProperty(value = "entry id", required = true) + @Schema(description = "entry id", requiredMode = RequiredMode.REQUIRED) private Long entryId; - @ApiModelProperty(value = "tags", required = true) + @Schema(description = "tags", requiredMode = RequiredMode.REQUIRED) private List tags; } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/AdminREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/AdminREST.java index 0f47d71e..674d13cf 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/AdminREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/AdminREST.java @@ -37,13 +37,15 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Sets; import io.dropwizard.hibernate.UnitOfWork; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.ArraySchema; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; import lombok.RequiredArgsConstructor; @Path("/admin") -@Api(value = "/admin") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @RequiredArgsConstructor(onConstructor = @__({ @Inject })) @@ -60,10 +62,12 @@ public class AdminREST { @Path("/user/save") @POST @UnitOfWork - @ApiOperation(value = "Save or update a user", notes = "Save or update a user. If the id is not specified, a new user will be created") + @Operation( + summary = "Save or update a user", + description = "Save or update a user. If the id is not specified, a new user will be created") @Timed - public Response adminSaveUser(@ApiParam(hidden = true) @SecurityCheck(Role.ADMIN) User user, - @ApiParam(required = true) UserModel userModel) { + public Response adminSaveUser(@Parameter(hidden = true) @SecurityCheck(Role.ADMIN) User user, + @Parameter(required = true) UserModel userModel) { Preconditions.checkNotNull(userModel); Preconditions.checkNotNull(userModel.getName()); @@ -116,10 +120,13 @@ public class AdminREST { @Path("/user/get/{id}") @GET @UnitOfWork - @ApiOperation(value = "Get user information", notes = "Get user information", response = UserModel.class) + @Operation( + summary = "Get user information", + description = "Get user information", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = UserModel.class))) }) @Timed - public Response adminGetUser(@ApiParam(hidden = true) @SecurityCheck(Role.ADMIN) User user, - @ApiParam(value = "user id", required = true) @PathParam("id") Long id) { + public Response adminGetUser(@Parameter(hidden = true) @SecurityCheck(Role.ADMIN) User user, + @Parameter(description = "user id", required = true) @PathParam("id") Long id) { Preconditions.checkNotNull(id); User u = userDAO.findById(id); UserModel userModel = new UserModel(); @@ -134,9 +141,12 @@ public class AdminREST { @Path("/user/getAll") @GET @UnitOfWork - @ApiOperation(value = "Get all users", notes = "Get all users", response = UserModel.class, responseContainer = "List") + @Operation( + summary = "Get all users", + description = "Get all users", + responses = { @ApiResponse(content = @Content(array = @ArraySchema(schema = @Schema(implementation = UserModel.class)))) }) @Timed - public Response adminGetUsers(@ApiParam(hidden = true) @SecurityCheck(Role.ADMIN) User user) { + public Response adminGetUsers(@Parameter(hidden = true) @SecurityCheck(Role.ADMIN) User user) { Map users = new HashMap<>(); for (UserRole role : userRoleDAO.findAll()) { User u = role.getUser(); @@ -162,10 +172,10 @@ public class AdminREST { @Path("/user/delete") @POST @UnitOfWork - @ApiOperation(value = "Delete a user", notes = "Delete a user, and all his subscriptions") + @Operation(summary = "Delete a user", description = "Delete a user, and all his subscriptions") @Timed - public Response adminDeleteUser(@ApiParam(hidden = true) @SecurityCheck(Role.ADMIN) User user, - @ApiParam(required = true) IDRequest req) { + public Response adminDeleteUser(@Parameter(hidden = true) @SecurityCheck(Role.ADMIN) User user, + @Parameter(required = true) IDRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -183,18 +193,21 @@ public class AdminREST { @Path("/settings") @GET @UnitOfWork - @ApiOperation(value = "Retrieve application settings", notes = "Retrieve application settings", response = ApplicationSettings.class) + @Operation( + summary = "Retrieve application settings", + description = "Retrieve application settings", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = ApplicationSettings.class))) }) @Timed - public Response getApplicationSettings(@ApiParam(hidden = true) @SecurityCheck(Role.ADMIN) User user) { + public Response getApplicationSettings(@Parameter(hidden = true) @SecurityCheck(Role.ADMIN) User user) { return Response.ok(config.getApplicationSettings()).build(); } @Path("/metrics") @GET @UnitOfWork - @ApiOperation(value = "Retrieve server metrics") + @Operation(summary = "Retrieve server metrics") @Timed - public Response getMetrics(@ApiParam(hidden = true) @SecurityCheck(Role.ADMIN) User user) { + public Response getMetrics(@Parameter(hidden = true) @SecurityCheck(Role.ADMIN) User user) { return Response.ok(metrics).build(); } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java index fb45a95d..546d8635 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java @@ -64,14 +64,16 @@ import com.rometools.rome.feed.synd.SyndFeedImpl; import com.rometools.rome.io.SyndFeedOutput; import io.dropwizard.hibernate.UnitOfWork; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.ArraySchema; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @Path("/category") -@Api(value = "/category") @Slf4j @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @@ -93,24 +95,26 @@ public class CategoryREST { @Path("/entries") @GET @UnitOfWork - @ApiOperation(value = "Get category entries", notes = "Get a list of category entries", response = Entries.class) + @Operation( + summary = "Get category entries", + description = "Get a list of category entries", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Entries.class))) }) @Timed - public Response getCategoryEntries(@ApiParam(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, - @ApiParam(value = "id of the category, 'all' or 'starred'", required = true) @QueryParam("id") String id, - @ApiParam( - value = "all entries or only unread ones", - allowableValues = "all,unread", + public Response getCategoryEntries(@Parameter(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, + @Parameter(description = "id of the category, 'all' or 'starred'", required = true) @QueryParam("id") String id, + @Parameter( + description = "all entries or only unread ones", required = true) @DefaultValue("unread") @QueryParam("readType") ReadingMode readType, - @ApiParam(value = "only entries newer than this") @QueryParam("newerThan") Long newerThan, - @ApiParam(value = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, - @ApiParam(value = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, - @ApiParam(value = "ordering", allowableValues = "asc,desc") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, - @ApiParam( - value = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, - @ApiParam(value = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds, - @ApiParam( - value = "comma-separated list of excluded subscription ids") @QueryParam("excludedSubscriptionIds") String excludedSubscriptionIds, - @ApiParam(value = "keep only entries tagged with this tag") @QueryParam("tag") String tag) { + @Parameter(description = "only entries newer than this") @QueryParam("newerThan") Long newerThan, + @Parameter(description = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, + @Parameter(description = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, + @Parameter(description = "ordering") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, + @Parameter( + description = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, + @Parameter(description = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds, + @Parameter( + description = "comma-separated list of excluded subscription ids") @QueryParam("excludedSubscriptionIds") String excludedSubscriptionIds, + @Parameter(description = "keep only entries tagged with this tag") @QueryParam("tag") String tag) { Preconditions.checkNotNull(readType); @@ -186,25 +190,24 @@ public class CategoryREST { @Path("/entriesAsFeed") @GET @UnitOfWork - @ApiOperation(value = "Get category entries as feed", notes = "Get a feed of category entries") + @Operation(summary = "Get category entries as feed", description = "Get a feed of category entries") @Produces(MediaType.APPLICATION_XML) @Timed - public Response getCategoryEntriesAsFeed(@ApiParam(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, - @ApiParam(value = "id of the category, 'all' or 'starred'", required = true) @QueryParam("id") String id, - @ApiParam( - value = "all entries or only unread ones", - allowableValues = "all,unread", + public Response getCategoryEntriesAsFeed(@Parameter(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, + @Parameter(description = "id of the category, 'all' or 'starred'", required = true) @QueryParam("id") String id, + @Parameter( + description = "all entries or only unread ones", required = true) @DefaultValue("all") @QueryParam("readType") ReadingMode readType, - @ApiParam(value = "only entries newer than this") @QueryParam("newerThan") Long newerThan, - @ApiParam(value = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, - @ApiParam(value = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, - @ApiParam(value = "date ordering", allowableValues = "asc,desc") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, - @ApiParam( - value = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, - @ApiParam(value = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds, - @ApiParam( - value = "comma-separated list of excluded subscription ids") @QueryParam("excludedSubscriptionIds") String excludedSubscriptionIds, - @ApiParam(value = "keep only entries tagged with this tag") @QueryParam("tag") String tag) { + @Parameter(description = "only entries newer than this") @QueryParam("newerThan") Long newerThan, + @Parameter(description = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, + @Parameter(description = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, + @Parameter(description = "date ordering") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, + @Parameter( + description = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, + @Parameter(description = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds, + @Parameter( + description = "comma-separated list of excluded subscription ids") @QueryParam("excludedSubscriptionIds") String excludedSubscriptionIds, + @Parameter(description = "keep only entries tagged with this tag") @QueryParam("tag") String tag) { Response response = getCategoryEntries(user, id, readType, newerThan, offset, limit, order, keywords, onlyIds, excludedSubscriptionIds, tag); @@ -234,10 +237,10 @@ public class CategoryREST { @Path("/mark") @POST @UnitOfWork - @ApiOperation(value = "Mark category entries", notes = "Mark feed entries of this category as read") + @Operation(summary = "Mark category entries", description = "Mark feed entries of this category as read") @Timed - public Response markCategoryEntries(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "category id, or 'all'", required = true) MarkRequest req) { + public Response markCategoryEntries(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "category id, or 'all'", required = true) MarkRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -276,10 +279,13 @@ public class CategoryREST { @Path("/add") @POST @UnitOfWork - @ApiOperation(value = "Add a category", notes = "Add a new feed category", response = Long.class) + @Operation( + summary = "Add a category", + description = "Add a new feed category", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Long.class))) }) @Timed - public Response addCategory(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(required = true) AddCategoryRequest req) { + public Response addCategory(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(required = true) AddCategoryRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getName()); @@ -301,9 +307,9 @@ public class CategoryREST { @POST @Path("/delete") @UnitOfWork - @ApiOperation(value = "Delete a category", notes = "Delete an existing feed category") + @Operation(summary = "Delete a category", description = "Delete an existing feed category") @Timed - public Response deleteCategory(@ApiParam(hidden = true) @SecurityCheck User user, @ApiParam(required = true) IDRequest req) { + public Response deleteCategory(@Parameter(hidden = true) @SecurityCheck User user, @Parameter(required = true) IDRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -334,10 +340,10 @@ public class CategoryREST { @POST @Path("/modify") @UnitOfWork - @ApiOperation(value = "Rename a category", notes = "Rename an existing feed category") + @Operation(summary = "Rename a category", description = "Rename an existing feed category") @Timed - public Response modifyCategory(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(required = true) CategoryModificationRequest req) { + public Response modifyCategory(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(required = true) CategoryModificationRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -390,9 +396,9 @@ public class CategoryREST { @POST @Path("/collapse") @UnitOfWork - @ApiOperation(value = "Collapse a category", notes = "Save collapsed or expanded status for a category") + @Operation(summary = "Collapse a category", description = "Save collapsed or expanded status for a category") @Timed - public Response collapseCategory(@ApiParam(hidden = true) @SecurityCheck User user, @ApiParam(required = true) CollapseRequest req) { + public Response collapseCategory(@Parameter(hidden = true) @SecurityCheck User user, @Parameter(required = true) CollapseRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -409,9 +415,11 @@ public class CategoryREST { @GET @Path("/unreadCount") @UnitOfWork - @ApiOperation(value = "Get unread count for feed subscriptions", response = UnreadCount.class, responseContainer = "List") + @Operation( + summary = "Get unread count for feed subscriptions", + responses = { @ApiResponse(content = @Content(array = @ArraySchema(schema = @Schema(implementation = UnreadCount.class)))) }) @Timed - public Response getUnreadCount(@ApiParam(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user) { + public Response getUnreadCount(@Parameter(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user) { Map unreadCount = feedSubscriptionService.getUnreadCount(user); return Response.ok(Lists.newArrayList(unreadCount.values())).build(); } @@ -419,9 +427,12 @@ public class CategoryREST { @GET @Path("/get") @UnitOfWork - @ApiOperation(value = "Get root category", notes = "Get all categories and subscriptions of the user", response = Category.class) + @Operation( + summary = "Get root category", + description = "Get all categories and subscriptions of the user", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Category.class))) }) @Timed - public Response getRootCategory(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response getRootCategory(@Parameter(hidden = true) @SecurityCheck User user) { Category root = cache.getUserRootCategory(user); if (root == null) { log.debug("tree cache miss for {}", user.getId()); diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/EntryREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/EntryREST.java index 2353ada8..92dcd718 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/EntryREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/EntryREST.java @@ -26,13 +26,11 @@ import com.commafeed.frontend.model.request.TagRequest; import com.google.common.base.Preconditions; import io.dropwizard.hibernate.UnitOfWork; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import lombok.RequiredArgsConstructor; @Path("/entry") -@Api(value = "/entry") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @RequiredArgsConstructor(onConstructor = @__({ @Inject })) @@ -46,10 +44,10 @@ public class EntryREST { @Path("/mark") @POST @UnitOfWork - @ApiOperation(value = "Mark a feed entry", notes = "Mark a feed entry as read/unread") + @Operation(summary = "Mark a feed entry", description = "Mark a feed entry as read/unread") @Timed - public Response markEntry(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "Mark Request", required = true) MarkRequest req) { + public Response markEntry(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "Mark Request", required = true) MarkRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -60,10 +58,10 @@ public class EntryREST { @Path("/markMultiple") @POST @UnitOfWork - @ApiOperation(value = "Mark multiple feed entries", notes = "Mark feed entries as read/unread") + @Operation(summary = "Mark multiple feed entries", description = "Mark feed entries as read/unread") @Timed - public Response markEntries(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "Multiple Mark Request", required = true) MultipleMarkRequest req) { + public Response markEntries(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "Multiple Mark Request", required = true) MultipleMarkRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getRequests()); @@ -77,10 +75,10 @@ public class EntryREST { @Path("/star") @POST @UnitOfWork - @ApiOperation(value = "Mark a feed entry", notes = "Mark a feed entry as read/unread") + @Operation(summary = "Mark a feed entry", description = "Mark a feed entry as read/unread") @Timed - public Response starEntry(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "Star Request", required = true) StarRequest req) { + public Response starEntry(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "Star Request", required = true) StarRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); Preconditions.checkNotNull(req.getFeedId()); @@ -93,9 +91,9 @@ public class EntryREST { @Path("/tags") @GET @UnitOfWork - @ApiOperation(value = "Get list of tags for the user", notes = "Get list of tags for the user") + @Operation(summary = "Get list of tags for the user", description = "Get list of tags for the user") @Timed - public Response getTags(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response getTags(@Parameter(hidden = true) @SecurityCheck User user) { List tags = feedEntryTagDAO.findByUser(user); return Response.ok(tags).build(); } @@ -103,10 +101,10 @@ public class EntryREST { @Path("/tag") @POST @UnitOfWork - @ApiOperation(value = "Set feed entry tags") + @Operation(summary = "Set feed entry tags") @Timed - public Response tagEntry(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "Tag Request", required = true) TagRequest req) { + public Response tagEntry(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "Tag Request", required = true) TagRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getEntryId()); diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/FeedREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/FeedREST.java index 2b29f348..1b68ddb8 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/FeedREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/FeedREST.java @@ -84,14 +84,15 @@ import com.rometools.rome.io.SyndFeedOutput; import com.rometools.rome.io.WireFeedOutput; import io.dropwizard.hibernate.UnitOfWork; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @Path("/feed") -@Api(value = "/feed") @Slf4j @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @@ -130,21 +131,23 @@ public class FeedREST { @Path("/entries") @GET @UnitOfWork - @ApiOperation(value = "Get feed entries", notes = "Get a list of feed entries", response = Entries.class) + @Operation( + summary = "Get feed entries", + description = "Get a list of feed entries", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Entries.class))) }) @Timed - public Response getFeedEntries(@ApiParam(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, - @ApiParam(value = "id of the feed", required = true) @QueryParam("id") String id, - @ApiParam( - value = "all entries or only unread ones", - allowableValues = "all,unread", + public Response getFeedEntries(@Parameter(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, + @Parameter(description = "id of the feed", required = true) @QueryParam("id") String id, + @Parameter( + description = "all entries or only unread ones", required = true) @DefaultValue("unread") @QueryParam("readType") ReadingMode readType, - @ApiParam(value = "only entries newer than this") @QueryParam("newerThan") Long newerThan, - @ApiParam(value = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, - @ApiParam(value = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, - @ApiParam(value = "ordering", allowableValues = "asc,desc") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, - @ApiParam( - value = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, - @ApiParam(value = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds) { + @Parameter(description = "only entries newer than this") @QueryParam("newerThan") Long newerThan, + @Parameter(description = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, + @Parameter(description = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, + @Parameter(description = "ordering") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, + @Parameter( + description = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, + @Parameter(description = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds) { Preconditions.checkNotNull(id); Preconditions.checkNotNull(readType); @@ -196,22 +199,21 @@ public class FeedREST { @Path("/entriesAsFeed") @GET @UnitOfWork - @ApiOperation(value = "Get feed entries as a feed", notes = "Get a feed of feed entries") + @Operation(summary = "Get feed entries as a feed", description = "Get a feed of feed entries") @Produces(MediaType.APPLICATION_XML) @Timed - public Response getFeedEntriesAsFeed(@ApiParam(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, - @ApiParam(value = "id of the feed", required = true) @QueryParam("id") String id, - @ApiParam( - value = "all entries or only unread ones", - allowableValues = "all,unread", + public Response getFeedEntriesAsFeed(@Parameter(hidden = true) @SecurityCheck(apiKeyAllowed = true) User user, + @Parameter(description = "id of the feed", required = true) @QueryParam("id") String id, + @Parameter( + description = "all entries or only unread ones", required = true) @DefaultValue("all") @QueryParam("readType") ReadingMode readType, - @ApiParam(value = "only entries newer than this") @QueryParam("newerThan") Long newerThan, - @ApiParam(value = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, - @ApiParam(value = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, - @ApiParam(value = "date ordering", allowableValues = "asc,desc") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, - @ApiParam( - value = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, - @ApiParam(value = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds) { + @Parameter(description = "only entries newer than this") @QueryParam("newerThan") Long newerThan, + @Parameter(description = "offset for paging") @DefaultValue("0") @QueryParam("offset") int offset, + @Parameter(description = "limit for paging, default 20, maximum 1000") @DefaultValue("20") @QueryParam("limit") int limit, + @Parameter(description = "date ordering") @QueryParam("order") @DefaultValue("desc") ReadingOrder order, + @Parameter( + description = "search for keywords in either the title or the content of the entries, separated by spaces, 3 characters minimum") @QueryParam("keywords") String keywords, + @Parameter(description = "return only entry ids") @DefaultValue("false") @QueryParam("onlyIds") boolean onlyIds) { Response response = getFeedEntries(user, id, readType, newerThan, offset, limit, order, keywords, onlyIds); if (response.getStatus() != Status.OK.getStatusCode()) { @@ -257,10 +259,13 @@ public class FeedREST { @POST @Path("/fetch") @UnitOfWork - @ApiOperation(value = "Fetch a feed", notes = "Fetch a feed by its url", response = FeedInfo.class) + @Operation( + summary = "Fetch a feed", + description = "Fetch a feed by its url", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = FeedInfo.class))) }) @Timed - public Response fetchFeed(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "feed url", required = true) FeedInfoRequest req) { + public Response fetchFeed(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "feed url", required = true) FeedInfoRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getUrl()); @@ -280,9 +285,9 @@ public class FeedREST { @Path("/refreshAll") @GET @UnitOfWork - @ApiOperation(value = "Queue all feeds of the user for refresh", notes = "Manually add all feeds of the user to the refresh queue") + @Operation(summary = "Queue all feeds of the user for refresh", description = "Manually add all feeds of the user to the refresh queue") @Timed - public Response queueAllForRefresh(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response queueAllForRefresh(@Parameter(hidden = true) @SecurityCheck User user) { feedSubscriptionService.refreshAll(user); return Response.ok().build(); } @@ -290,10 +295,10 @@ public class FeedREST { @Path("/refresh") @POST @UnitOfWork - @ApiOperation(value = "Queue a feed for refresh", notes = "Manually add a feed to the refresh queue") + @Operation(summary = "Queue a feed for refresh", description = "Manually add a feed to the refresh queue") @Timed - public Response queueForRefresh(@ApiParam(hidden = true) @SecurityCheck User user, - @ApiParam(value = "Feed id", required = true) IDRequest req) { + public Response queueForRefresh(@Parameter(hidden = true) @SecurityCheck User user, + @Parameter(description = "Feed id", required = true) IDRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -310,10 +315,10 @@ public class FeedREST { @Path("/mark") @POST @UnitOfWork - @ApiOperation(value = "Mark feed entries", notes = "Mark feed entries as read (unread is not supported)") + @Operation(summary = "Mark feed entries", description = "Mark feed entries as read (unread is not supported)") @Timed - public Response markFeedEntries(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "Mark request", required = true) MarkRequest req) { + public Response markFeedEntries(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "Mark request", required = true) MarkRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -331,10 +336,12 @@ public class FeedREST { @GET @Path("/get/{id}") @UnitOfWork - @ApiOperation(value = "get feed", response = Subscription.class) + @Operation( + summary = "get feed", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Subscription.class))) }) @Timed - public Response getFeed(@ApiParam(hidden = true) @SecurityCheck User user, - @ApiParam(value = "user id", required = true) @PathParam("id") Long id) { + public Response getFeed(@Parameter(hidden = true) @SecurityCheck User user, + @Parameter(description = "user id", required = true) @PathParam("id") Long id) { Preconditions.checkNotNull(id); FeedSubscription sub = feedSubscriptionDAO.findById(user, id); @@ -348,10 +355,10 @@ public class FeedREST { @GET @Path("/favicon/{id}") @UnitOfWork - @ApiOperation(value = "Fetch a feed's icon", notes = "Fetch a feed's icon") + @Operation(summary = "Fetch a feed's icon", description = "Fetch a feed's icon") @Timed - public Response getFeedFavicon(@ApiParam(hidden = true) @SecurityCheck User user, - @ApiParam(value = "subscription id", required = true) @PathParam("id") Long id) { + public Response getFeedFavicon(@Parameter(hidden = true) @SecurityCheck User user, + @Parameter(description = "subscription id", required = true) @PathParam("id") Long id) { Preconditions.checkNotNull(id); FeedSubscription subscription = feedSubscriptionDAO.findById(user, id); @@ -379,10 +386,13 @@ public class FeedREST { @POST @Path("/subscribe") @UnitOfWork - @ApiOperation(value = "Subscribe to a feed", notes = "Subscribe to a feed", response = Long.class) + @Operation( + summary = "Subscribe to a feed", + description = "Subscribe to a feed", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Long.class))) }) @Timed - public Response subscribe(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "subscription request", required = true) SubscribeRequest req) { + public Response subscribe(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "subscription request", required = true) SubscribeRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getTitle()); Preconditions.checkNotNull(req.getUrl()); @@ -407,10 +417,10 @@ public class FeedREST { @GET @Path("/subscribe") @UnitOfWork - @ApiOperation(value = "Subscribe to a feed", notes = "Subscribe to a feed") + @Operation(summary = "Subscribe to a feed", description = "Subscribe to a feed") @Timed - public Response subscribeFromUrl(@ApiParam(hidden = true) @SecurityCheck User user, - @ApiParam(value = "feed url", required = true) @QueryParam("url") String url) { + public Response subscribeFromUrl(@Parameter(hidden = true) @SecurityCheck User user, + @Parameter(description = "feed url", required = true) @QueryParam("url") String url) { try { Preconditions.checkNotNull(url); @@ -436,9 +446,9 @@ public class FeedREST { @POST @Path("/unsubscribe") @UnitOfWork - @ApiOperation(value = "Unsubscribe from a feed", notes = "Unsubscribe from a feed") + @Operation(summary = "Unsubscribe from a feed", description = "Unsubscribe from a feed") @Timed - public Response unsubscribe(@ApiParam(hidden = true) @SecurityCheck User user, @ApiParam(required = true) IDRequest req) { + public Response unsubscribe(@Parameter(hidden = true) @SecurityCheck User user, @Parameter(required = true) IDRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -453,10 +463,10 @@ public class FeedREST { @POST @Path("/modify") @UnitOfWork - @ApiOperation(value = "Modify a subscription", notes = "Modify a feed subscription") + @Operation(summary = "Modify a subscription", description = "Modify a feed subscription") @Timed - public Response modifyFeed(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(value = "subscription id", required = true) FeedModificationRequest req) { + public Response modifyFeed(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(description = "subscription id", required = true) FeedModificationRequest req) { Preconditions.checkNotNull(req); Preconditions.checkNotNull(req.getId()); @@ -514,10 +524,10 @@ public class FeedREST { @Path("/import") @UnitOfWork @Consumes(MediaType.MULTIPART_FORM_DATA) - @ApiOperation(value = "OPML import", notes = "Import an OPML file, posted as a FORM with the 'file' name") + @Operation(summary = "OPML import", description = "Import an OPML file, posted as a FORM with the 'file' name") @Timed - public Response importOpml(@ApiParam(hidden = true) @SecurityCheck User user, - @ApiParam(value = "ompl file", required = true) @FormDataParam("file") InputStream input) { + public Response importOpml(@Parameter(hidden = true) @SecurityCheck User user, + @Parameter(description = "ompl file", required = true) @FormDataParam("file") InputStream input) { if (CommaFeedApplication.USERNAME_DEMO.equals(user.getName())) { return Response.status(Status.FORBIDDEN).entity("Import is disabled for the demo account").build(); } @@ -535,9 +545,9 @@ public class FeedREST { @Path("/export") @UnitOfWork @Produces(MediaType.APPLICATION_XML) - @ApiOperation(value = "OPML export", notes = "Export an OPML file of the user's subscriptions") + @Operation(summary = "OPML export", description = "Export an OPML file of the user's subscriptions") @Timed - public Response exportOpml(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response exportOpml(@Parameter(hidden = true) @SecurityCheck User user) { Opml opml = opmlExporter.export(user); WireFeedOutput output = new WireFeedOutput(); String opmlString = null; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/OpenAPI.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/OpenAPI.java new file mode 100644 index 00000000..0ed9a78f --- /dev/null +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/OpenAPI.java @@ -0,0 +1,16 @@ +package com.commafeed.frontend.resource; + +import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.enums.SecuritySchemeType; +import io.swagger.v3.oas.annotations.info.Info; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.security.SecurityScheme; +import io.swagger.v3.oas.annotations.servers.Server; + +@OpenAPIDefinition( + info = @Info(title = "CommaFeed API"), + servers = { @Server(description = "CommaFeed API", url = "../rest") }, + security = { @SecurityRequirement(name = "basicAuth") }) +@SecurityScheme(name = "basicAuth", type = SecuritySchemeType.HTTP, scheme = "basic") +public class OpenAPI { +} diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/ServerREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/ServerREST.java index 41c1b7fe..6e6d043c 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/ServerREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/ServerREST.java @@ -23,13 +23,14 @@ import com.commafeed.frontend.auth.SecurityCheck; import com.commafeed.frontend.model.ServerInfo; import io.dropwizard.hibernate.UnitOfWork; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; import lombok.RequiredArgsConstructor; @Path("/server") -@Api(value = "/server") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @RequiredArgsConstructor(onConstructor = @__({ @Inject })) @@ -42,7 +43,10 @@ public class ServerREST { @Path("/get") @GET @UnitOfWork - @ApiOperation(value = "Get server infos", notes = "Get server infos", response = ServerInfo.class) + @Operation( + summary = "Get server infos", + description = "Get server infos", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = ServerInfo.class))) }) @Timed public Response getServerInfos() { ServerInfo infos = new ServerInfo(); @@ -59,11 +63,11 @@ public class ServerREST { @Path("/proxy") @GET @UnitOfWork - @ApiOperation(value = "proxy image") + @Operation(summary = "proxy image") @Produces("image/png") @Timed - public Response getProxiedImage(@ApiParam(hidden = true) @SecurityCheck User user, - @ApiParam(value = "image url", required = true) @QueryParam("u") String url) { + public Response getProxiedImage(@Parameter(hidden = true) @SecurityCheck User user, + @Parameter(description = "image url", required = true) @QueryParam("u") String url) { if (!config.getApplicationSettings().getImageProxyEnabled()) { return Response.status(Status.FORBIDDEN).build(); } diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/UserREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/UserREST.java index d31c9dd2..80549a7f 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/UserREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/UserREST.java @@ -53,14 +53,15 @@ import com.commafeed.frontend.session.SessionHelper; import com.google.common.base.Preconditions; import io.dropwizard.hibernate.UnitOfWork; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @Path("/user") -@Api(value = "/user") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @Slf4j @@ -79,9 +80,12 @@ public class UserREST { @Path("/settings") @GET @UnitOfWork - @ApiOperation(value = "Retrieve user settings", notes = "Retrieve user settings", response = Settings.class) + @Operation( + summary = "Retrieve user settings", + description = "Retrieve user settings", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = Settings.class))) }) @Timed - public Response getUserSettings(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response getUserSettings(@Parameter(hidden = true) @SecurityCheck User user) { Settings s = new Settings(); UserSettings settings = userSettingsDAO.findByUser(user); if (settings != null) { @@ -133,9 +137,9 @@ public class UserREST { @Path("/settings") @POST @UnitOfWork - @ApiOperation(value = "Save user settings", notes = "Save user settings") + @Operation(summary = "Save user settings", description = "Save user settings") @Timed - public Response saveUserSettings(@ApiParam(hidden = true) @SecurityCheck User user, @ApiParam(required = true) Settings settings) { + public Response saveUserSettings(@Parameter(hidden = true) @SecurityCheck User user, @Parameter(required = true) Settings settings) { Preconditions.checkNotNull(settings); UserSettings s = userSettingsDAO.findByUser(user); @@ -172,9 +176,11 @@ public class UserREST { @Path("/profile") @GET @UnitOfWork - @ApiOperation(value = "Retrieve user's profile", response = UserModel.class) + @Operation( + summary = "Retrieve user's profile", + responses = { @ApiResponse(content = @Content(schema = @Schema(implementation = UserModel.class))) }) @Timed - public Response getUserProfile(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response getUserProfile(@Parameter(hidden = true) @SecurityCheck User user) { UserModel userModel = new UserModel(); userModel.setId(user.getId()); userModel.setName(user.getName()); @@ -192,10 +198,10 @@ public class UserREST { @Path("/profile") @POST @UnitOfWork - @ApiOperation(value = "Save user's profile") + @Operation(summary = "Save user's profile") @Timed - public Response saveUserProfile(@ApiParam(hidden = true) @SecurityCheck User user, - @Valid @ApiParam(required = true) ProfileModificationRequest request) { + public Response saveUserProfile(@Parameter(hidden = true) @SecurityCheck User user, + @Valid @Parameter(required = true) ProfileModificationRequest request) { if (CommaFeedApplication.USERNAME_DEMO.equals(user.getName())) { return Response.status(Status.FORBIDDEN).build(); } @@ -231,10 +237,10 @@ public class UserREST { @Path("/register") @POST @UnitOfWork - @ApiOperation(value = "Register a new account") + @Operation(summary = "Register a new account") @Timed - public Response registerUser(@Valid @ApiParam(required = true) RegistrationRequest req, - @Context @ApiParam(hidden = true) SessionHelper sessionHelper) { + public Response registerUser(@Valid @Parameter(required = true) RegistrationRequest req, + @Context @Parameter(hidden = true) SessionHelper sessionHelper) { try { User registeredUser = userService.register(req.getName(), req.getPassword(), req.getEmail(), Collections.singletonList(Role.USER)); @@ -249,10 +255,10 @@ public class UserREST { @Path("/login") @POST @UnitOfWork - @ApiOperation(value = "Login and create a session") + @Operation(summary = "Login and create a session") @Timed - public Response login(@Valid @ApiParam(required = true) LoginRequest req, - @ApiParam(hidden = true) @Context SessionHelper sessionHelper) { + public Response login(@Valid @Parameter(required = true) LoginRequest req, + @Parameter(hidden = true) @Context SessionHelper sessionHelper) { Optional user = userService.login(req.getName(), req.getPassword()); if (user.isPresent()) { sessionHelper.setLoggedInUser(user.get()); @@ -265,9 +271,9 @@ public class UserREST { @Path("/passwordReset") @POST @UnitOfWork - @ApiOperation(value = "send a password reset email") + @Operation(summary = "send a password reset email") @Timed - public Response sendPasswordReset(@Valid @ApiParam(required = true) PasswordResetRequest req) { + public Response sendPasswordReset(@Valid @Parameter(required = true) PasswordResetRequest req) { User user = userDAO.findByEmail(req.getEmail()); if (user == null) { return Response.ok().build(); @@ -306,8 +312,8 @@ public class UserREST { @UnitOfWork @Produces(MediaType.TEXT_HTML) @Timed - public Response passwordRecoveryCallback(@ApiParam(required = true) @QueryParam("email") String email, - @ApiParam(required = true) @QueryParam("token") String token) { + public Response passwordRecoveryCallback(@Parameter(required = true) @QueryParam("email") String email, + @Parameter(required = true) @QueryParam("token") String token) { Preconditions.checkNotNull(email); Preconditions.checkNotNull(token); @@ -341,9 +347,9 @@ public class UserREST { @Path("/profile/deleteAccount") @POST @UnitOfWork - @ApiOperation(value = "Delete the user account") + @Operation(summary = "Delete the user account") @Timed - public Response deleteUser(@ApiParam(hidden = true) @SecurityCheck User user) { + public Response deleteUser(@Parameter(hidden = true) @SecurityCheck User user) { if (CommaFeedApplication.USERNAME_ADMIN.equals(user.getName()) || CommaFeedApplication.USERNAME_DEMO.equals(user.getName())) { return Response.status(Status.FORBIDDEN).build(); }