UNPKG

haystack-nclient

Version:

Project Haystack Network Client

51 lines (50 loc) 1.47 kB
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>; }