@merkaly/nest 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/events/merkaly-event.d.ts +12 -1
- package/dist/events/merkaly-event.d.ts.map +1 -1
- package/dist/events/merkaly-event.js +1 -0
- package/dist/events/merkaly-event.js.map +1 -1
- package/dist/http/index.d.ts +1 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +1 -0
- package/dist/http/index.js.map +1 -1
- package/dist/http/no-index.d.ts +3 -0
- package/dist/http/no-index.d.ts.map +1 -0
- package/dist/http/no-index.js +15 -0
- package/dist/http/no-index.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
env, loadEnv, // config
|
|
41
41
|
LoggerModule, LoggerService, // logger
|
|
42
42
|
requestLogger, requestOrigin, requestContext, noteRequest, bodyParsers, bodyParserReason, // uma linha por request
|
|
43
|
+
noIndex, // X-Robots-Tag noindex + /robots.txt bloqueando buscadores
|
|
43
44
|
AbstractExceptionFilter, ExceptionsFilter, rememberError, // filtros (motivo do erro para o log)
|
|
44
45
|
RabbitModule, EventsPublisher, EventsConsumer, EventRejectedException, // eventos
|
|
45
46
|
rabbitConsumerOptions, assertConsumerTopology, OnMerkalyEvent,
|
|
@@ -117,6 +118,15 @@ LoggerModule.forRootAsync({
|
|
|
117
118
|
|
|
118
119
|
Contrato completo em [`docs/events.md`](docs/events.md). Eventos de negócio normalizados (`payment.received`, nunca `asaas.payment_received`): se o provedor muda, o consumidor não muda.
|
|
119
120
|
|
|
121
|
+
Grupos (o primeiro segmento do tipo):
|
|
122
|
+
|
|
123
|
+
| Grupo | Tipos | Origem |
|
|
124
|
+
| --- | --- | --- |
|
|
125
|
+
| `payment.*` | cobranças do store e subconta do comerciante (`payment.account.*`) | Asaas |
|
|
126
|
+
| `identity.*` | identidade: `identity.signup.requested` (usuário novo sem organização preenche o formulário da empresa no Action post-login; o api cria a organização com ele como membro) | Auth0 |
|
|
127
|
+
|
|
128
|
+
`identity.signup.requested` leva `data: { user, email, company: { name, email? } }` (id do usuário no Auth0, ex. `auth0|abc`); o momento é o `occurredAt` do evento, sem campo próprio.
|
|
129
|
+
|
|
120
130
|
```ts
|
|
121
131
|
// produtor: data tipado pelo tipo; resolve com o evento ou ServiceUnavailableException (o provedor reintenta)
|
|
122
132
|
await this.events.emit(MerkalyEventType.PAYMENT_RECEIVED, { ...paymentRef, receivedAt }, {
|
|
@@ -9,7 +9,8 @@ export declare enum MerkalyEventType {
|
|
|
9
9
|
PAYMENT_CHARGEBACK_UPDATED = "payment.chargeback.updated",
|
|
10
10
|
PAYMENT_ACCOUNT_APPROVED = "payment.account.approved",
|
|
11
11
|
PAYMENT_ACCOUNT_REJECTED = "payment.account.rejected",
|
|
12
|
-
PAYMENT_ACCOUNT_STATUS_CHANGED = "payment.account.status_changed"
|
|
12
|
+
PAYMENT_ACCOUNT_STATUS_CHANGED = "payment.account.status_changed",
|
|
13
|
+
IDENTITY_SIGNUP_REQUESTED = "identity.signup.requested"
|
|
13
14
|
}
|
|
14
15
|
export declare enum MerkalyProducer {
|
|
15
16
|
WEBHOOKS = "webhooks.merkaly.io",
|
|
@@ -33,6 +34,15 @@ export interface PaymentAccountRef {
|
|
|
33
34
|
provider: PaymentProvider;
|
|
34
35
|
accountId: string;
|
|
35
36
|
}
|
|
37
|
+
export interface SignupCompany {
|
|
38
|
+
name: string;
|
|
39
|
+
email?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface IdentitySignupRequested {
|
|
42
|
+
user: string;
|
|
43
|
+
email: string;
|
|
44
|
+
company: SignupCompany;
|
|
45
|
+
}
|
|
36
46
|
export interface EventDataMap {
|
|
37
47
|
[MerkalyEventType.PAYMENT_CONFIRMED]: PaymentRef & {
|
|
38
48
|
confirmedAt: string;
|
|
@@ -63,6 +73,7 @@ export interface EventDataMap {
|
|
|
63
73
|
section: PaymentAccountSection;
|
|
64
74
|
status: PaymentAccountStatus;
|
|
65
75
|
};
|
|
76
|
+
[MerkalyEventType.IDENTITY_SIGNUP_REQUESTED]: IdentitySignupRequested;
|
|
66
77
|
}
|
|
67
78
|
export interface MerkalyRawEvent {
|
|
68
79
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkaly-event.d.ts","sourceRoot":"","sources":["../../src/events/merkaly-event.ts"],"names":[],"mappings":"AAGA,oBAAY,gBAAgB;IAC1B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IACrD,8BAA8B,mCAAmC;
|
|
1
|
+
{"version":3,"file":"merkaly-event.d.ts","sourceRoot":"","sources":["../../src/events/merkaly-event.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ var MerkalyEventType;
|
|
|
16
16
|
MerkalyEventType["PAYMENT_ACCOUNT_APPROVED"] = "payment.account.approved";
|
|
17
17
|
MerkalyEventType["PAYMENT_ACCOUNT_REJECTED"] = "payment.account.rejected";
|
|
18
18
|
MerkalyEventType["PAYMENT_ACCOUNT_STATUS_CHANGED"] = "payment.account.status_changed";
|
|
19
|
+
MerkalyEventType["IDENTITY_SIGNUP_REQUESTED"] = "identity.signup.requested";
|
|
19
20
|
})(MerkalyEventType || (exports.MerkalyEventType = MerkalyEventType = {}));
|
|
20
21
|
var MerkalyProducer;
|
|
21
22
|
(function (MerkalyProducer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkaly-event.js","sourceRoot":"","sources":["../../src/events/merkaly-event.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"merkaly-event.js","sourceRoot":"","sources":["../../src/events/merkaly-event.ts"],"names":[],"mappings":";;;AA0HA,gDAqBC;AA/ID,mCAAoC;AAGpC,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,yDAAqC,CAAA;IACrC,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IACnC,2DAAuC,CAAA;IACvC,yDAAqC,CAAA;IACrC,2EAAuD,CAAA;IACvD,6EAAyD,CAAA;IACzD,yEAAqD,CAAA;IACrD,yEAAqD,CAAA;IACrD,qFAAiE,CAAA;IACjE,2EAAuD,CAAA;AACzD,CAAC,EAbW,gBAAgB,gCAAhB,gBAAgB,QAa3B;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,mDAAgC,CAAA;IAChC,yCAAsB,CAAA;IACtB,mDAAgC,CAAA;AAClC,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAyFY,QAAA,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC;AAG3C,SAAS,MAAM,CAAC,GAAqB;IACnC,IAAI,CAAC,GAAG,EAAE,OAAO;QAAE,OAAO,GAAG,CAAC;IAE9B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAElE,OAAO,IAAI,GAAG,yBAAiB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9E,CAAC;AAED,SAAgB,kBAAkB,CAChC,QAAyB,EACzB,IAAO,EACP,IAAqB,EACrB,OAAyB,EAAE;IAE3B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAA,mBAAU,GAAE;QAC3B,IAAI;QACJ,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;QAC1B,QAAQ;QACR,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;QAC5C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,WAAW;QAC1C,WAAW;QACX,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI;QACJ,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACtB,CAAC;AACJ,CAAC"}
|
package/dist/http/index.d.ts
CHANGED
package/dist/http/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
package/dist/http/index.js
CHANGED
|
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./body-parsers"), exports);
|
|
18
|
+
__exportStar(require("./no-index"), exports);
|
|
18
19
|
__exportStar(require("./request-logger"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,6CAA2B;AAC3B,mDAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-index.d.ts","sourceRoot":"","sources":["../../src/http/no-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK/D,wBAAgB,OAAO,KACb,SAAS,OAAO,EAAE,UAAU,QAAQ,EAAE,MAAM,YAAY,UAWjE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.noIndex = noIndex;
|
|
4
|
+
const ROBOTS = 'User-agent: *\nDisallow: /\n';
|
|
5
|
+
function noIndex() {
|
|
6
|
+
return (request, response, next) => {
|
|
7
|
+
response.setHeader('X-Robots-Tag', 'noindex, nofollow');
|
|
8
|
+
if (request.method === 'GET' && request.path === '/robots.txt') {
|
|
9
|
+
response.type('text/plain').send(ROBOTS);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
next();
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=no-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-index.js","sourceRoot":"","sources":["../../src/http/no-index.ts"],"names":[],"mappings":";;AAKA,0BAYC;AAfD,MAAM,MAAM,GAAG,8BAA8B,CAAC;AAG9C,SAAgB,OAAO;IACrB,OAAO,CAAC,OAAgB,EAAE,QAAkB,EAAE,IAAkB,EAAE,EAAE;QAClE,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAExD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzC,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkaly/nest",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "Shared NestJS runtime and tooling for Merkaly backend apps: pinned versions plus RabbitMQ events, logger, filters, config and signatures",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"eslint-plugin-import": "^2.32.0",
|
|
47
47
|
"eslint-plugin-prettier": "^5.5.4",
|
|
48
48
|
"express": "^5.3.0",
|
|
49
|
-
"globals": "^17.
|
|
49
|
+
"globals": "^17.14.0",
|
|
50
50
|
"nestjs-console": "^10.0.0",
|
|
51
51
|
"prettier": "^3.9.3",
|
|
52
52
|
"reflect-metadata": "^0.2.2",
|