UNPKG

@translated/lara

Version:

Official Lara SDK for JavaScript and Node.js

56 lines (55 loc) • 2.38 kB
import type { CollectionResult } from "./collectionResult"; import type { LaraClient } from "./net/lara"; import type { PermissionMask } from "./permissions"; import type { ResourceQueryOptions } from "./resourceQuery"; export interface Styleguide { id: string; name: string; content?: string; ownerId: string; createdAt: Date; updatedAt: Date; sharedAt: Date; /** * Effective combined mask in GET list and detail responses; the selected share's stored mask * on the resource embedded in GET /shares responses. Omitted from non-GET responses. */ permissionMask?: PermissionMask; } export interface StyleguideShareEntry { readonly id: string; readonly name: string; readonly shareName: string; readonly sharedAt: Date; /** The permissions stored on this share. */ readonly permissionMask: PermissionMask; } export interface StyleguideShares { readonly styleguide: Styleguide; readonly account: StyleguideShareEntry | null; readonly groups: StyleguideShareEntry[]; readonly users: StyleguideShareEntry[]; } export declare class Styleguides { private readonly client; constructor(client: LaraClient); /** @deprecated Use listPaginated() instead. */ list(): Promise<Styleguide[]>; /** * List resources with optional name filtering and pagination. * Without options, returns the complete list of resources without pagination. * Providing search, page, or size enables pagination; omitted page and size default to 1 and 20. */ listPaginated(options?: ResourceQueryOptions): Promise<CollectionResult<Styleguide>>; get(id: string): Promise<Styleguide | null>; create(name: string, content: string): Promise<Styleguide>; update(id: string, name: string | undefined, content?: string): Promise<Styleguide>; delete(id: string): Promise<Styleguide>; getShares(id: string): Promise<StyleguideShares>; addAccountShare(id: string, name?: string): Promise<Styleguide>; revokeAccountShare(id: string): Promise<Styleguide>; renameAccountShare(id: string, name: string): Promise<Styleguide>; addGroupShare(id: string, groupId: string, name?: string): Promise<Styleguide>; revokeGroupShare(id: string, groupId: string): Promise<Styleguide>; renameGroupShare(id: string, groupId: string, name: string): Promise<Styleguide>; }