mirror of
https://github.com/sasjs/server.git
synced 2026-01-09 07:20:05 +00:00
feat(folders-api): add root folder
This commit is contained in:
@@ -8,6 +8,8 @@ import webRouter from './routes/web'
|
|||||||
import apiRouter from './routes/api'
|
import apiRouter from './routes/api'
|
||||||
import { connectDB, getWebBuildFolderPath } from './utils'
|
import { connectDB, getWebBuildFolderPath } from './utils'
|
||||||
|
|
||||||
|
import { FolderController } from './controllers'
|
||||||
|
|
||||||
dotenv.config()
|
dotenv.config()
|
||||||
|
|
||||||
const app = express()
|
const app = express()
|
||||||
@@ -30,4 +32,8 @@ app.use(express.json({ limit: '50mb' }))
|
|||||||
|
|
||||||
app.use(express.static(getWebBuildFolderPath()))
|
app.use(express.static(getWebBuildFolderPath()))
|
||||||
|
|
||||||
|
const folderController = new FolderController()
|
||||||
|
|
||||||
|
folderController.addRootFolder()
|
||||||
|
|
||||||
export default connectDB().then(() => app)
|
export default connectDB().then(() => app)
|
||||||
|
|||||||
21
api/src/controllers/folder.ts
Normal file
21
api/src/controllers/folder.ts
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import Folder, { MemberType } from '../model/Folder'
|
||||||
|
|
||||||
|
export class FolderController {
|
||||||
|
public async addRootFolder() {
|
||||||
|
await addRootFolder()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const addRootFolder = async () => {
|
||||||
|
let folder = await Folder.findOne({ name: '/' })
|
||||||
|
|
||||||
|
if (folder) return
|
||||||
|
|
||||||
|
folder = new Folder({
|
||||||
|
name: '/',
|
||||||
|
parentFolderUri: '/',
|
||||||
|
type: MemberType.Folder
|
||||||
|
})
|
||||||
|
|
||||||
|
return await folder.save()
|
||||||
|
}
|
||||||
@@ -5,3 +5,4 @@ export * from './group'
|
|||||||
export * from './stp'
|
export * from './stp'
|
||||||
export * from './user'
|
export * from './user'
|
||||||
export * from './session'
|
export * from './session'
|
||||||
|
export * from './folder'
|
||||||
|
|||||||
4
api/src/model/Folder.ts
Normal file
4
api/src/model/Folder.ts
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
export enum MemberType {
|
||||||
|
Folder = 'Folder',
|
||||||
|
File = 'File'
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user