@nicodoggie/node-kiwi-tcms-api
Version:
Vibe-coded Node.js wrapper for Kiwi TCMS XML-RPC API. Use at your own risk.
132 lines (131 loc) • 3.93 kB
TypeScript
import { KiwiClient } from '../client';
import { Product, Build, Component, Classification, Category, Version, PlanType, Priority, TestCaseStatus, TestExecutionStatus, Environment, Property, Tag, User, Bug, FilterOptions } from '../types';
/**
* Product API module
*/
export declare class ProductAPI {
private client;
constructor(client: KiwiClient);
create(productData: Partial<Product>): Promise<Product>;
filter(query?: FilterOptions): Promise<Product[]>;
}
/**
* Build API module
*/
export declare class BuildAPI {
private client;
constructor(client: KiwiClient);
create(buildData: Partial<Build>): Promise<Build>;
filter(query?: FilterOptions): Promise<Build[]>;
update(buildId: number, updateData: Partial<Build>): Promise<Build>;
}
/**
* Component API module
*/
export declare class ComponentAPI {
private client;
constructor(client: KiwiClient);
create(componentData: Partial<Component>): Promise<Component>;
filter(query?: FilterOptions): Promise<Component[]>;
update(componentId: number, updateData: Partial<Component>): Promise<Component>;
}
/**
* Classification API module
*/
export declare class ClassificationAPI {
private client;
constructor(client: KiwiClient);
create(classificationData: Partial<Classification>): Promise<Classification>;
filter(query?: FilterOptions): Promise<Classification[]>;
}
/**
* Category API module
*/
export declare class CategoryAPI {
private client;
constructor(client: KiwiClient);
create(categoryData: Partial<Category>): Promise<Category>;
filter(query?: FilterOptions): Promise<Category[]>;
}
/**
* Version API module
*/
export declare class VersionAPI {
private client;
constructor(client: KiwiClient);
create(versionData: Partial<Version>): Promise<Version>;
filter(query?: FilterOptions): Promise<Version[]>;
}
/**
* Plan Type API module
*/
export declare class PlanTypeAPI {
private client;
constructor(client: KiwiClient);
create(planTypeData: Partial<PlanType>): Promise<PlanType>;
filter(query?: FilterOptions): Promise<PlanType[]>;
}
/**
* Priority API module
*/
export declare class PriorityAPI {
private client;
constructor(client: KiwiClient);
filter(query?: FilterOptions): Promise<Priority[]>;
}
/**
* Test Case Status API module
*/
export declare class TestCaseStatusAPI {
private client;
constructor(client: KiwiClient);
filter(query?: FilterOptions): Promise<TestCaseStatus[]>;
}
/**
* Test Execution Status API module
*/
export declare class TestExecutionStatusAPI {
private client;
constructor(client: KiwiClient);
filter(query?: FilterOptions): Promise<TestExecutionStatus[]>;
}
/**
* Environment API module
*/
export declare class EnvironmentAPI {
private client;
constructor(client: KiwiClient);
create(envData: Partial<Environment>): Promise<Environment>;
filter(query?: FilterOptions): Promise<Environment[]>;
addProperty(envId: number, name: string, value: string): Promise<void>;
properties(envId: number): Promise<Property[]>;
removeProperty(envId: number, name: string): Promise<void>;
}
/**
* Tag API module
*/
export declare class TagAPI {
private client;
constructor(client: KiwiClient);
filter(query?: FilterOptions): Promise<Tag[]>;
}
/**
* User API module
*/
export declare class UserAPI {
private client;
constructor(client: KiwiClient);
filter(query?: FilterOptions): Promise<User[]>;
update(userId: number, updateData: Partial<User>): Promise<User>;
joinGroup(userId: number, groupName: string): Promise<void>;
addAttachment(userId: number, filename: string, b64content: string): Promise<any>;
}
/**
* Bug API module
*/
export declare class BugAPI {
private client;
constructor(client: KiwiClient);
details(bugId: number): Promise<Bug>;
report(bugData: Partial<Bug>): Promise<Bug>;
}