跳到主要内容

应用的脚本运行在 RuntimeServer 中,并且提供了team的apis来执行team相关的操作。

警告

只能是team产品的相关插件使用

安装

$ yarn add @giteeteam/apps-team-api

Api列表

getData

提供应用查询 Parse 数据的能力

参数定义

名称类型必填说明
isAppClassBooleantrue: 访问应用的表 / false: 访问core的表
classNameStringtrue查询的表名
paramsObjecttrue查询条件

函数签名

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类似。

参数定义

名称类型必填说明
isAppClassBooleantrue: 访问应用的表 / false: 访问core的表
classNameStringtrue查询的表名
paramsObjecttrue查询条件

函数签名

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

根据条件查询查询应用中心的数据表。

参数定义

名称类型必填说明
classNameStringtrue查询的表名
paramsObjecttrue查询条件

函数签名

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 方法

参数定义

nametyperequireddescription
methodStringGET/POST/PUT/PATCH
urlString请求的url
dataObject请求的数据

函数签名

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

参数定义

nametyperequireddescription
isAppClassBooleantruetrue: Access the table of applications / false Access the table of core
classNameStringtrueTable 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 对象。

参数定义

名称类型必填说明
isAppClassBooleantrue: 访问应用的表 / false: 访问core的表
classNameStringtrue查询的表名

函数签名

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 对象。

参数定义

名称类型必填说明
isAppClassBooleantrue: 访问应用的表 / false: 访问core的表
classNameStringtrue查询的表名

函数签名

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 对象

参数定义

名称类型必填说明
nameString文件名
dataParseFileDatatrue文件数据
typeStringfalse文件类型

函数签名

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 处理所以,保存不需要区分。

参数定义

名称类型必填说明
listParseObject[]Parse对象的列表

函数签名

export declare const saveAllObject: (
list: (ParseObject | ParseObjectSubclassType)[]
) => Promise<ParseObject[]>;

用法可以参考getParseObject

deleteParseObject

删除一个数据

参数定义

名称类型必填说明
dataParseObjectParse对象

函数签名

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 获取空间列表

参数定义

名称类型必填说明
workspaceKeysString[]空间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 字段的事项

参数定义

名称类型必填说明
dataObject事项数据

函数签名

export declare const saveItemWithKey: (
data: Record<string, unknown>
) => Promise<any>;