2.4.0 • Published 6 years ago

protontype v2.4.0

Weekly downloads
54
License
MIT
Repository
github
Last release
6 years ago

ProtonType

Um simples web framework feito em TypeScript.

O ProtonType tem como objetivo tornar simples e agradável o desenvolvimento de APIs REST e criação de modelos de banco de dados usando TypeORM por padrão.

Documentação

Instalação

npm install protontype --save

Models

Usa TypeORM por padrão para acesso a banco de dados. Mas pode ser usado qualquer estratégia.

@Entity()
export class TasksModel {
    @PrimaryGeneratedColumn()
    id: number;
    @Column({ nullable: true })
    title: string;
    @Column()
    done: boolean;
    @Column()
    userId: number;
}

Middlewares

Suporta implementação de middlewares

export class TasksMiddleware extends ProtonMiddleware {
    @Middleware()
    printTaskTitle(params: MiddlewareFunctionParams) {
        cosole.log(params.req.body.title);
        params.next();
    }
}

Router

Rotas básicas de CRUD já implementadas nos CrudRouters

 @RouterClass({
    baseUrl: "/tasks",
    model: TasksModel,
    middlewares: [new TasksMiddleware()]
})
export class TasksRouter extends TypeORMCrudRouter {
    /*
    GET / - Lista todos registros
    POST / - Cria um registro
    GET /:id - Consulta um registro
    PUT /:id - Atualiza um registro
    DELETE /:id - Remove um registro
    */

    //Novas rotas customizadas ....
}

Ou pode implementar rotas customizadas

 @RouterClass({
    baseUrl: "/tasks",
    model: TasksModel,
    middlewares: [new TasksMiddleware()]
})
export class TasksRouter extends ExpressRouter {
    @Route({
        endpoint: '/test/msg',
        method: Method.GET,
        middlewares: [new OtherMiddleware()]
    })
    routeTest(params: RouterFunctionParams) {
        console.log("Hello!");
    }
}

Iniciando a aplicação

new ProtonApplication()
    .addRouterAs(TasksRouter)
    .addMiddlewareAs(SomeoneGlobalMiddleware)
    .start();

Exemplos

English / Português

2.4.0

6 years ago

2.3.4

6 years ago

2.3.3

6 years ago

2.3.2

6 years ago

2.3.1

6 years ago

2.3.0

6 years ago

2.2.0

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

2.0.0-rc.4

6 years ago

2.0.0-rc.3

6 years ago

2.0.0-rc.2

6 years ago

2.0.0-rc.1

6 years ago

1.0.0

7 years ago

1.0.1-rc2

7 years ago

1.0.0-rc2

7 years ago

1.0.0-rc1

7 years ago

1.0.1-beta

7 years ago

1.0.0-beta

7 years ago

0.10.1-alpha

8 years ago

0.10.0-alpha

8 years ago

0.9.0-alpha

8 years ago

0.8.0-alpha

8 years ago

0.7.0-alpha

8 years ago

0.6.0-alpha

8 years ago

0.5.1-alpha

8 years ago

0.5.0-alpha

8 years ago

0.4.0-alpha

8 years ago

0.3.0-alpha

8 years ago