@translated/lara
Version:
Official Lara SDK for JavaScript and Node.js
56 lines (55 loc) • 2.38 kB
TypeScript
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>;
}