platform/services/print/pod-print/src/main.ts
Andrey Sobolev ddecae80dd
Move services to public (#6156)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
2024-07-28 14:55:43 +07:00

37 lines
930 B
TypeScript

//
// Copyright © 2024 Hardcore Engineering Inc.
//
import { setMetadata } from '@hcengineering/platform'
import serverToken from '@hcengineering/server-token'
import { storageConfigFromEnv } from '@hcengineering/server-storage'
import config from './config'
import { createServer, listen } from './server'
const setupMetadata = (): void => {
setMetadata(serverToken.metadata.Secret, config.Secret)
}
export const main = async (): Promise<void> => {
setupMetadata()
const storageConfig = storageConfigFromEnv()
const { app, close } = createServer(config.DbURL, storageConfig)
const server = listen(app, config.Port)
const shutdown = (): void => {
close()
server.close(() => process.exit())
}
process.on('SIGINT', shutdown)
process.on('SIGTERM', shutdown)
process.on('uncaughtException', (e) => {
console.error(e)
})
process.on('unhandledRejection', (e) => {
console.error(e)
})
}