应用的脚本运行在 RuntimeServer 中,并且提供了team的apis来执行team相关的操作。
警告
只能是team产品的相关插件使用
安装
$ yarn add @giteeteam/apps-team-api
Api列表
getData
提供应用查询 Parse 数据的能力
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
isAppClass | Boolean | 是 | true: 访问应用的表 / false: 访问core的表 |
className | String | true | 查询的表名 |
params | Object | true | 查询条件 |
函数签名
export declare const getData: (
isAppClass: boolean,
className: string,
params: Record<string, any>
) => Promise<ParseObject | undefined>;
参考示例
import { getData } from "@giteeteam/apps-team-api";
export const run = async () => {
const itemObj = await getData(false, "Item", { key: "klF8DIc0jr" });
return itemObj.id;
};
警告
返回的 ParseObject 只实现了 Parse.Object 部分的功能。
getAllData
根据条件查询所有的值,跟getData
类似。
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
isAppClass | Boolean | 是 | true: 访问应用的表 / false: 访问core的表 |
className | String | true | 查询的表名 |
params | Object | true | 查询条件 |
函数签名
export declare const getAllData: (
isAppClass: boolean,
className: string,
params: Record<string, any>
) => Promise<ParseObject[]>;
参考示例
import { getAllData } from "@giteeteam/apps-team-api";
export const run = async () => {
const workflows = await getAllData(false, "WorkflowScheme", {});
const workflowIds = workflows.map((w) => w.id);
};
警告
返回的 ParseObject 只实现了 Parse.Object 部分的功能。
getAppsData
根据条件查询查询应用中心的数据表。
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
className | String | true | 查询的表名 |
params | Object | true | 查询条件 |
函数签名
export declare const getAppsData: (
className: string,
params: Record<string, any>
) => Promise<any>;
参考示例
import { getAppsData } from "@giteeteam/apps-team-api";
export const run = async () => {
const appInfo = await getAppsData("Apps", { key: "test_manager" });
};
requestCoreApi
对外提供直接调用 core 接口能力,对外暴露 GET/POST/PUT/PATCH 方法
参数定义
name | type | required | description |
---|---|---|---|
method | String | 是 | GET/POST/PUT/PATCH |
url | String | 是 | 请求的url |
data | Object | 否 | 请求的数据 |
函数签名
export type SupportRequestMethod = "POST" | "GET" | "PUT" | "PATCH";
export type RequestCoreResponse =
| Record<string, unknown>
| Record<string, unknown>[]
| string
| string[]
| undefined;
export declare const requestCoreApi: (
method: SupportRequestMethod,
url: string,
data?: Record<string, unknown>
) => Promise<RequestCoreResponse>;
参考示例
import { requestCoreApi } from "@giteeteam/apps-team-api";
export const run = async () => {
const requestParams = {
form: 0,
size: 20,
};
return await requestCoreApi("POST", "/parse/api/search", requestParams);
};
getParseQuery
根据 class 名称获取 parse query
参数定义
name | type | required | description |
---|---|---|---|
isAppClass | Boolean | true | true: Access the table of applications / false Access the table of core |
className | String | true | Table Name |
函数签名
export declare const getParseQuery: (
isAppClass: boolean,
className: string
) => ParseQuery;
参考示例
import { getParseQuery } from "@giteeteam/apps-team-api";
export const run = async ({ sessionToken }) => {
const query = getParseQuery(false, "Item");
const itemsInfo = await query
.containedIn("objectId", ids)
.include(["status", "workspace", "itemType"])
.findAll({ sessionToken })
.then((res) => {
return res.map((item) => item?.toJSON());
});
};
警告
返回的 ParseQuery 只实现了 Parse.Query 部分的功能。
getParseObject
根据 class 名称获取 parse 对象。
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
isAppClass | Boolean | 是 | true: 访问应用的表 / false: 访问core的表 |
className | String | true | 查询的表名 |
函数签名
export declare const getParseObject: (
isAppClass: boolean,
className: string
) => ParseObject;
参考示例
import { getParseObject, saveAllObject } from "@giteeteam/apps-team-api";
export const run = async () => {
const statusObject = getParseObject(false, "Status");
statusObject.set({
name,
type: types[idx],
description: `状态-${name}`,
isDefault: false,
tenant,
createdBy,
});
await saveAllObject([statusObject]);
};
警告
返回的 ParseObject 只实现了 Parse.Object 部分的功能。
getParseModel
根据 class 名称获取 Model 对象。
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
isAppClass | Boolean | 是 | true: 访问应用的表 / false: 访问core的表 |
className | String | true | 查询的表名 |
函数签名
export declare const getParseModel: (
isAppClass: boolean,
className: string
) => typeof ParseObjectSubclassType;
参考示例
import { getParseModel } from "@giteeteam/apps-team-api";
export const run = async () => {
const itemParseObj = getParseModel(false, "Item");
itemParseObj.createWithoutData(id);
};
警告
返回的 ParseObjectSubclass 只实现了 Parse.Object.SubClass 部分的功能。
getParseFile
获取 Parse File 对象
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
name | String | 是 | 文件名 |
data | ParseFileData | true | 文件数据 |
type | String | false | 文件类型 |
函数签名
export type ParseFileData =
| number[]
| { base64: string }
| { size: number; type: string }
| { uri: string };
export declare const getParseFile: (
name: string,
data: ParseFileData,
type?: string
) => ParseFile;
参考示例
import { getParseFile } from "@giteeteam/apps-team-api";
export const run = async () => {
const ParseFile = getParseFile(fileName, { base64: "" });
const { _url } = await ParseFile.save({ sessionToken });
};
警告
返回的 ParseFile 只实现了 Parse.File 部分的功能。
saveAllObject
保存多个 parse 对象,由于对象已经进行了 appKey 处理所以,保存不需要区分。
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
list | ParseObject[] | 是 | Parse对象的列表 |
函数签名
export declare const saveAllObject: (
list: (ParseObject | ParseObjectSubclassType)[]
) => Promise<ParseObject[]>;
用法可以参考getParseObject
deleteParseObject
删除一个数据
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
data | ParseObject | 是 | Parse对象 |
函数签名
export declare const deleteParseObject: (data: ParseObject) => Promise<void>;
参考示例
import { getData, deleteParseObject } from "@giteeteam/apps-team-api";
export const run = async () => {
const _workflowSchemeConfig = await getData(false, "WorkflowSchemeConfig", {
itemType: manHourItemType,
workflow: manHourWorkflow,
workflowScheme: ws,
tenant,
});
if (_workflowSchemeConfig) {
await deleteParseObject(_workflowSchemeConfig);
}
};
getWorkspaceByKeys
根据空间 keys 获取空间列表
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
workspaceKeys | String[] | 是 | 空间key的列表 |
函数签名
export declare const getWorkspaceByKeys: (
workspaceKeys: string[]
) => Promise<ParseObject[]>;
参考示例
import { getWorkspaceByKeys } from "@giteeteam/apps-team-api";
export const run = async () => {
const workspaces = await getWorkspaceByKeys(["www"]);
const ids = workspaces.map((w) => w.id);
};
saveItemWithKey
通过调用 core 提供的创建事项接口,生成带有 key 字段的事项
参数定义
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
data | Object | 是 | 事项数据 |
函数签名
export declare const saveItemWithKey: (
data: Record<string, unknown>
) => Promise<any>;