operations/packages/repositories.ts (35 lines of code) (raw):
import { yunxiaoRequest, buildUrl } from "../../common/utils.js";
import {
PackageRepository,
PackageRepositorySchema,
} from "../../common/types.js";
/**
* 查看制品仓库信息
* @param organizationId
* @param repoTypes
* @param repoCategories
* @param perPage
* @param page
* @returns 制品仓库信息列表
*/
export async function listPackageRepositoriesFunc(
organizationId: string,
repoTypes?: string,
repoCategories?: string,
perPage?: number,
page?: number
): Promise<PackageRepository[]> {
const baseUrl = `/oapi/v1/packages/organizations/${organizationId}/repositories`;
const queryParams: Record<string, string | number | undefined> = {};
if (repoTypes !== undefined) {
queryParams.repoTypes = repoTypes;
}
if (repoCategories !== undefined) {
queryParams.repoCategories = repoCategories;
}
if (perPage !== undefined) {
queryParams.perPage = perPage;
}
if (page !== undefined) {
queryParams.page = page;
}
const url = buildUrl(baseUrl, queryParams);
const response = await yunxiaoRequest(url, {
method: "GET",
});
if (!Array.isArray(response)) {
return [];
}
return response.map(repo => PackageRepositorySchema.parse(repo));
}