forest-cli
Version:
The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.
38 lines • 1.35 kB
TypeScript
export type ProjectUser = {
id: string;
email: string;
name: string;
permissionLevel: string;
roleId: string | null;
role: string | null;
teams: string[];
};
export default class UserManager {
private readonly config;
private readonly authenticator;
private readonly env;
private readonly logger;
constructor(config: {
projectId: number | string;
});
private headers;
listForProject(): Promise<ProjectUser[]>;
/** Raw project-users list (one call, no enrichment). Failures surface to the caller. */
private requestUsers;
private toProjectUser;
/**
* Resolve a project user by email for the edit path. Returns undefined when no
* user matches; transport/API failures throw. The role/teams are read in `strict`
* mode (never degraded): the edit reassigns the role and replaces the teams from
* these values, so a failed read must abort the edit, not silently wipe them.
*/
findByEmail(email: string): Promise<ProjectUser | undefined>;
editUser(userId: string, currentPermissionLevel: string, currentRoleId: string | null, changes: {
roleId?: string;
teamIds?: string[];
permissionLevel?: string;
}): Promise<void>;
private fetchTeams;
private fetchRole;
}
//# sourceMappingURL=user-manager.d.ts.map