Skip to content

Commit 2cda3ce

Browse files
Translate create-plugin, discover, how-to, integrations, overview, plugins, cli, first-steps to portuguese (#38)
* Tranlate files to portuguese * Fix PR Issues * Fix Redirect URL Co-authored-by: Henrique Leite <henriqueleite616@gmail.com>
1 parent 9019b10 commit 2cda3ce

File tree

14 files changed

+405
-1
lines changed

14 files changed

+405
-1
lines changed

docs/overview/plugins.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sidebar_position: 3
66

77
Here is a list of all official or recommended plugins.
88

9-
If you want to create your own plugin, see [this docs](../create-plugin/first-steps.md).
9+
If you want to create your own plugin, see [this docs](../create-plugin/first-steps).
1010

1111
## All Plugins
1212

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"label": "Criar um Plugin",
3+
"position": 98
4+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# Primeiros passos
6+
7+
:::info Nós estamos aqui por você 🤗
8+
9+
Para começar, nós queremos que você saiba que estamos aqui para auxliar no desenvolvimento do seu plugin, então se você tiver qualquer pergunta, não exite em nós contactar pelo [discord](https://discord.gg/TakYksUzzZ).
10+
11+
:::

i18n/pt-BR/docusaurus-plugin-content-docs/current/overview/discover/companies.md renamed to i18n/pt-BR/docusaurus-plugin-content-docs/current/discover/companies.md

File renamed without changes.

i18n/pt-BR/docusaurus-plugin-content-docs/current/overview/how-to/arrays-of-enums.md renamed to i18n/pt-BR/docusaurus-plugin-content-docs/current/how-to/arrays-of-enums.md

File renamed without changes.

i18n/pt-BR/docusaurus-plugin-content-docs/current/overview/how-to/arrays.md renamed to i18n/pt-BR/docusaurus-plugin-content-docs/current/how-to/arrays.md

File renamed without changes.

i18n/pt-BR/docusaurus-plugin-content-docs/current/overview/how-to/enums.md renamed to i18n/pt-BR/docusaurus-plugin-content-docs/current/how-to/enums.md

File renamed without changes.

i18n/pt-BR/docusaurus-plugin-content-docs/current/overview/how-to/sub-entities.md renamed to i18n/pt-BR/docusaurus-plugin-content-docs/current/how-to/sub-entities.md

File renamed without changes.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"label": "Integrações",
3+
"position": 3
4+
}
Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# NestJs
6+
7+
O _Symb_ faz integração com NestJS, então você pode trabalhar com o framework sem se preocupar com a ligação com o banco de dados.
8+
9+
## Instalação
10+
11+
Com Yarn:
12+
13+
```
14+
yarn add @techmmunity/symbiosis-nestjs
15+
```
16+
17+
Com NPM:
18+
19+
```
20+
npm i @techmmunity/symbiosis-nestjs
21+
```
22+
23+
## Como usar (exemplo com DynamoDB)
24+
25+
O _Symb_ vai funcionar normalmente, com a unica exceção sendo a integração com o Nest, então você vai poder usar os repositórios como sempre, e os parâmetros recebidos serão os mesmos valores de sempre.
26+
27+
```ts
28+
// app.module.ts
29+
30+
import { Module } from "@nestjs/common";
31+
import { SymbiosisModule } from "@techmmunity/symbiosis-nestjs";
32+
import {
33+
Connection,
34+
DynamoDbConnectionOptions,
35+
} from "@techmmunity/symbiosis-dynamodb";
36+
37+
import { UserEntity } from "./user.entity";
38+
39+
@Module({
40+
imports: [
41+
SymbiosisModule.forRoot<DynamoDbConnectionOptions>(Connection, {
42+
// ...
43+
entities: [UserEntity],
44+
databaseConfig: {
45+
// ...
46+
},
47+
}),
48+
],
49+
})
50+
export class AppModule {}
51+
```
52+
53+
```ts
54+
// user.module.ts
55+
56+
import { Module } from "@nestjs/common";
57+
import { SymbiosisModule } from "@techmmunity/symbiosis-nestjs";
58+
59+
import { UserService } from "./user.service";
60+
import { UserController } from "./user.controller";
61+
import { UserEntity } from "./user.entity";
62+
63+
@Module({
64+
imports: [SymbiosisModule.forFeature([UserEntity])],
65+
providers: [UserService],
66+
controllers: [UserController],
67+
})
68+
export class UserModule {}
69+
```
70+
71+
```ts
72+
// user.service.ts
73+
74+
import { Injectable } from "@nestjs/common";
75+
import { InjectRepository } from "@techmmunity/symbiosis-nestjs";
76+
import { Repository, Connection } from "@techmmunity/symbiosis-dynamodb";
77+
78+
import { UserEntity } from "./user.entity";
79+
80+
@Injectable()
81+
export class UserService {
82+
constructor(
83+
@InjectRepository(UserEntity)
84+
private userRepository: Repository<UserEntity>,
85+
@InjectConnection()
86+
private connection: Connection
87+
) {}
88+
89+
findOne(id: string): Promise<User> {
90+
return this.userRepository.findOne({
91+
where: {
92+
id,
93+
},
94+
});
95+
}
96+
97+
async remove(id: string): Promise<void> {
98+
await this.userRepository.delete({
99+
id,
100+
});
101+
}
102+
}
103+
```
104+
105+
## `SymbiosisModule`
106+
107+
O `SymbiosisModule` é a conexão principal entre NestJs e o _Symb_. Ele possui dois métodos que te permitem fazer a integração com o Symbiosis da maneira mais performática possível.
108+
109+
### `.forRoot()`
110+
111+
O método `.forRoot()` deve ser usado no seu Module principal (como `AppModule`). Isso permite você linkar o seu código com o banco de dados.
112+
113+
O método recebe dois parâmetros, o primeiro é a classe que você quer usar para conectar ao banco de dados (aquela que você importa do plugin), e o segundo é a configuração da conexão.
114+
115+
Nessa configuração, você deve especificar **todas** as suas entidades.
116+
117+
```ts
118+
// app.module.ts
119+
120+
import { Module } from "@nestjs/common";
121+
import { SymbiosisModule } from "@techmmunity/symbiosis-nestjs";
122+
import {
123+
Connection,
124+
DynamoDbConnectionOptions,
125+
} from "@techmmunity/symbiosis-dynamodb";
126+
127+
import { UserEntity } from "./user.entity";
128+
129+
@Module({
130+
imports: [
131+
SymbiosisModule.forRoot<DynamoDbConnectionOptions>(Connection, {
132+
// ...
133+
entities: [UserEntity],
134+
databaseConfig: {
135+
// ...
136+
},
137+
}),
138+
],
139+
})
140+
export class AppModule {}
141+
```
142+
143+
### `.forFeature()`
144+
145+
O método `.forFeature()` deve ser usado no seu Modulo de domínio (como `UserModule`). Isso vai carregar e injetar todos os repositórios que você irá usar nesse dominio.
146+
147+
O método recebe dois parâmetros, o primeiro é um array de entidades (apenas aquelas que você vai precisa nesse Modulo), e a segunda (opcional) é o nome da conexão.
148+
149+
```ts
150+
// user.module.ts
151+
152+
import { Module } from "@nestjs/common";
153+
import { SymbiosisModule } from "@techmmunity/symbiosis-nestjs";
154+
155+
import { UserService } from "./user.service";
156+
import { UserController } from "./user.controller";
157+
import { UserEntity } from "./user.entity";
158+
159+
@Module({
160+
imports: [SymbiosisModule.forFeature([UserEntity])],
161+
providers: [UserService],
162+
controllers: [UserController],
163+
})
164+
export class UserModule {}
165+
```
166+
167+
## Decorators
168+
169+
### `@InjectRepository()`
170+
171+
Injeta um repositório.
172+
173+
Recebe a entidade como primeiro parâmetro e opcionalmente o nome da conexão como segundo parâmetro. Se nenhum nome de conexão for passado, usará a conexão padrão.
174+
175+
```ts
176+
// user.service.ts
177+
178+
import { Injectable } from "@nestjs/common";
179+
import { InjectRepository } from "@techmmunity/symbiosis-nestjs";
180+
import { Repository } from "@techmmunity/symbiosis-dynamodb";
181+
182+
import { UserEntity } from "./user.entity";
183+
184+
@Injectable()
185+
export class UserService {
186+
constructor(
187+
@InjectRepository(UserEntity, "connection_x")
188+
private userRepository: Repository<UserEntity>
189+
) {}
190+
}
191+
```
192+
193+
### `@InjectConnection()`
194+
195+
Injeta uma conexão.
196+
197+
Recebe o nome da conexão como parâmetro opcional. Se nenhum nome de conexão for passado, usará a conexão padrão.
198+
199+
```ts
200+
// user.service.ts
201+
202+
import { Injectable } from "@nestjs/common";
203+
import { InjectRepository } from "@techmmunity/symbiosis-nestjs";
204+
import { Repository } from "@techmmunity/symbiosis-dynamodb";
205+
206+
import { UserEntity } from "./user.entity";
207+
208+
@Injectable()
209+
export class UserService {
210+
constructor(
211+
@InjectRepository(UserEntity, "connection_x")
212+
private userRepository: Repository<UserEntity>
213+
) {}
214+
}
215+
```

0 commit comments

Comments
 (0)