@tier0/sdk-v2 0.9.2 → 0.9.3
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 +7 -3
- package/dist/cjs/uns-v2/generated.d.ts +17 -17
- package/dist/cjs/uns-v2/generated.js +16 -16
- package/dist/cjs/uns-v2/generated.js.map +1 -1
- package/dist/esm/uns-v2/generated.d.ts +17 -17
- package/dist/esm/uns-v2/generated.js +16 -16
- package/dist/esm/uns-v2/generated.js.map +1 -1
- package/package.json +1 -1
- package/skills/tier0-sdk-v2/tier0-sdk-v2-data/SKILL.md +2 -0
- package/skills/tier0-sdk-v2/tier0-sdk-v2-uns/SKILL.md +3 -6
package/package.json
CHANGED
|
@@ -7,6 +7,8 @@ description: 使用 @tier0/sdk-v2/data 在 App 服务端声明并读写本 App
|
|
|
7
7
|
|
|
8
8
|
`@tier0/sdk-v2/data` 是 App 自有业务数据的服务端入口:用 `defineCollection` 声明集合,`createDataClient` 在首次访问时一次性 ensure 全部声明,然后用 Mongo 驱动风格的集合句柄读写 UNS 记录。没有 SQL、ORM、连接串或迁移步骤;Preview 与部署后的 App 共用同一批集合和记录。
|
|
9
9
|
|
|
10
|
+
这里创建的集合以 `ownerAppId` 标识唯一所属 App。使用已有或其他 App 共享的集合时,直接走 [UNS](../tier0-sdk-v2-uns/SKILL.md) 的 `client.uns.recordFind`、`recordInsertOne` 等 collectionId 接口,不再用 defineCollection/ensure 声明它;无需服务端 alias,仍须当前 App 已有相应集合授权,复用不改变所属关系。
|
|
11
|
+
|
|
10
12
|
数据读写只在服务端代码(业务 service)里用 `@tier0/sdk-v2/data`:该入口依赖 Node 内置模块,浏览器打包会直接失败。组件和 route 的客户端代码只能从 `@tier0/sdk-v2/data/define` 取集合声明和类型(`defineCollection`、`Doc`、`NewDoc` 等),它不加载数据运行时,可以进浏览器包。需要 `zod` 4。底层调用 SDK 生成的 UNS 操作(`appCollectionsEnsure`、`recordFind`、`recordTransactionExecute` 等),凭证读取平台注入的 TIER0_API_HOST / TIER0_API_KEY。
|
|
11
13
|
|
|
12
14
|
集合声明必须分别填写业务名称 `name` 与稳定程序标识 `alias`,例如 `name: '生产工单'`、`alias: 'production_orders'`。name 是唯一界面名称,没有 displayName 或 alias 回退;ensure 通过 alias 找回原集合,不覆盖用户改名。
|
|
@@ -21,17 +21,14 @@ UNS 管数据命名空间、集合、Record 和 Sample;外部连接与脚本
|
|
|
21
21
|
|
|
22
22
|
## 找到正确数据上下文
|
|
23
23
|
|
|
24
|
-
托管 App
|
|
24
|
+
托管 App 从配置或 dataAppContext 取得实际 collectionId;alias 是可选的查找便利。dataAppContext 同时给出授权、revision、索引就绪状态(indexStatus)、TTL 和平台限额(limits)。已有或共享集合直接用 collectionId 调用记录接口,无需先 ensure 或配置服务端 alias;App Key 必须已有该集合及操作的授权,不以 Workspace 权限替代 App 授权。App 凭证不能调用 metadataFind/FindOne、async 模式与 jobs 查询;Workspace 集成(会话、personal / agent Key)用 dataDiscover/metadataFind,不强制 App 上下文。通用元数据管理写入不向 App 凭证开放。App 自有业务数据优先用 [App 数据层](../tier0-sdk-v2-data/SKILL.md)(`@tier0/sdk-v2/data`),变更订阅只在那里提供(`data.subscribe`)。
|
|
25
25
|
|
|
26
26
|
```ts
|
|
27
27
|
import { createClient } from '@tier0/sdk-v2';
|
|
28
28
|
|
|
29
|
-
export async function
|
|
29
|
+
export async function readAppRecords(collectionId: string) {
|
|
30
30
|
const client = createClient();
|
|
31
|
-
|
|
32
|
-
const collection = context.data.collections.find(item => item.alias === alias);
|
|
33
|
-
if (!collection) throw new Error('当前 App 未获得目标集合授权');
|
|
34
|
-
return client.uns.collectionDescribe({ collectionId: collection.collectionId });
|
|
31
|
+
return client.uns.recordFind({ collectionId, limit: 20 });
|
|
35
32
|
}
|
|
36
33
|
```
|
|
37
34
|
|