Init Project...
This commit is contained in:
4
packages/cc-server-core/.gitignore
vendored
Normal file
4
packages/cc-server-core/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/node_modules
|
||||
/dist
|
||||
/package-lock.json
|
||||
/yarn.lock
|
||||
11
packages/cc-server-core/README.md
Normal file
11
packages/cc-server-core/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# `cc-server-core`
|
||||
|
||||
> TODO: description
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
const ccServerCore = require('cc-server-core');
|
||||
|
||||
// TODO: DEMONSTRATE API
|
||||
```
|
||||
29
packages/cc-server-core/package.json
Normal file
29
packages/cc-server-core/package.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "cc-server-core",
|
||||
"version": "0.0.1",
|
||||
"description": "> TODO: description",
|
||||
"author": "MiaoWoo <admin@yumc.pw>",
|
||||
"homepage": "https://faas.yumc.pw",
|
||||
"license": "ISC",
|
||||
"main": "dist/index.js",
|
||||
"publishConfig": {
|
||||
"registry": "https://repo.yumc.pw/repository/npm-hosted/"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "npx ts-node src/index.ts",
|
||||
"test": "echo \"Error: run tests from root\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.0",
|
||||
"cc-server-db-mongo": "^0.0.1",
|
||||
"cc-server-ioc": "^0.0.1",
|
||||
"inversify": "^5.0.1",
|
||||
"inversify-express-utils": "^6.3.2",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"typescript": "^3.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/body-parser": "^1.17.0",
|
||||
"ts-node": "^8.2.0"
|
||||
}
|
||||
}
|
||||
22
packages/cc-server-core/src/function/handle.ts
Normal file
22
packages/cc-server-core/src/function/handle.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import {
|
||||
controller, httpGet, httpPost, httpPut, httpDelete
|
||||
} from 'inversify-express-utils';
|
||||
import { inject } from 'inversify';
|
||||
import { MongoDBClient } from 'cc-server-db-mongo'
|
||||
|
||||
@controller('/')
|
||||
export class UserController {
|
||||
constructor(
|
||||
@inject(MongoDBClient) private MongoDBClient: MongoDBClient
|
||||
) { }
|
||||
|
||||
@httpGet('/')
|
||||
public async getUsers(): Promise<any[]> {
|
||||
return []
|
||||
}
|
||||
|
||||
@httpPost('/')
|
||||
public async newUser(): Promise<any> {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
22
packages/cc-server-core/src/function/tsconfig.json
Normal file
22
packages/cc-server-core/src/function/tsconfig.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"sourceRoot": "src",
|
||||
"module": "commonjs",
|
||||
"target": "es5",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": false,
|
||||
"sourceMap": false,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"moduleResolution": "node",
|
||||
"noUnusedLocals": true
|
||||
},
|
||||
"compileOnSave": false,
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
32
packages/cc-server-core/src/index.ts
Normal file
32
packages/cc-server-core/src/index.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import 'reflect-metadata';
|
||||
import { InversifyExpressServer } from 'inversify-express-utils';
|
||||
import { Container } from 'inversify';
|
||||
import * as bodyParser from 'body-parser';
|
||||
import './function/handle';
|
||||
import { METADATA_KEY } from 'cc-server-ioc';
|
||||
|
||||
// load everything needed to the Container
|
||||
let container = new Container();
|
||||
Reflect.defineMetadata(METADATA_KEY.container, container, Reflect)
|
||||
|
||||
// auto load service
|
||||
let services: Function[] = Reflect.getMetadata(METADATA_KEY.service, Reflect);
|
||||
for (const service of services) {
|
||||
service()
|
||||
}
|
||||
|
||||
// start the server
|
||||
let server = new InversifyExpressServer(container);
|
||||
|
||||
server.setConfig((app) => {
|
||||
app.use(bodyParser.urlencoded({
|
||||
extended: true
|
||||
}));
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.raw())
|
||||
});
|
||||
|
||||
let serverInstance = server.build();
|
||||
serverInstance.listen(80);
|
||||
|
||||
console.log('Server started on port 80 :)');
|
||||
7
packages/cc-server-core/tsconfig.json
Normal file
7
packages/cc-server-core/tsconfig.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "src",
|
||||
"outDir": "dist"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user