@bearei/contracts 2.1.0 → 2.2.1
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 +21 -0
- package/README.md +30 -2
- package/README.zh-CN.md +29 -3
- package/dist/index.d.mts +84 -3
- package/dist/index.d.ts +84 -3
- package/dist/index.js +90 -7
- package/dist/index.mjs +87 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,27 @@ 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
|
+
## 2.2.1 — 2026-10-28
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- README now documents the release flow and states that the package declares no runtime or peer
|
|
12
|
+
dependencies; the Chinese README matches the English one again.
|
|
13
|
+
- `ApiErrorBody` is documented as the business error body. Validation errors keep the NestJS
|
|
14
|
+
default body and are not assignable to it. No exported value or type changed.
|
|
15
|
+
|
|
16
|
+
## 2.2.0 — 2026-10-27
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- `PERMISSION` and `Permission`, moved from `@bearei/nest` without changing any value. Clients can
|
|
21
|
+
now evaluate permissions against the same `<service>:<action>` values the services check.
|
|
22
|
+
- `SUBSCRIPTION_FEATURE` and `SubscriptionFeature`, moved from `@bearei/nest`. Features are scoped
|
|
23
|
+
like permissions and use `<service>:<key>`: `bookmark:cloud_sync`, `bookmark:carton_cloud_sync`
|
|
24
|
+
and `bookmark:tag_cloud_sync`. Cartons and tags belong to the `bearei-bookmark` service, so they
|
|
25
|
+
share its namespace. The previous `BEAREI_BOOKMARK_CLOUD_SYNC` value is replaced by
|
|
26
|
+
`BOOKMARK_CLOUD_SYNC`.
|
|
27
|
+
|
|
7
28
|
## 2.1.0 — 2026-10-27
|
|
8
29
|
|
|
9
30
|
### Added
|
package/README.md
CHANGED
|
@@ -8,12 +8,14 @@ English | [中文](./README.zh-CN.md)
|
|
|
8
8
|
| Export | Kind | Purpose |
|
|
9
9
|
| ------------------------------------------------------ | ----- | --------------------------------------------------- |
|
|
10
10
|
| `HTTP_EXCEPTION_CODE`, `HttpExceptionCode` | value | Numeric error codes shared by services and clients |
|
|
11
|
-
| `ApiErrorBody` | type |
|
|
11
|
+
| `ApiErrorBody` | type | Business error body `{code, message, statusCode}` |
|
|
12
12
|
| `DEFAULT_PAGE_SIZE`, `MAX_PAGE_SIZE` | value | Paging limits used by every list endpoint |
|
|
13
13
|
| `PaginationQuery`, `PaginatedResult<T>` | type | Paging request fields and page envelope |
|
|
14
14
|
| `RESERVED_REQUEST_HEADER`, `ReservedRequestHeaderName` | value | Headers set by the gateway or authentication layer |
|
|
15
15
|
| `LANGUAGE`, `Language` | value | Locale values |
|
|
16
16
|
| `ORDER`, `Order` | value | Sort order values |
|
|
17
|
+
| `PERMISSION`, `Permission` | value | Permission values used by services and clients |
|
|
18
|
+
| `SUBSCRIPTION_FEATURE`, `SubscriptionFeature` | value | Subscription feature values scoped like permissions |
|
|
17
19
|
|
|
18
20
|
## Install
|
|
19
21
|
|
|
@@ -21,6 +23,9 @@ English | [中文](./README.zh-CN.md)
|
|
|
21
23
|
yarn add @bearei/contracts
|
|
22
24
|
```
|
|
23
25
|
|
|
26
|
+
The package declares no runtime or peer dependencies, so installing it adds nothing else to your
|
|
27
|
+
dependency tree.
|
|
28
|
+
|
|
24
29
|
## Usage
|
|
25
30
|
|
|
26
31
|
```ts
|
|
@@ -46,6 +51,10 @@ const page: PaginatedResult<{id: string}> = {
|
|
|
46
51
|
}
|
|
47
52
|
```
|
|
48
53
|
|
|
54
|
+
`ApiErrorBody` describes business errors raised by guards, services and shared exceptions. Request
|
|
55
|
+
validation errors keep the NestJS default body (`statusCode`, `message`, `error`) and are not
|
|
56
|
+
assignable to this type.
|
|
57
|
+
|
|
49
58
|
### Module formats
|
|
50
59
|
|
|
51
60
|
The `exports` map resolves `import` consumers to the ESM build and `require` consumers to the
|
|
@@ -58,7 +67,7 @@ Only values and types that both ends of a wire boundary must agree on belong her
|
|
|
58
67
|
- numeric error codes and error response bodies
|
|
59
68
|
- query and response shapes shared by API clients and services
|
|
60
69
|
- reserved request header names
|
|
61
|
-
- cross-project enums such as language and
|
|
70
|
+
- cross-project enums such as language, sort order, permissions and subscription features
|
|
62
71
|
|
|
63
72
|
Framework-specific code does not belong here: NestJS decorators, guards and interceptors,
|
|
64
73
|
TypeORM entities, HTTP clients, persistence, and service-only DTOs stay in their own libraries.
|
|
@@ -73,3 +82,22 @@ yarn install
|
|
|
73
82
|
yarn verify # format + lint + typecheck + coverage + build
|
|
74
83
|
yarn run pack # pack once and inspect the tarball
|
|
75
84
|
```
|
|
85
|
+
|
|
86
|
+
## Release
|
|
87
|
+
|
|
88
|
+
Releases are tag-driven. Bump `version` in `package.json`, update `CHANGELOG.md`, then push a
|
|
89
|
+
matching tag (`2.2.1` and `v2.2.1` are both accepted). The tag must equal the package version;
|
|
90
|
+
stable tags must be on `main`, and prerelease tags must be on `main` or `develop`.
|
|
91
|
+
|
|
92
|
+
`.github/workflows/release.yml` then:
|
|
93
|
+
|
|
94
|
+
1. runs `yarn verify`;
|
|
95
|
+
2. packs the tarball once and verifies its file list and export map;
|
|
96
|
+
3. publishes that tarball through npm Trusted Publishing (OIDC), using `latest` for stable versions
|
|
97
|
+
and `next` for prereleases such as `2.3.0-rc.1`;
|
|
98
|
+
4. downloads the published tarball from the registry and verifies it again;
|
|
99
|
+
5. creates a GitHub Release with the tarball attached as `bearei-contracts-<version>.tgz` (marked
|
|
100
|
+
pre-release when the dist-tag is `next`).
|
|
101
|
+
|
|
102
|
+
Register this GitHub repository, the `release.yml` workflow and the `npm` environment as a trusted
|
|
103
|
+
publisher for `@bearei/contracts` on npmjs.com. `workflow_dispatch` reruns an existing tag.
|
package/README.zh-CN.md
CHANGED
|
@@ -8,12 +8,14 @@ ESM 与 CommonJS 两种产物。
|
|
|
8
8
|
| 导出 | 类型 | 用途 |
|
|
9
9
|
| ------------------------------------------------------ | ---- | ---------------------------------------- |
|
|
10
10
|
| `HTTP_EXCEPTION_CODE`、`HttpExceptionCode` | 值 | 服务与客户端共享的数字错误码 |
|
|
11
|
-
| `ApiErrorBody` | 类型 |
|
|
11
|
+
| `ApiErrorBody` | 类型 | 业务错误体 `{code, message, statusCode}` |
|
|
12
12
|
| `DEFAULT_PAGE_SIZE`、`MAX_PAGE_SIZE` | 值 | 所有列表接口使用的分页上限 |
|
|
13
13
|
| `PaginationQuery`、`PaginatedResult<T>` | 类型 | 分页请求字段与分页响应信封 |
|
|
14
14
|
| `RESERVED_REQUEST_HEADER`、`ReservedRequestHeaderName` | 值 | 由网关或认证层写入的保留请求头 |
|
|
15
15
|
| `LANGUAGE`、`Language` | 值 | 语言值 |
|
|
16
16
|
| `ORDER`、`Order` | 值 | 排序值 |
|
|
17
|
+
| `PERMISSION`、`Permission` | 值 | 服务与客户端共用的权限值 |
|
|
18
|
+
| `SUBSCRIPTION_FEATURE`、`SubscriptionFeature` | 值 | 订阅特性值,与权限使用相同的区域写法 |
|
|
17
19
|
|
|
18
20
|
## 安装
|
|
19
21
|
|
|
@@ -21,6 +23,8 @@ ESM 与 CommonJS 两种产物。
|
|
|
21
23
|
yarn add @bearei/contracts
|
|
22
24
|
```
|
|
23
25
|
|
|
26
|
+
本包不声明任何运行时依赖或 peer 依赖,安装它不会向依赖树加入其他包。
|
|
27
|
+
|
|
24
28
|
## 使用
|
|
25
29
|
|
|
26
30
|
```ts
|
|
@@ -46,6 +50,9 @@ const page: PaginatedResult<{id: string}> = {
|
|
|
46
50
|
}
|
|
47
51
|
```
|
|
48
52
|
|
|
53
|
+
`ApiErrorBody` 对应守卫、服务与共享异常抛出的业务错误。请求参数校验错误仍使用 NestJS 标准体
|
|
54
|
+
(`statusCode`、`message`、`error`),不能赋值给该类型。
|
|
55
|
+
|
|
49
56
|
### 模块格式
|
|
50
57
|
|
|
51
58
|
`exports` 映射会让 `import` 使用 ESM 产物、`require` 使用 CommonJS 产物;TypeScript 会自动选择
|
|
@@ -58,7 +65,7 @@ const page: PaginatedResult<{id: string}> = {
|
|
|
58
65
|
- 数字错误码与错误响应体
|
|
59
66
|
- API 客户端与服务共享的查询、响应结构
|
|
60
67
|
- 保留请求头名称
|
|
61
|
-
-
|
|
68
|
+
- 语言、排序、权限、订阅特性等跨项目枚举
|
|
62
69
|
|
|
63
70
|
框架相关代码不放进这里:NestJS 装饰器、守卫、拦截器,TypeORM 实体,HTTP 客户端,持久化,
|
|
64
71
|
以及仅服务端使用的 DTO 都留在各自的库中。
|
|
@@ -70,6 +77,25 @@ const page: PaginatedResult<{id: string}> = {
|
|
|
70
77
|
|
|
71
78
|
```bash
|
|
72
79
|
yarn install
|
|
73
|
-
yarn verify # lint + typecheck + 覆盖率 + 构建
|
|
80
|
+
yarn verify # 格式 + lint + typecheck + 覆盖率 + 构建
|
|
74
81
|
yarn run pack # 打包一次并检查 tarball
|
|
75
82
|
```
|
|
83
|
+
|
|
84
|
+
## 发布
|
|
85
|
+
|
|
86
|
+
发布由版本 tag 驱动。先修改 `package.json` 的 `version` 并更新 `CHANGELOG.md`,再推送同版本 tag
|
|
87
|
+
(`2.2.1` 与 `v2.2.1` 均可)。tag 必须等于包版本;稳定版 tag 必须位于 `main`,预发布 tag 必须位于
|
|
88
|
+
`main` 或 `develop`。
|
|
89
|
+
|
|
90
|
+
`.github/workflows/release.yml` 随后会:
|
|
91
|
+
|
|
92
|
+
1. 执行 `yarn verify`;
|
|
93
|
+
2. 打包一次并校验 tarball 的文件清单与导出映射;
|
|
94
|
+
3. 通过 npm Trusted Publishing(OIDC)发布该 tarball,稳定版使用 `latest`,预发布(如
|
|
95
|
+
`2.3.0-rc.1`)使用 `next`;
|
|
96
|
+
4. 从 registry 下载已发布的 tarball 并再次校验;
|
|
97
|
+
5. 创建 GitHub Release,附件为 `bearei-contracts-<version>.tgz`(dist-tag 为 `next` 时标记为
|
|
98
|
+
pre-release)。
|
|
99
|
+
|
|
100
|
+
发布前需在 npmjs.com 上为 `@bearei/contracts` 登记本 GitHub 仓库、`release.yml` 工作流与 `npm`
|
|
101
|
+
环境作为 trusted publisher。`workflow_dispatch` 可用已有 tag 手动重跑。
|
package/dist/index.d.mts
CHANGED
|
@@ -40,7 +40,8 @@ declare const HTTP_EXCEPTION_CODE: {
|
|
|
40
40
|
type HttpExceptionCode = (typeof HTTP_EXCEPTION_CODE)[keyof typeof HTTP_EXCEPTION_CODE];
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Business error body returned by Bearei HTTP APIs. Validation errors keep the NestJS default
|
|
44
|
+
* body (`statusCode`, `message`, `error`) and are not represented by this type.
|
|
44
45
|
* Services may return codes outside `HTTP_EXCEPTION_CODE`, so `code` stays numeric.
|
|
45
46
|
*/
|
|
46
47
|
interface ApiErrorBody {
|
|
@@ -73,6 +74,7 @@ type Order = (typeof ORDER)[keyof typeof ORDER];
|
|
|
73
74
|
|
|
74
75
|
declare const DEFAULT_PAGE_SIZE = 10;
|
|
75
76
|
declare const MAX_PAGE_SIZE = 1024;
|
|
77
|
+
|
|
76
78
|
interface PaginationQuery {
|
|
77
79
|
page?: number;
|
|
78
80
|
pageSize?: number;
|
|
@@ -85,5 +87,84 @@ interface PaginatedResult<T> {
|
|
|
85
87
|
total?: number;
|
|
86
88
|
}
|
|
87
89
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
declare const PERMISSION: {
|
|
91
|
+
readonly ACTION_LOG_CREATE: "action-log:create";
|
|
92
|
+
readonly ACTION_LOG_DELETE: "action-log:delete";
|
|
93
|
+
readonly ACTION_LOG_READ: "action-log:read";
|
|
94
|
+
readonly ACTION_LOG_UPDATE: "action-log:update";
|
|
95
|
+
readonly BOOKMARK_CARTON_CREATE: "bookmark-carton:create";
|
|
96
|
+
readonly BOOKMARK_CARTON_DELETE: "bookmark-carton:delete";
|
|
97
|
+
readonly BOOKMARK_CARTON_READ: "bookmark-carton:read";
|
|
98
|
+
readonly BOOKMARK_CARTON_UPDATE: "bookmark-carton:update";
|
|
99
|
+
readonly BOOKMARK_CREATE: "bookmark:create";
|
|
100
|
+
readonly BOOKMARK_DELETE: "bookmark:delete";
|
|
101
|
+
readonly BOOKMARK_READ: "bookmark:read";
|
|
102
|
+
readonly BOOKMARK_TAG_CREATE: "bookmark-tag:create";
|
|
103
|
+
readonly BOOKMARK_TAG_DELETE: "bookmark-tag:delete";
|
|
104
|
+
readonly BOOKMARK_TAG_READ: "bookmark-tag:read";
|
|
105
|
+
readonly BOOKMARK_TAG_UPDATE: "bookmark-tag:update";
|
|
106
|
+
readonly BOOKMARK_UPDATE: "bookmark:update";
|
|
107
|
+
readonly EMAIL_CAPTCHA_CREATE: "email-captcha:create";
|
|
108
|
+
readonly EMAIL_CAPTCHA_DELETE: "email-captcha:delete";
|
|
109
|
+
readonly EMAIL_CAPTCHA_READ: "email-captcha:read";
|
|
110
|
+
readonly EMAIL_CAPTCHA_UPDATE: "email-captcha:update";
|
|
111
|
+
readonly EMAIL_CREATE: "email:create";
|
|
112
|
+
readonly EMAIL_DELETE: "email:delete";
|
|
113
|
+
readonly EMAIL_READ: "email:read";
|
|
114
|
+
readonly EMAIL_UPDATE: "email:update";
|
|
115
|
+
readonly PERMISSION_CREATE: "permission:create";
|
|
116
|
+
readonly PERMISSION_DELETE: "permission:delete";
|
|
117
|
+
readonly PERMISSION_PROJECT_CREATE: "permission-project:create";
|
|
118
|
+
readonly PERMISSION_PROJECT_DELETE: "permission-project:delete";
|
|
119
|
+
readonly PERMISSION_PROJECT_READ: "permission-project:read";
|
|
120
|
+
readonly PERMISSION_PROJECT_UPDATE: "permission-project:update";
|
|
121
|
+
readonly PERMISSION_READ: "permission:read";
|
|
122
|
+
readonly PERMISSION_RESOURCE_CREATE: "permission-resource:create";
|
|
123
|
+
readonly PERMISSION_RESOURCE_DELETE: "permission-resource:delete";
|
|
124
|
+
readonly PERMISSION_RESOURCE_READ: "permission-resource:read";
|
|
125
|
+
readonly PERMISSION_RESOURCE_UPDATE: "permission-resource:update";
|
|
126
|
+
readonly PERMISSION_ROLE_CREATE: "permission-role:create";
|
|
127
|
+
readonly PERMISSION_ROLE_DELETE: "permission-role:delete";
|
|
128
|
+
readonly PERMISSION_ROLE_GROUP_CREATE: "permission-role-group:create";
|
|
129
|
+
readonly PERMISSION_ROLE_GROUP_DELETE: "permission-role-group:delete";
|
|
130
|
+
readonly PERMISSION_ROLE_GROUP_READ: "permission-role-group:read";
|
|
131
|
+
readonly PERMISSION_ROLE_GROUP_UPDATE: "permission-role-group:update";
|
|
132
|
+
readonly PERMISSION_ROLE_READ: "permission-role:read";
|
|
133
|
+
readonly PERMISSION_ROLE_UPDATE: "permission-role:update";
|
|
134
|
+
readonly PERMISSION_UPDATE: "permission:update";
|
|
135
|
+
readonly SUBSCRIPTION_CREATE: "subscription:create";
|
|
136
|
+
readonly SUBSCRIPTION_DELETE: "subscription:delete";
|
|
137
|
+
readonly SUBSCRIPTION_FEATURE_CREATE: "subscription-feature:create";
|
|
138
|
+
readonly SUBSCRIPTION_FEATURE_DELETE: "subscription-feature:delete";
|
|
139
|
+
readonly SUBSCRIPTION_FEATURE_READ: "subscription-feature:read";
|
|
140
|
+
readonly SUBSCRIPTION_FEATURE_UPDATE: "subscription-feature:update";
|
|
141
|
+
readonly SUBSCRIPTION_ORDER_CREATE: "subscription-order:create";
|
|
142
|
+
readonly SUBSCRIPTION_ORDER_DELETE: "subscription-order:delete";
|
|
143
|
+
readonly SUBSCRIPTION_ORDER_READ: "subscription-order:read";
|
|
144
|
+
readonly SUBSCRIPTION_ORDER_UPDATE: "subscription-order:update";
|
|
145
|
+
readonly SUBSCRIPTION_PRODUCT_CREATE: "subscription-product:create";
|
|
146
|
+
readonly SUBSCRIPTION_PRODUCT_DELETE: "subscription-product:delete";
|
|
147
|
+
readonly SUBSCRIPTION_PRODUCT_READ: "subscription-product:read";
|
|
148
|
+
readonly SUBSCRIPTION_PRODUCT_UPDATE: "subscription-product:update";
|
|
149
|
+
readonly SUBSCRIPTION_READ: "subscription:read";
|
|
150
|
+
readonly SUBSCRIPTION_UPDATE: "subscription:update";
|
|
151
|
+
readonly USER_CREATE: "user:create";
|
|
152
|
+
readonly USER_DELETE: "user:delete";
|
|
153
|
+
readonly USER_READ: "user:read";
|
|
154
|
+
readonly USER_UPDATE: "user:update";
|
|
155
|
+
readonly VERSION_LOG_CREATE: "version-log:create";
|
|
156
|
+
readonly VERSION_LOG_DELETE: "version-log:delete";
|
|
157
|
+
readonly VERSION_LOG_READ: "version-log:read";
|
|
158
|
+
readonly VERSION_LOG_UPDATE: "version-log:update";
|
|
159
|
+
};
|
|
160
|
+
type Permission = (typeof PERMISSION)[keyof typeof PERMISSION];
|
|
161
|
+
|
|
162
|
+
declare const SUBSCRIPTION_FEATURE: {
|
|
163
|
+
readonly BOOKMARK_CLOUD_SYNC: "bookmark:cloud_sync";
|
|
164
|
+
readonly CARTON_CLOUD_SYNC: "bookmark:carton_cloud_sync";
|
|
165
|
+
readonly TAG_CLOUD_SYNC: "bookmark:tag_cloud_sync";
|
|
166
|
+
};
|
|
167
|
+
type SubscriptionFeature = (typeof SUBSCRIPTION_FEATURE)[keyof typeof SUBSCRIPTION_FEATURE];
|
|
168
|
+
|
|
169
|
+
export { DEFAULT_PAGE_SIZE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
|
|
170
|
+
export type { ApiErrorBody, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
|
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,8 @@ declare const HTTP_EXCEPTION_CODE: {
|
|
|
40
40
|
type HttpExceptionCode = (typeof HTTP_EXCEPTION_CODE)[keyof typeof HTTP_EXCEPTION_CODE];
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Business error body returned by Bearei HTTP APIs. Validation errors keep the NestJS default
|
|
44
|
+
* body (`statusCode`, `message`, `error`) and are not represented by this type.
|
|
44
45
|
* Services may return codes outside `HTTP_EXCEPTION_CODE`, so `code` stays numeric.
|
|
45
46
|
*/
|
|
46
47
|
interface ApiErrorBody {
|
|
@@ -73,6 +74,7 @@ type Order = (typeof ORDER)[keyof typeof ORDER];
|
|
|
73
74
|
|
|
74
75
|
declare const DEFAULT_PAGE_SIZE = 10;
|
|
75
76
|
declare const MAX_PAGE_SIZE = 1024;
|
|
77
|
+
|
|
76
78
|
interface PaginationQuery {
|
|
77
79
|
page?: number;
|
|
78
80
|
pageSize?: number;
|
|
@@ -85,5 +87,84 @@ interface PaginatedResult<T> {
|
|
|
85
87
|
total?: number;
|
|
86
88
|
}
|
|
87
89
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
declare const PERMISSION: {
|
|
91
|
+
readonly ACTION_LOG_CREATE: "action-log:create";
|
|
92
|
+
readonly ACTION_LOG_DELETE: "action-log:delete";
|
|
93
|
+
readonly ACTION_LOG_READ: "action-log:read";
|
|
94
|
+
readonly ACTION_LOG_UPDATE: "action-log:update";
|
|
95
|
+
readonly BOOKMARK_CARTON_CREATE: "bookmark-carton:create";
|
|
96
|
+
readonly BOOKMARK_CARTON_DELETE: "bookmark-carton:delete";
|
|
97
|
+
readonly BOOKMARK_CARTON_READ: "bookmark-carton:read";
|
|
98
|
+
readonly BOOKMARK_CARTON_UPDATE: "bookmark-carton:update";
|
|
99
|
+
readonly BOOKMARK_CREATE: "bookmark:create";
|
|
100
|
+
readonly BOOKMARK_DELETE: "bookmark:delete";
|
|
101
|
+
readonly BOOKMARK_READ: "bookmark:read";
|
|
102
|
+
readonly BOOKMARK_TAG_CREATE: "bookmark-tag:create";
|
|
103
|
+
readonly BOOKMARK_TAG_DELETE: "bookmark-tag:delete";
|
|
104
|
+
readonly BOOKMARK_TAG_READ: "bookmark-tag:read";
|
|
105
|
+
readonly BOOKMARK_TAG_UPDATE: "bookmark-tag:update";
|
|
106
|
+
readonly BOOKMARK_UPDATE: "bookmark:update";
|
|
107
|
+
readonly EMAIL_CAPTCHA_CREATE: "email-captcha:create";
|
|
108
|
+
readonly EMAIL_CAPTCHA_DELETE: "email-captcha:delete";
|
|
109
|
+
readonly EMAIL_CAPTCHA_READ: "email-captcha:read";
|
|
110
|
+
readonly EMAIL_CAPTCHA_UPDATE: "email-captcha:update";
|
|
111
|
+
readonly EMAIL_CREATE: "email:create";
|
|
112
|
+
readonly EMAIL_DELETE: "email:delete";
|
|
113
|
+
readonly EMAIL_READ: "email:read";
|
|
114
|
+
readonly EMAIL_UPDATE: "email:update";
|
|
115
|
+
readonly PERMISSION_CREATE: "permission:create";
|
|
116
|
+
readonly PERMISSION_DELETE: "permission:delete";
|
|
117
|
+
readonly PERMISSION_PROJECT_CREATE: "permission-project:create";
|
|
118
|
+
readonly PERMISSION_PROJECT_DELETE: "permission-project:delete";
|
|
119
|
+
readonly PERMISSION_PROJECT_READ: "permission-project:read";
|
|
120
|
+
readonly PERMISSION_PROJECT_UPDATE: "permission-project:update";
|
|
121
|
+
readonly PERMISSION_READ: "permission:read";
|
|
122
|
+
readonly PERMISSION_RESOURCE_CREATE: "permission-resource:create";
|
|
123
|
+
readonly PERMISSION_RESOURCE_DELETE: "permission-resource:delete";
|
|
124
|
+
readonly PERMISSION_RESOURCE_READ: "permission-resource:read";
|
|
125
|
+
readonly PERMISSION_RESOURCE_UPDATE: "permission-resource:update";
|
|
126
|
+
readonly PERMISSION_ROLE_CREATE: "permission-role:create";
|
|
127
|
+
readonly PERMISSION_ROLE_DELETE: "permission-role:delete";
|
|
128
|
+
readonly PERMISSION_ROLE_GROUP_CREATE: "permission-role-group:create";
|
|
129
|
+
readonly PERMISSION_ROLE_GROUP_DELETE: "permission-role-group:delete";
|
|
130
|
+
readonly PERMISSION_ROLE_GROUP_READ: "permission-role-group:read";
|
|
131
|
+
readonly PERMISSION_ROLE_GROUP_UPDATE: "permission-role-group:update";
|
|
132
|
+
readonly PERMISSION_ROLE_READ: "permission-role:read";
|
|
133
|
+
readonly PERMISSION_ROLE_UPDATE: "permission-role:update";
|
|
134
|
+
readonly PERMISSION_UPDATE: "permission:update";
|
|
135
|
+
readonly SUBSCRIPTION_CREATE: "subscription:create";
|
|
136
|
+
readonly SUBSCRIPTION_DELETE: "subscription:delete";
|
|
137
|
+
readonly SUBSCRIPTION_FEATURE_CREATE: "subscription-feature:create";
|
|
138
|
+
readonly SUBSCRIPTION_FEATURE_DELETE: "subscription-feature:delete";
|
|
139
|
+
readonly SUBSCRIPTION_FEATURE_READ: "subscription-feature:read";
|
|
140
|
+
readonly SUBSCRIPTION_FEATURE_UPDATE: "subscription-feature:update";
|
|
141
|
+
readonly SUBSCRIPTION_ORDER_CREATE: "subscription-order:create";
|
|
142
|
+
readonly SUBSCRIPTION_ORDER_DELETE: "subscription-order:delete";
|
|
143
|
+
readonly SUBSCRIPTION_ORDER_READ: "subscription-order:read";
|
|
144
|
+
readonly SUBSCRIPTION_ORDER_UPDATE: "subscription-order:update";
|
|
145
|
+
readonly SUBSCRIPTION_PRODUCT_CREATE: "subscription-product:create";
|
|
146
|
+
readonly SUBSCRIPTION_PRODUCT_DELETE: "subscription-product:delete";
|
|
147
|
+
readonly SUBSCRIPTION_PRODUCT_READ: "subscription-product:read";
|
|
148
|
+
readonly SUBSCRIPTION_PRODUCT_UPDATE: "subscription-product:update";
|
|
149
|
+
readonly SUBSCRIPTION_READ: "subscription:read";
|
|
150
|
+
readonly SUBSCRIPTION_UPDATE: "subscription:update";
|
|
151
|
+
readonly USER_CREATE: "user:create";
|
|
152
|
+
readonly USER_DELETE: "user:delete";
|
|
153
|
+
readonly USER_READ: "user:read";
|
|
154
|
+
readonly USER_UPDATE: "user:update";
|
|
155
|
+
readonly VERSION_LOG_CREATE: "version-log:create";
|
|
156
|
+
readonly VERSION_LOG_DELETE: "version-log:delete";
|
|
157
|
+
readonly VERSION_LOG_READ: "version-log:read";
|
|
158
|
+
readonly VERSION_LOG_UPDATE: "version-log:update";
|
|
159
|
+
};
|
|
160
|
+
type Permission = (typeof PERMISSION)[keyof typeof PERMISSION];
|
|
161
|
+
|
|
162
|
+
declare const SUBSCRIPTION_FEATURE: {
|
|
163
|
+
readonly BOOKMARK_CLOUD_SYNC: "bookmark:cloud_sync";
|
|
164
|
+
readonly CARTON_CLOUD_SYNC: "bookmark:carton_cloud_sync";
|
|
165
|
+
readonly TAG_CLOUD_SYNC: "bookmark:tag_cloud_sync";
|
|
166
|
+
};
|
|
167
|
+
type SubscriptionFeature = (typeof SUBSCRIPTION_FEATURE)[keyof typeof SUBSCRIPTION_FEATURE];
|
|
168
|
+
|
|
169
|
+
export { DEFAULT_PAGE_SIZE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
|
|
170
|
+
export type { ApiErrorBody, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
|
package/dist/index.js
CHANGED
|
@@ -25,11 +25,13 @@ __export(index_exports, {
|
|
|
25
25
|
LANGUAGE: () => LANGUAGE,
|
|
26
26
|
MAX_PAGE_SIZE: () => MAX_PAGE_SIZE,
|
|
27
27
|
ORDER: () => ORDER,
|
|
28
|
-
|
|
28
|
+
PERMISSION: () => PERMISSION,
|
|
29
|
+
RESERVED_REQUEST_HEADER: () => RESERVED_REQUEST_HEADER,
|
|
30
|
+
SUBSCRIPTION_FEATURE: () => SUBSCRIPTION_FEATURE
|
|
29
31
|
});
|
|
30
32
|
module.exports = __toCommonJS(index_exports);
|
|
31
33
|
|
|
32
|
-
// src/error-code.ts
|
|
34
|
+
// src/error-code.enum.ts
|
|
33
35
|
var HTTP_EXCEPTION_CODE = {
|
|
34
36
|
ACCESS_DENIED_FOR_GUEST: 401003,
|
|
35
37
|
APPLE_IAP_TRANSACTION_NOT_COMPLETED: 403004,
|
|
@@ -66,7 +68,7 @@ var HTTP_EXCEPTION_CODE = {
|
|
|
66
68
|
USER_DEACTIVATED: 401005
|
|
67
69
|
};
|
|
68
70
|
|
|
69
|
-
// src/header.ts
|
|
71
|
+
// src/header.enum.ts
|
|
70
72
|
var RESERVED_REQUEST_HEADER = {
|
|
71
73
|
CLIENT: "x-bearei-client",
|
|
72
74
|
DOMAIN_ID: "x-bearei-domain-id",
|
|
@@ -76,21 +78,100 @@ var RESERVED_REQUEST_HEADER = {
|
|
|
76
78
|
SUBSCRIPTION: "x-bearei-subscription"
|
|
77
79
|
};
|
|
78
80
|
|
|
79
|
-
// src/language.ts
|
|
81
|
+
// src/language.enum.ts
|
|
80
82
|
var LANGUAGE = {
|
|
81
83
|
EN_US: "EN_US",
|
|
82
84
|
ZH_CN: "ZH_CN"
|
|
83
85
|
};
|
|
84
86
|
|
|
85
|
-
// src/order.ts
|
|
87
|
+
// src/order.enum.ts
|
|
86
88
|
var ORDER = {
|
|
87
89
|
ASC: "ASC",
|
|
88
90
|
DESC: "DESC"
|
|
89
91
|
};
|
|
90
92
|
|
|
91
|
-
// src/pagination.ts
|
|
93
|
+
// src/pagination.const.ts
|
|
92
94
|
var DEFAULT_PAGE_SIZE = 10;
|
|
93
95
|
var MAX_PAGE_SIZE = 1024;
|
|
96
|
+
|
|
97
|
+
// src/permission.enum.ts
|
|
98
|
+
var PERMISSION = {
|
|
99
|
+
ACTION_LOG_CREATE: "action-log:create",
|
|
100
|
+
ACTION_LOG_DELETE: "action-log:delete",
|
|
101
|
+
ACTION_LOG_READ: "action-log:read",
|
|
102
|
+
ACTION_LOG_UPDATE: "action-log:update",
|
|
103
|
+
BOOKMARK_CARTON_CREATE: "bookmark-carton:create",
|
|
104
|
+
BOOKMARK_CARTON_DELETE: "bookmark-carton:delete",
|
|
105
|
+
BOOKMARK_CARTON_READ: "bookmark-carton:read",
|
|
106
|
+
BOOKMARK_CARTON_UPDATE: "bookmark-carton:update",
|
|
107
|
+
BOOKMARK_CREATE: "bookmark:create",
|
|
108
|
+
BOOKMARK_DELETE: "bookmark:delete",
|
|
109
|
+
BOOKMARK_READ: "bookmark:read",
|
|
110
|
+
BOOKMARK_TAG_CREATE: "bookmark-tag:create",
|
|
111
|
+
BOOKMARK_TAG_DELETE: "bookmark-tag:delete",
|
|
112
|
+
BOOKMARK_TAG_READ: "bookmark-tag:read",
|
|
113
|
+
BOOKMARK_TAG_UPDATE: "bookmark-tag:update",
|
|
114
|
+
BOOKMARK_UPDATE: "bookmark:update",
|
|
115
|
+
EMAIL_CAPTCHA_CREATE: "email-captcha:create",
|
|
116
|
+
EMAIL_CAPTCHA_DELETE: "email-captcha:delete",
|
|
117
|
+
EMAIL_CAPTCHA_READ: "email-captcha:read",
|
|
118
|
+
EMAIL_CAPTCHA_UPDATE: "email-captcha:update",
|
|
119
|
+
EMAIL_CREATE: "email:create",
|
|
120
|
+
EMAIL_DELETE: "email:delete",
|
|
121
|
+
EMAIL_READ: "email:read",
|
|
122
|
+
EMAIL_UPDATE: "email:update",
|
|
123
|
+
PERMISSION_CREATE: "permission:create",
|
|
124
|
+
PERMISSION_DELETE: "permission:delete",
|
|
125
|
+
PERMISSION_PROJECT_CREATE: "permission-project:create",
|
|
126
|
+
PERMISSION_PROJECT_DELETE: "permission-project:delete",
|
|
127
|
+
PERMISSION_PROJECT_READ: "permission-project:read",
|
|
128
|
+
PERMISSION_PROJECT_UPDATE: "permission-project:update",
|
|
129
|
+
PERMISSION_READ: "permission:read",
|
|
130
|
+
PERMISSION_RESOURCE_CREATE: "permission-resource:create",
|
|
131
|
+
PERMISSION_RESOURCE_DELETE: "permission-resource:delete",
|
|
132
|
+
PERMISSION_RESOURCE_READ: "permission-resource:read",
|
|
133
|
+
PERMISSION_RESOURCE_UPDATE: "permission-resource:update",
|
|
134
|
+
PERMISSION_ROLE_CREATE: "permission-role:create",
|
|
135
|
+
PERMISSION_ROLE_DELETE: "permission-role:delete",
|
|
136
|
+
PERMISSION_ROLE_GROUP_CREATE: "permission-role-group:create",
|
|
137
|
+
PERMISSION_ROLE_GROUP_DELETE: "permission-role-group:delete",
|
|
138
|
+
PERMISSION_ROLE_GROUP_READ: "permission-role-group:read",
|
|
139
|
+
PERMISSION_ROLE_GROUP_UPDATE: "permission-role-group:update",
|
|
140
|
+
PERMISSION_ROLE_READ: "permission-role:read",
|
|
141
|
+
PERMISSION_ROLE_UPDATE: "permission-role:update",
|
|
142
|
+
PERMISSION_UPDATE: "permission:update",
|
|
143
|
+
SUBSCRIPTION_CREATE: "subscription:create",
|
|
144
|
+
SUBSCRIPTION_DELETE: "subscription:delete",
|
|
145
|
+
SUBSCRIPTION_FEATURE_CREATE: "subscription-feature:create",
|
|
146
|
+
SUBSCRIPTION_FEATURE_DELETE: "subscription-feature:delete",
|
|
147
|
+
SUBSCRIPTION_FEATURE_READ: "subscription-feature:read",
|
|
148
|
+
SUBSCRIPTION_FEATURE_UPDATE: "subscription-feature:update",
|
|
149
|
+
SUBSCRIPTION_ORDER_CREATE: "subscription-order:create",
|
|
150
|
+
SUBSCRIPTION_ORDER_DELETE: "subscription-order:delete",
|
|
151
|
+
SUBSCRIPTION_ORDER_READ: "subscription-order:read",
|
|
152
|
+
SUBSCRIPTION_ORDER_UPDATE: "subscription-order:update",
|
|
153
|
+
SUBSCRIPTION_PRODUCT_CREATE: "subscription-product:create",
|
|
154
|
+
SUBSCRIPTION_PRODUCT_DELETE: "subscription-product:delete",
|
|
155
|
+
SUBSCRIPTION_PRODUCT_READ: "subscription-product:read",
|
|
156
|
+
SUBSCRIPTION_PRODUCT_UPDATE: "subscription-product:update",
|
|
157
|
+
SUBSCRIPTION_READ: "subscription:read",
|
|
158
|
+
SUBSCRIPTION_UPDATE: "subscription:update",
|
|
159
|
+
USER_CREATE: "user:create",
|
|
160
|
+
USER_DELETE: "user:delete",
|
|
161
|
+
USER_READ: "user:read",
|
|
162
|
+
USER_UPDATE: "user:update",
|
|
163
|
+
VERSION_LOG_CREATE: "version-log:create",
|
|
164
|
+
VERSION_LOG_DELETE: "version-log:delete",
|
|
165
|
+
VERSION_LOG_READ: "version-log:read",
|
|
166
|
+
VERSION_LOG_UPDATE: "version-log:update"
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
// src/subscription-feature.enum.ts
|
|
170
|
+
var SUBSCRIPTION_FEATURE = {
|
|
171
|
+
BOOKMARK_CLOUD_SYNC: "bookmark:cloud_sync",
|
|
172
|
+
CARTON_CLOUD_SYNC: "bookmark:carton_cloud_sync",
|
|
173
|
+
TAG_CLOUD_SYNC: "bookmark:tag_cloud_sync"
|
|
174
|
+
};
|
|
94
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
95
176
|
0 && (module.exports = {
|
|
96
177
|
DEFAULT_PAGE_SIZE,
|
|
@@ -98,5 +179,7 @@ var MAX_PAGE_SIZE = 1024;
|
|
|
98
179
|
LANGUAGE,
|
|
99
180
|
MAX_PAGE_SIZE,
|
|
100
181
|
ORDER,
|
|
101
|
-
|
|
182
|
+
PERMISSION,
|
|
183
|
+
RESERVED_REQUEST_HEADER,
|
|
184
|
+
SUBSCRIPTION_FEATURE
|
|
102
185
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/error-code.ts
|
|
1
|
+
// src/error-code.enum.ts
|
|
2
2
|
var HTTP_EXCEPTION_CODE = {
|
|
3
3
|
ACCESS_DENIED_FOR_GUEST: 401003,
|
|
4
4
|
APPLE_IAP_TRANSACTION_NOT_COMPLETED: 403004,
|
|
@@ -35,7 +35,7 @@ var HTTP_EXCEPTION_CODE = {
|
|
|
35
35
|
USER_DEACTIVATED: 401005
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
// src/header.ts
|
|
38
|
+
// src/header.enum.ts
|
|
39
39
|
var RESERVED_REQUEST_HEADER = {
|
|
40
40
|
CLIENT: "x-bearei-client",
|
|
41
41
|
DOMAIN_ID: "x-bearei-domain-id",
|
|
@@ -45,26 +45,107 @@ var RESERVED_REQUEST_HEADER = {
|
|
|
45
45
|
SUBSCRIPTION: "x-bearei-subscription"
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
// src/language.ts
|
|
48
|
+
// src/language.enum.ts
|
|
49
49
|
var LANGUAGE = {
|
|
50
50
|
EN_US: "EN_US",
|
|
51
51
|
ZH_CN: "ZH_CN"
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
-
// src/order.ts
|
|
54
|
+
// src/order.enum.ts
|
|
55
55
|
var ORDER = {
|
|
56
56
|
ASC: "ASC",
|
|
57
57
|
DESC: "DESC"
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
// src/pagination.ts
|
|
60
|
+
// src/pagination.const.ts
|
|
61
61
|
var DEFAULT_PAGE_SIZE = 10;
|
|
62
62
|
var MAX_PAGE_SIZE = 1024;
|
|
63
|
+
|
|
64
|
+
// src/permission.enum.ts
|
|
65
|
+
var PERMISSION = {
|
|
66
|
+
ACTION_LOG_CREATE: "action-log:create",
|
|
67
|
+
ACTION_LOG_DELETE: "action-log:delete",
|
|
68
|
+
ACTION_LOG_READ: "action-log:read",
|
|
69
|
+
ACTION_LOG_UPDATE: "action-log:update",
|
|
70
|
+
BOOKMARK_CARTON_CREATE: "bookmark-carton:create",
|
|
71
|
+
BOOKMARK_CARTON_DELETE: "bookmark-carton:delete",
|
|
72
|
+
BOOKMARK_CARTON_READ: "bookmark-carton:read",
|
|
73
|
+
BOOKMARK_CARTON_UPDATE: "bookmark-carton:update",
|
|
74
|
+
BOOKMARK_CREATE: "bookmark:create",
|
|
75
|
+
BOOKMARK_DELETE: "bookmark:delete",
|
|
76
|
+
BOOKMARK_READ: "bookmark:read",
|
|
77
|
+
BOOKMARK_TAG_CREATE: "bookmark-tag:create",
|
|
78
|
+
BOOKMARK_TAG_DELETE: "bookmark-tag:delete",
|
|
79
|
+
BOOKMARK_TAG_READ: "bookmark-tag:read",
|
|
80
|
+
BOOKMARK_TAG_UPDATE: "bookmark-tag:update",
|
|
81
|
+
BOOKMARK_UPDATE: "bookmark:update",
|
|
82
|
+
EMAIL_CAPTCHA_CREATE: "email-captcha:create",
|
|
83
|
+
EMAIL_CAPTCHA_DELETE: "email-captcha:delete",
|
|
84
|
+
EMAIL_CAPTCHA_READ: "email-captcha:read",
|
|
85
|
+
EMAIL_CAPTCHA_UPDATE: "email-captcha:update",
|
|
86
|
+
EMAIL_CREATE: "email:create",
|
|
87
|
+
EMAIL_DELETE: "email:delete",
|
|
88
|
+
EMAIL_READ: "email:read",
|
|
89
|
+
EMAIL_UPDATE: "email:update",
|
|
90
|
+
PERMISSION_CREATE: "permission:create",
|
|
91
|
+
PERMISSION_DELETE: "permission:delete",
|
|
92
|
+
PERMISSION_PROJECT_CREATE: "permission-project:create",
|
|
93
|
+
PERMISSION_PROJECT_DELETE: "permission-project:delete",
|
|
94
|
+
PERMISSION_PROJECT_READ: "permission-project:read",
|
|
95
|
+
PERMISSION_PROJECT_UPDATE: "permission-project:update",
|
|
96
|
+
PERMISSION_READ: "permission:read",
|
|
97
|
+
PERMISSION_RESOURCE_CREATE: "permission-resource:create",
|
|
98
|
+
PERMISSION_RESOURCE_DELETE: "permission-resource:delete",
|
|
99
|
+
PERMISSION_RESOURCE_READ: "permission-resource:read",
|
|
100
|
+
PERMISSION_RESOURCE_UPDATE: "permission-resource:update",
|
|
101
|
+
PERMISSION_ROLE_CREATE: "permission-role:create",
|
|
102
|
+
PERMISSION_ROLE_DELETE: "permission-role:delete",
|
|
103
|
+
PERMISSION_ROLE_GROUP_CREATE: "permission-role-group:create",
|
|
104
|
+
PERMISSION_ROLE_GROUP_DELETE: "permission-role-group:delete",
|
|
105
|
+
PERMISSION_ROLE_GROUP_READ: "permission-role-group:read",
|
|
106
|
+
PERMISSION_ROLE_GROUP_UPDATE: "permission-role-group:update",
|
|
107
|
+
PERMISSION_ROLE_READ: "permission-role:read",
|
|
108
|
+
PERMISSION_ROLE_UPDATE: "permission-role:update",
|
|
109
|
+
PERMISSION_UPDATE: "permission:update",
|
|
110
|
+
SUBSCRIPTION_CREATE: "subscription:create",
|
|
111
|
+
SUBSCRIPTION_DELETE: "subscription:delete",
|
|
112
|
+
SUBSCRIPTION_FEATURE_CREATE: "subscription-feature:create",
|
|
113
|
+
SUBSCRIPTION_FEATURE_DELETE: "subscription-feature:delete",
|
|
114
|
+
SUBSCRIPTION_FEATURE_READ: "subscription-feature:read",
|
|
115
|
+
SUBSCRIPTION_FEATURE_UPDATE: "subscription-feature:update",
|
|
116
|
+
SUBSCRIPTION_ORDER_CREATE: "subscription-order:create",
|
|
117
|
+
SUBSCRIPTION_ORDER_DELETE: "subscription-order:delete",
|
|
118
|
+
SUBSCRIPTION_ORDER_READ: "subscription-order:read",
|
|
119
|
+
SUBSCRIPTION_ORDER_UPDATE: "subscription-order:update",
|
|
120
|
+
SUBSCRIPTION_PRODUCT_CREATE: "subscription-product:create",
|
|
121
|
+
SUBSCRIPTION_PRODUCT_DELETE: "subscription-product:delete",
|
|
122
|
+
SUBSCRIPTION_PRODUCT_READ: "subscription-product:read",
|
|
123
|
+
SUBSCRIPTION_PRODUCT_UPDATE: "subscription-product:update",
|
|
124
|
+
SUBSCRIPTION_READ: "subscription:read",
|
|
125
|
+
SUBSCRIPTION_UPDATE: "subscription:update",
|
|
126
|
+
USER_CREATE: "user:create",
|
|
127
|
+
USER_DELETE: "user:delete",
|
|
128
|
+
USER_READ: "user:read",
|
|
129
|
+
USER_UPDATE: "user:update",
|
|
130
|
+
VERSION_LOG_CREATE: "version-log:create",
|
|
131
|
+
VERSION_LOG_DELETE: "version-log:delete",
|
|
132
|
+
VERSION_LOG_READ: "version-log:read",
|
|
133
|
+
VERSION_LOG_UPDATE: "version-log:update"
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
// src/subscription-feature.enum.ts
|
|
137
|
+
var SUBSCRIPTION_FEATURE = {
|
|
138
|
+
BOOKMARK_CLOUD_SYNC: "bookmark:cloud_sync",
|
|
139
|
+
CARTON_CLOUD_SYNC: "bookmark:carton_cloud_sync",
|
|
140
|
+
TAG_CLOUD_SYNC: "bookmark:tag_cloud_sync"
|
|
141
|
+
};
|
|
63
142
|
export {
|
|
64
143
|
DEFAULT_PAGE_SIZE,
|
|
65
144
|
HTTP_EXCEPTION_CODE,
|
|
66
145
|
LANGUAGE,
|
|
67
146
|
MAX_PAGE_SIZE,
|
|
68
147
|
ORDER,
|
|
69
|
-
|
|
148
|
+
PERMISSION,
|
|
149
|
+
RESERVED_REQUEST_HEADER,
|
|
150
|
+
SUBSCRIPTION_FEATURE
|
|
70
151
|
};
|