1
0
mirror of https://github.com/sasjs/server.git synced 2026-01-11 00:10:06 +00:00

chore: drive auto-generated swagger

This commit is contained in:
Saad Jutt
2021-11-06 00:36:51 +05:00
parent dbbdaa83f0
commit 14c2def459
9 changed files with 648 additions and 45 deletions

View File

@@ -1,35 +1,18 @@
import express from 'express'
import { createFileTree, getTreeExample } from '../../controllers'
import { isFileTree } from '../../types'
import DriveController from '../../controllers/drive'
const driveRouter = express.Router()
driveRouter.post('/deploy', async (req, res) => {
if (!isFileTree(req.body.fileTree)) {
res.status(400).send({
status: 'failure',
message: 'Provided not supported data format.',
example: getTreeExample()
})
return
const controller = new DriveController()
try {
const response = await controller.deploy(req.body)
res.send(response)
} catch (err: any) {
const statusCode = err.code
delete err.code
res.status(statusCode).send(err)
}
await createFileTree(
req.body.fileTree.members,
req.body.appLoc ? req.body.appLoc.replace(/^\//, '').split('/') : []
)
.then(() => {
res.status(200).send({
status: 'success',
message: 'Files deployed successfully to @sasjs/server.'
})
})
.catch((err) => {
res
.status(500)
.send({ status: 'failure', message: 'Deployment failed!', ...err })
})
})
export default driveRouter

View File

@@ -25,7 +25,7 @@ router.use(
swaggerUi.serve,
swaggerUi.setup(undefined, {
swaggerOptions: {
url: '/swagger.json'
url: '/swagger.yaml'
}
})
)

View File

@@ -9,6 +9,7 @@ import { folderExists, fileExists, readFile, deleteFolder } from '@sasjs/utils'
import path from 'path'
import { generateAccessToken } from '../../../controllers/auth'
import { saveTokensInDB } from '../../../utils'
import { FolderMember, ServiceMember } from '../../../types'
const clientId = 'someclientID'
const user = {
@@ -135,21 +136,20 @@ describe('files', () => {
)
await expect(folderExists(testJobFolder)).resolves.toEqual(true)
const testJobFile =
path.join(
testJobFolder,
getTreeExample().members[0].members[0].members[0].name
) + '.sas'
const exampleService = getExampleService()
const testJobFile = path.join(testJobFolder, exampleService.name) + '.sas'
console.log(`[testJobFile]`, testJobFile)
await expect(fileExists(testJobFile)).resolves.toEqual(true)
await expect(readFile(testJobFile)).resolves.toEqual(
getTreeExample().members[0].members[0].members[0].code
)
await expect(readFile(testJobFile)).resolves.toEqual(exampleService.code)
await deleteFolder(getTmpFilesFolderPath())
})
})
})
const getExampleService = (): ServiceMember =>
((getTreeExample().members[0] as FolderMember).members[0] as FolderMember)
.members[0] as ServiceMember