@bearei/contracts 3.1.0 → 3.2.0
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/CHANGELOG.md +9 -0
- package/README.md +15 -13
- package/README.zh-CN.md +14 -13
- package/dist/index.d.mts +23 -2
- package/dist/index.d.ts +23 -2
- package/dist/index.js +25 -0
- package/dist/index.mjs +22 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to this project are documented in this file. The format is b
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
|
|
5
5
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## 3.2.0 — 2026-10-30
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `PAYMENT_CHANNEL`, `PaymentChannel`, `PAYMENT_ENVIRONMENT`, `PaymentEnvironment`,
|
|
12
|
+
`PAYMENT_EVENT_TYPE` and `PaymentEventType`: the channel, environment and event vocabulary of the
|
|
13
|
+
frozen payment event contract between `bearei-pay` and `bearei-subscription`. Values match the
|
|
14
|
+
existing service enums; the release is additive and no existing export changed.
|
|
15
|
+
|
|
7
16
|
## 3.1.0 — 2026-10-30
|
|
8
17
|
|
|
9
18
|
### Added
|
package/README.md
CHANGED
|
@@ -5,18 +5,19 @@ runtime dependencies and ships both ESM and CommonJS builds.
|
|
|
5
5
|
|
|
6
6
|
English | [中文](./README.zh-CN.md)
|
|
7
7
|
|
|
8
|
-
| Export
|
|
9
|
-
|
|
|
10
|
-
| `HTTP_EXCEPTION_CODE`, `HttpExceptionCode`
|
|
11
|
-
| `ApiErrorBody`
|
|
12
|
-
| `DEFAULT_PAGE_SIZE`, `MAX_PAGE_SIZE`
|
|
13
|
-
| `PaginationQuery`, `PaginatedResult<T>`
|
|
14
|
-
| `RESERVED_REQUEST_HEADER`, `ReservedRequestHeaderName`
|
|
15
|
-
| `LANGUAGE`, `Language`
|
|
16
|
-
| `EMAIL_TEMPLATE`, `EmailTemplate`
|
|
17
|
-
| `ORDER`, `Order`
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
8
|
+
| Export | Kind | Purpose |
|
|
9
|
+
| -------------------------------------------------------------- | ----- | --------------------------------------------------- |
|
|
10
|
+
| `HTTP_EXCEPTION_CODE`, `HttpExceptionCode` | value | Numeric error codes shared by services and clients |
|
|
11
|
+
| `ApiErrorBody` | type | Business error body `{code, message, statusCode}` |
|
|
12
|
+
| `DEFAULT_PAGE_SIZE`, `MAX_PAGE_SIZE` | value | Paging limits used by every list endpoint |
|
|
13
|
+
| `PaginationQuery`, `PaginatedResult<T>` | type | Paging request fields and page envelope |
|
|
14
|
+
| `RESERVED_REQUEST_HEADER`, `ReservedRequestHeaderName` | value | Headers set by the gateway or authentication layer |
|
|
15
|
+
| `LANGUAGE`, `Language` | value | Locale values |
|
|
16
|
+
| `EMAIL_TEMPLATE`, `EmailTemplate` | value | Email template values used by services and clients |
|
|
17
|
+
| `ORDER`, `Order` | value | Sort order values |
|
|
18
|
+
| `PAYMENT_CHANNEL`, `PAYMENT_ENVIRONMENT`, `PAYMENT_EVENT_TYPE` | value | Payment contract vocabulary shared by services |
|
|
19
|
+
| `PERMISSION`, `Permission` | value | Permission values used by services and clients |
|
|
20
|
+
| `SUBSCRIPTION_FEATURE`, `SubscriptionFeature` | value | Subscription feature values scoped like permissions |
|
|
20
21
|
|
|
21
22
|
## Install
|
|
22
23
|
|
|
@@ -68,7 +69,8 @@ Only values and types that both ends of a wire boundary must agree on belong her
|
|
|
68
69
|
- numeric error codes and error response bodies
|
|
69
70
|
- query and response shapes shared by API clients and services
|
|
70
71
|
- reserved request header names
|
|
71
|
-
- cross-project enums such as language, sort order, permissions
|
|
72
|
+
- cross-project enums such as language, sort order, permissions, subscription features and payment
|
|
73
|
+
contract values
|
|
72
74
|
|
|
73
75
|
Framework-specific code does not belong here: NestJS decorators, guards and interceptors,
|
|
74
76
|
TypeORM entities, HTTP clients, persistence, and service-only DTOs stay in their own libraries.
|
package/README.zh-CN.md
CHANGED
|
@@ -5,18 +5,19 @@ ESM 与 CommonJS 两种产物。
|
|
|
5
5
|
|
|
6
6
|
[English](./README.md) | 中文
|
|
7
7
|
|
|
8
|
-
| 导出
|
|
9
|
-
|
|
|
10
|
-
| `HTTP_EXCEPTION_CODE`、`HttpExceptionCode`
|
|
11
|
-
| `ApiErrorBody`
|
|
12
|
-
| `DEFAULT_PAGE_SIZE`、`MAX_PAGE_SIZE`
|
|
13
|
-
| `PaginationQuery`、`PaginatedResult<T>`
|
|
14
|
-
| `RESERVED_REQUEST_HEADER`、`ReservedRequestHeaderName`
|
|
15
|
-
| `LANGUAGE`、`Language`
|
|
16
|
-
| `EMAIL_TEMPLATE`、`EmailTemplate`
|
|
17
|
-
| `ORDER`、`Order`
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
8
|
+
| 导出 | 类型 | 用途 |
|
|
9
|
+
| -------------------------------------------------------------- | ---- | ---------------------------------------- |
|
|
10
|
+
| `HTTP_EXCEPTION_CODE`、`HttpExceptionCode` | 值 | 服务与客户端共享的数字错误码 |
|
|
11
|
+
| `ApiErrorBody` | 类型 | 业务错误体 `{code, message, statusCode}` |
|
|
12
|
+
| `DEFAULT_PAGE_SIZE`、`MAX_PAGE_SIZE` | 值 | 所有列表接口使用的分页上限 |
|
|
13
|
+
| `PaginationQuery`、`PaginatedResult<T>` | 类型 | 分页请求字段与分页响应信封 |
|
|
14
|
+
| `RESERVED_REQUEST_HEADER`、`ReservedRequestHeaderName` | 值 | 由网关或认证层写入的保留请求头 |
|
|
15
|
+
| `LANGUAGE`、`Language` | 值 | 语言值 |
|
|
16
|
+
| `EMAIL_TEMPLATE`、`EmailTemplate` | 值 | 服务与客户端共用的邮件模板值 |
|
|
17
|
+
| `ORDER`、`Order` | 值 | 排序值 |
|
|
18
|
+
| `PAYMENT_CHANNEL`、`PAYMENT_ENVIRONMENT`、`PAYMENT_EVENT_TYPE` | 值 | 支付服务与订阅服务共用的支付契约词表 |
|
|
19
|
+
| `PERMISSION`、`Permission` | 值 | 服务与客户端共用的权限值 |
|
|
20
|
+
| `SUBSCRIPTION_FEATURE`、`SubscriptionFeature` | 值 | 订阅特性值,与权限使用相同的区域写法 |
|
|
20
21
|
|
|
21
22
|
## 安装
|
|
22
23
|
|
|
@@ -66,7 +67,7 @@ const page: PaginatedResult<{id: string}> = {
|
|
|
66
67
|
- 数字错误码与错误响应体
|
|
67
68
|
- API 客户端与服务共享的查询、响应结构
|
|
68
69
|
- 保留请求头名称
|
|
69
|
-
-
|
|
70
|
+
- 语言、排序、权限、订阅特性、支付契约值等跨项目枚举
|
|
70
71
|
|
|
71
72
|
框架相关代码不放进这里:NestJS 装饰器、守卫、拦截器,TypeORM 实体,HTTP 客户端,持久化,
|
|
72
73
|
以及仅服务端使用的 DTO 都留在各自的库中。
|
package/dist/index.d.mts
CHANGED
|
@@ -93,6 +93,27 @@ interface PaginatedResult<T> {
|
|
|
93
93
|
total?: number;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
declare const PAYMENT_CHANNEL: {
|
|
97
|
+
readonly APPLE_IAP: "APPLE_IAP";
|
|
98
|
+
};
|
|
99
|
+
type PaymentChannel = (typeof PAYMENT_CHANNEL)[keyof typeof PAYMENT_CHANNEL];
|
|
100
|
+
declare const PAYMENT_ENVIRONMENT: {
|
|
101
|
+
readonly PRODUCTION: "PRODUCTION";
|
|
102
|
+
readonly SANDBOX: "SANDBOX";
|
|
103
|
+
};
|
|
104
|
+
type PaymentEnvironment = (typeof PAYMENT_ENVIRONMENT)[keyof typeof PAYMENT_ENVIRONMENT];
|
|
105
|
+
declare const PAYMENT_EVENT_TYPE: {
|
|
106
|
+
readonly ENTERED_GRACE_PERIOD: "ENTERED_GRACE_PERIOD";
|
|
107
|
+
readonly EXPIRED: "EXPIRED";
|
|
108
|
+
readonly PLAN_CHANGED: "PLAN_CHANGED";
|
|
109
|
+
readonly REFUNDED: "REFUNDED";
|
|
110
|
+
readonly REINSTATED: "REINSTATED";
|
|
111
|
+
readonly RENEWED: "RENEWED";
|
|
112
|
+
readonly REVOKED: "REVOKED";
|
|
113
|
+
readonly SUBSCRIBED: "SUBSCRIBED";
|
|
114
|
+
};
|
|
115
|
+
type PaymentEventType = (typeof PAYMENT_EVENT_TYPE)[keyof typeof PAYMENT_EVENT_TYPE];
|
|
116
|
+
|
|
96
117
|
declare const PERMISSION: {
|
|
97
118
|
readonly ACTION_LOG_CREATE: "action-log:create";
|
|
98
119
|
readonly ACTION_LOG_DELETE: "action-log:delete";
|
|
@@ -172,5 +193,5 @@ declare const SUBSCRIPTION_FEATURE: {
|
|
|
172
193
|
};
|
|
173
194
|
type SubscriptionFeature = (typeof SUBSCRIPTION_FEATURE)[keyof typeof SUBSCRIPTION_FEATURE];
|
|
174
195
|
|
|
175
|
-
export { DEFAULT_PAGE_SIZE, EMAIL_TEMPLATE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
|
|
176
|
-
export type { ApiErrorBody, EmailTemplate, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
|
|
196
|
+
export { DEFAULT_PAGE_SIZE, EMAIL_TEMPLATE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PAYMENT_CHANNEL, PAYMENT_ENVIRONMENT, PAYMENT_EVENT_TYPE, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
|
|
197
|
+
export type { ApiErrorBody, EmailTemplate, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, PaymentChannel, PaymentEnvironment, PaymentEventType, Permission, ReservedRequestHeaderName, SubscriptionFeature };
|
package/dist/index.d.ts
CHANGED
|
@@ -93,6 +93,27 @@ interface PaginatedResult<T> {
|
|
|
93
93
|
total?: number;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
declare const PAYMENT_CHANNEL: {
|
|
97
|
+
readonly APPLE_IAP: "APPLE_IAP";
|
|
98
|
+
};
|
|
99
|
+
type PaymentChannel = (typeof PAYMENT_CHANNEL)[keyof typeof PAYMENT_CHANNEL];
|
|
100
|
+
declare const PAYMENT_ENVIRONMENT: {
|
|
101
|
+
readonly PRODUCTION: "PRODUCTION";
|
|
102
|
+
readonly SANDBOX: "SANDBOX";
|
|
103
|
+
};
|
|
104
|
+
type PaymentEnvironment = (typeof PAYMENT_ENVIRONMENT)[keyof typeof PAYMENT_ENVIRONMENT];
|
|
105
|
+
declare const PAYMENT_EVENT_TYPE: {
|
|
106
|
+
readonly ENTERED_GRACE_PERIOD: "ENTERED_GRACE_PERIOD";
|
|
107
|
+
readonly EXPIRED: "EXPIRED";
|
|
108
|
+
readonly PLAN_CHANGED: "PLAN_CHANGED";
|
|
109
|
+
readonly REFUNDED: "REFUNDED";
|
|
110
|
+
readonly REINSTATED: "REINSTATED";
|
|
111
|
+
readonly RENEWED: "RENEWED";
|
|
112
|
+
readonly REVOKED: "REVOKED";
|
|
113
|
+
readonly SUBSCRIBED: "SUBSCRIBED";
|
|
114
|
+
};
|
|
115
|
+
type PaymentEventType = (typeof PAYMENT_EVENT_TYPE)[keyof typeof PAYMENT_EVENT_TYPE];
|
|
116
|
+
|
|
96
117
|
declare const PERMISSION: {
|
|
97
118
|
readonly ACTION_LOG_CREATE: "action-log:create";
|
|
98
119
|
readonly ACTION_LOG_DELETE: "action-log:delete";
|
|
@@ -172,5 +193,5 @@ declare const SUBSCRIPTION_FEATURE: {
|
|
|
172
193
|
};
|
|
173
194
|
type SubscriptionFeature = (typeof SUBSCRIPTION_FEATURE)[keyof typeof SUBSCRIPTION_FEATURE];
|
|
174
195
|
|
|
175
|
-
export { DEFAULT_PAGE_SIZE, EMAIL_TEMPLATE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
|
|
176
|
-
export type { ApiErrorBody, EmailTemplate, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
|
|
196
|
+
export { DEFAULT_PAGE_SIZE, EMAIL_TEMPLATE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PAYMENT_CHANNEL, PAYMENT_ENVIRONMENT, PAYMENT_EVENT_TYPE, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
|
|
197
|
+
export type { ApiErrorBody, EmailTemplate, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, PaymentChannel, PaymentEnvironment, PaymentEventType, Permission, ReservedRequestHeaderName, SubscriptionFeature };
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,9 @@ __export(index_exports, {
|
|
|
26
26
|
LANGUAGE: () => LANGUAGE,
|
|
27
27
|
MAX_PAGE_SIZE: () => MAX_PAGE_SIZE,
|
|
28
28
|
ORDER: () => ORDER,
|
|
29
|
+
PAYMENT_CHANNEL: () => PAYMENT_CHANNEL,
|
|
30
|
+
PAYMENT_ENVIRONMENT: () => PAYMENT_ENVIRONMENT,
|
|
31
|
+
PAYMENT_EVENT_TYPE: () => PAYMENT_EVENT_TYPE,
|
|
29
32
|
PERMISSION: () => PERMISSION,
|
|
30
33
|
RESERVED_REQUEST_HEADER: () => RESERVED_REQUEST_HEADER,
|
|
31
34
|
SUBSCRIPTION_FEATURE: () => SUBSCRIPTION_FEATURE
|
|
@@ -101,6 +104,25 @@ var ORDER = {
|
|
|
101
104
|
var DEFAULT_PAGE_SIZE = 10;
|
|
102
105
|
var MAX_PAGE_SIZE = 1024;
|
|
103
106
|
|
|
107
|
+
// src/payment.enum.ts
|
|
108
|
+
var PAYMENT_CHANNEL = {
|
|
109
|
+
APPLE_IAP: "APPLE_IAP"
|
|
110
|
+
};
|
|
111
|
+
var PAYMENT_ENVIRONMENT = {
|
|
112
|
+
PRODUCTION: "PRODUCTION",
|
|
113
|
+
SANDBOX: "SANDBOX"
|
|
114
|
+
};
|
|
115
|
+
var PAYMENT_EVENT_TYPE = {
|
|
116
|
+
ENTERED_GRACE_PERIOD: "ENTERED_GRACE_PERIOD",
|
|
117
|
+
EXPIRED: "EXPIRED",
|
|
118
|
+
PLAN_CHANGED: "PLAN_CHANGED",
|
|
119
|
+
REFUNDED: "REFUNDED",
|
|
120
|
+
REINSTATED: "REINSTATED",
|
|
121
|
+
RENEWED: "RENEWED",
|
|
122
|
+
REVOKED: "REVOKED",
|
|
123
|
+
SUBSCRIBED: "SUBSCRIBED"
|
|
124
|
+
};
|
|
125
|
+
|
|
104
126
|
// src/permission.enum.ts
|
|
105
127
|
var PERMISSION = {
|
|
106
128
|
ACTION_LOG_CREATE: "action-log:create",
|
|
@@ -187,6 +209,9 @@ var SUBSCRIPTION_FEATURE = {
|
|
|
187
209
|
LANGUAGE,
|
|
188
210
|
MAX_PAGE_SIZE,
|
|
189
211
|
ORDER,
|
|
212
|
+
PAYMENT_CHANNEL,
|
|
213
|
+
PAYMENT_ENVIRONMENT,
|
|
214
|
+
PAYMENT_EVENT_TYPE,
|
|
190
215
|
PERMISSION,
|
|
191
216
|
RESERVED_REQUEST_HEADER,
|
|
192
217
|
SUBSCRIPTION_FEATURE
|
package/dist/index.mjs
CHANGED
|
@@ -67,6 +67,25 @@ var ORDER = {
|
|
|
67
67
|
var DEFAULT_PAGE_SIZE = 10;
|
|
68
68
|
var MAX_PAGE_SIZE = 1024;
|
|
69
69
|
|
|
70
|
+
// src/payment.enum.ts
|
|
71
|
+
var PAYMENT_CHANNEL = {
|
|
72
|
+
APPLE_IAP: "APPLE_IAP"
|
|
73
|
+
};
|
|
74
|
+
var PAYMENT_ENVIRONMENT = {
|
|
75
|
+
PRODUCTION: "PRODUCTION",
|
|
76
|
+
SANDBOX: "SANDBOX"
|
|
77
|
+
};
|
|
78
|
+
var PAYMENT_EVENT_TYPE = {
|
|
79
|
+
ENTERED_GRACE_PERIOD: "ENTERED_GRACE_PERIOD",
|
|
80
|
+
EXPIRED: "EXPIRED",
|
|
81
|
+
PLAN_CHANGED: "PLAN_CHANGED",
|
|
82
|
+
REFUNDED: "REFUNDED",
|
|
83
|
+
REINSTATED: "REINSTATED",
|
|
84
|
+
RENEWED: "RENEWED",
|
|
85
|
+
REVOKED: "REVOKED",
|
|
86
|
+
SUBSCRIBED: "SUBSCRIBED"
|
|
87
|
+
};
|
|
88
|
+
|
|
70
89
|
// src/permission.enum.ts
|
|
71
90
|
var PERMISSION = {
|
|
72
91
|
ACTION_LOG_CREATE: "action-log:create",
|
|
@@ -152,6 +171,9 @@ export {
|
|
|
152
171
|
LANGUAGE,
|
|
153
172
|
MAX_PAGE_SIZE,
|
|
154
173
|
ORDER,
|
|
174
|
+
PAYMENT_CHANNEL,
|
|
175
|
+
PAYMENT_ENVIRONMENT,
|
|
176
|
+
PAYMENT_EVENT_TYPE,
|
|
155
177
|
PERMISSION,
|
|
156
178
|
RESERVED_REQUEST_HEADER,
|
|
157
179
|
SUBSCRIPTION_FEATURE
|