haystack-nclient
Version:
Project Haystack Network Client
51 lines (50 loc) • 1.47 kB
TypeScript
import { ClientServiceConfig } from './ClientServiceConfig';
import { HDict, HStr } from 'haystack-core';
import { HGrid, HaysonDict, HMarker } from 'haystack-core';
/**
* A project record.
*/
export interface Project extends HDict {
proj: HMarker;
projName: HStr;
}
/**
* An implementation of the FIN project service.
*/
export declare class ProjectService<ProjectType extends Project = Project> {
#private;
/**
* Constructs a new project service object.
*
* @param serviceConfig Service configuration.
*/
constructor(serviceConfig: ClientServiceConfig);
/**
* Read a project via its name.
*
* @param name The name of the project to read.
* @returns The project record.
* @throws An error if the project can't be found.
*/
readByName(name: string): Promise<ProjectType>;
/**
* Query all projects.
*
* @returns The result of the read operation.
*/
readAll(): Promise<HGrid<ProjectType>>;
/**
* Create a project.
*
* @params project The project to create.
* @returns The created project. Please note, the record only contains the name.
*/
createProject(project: ProjectType | HaysonDict): Promise<ProjectType>;
/**
* Update a project record.
*
* @param project The project record to update.
* @returns A updated project record.
*/
update(project: ProjectType | HaysonDict): Promise<ProjectType>;
}