added swagger
This commit is contained in:
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
/// <reference types="next" />
|
||||||
|
/// <reference types="next/image-types/global" />
|
||||||
|
|
||||||
|
// NOTE: This file should not be edited
|
||||||
|
// see https://nextjs.org/docs/basic-features/typescript for more information.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"apiFolder": "pages/api",
|
||||||
|
"schemaFolders": [
|
||||||
|
"models"
|
||||||
|
],
|
||||||
|
"definition": {
|
||||||
|
"openapi": "3.0.0",
|
||||||
|
"info": {
|
||||||
|
"title": "Next Swagger API Example",
|
||||||
|
"version": "1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -39,6 +39,7 @@
|
|||||||
"next-auth": "4.19.2",
|
"next-auth": "4.19.2",
|
||||||
"next-connect": "^0.12.2",
|
"next-connect": "^0.12.2",
|
||||||
"next-redux-wrapper": "^7.0.5",
|
"next-redux-wrapper": "^7.0.5",
|
||||||
|
"next-swagger-doc": "^0.3.6",
|
||||||
"next-translate": "^1.2.0",
|
"next-translate": "^1.2.0",
|
||||||
"nodemailer": "^6.9.1",
|
"nodemailer": "^6.9.1",
|
||||||
"nookies": "^2.5.2",
|
"nookies": "^2.5.2",
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
"redux-thunk": "^2.4.2",
|
"redux-thunk": "^2.4.2",
|
||||||
"sass": "1.32",
|
"sass": "1.32",
|
||||||
"sass-loader": "13.2.0",
|
"sass-loader": "13.2.0",
|
||||||
|
"swagger-ui-react": "^4.17.0",
|
||||||
"typescript": "^4.9.5",
|
"typescript": "^4.9.5",
|
||||||
"uuid": "9.0.0",
|
"uuid": "9.0.0",
|
||||||
"webpack": "^5.66.0",
|
"webpack": "^5.66.0",
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
import { GetStaticProps, InferGetStaticPropsType } from 'next';
|
||||||
|
import { createSwaggerSpec } from 'next-swagger-doc';
|
||||||
|
import dynamic from 'next/dynamic';
|
||||||
|
import 'swagger-ui-react/swagger-ui.css';
|
||||||
|
|
||||||
|
const SwaggerUI = dynamic<{
|
||||||
|
spec: any;
|
||||||
|
}>(import('swagger-ui-react'), { ssr: false });
|
||||||
|
|
||||||
|
function ApiDoc({ spec }: InferGetStaticPropsType<typeof getStaticProps>) {
|
||||||
|
return <SwaggerUI spec={spec} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getStaticProps: GetStaticProps = async () => {
|
||||||
|
const spec: Record<string, any> = createSwaggerSpec({
|
||||||
|
|
||||||
|
definition: {
|
||||||
|
openapi: '3.0.0',
|
||||||
|
info: {
|
||||||
|
title: 'PEDW API',
|
||||||
|
description: "something here",
|
||||||
|
version: '1.0',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
props: {
|
||||||
|
spec,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ApiDoc;
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
import { withSwagger } from 'next-swagger-doc';
|
||||||
|
|
||||||
|
const swaggerHandler = withSwagger({
|
||||||
|
definition: {
|
||||||
|
openapi: '3.0.0',
|
||||||
|
info: {
|
||||||
|
title: 'NextJS Swagger',
|
||||||
|
version: '0.1.0',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apiFolder: 'pages/api',
|
||||||
|
});
|
||||||
|
export default swaggerHandler();
|
||||||
@@ -1,3 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /api/documents/download/{id}:
|
||||||
|
* get:
|
||||||
|
* tags:
|
||||||
|
* - Documents
|
||||||
|
* description: Get document
|
||||||
|
* parameters:
|
||||||
|
* - name: id
|
||||||
|
* in: path
|
||||||
|
* description: iShare ID
|
||||||
|
* type: string
|
||||||
|
* required: true
|
||||||
|
* default: A21852159
|
||||||
|
* - name: hash
|
||||||
|
* in: query
|
||||||
|
* description: Hashe stirng
|
||||||
|
* default: 25d7ae78acb551d9e051b98fc425ebee9b201ba203afe4fc9d330e2b7895e072
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Success
|
||||||
|
*/
|
||||||
|
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import CryptoJS from "crypto-js";
|
import CryptoJS from "crypto-js";
|
||||||
import { getToken, consoleLogger } from "../../../../actions";
|
import { getToken, consoleLogger } from "../../../../actions";
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /api/email/notify:
|
||||||
|
* get:
|
||||||
|
* tags:
|
||||||
|
* - Email
|
||||||
|
* description: Send email via gov notify
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Success
|
||||||
|
*/
|
||||||
|
|
||||||
import { consoleLogger } from "../../../actions";
|
import { consoleLogger } from "../../../actions";
|
||||||
|
|
||||||
export default async function ApiProxy(req, res) {
|
export default async function ApiProxy(req, res) {
|
||||||
|
|||||||
@@ -6,16 +6,6 @@ import {
|
|||||||
azureHeaders,
|
azureHeaders,
|
||||||
consoleLogger,
|
consoleLogger,
|
||||||
} from "../../../actions";
|
} from "../../../actions";
|
||||||
/**
|
|
||||||
* @swagger
|
|
||||||
* /api/endpoint/getappealtypes_api:
|
|
||||||
* get:
|
|
||||||
* description: Returns appeal types
|
|
||||||
* responses:
|
|
||||||
* 200:
|
|
||||||
* description:
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
const WORDKEY = process.env.HASHKEY;
|
const WORDKEY = process.env.HASHKEY;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,14 @@
|
|||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /api/endpoint/getlogin_api:
|
||||||
|
* get:
|
||||||
|
* tags: [Login]
|
||||||
|
* description: Returns the hello world
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: hello world
|
||||||
|
*/
|
||||||
|
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import CryptoJS from "crypto-js";
|
import CryptoJS from "crypto-js";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
|||||||
@@ -1,3 +1,14 @@
|
|||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /api/endpoint/getlpa_api:
|
||||||
|
* get:
|
||||||
|
* tags: [Search]
|
||||||
|
* description: Get list of LPA's
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Success
|
||||||
|
*/
|
||||||
|
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import CryptoJS from "crypto-js";
|
import CryptoJS from "crypto-js";
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"openapi": "3.0.0",
|
||||||
|
"info": {
|
||||||
|
"title": "Next Swagger API Example",
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"paths": {
|
||||||
|
"/api/endpoint/getlogin_api": {
|
||||||
|
"tags": "Hello",
|
||||||
|
"get": {
|
||||||
|
"description": "Returns the hello world",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "hello world"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/api/endpoint/getlpa_api": {
|
||||||
|
"get": {
|
||||||
|
"description": "Returns the hello world",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "hello world"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"components": {},
|
||||||
|
"tags": []
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es5",
|
||||||
|
"lib": [
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"esnext"
|
||||||
|
],
|
||||||
|
"allowJs": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"strict": false,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"noEmit": true,
|
||||||
|
"incremental": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"module": "esnext",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"isolatedModules": true,
|
||||||
|
"jsx": "preserve"
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"next-env.d.ts",
|
||||||
|
"**/*.ts",
|
||||||
|
"**/*.tsx"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user