@actbase/node-server
TypeScript icon, indicating that this package has built-in type declarations

1.1.18 • Public • Published

@actbase/node-server

Node.js를 위한 express기반의 웹 프레임워크.

NPM Version NPM Downloads

const app = require('@actbase/node-server');

app.run();

설치

@actbase/node-server는 npm registry를 통해 사용할 수 있는 Node.js 모듈 입니다.

설치하기 전에 Node.js를 다운로드하여 설치해주세요. Node.js 0.10 이상이 필요합니다.

만약 새로운 프로젝트를 만들 경우 npm init을 사용하여 프로젝트를 생성 합니다.

설치는 npm install을 사용하여 설치됩니다.

$ npm install @actbase/node-server

특징

  • Express 기반의 웹 프레임워크
  • Async await 지원
  • Oauth 지원
  • sequelize기반의 orm지원
  • Swagger 3 기본 지원

시작

Route

앤드포인트(URI)가 클라이언트 요청에 응답하는 방법을 나타내는 Route입니다.

import { createRoute } from '@actbase/node-server';
import UserService from '../services/UserSerivce';

const execute = ({ user }) => {
  return UserService.getMe(user);
};

export default createRoute(
  {
    method: 'GET',
    uri: '/me',
  },
  execute,
  {
    tags: 'User',
    description: 'Get Me',
  },
);

Model

Database Table 정보를 담고있는 Model 입니다.

import { createModel, TypeIs } from '@actbase/node-server';

const User = createModel(
  'users',
  {
    username: { type: TypeIs.STRING, comment: '아이디' },
    password: { type: TypeIs.STRING, comment: '비밀번호' },
  },
  {
    with: ['*'],
  },
);

export default User;

DTO

데이터 객체 선언(Data Transfer Object) 파일입니다.

import { createDto } from '@actbase/node-server';
import User from '../models/User';

export default createDto(
  'UserMeDto',
  {
    username: { type: TypeIs.STRING, comment: '아이디' },
  },
  {
    defineModel: User,
  },
);

Service

비즈니스 로직을 담고있는 Service입니다.

import { createService } from '@actbase/node-server';
import User from '../models/User';
import UserMeDto from '../dtos/UserMeDto';

export default createService({
  getMe: (repo, [user]) => {
    const userMe = repo.findOne(User, {
      exportTo: UserMeDto,
      where: {
        id: user.id,
      },
    });
    if (!userMe) throw { status: 404, message: 'Not found User' };
    return UserMeDto.map(userMe);
  },
});

Readme

Keywords

Package Sidebar

Install

npm i @actbase/node-server

Weekly Downloads

1

Version

1.1.18

License

MIT

Unpacked Size

166 kB

Total Files

40

Last publish

Collaborators

  • solari3t2
  • seung-juv
  • lunyx
  • alexkang