0.0.46 • Published 3 years ago

@bachle/bin-core v0.0.46

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

1. Install

npm install @bachle/bin-core

yarn add @bachle/bin-core

2. Use

2.1 Routing

import {routeApp } from '@bachle/bin-core';


routeApp(
  app: Express,
  options?: {
    prefix?: string;
    docPath?: string;
    logger?: any;
    dataHandlerOptions?: {
      dataHandler: ResponseDataHandler;
      getSuccessSchema?: TypeGetSuccessSchema;
    };
    notFoundHandle?: ExRequestHandler;
    errorHandlerOptions?: {
      errorHandler: ExErrorRequestHandler;
      getFailedSchema?: TypeGetFailedSchema;
    };
  }
)
nametypevalue/sampledescription
appExpressrequired- const app = express();router from express
optionsobjectoptionalsetting for routing
options.prefixstringdefault: ''- should be: 'api'prefix of API server domain.com/[prefix/]{apiPath} .
options.docPathstringdefault:''empty mean don't need document api. Sample: docPath: 'doc' => api document :domain.com/doc/, detail API: domain.com/doc/#{method}_/[prefix/]{apiPath}
options.loggerobjectdefault:undefinedat least exist error function with two params logger.error(message, error)
options.dataHandlerOptionsobjectprocess with data when API success (data and document)
options.dataHandlerOptions.dataHandlerFunction: (data: any, res: ExResponse) => voiddefault: (data: any, res: ExResponse) => { res.send({ data }); }
options.dataHandlerOptions.getSuccessSchemaFunction: (responseData?: T) => IObjectSchemadefault success schema: `{

type: 'object', description: response?.description || 'Response in success case:', properties: { data: response?.data || ({ type: undefined } as ISchemaCore), }, }` |

2.1.1 Controller

@ApiController({
  name: Symbol('HomeController'),
  path: HomeController.path,
})
export class HomeControllerImpl {
  @Get(HomeController.children.hello, 'Hello Api')
  @ApiResponseSuccess({ type: 'string' } as IStringSchema, 'Return message welcome!')
  helloAnonymous(@Queries(querySchema) queries: { name: string }): string {
    return `hello ${queries.name || 'anonymous'}! Welcome to my service.`;
  }
}

2.1.2 Request Method

2.1.3 MiddleWare

2.1.4 Parameter

2.1.5 Response

2.2 Injection

0.0.46

3 years ago

0.0.45

3 years ago

0.0.40

4 years ago

0.0.41

4 years ago

0.0.42

4 years ago

0.0.20

4 years ago

0.0.43

4 years ago

0.0.21

4 years ago

0.0.44

4 years ago

0.0.22

4 years ago

0.0.23

4 years ago

0.0.24

4 years ago

0.0.25

4 years ago

0.0.37

4 years ago

0.0.15

4 years ago

0.0.38

4 years ago

0.0.16

4 years ago

0.0.39

4 years ago

0.0.17

4 years ago

0.0.18

4 years ago

0.0.19

4 years ago

0.0.30

4 years ago

0.0.31

4 years ago

0.0.32

4 years ago

0.0.10

4 years ago

0.0.33

4 years ago

0.0.11

4 years ago

0.0.34

4 years ago

0.0.12

4 years ago

0.0.35

4 years ago

0.0.13

4 years ago

0.0.36

4 years ago

0.0.14

4 years ago

0.0.26

4 years ago

0.0.9

4 years ago

0.0.27

4 years ago

0.0.8

4 years ago

0.0.28

4 years ago

0.0.29

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago