Files
hudozka/modules/hudozka-api/src/server.ts
T
2020-02-23 03:13:09 +03:00

58 lines
1.5 KiB
TypeScript

import { config } from 'dotenv'
import express from 'express'
import { connect } from './db'
import * as person from './controllers/person'
import * as article from './controllers/article'
import * as album from './controllers/album'
import * as schedule from './controllers/schedule'
import * as file from './controllers/file'
import * as page from './controllers/page'
import * as image from './controllers/image'
async function main() {
const port = process.env.PORT || '3000'
const mongoUri = process.env.MONGO_URI
try {
await connect('hudozka', mongoUri)
console.log('connected')
} catch (e) {
console.error(e.message)
process.exit(1)
}
const app = express()
app.get('/persons', person.getAll)
app.get('/persons/urls', person.getUrls)
app.get('/persons/:slug', person.getItem)
app.get('/articles', article.getAll)
app.get('/articles/urls', article.getUrls)
app.get('/articles/:slug', article.getItem)
app.get('/albums', album.getAll)
app.get('/albums/urls', album.getUrls)
app.get('/albums/:slug', album.getItem)
app.get('/files', file.getAll)
app.get('/files/urls', file.getUrls)
app.get('/files/:slug', file.getItem)
app.get('/pages', page.getAll)
app.get('/pages/urls', page.getUrls)
app.get('/page', page.getItem)
app.get('/images/:slug', image.getItem)
app.get('/schedule', schedule.getItem)
app.listen(port, () => {
console.log(`> Ready on http://localhost:${port}`)
})
}
config()
main()