@grouparoo/core
Version:
The Grouparoo Core
70 lines (69 loc) • 2.36 kB
TypeScript
import { OptionallyAuthenticatedAction } from "../classes/actions/optionallyAuthenticatedAction";
import { GrouparooModel } from "../models/GrouparooModel";
import { ActionPermission } from "../models/Permission";
import { TeamMember } from "../models/TeamMember";
declare type NavigationMode = "authenticated" | "unauthenticated" | "config:authenticated" | "config:unauthenticated";
export interface NavigationItem {
type: "link" | "divider" | "subNavMenu";
title?: string;
icon?: string;
href?: string;
mainPathSectionIdx?: number;
small?: boolean;
subNavItems?: NavigationItem[];
}
export declare class NavigationList extends OptionallyAuthenticatedAction {
name: string;
description: string;
permission: ActionPermission;
outputExample: {};
runWithinTransaction({ session: { teamMember }, }: {
session: {
teamMember: TeamMember;
};
}): Promise<{
navigationMode: NavigationMode;
navigation: {
navigationItems: NavigationItem[];
platformItems: NavigationItem[];
bottomMenuItems: NavigationItem[];
};
clusterName: {
default: boolean;
value: string;
};
teamMember: {
id: string;
teamId: string;
firstName: string;
lastName: string;
email: string;
locked: string;
lastLoginAt: Date;
createdAt: number;
updatedAt: number;
};
}>;
private static createModelNavigationItems;
authenticatedNav(teamMember: TeamMember, models: GrouparooModel[]): Promise<{
navigationItems: NavigationItem[];
platformItems: NavigationItem[];
bottomMenuItems: NavigationItem[];
}>;
unauthenticatedNav(): Promise<{
navigationItems: NavigationItem[];
platformItems: NavigationItem[];
bottomMenuItems: NavigationItem[];
}>;
authenticatedConfigNav(models: GrouparooModel[]): Promise<{
navigationItems: NavigationItem[];
platformItems: NavigationItem[];
bottomMenuItems: NavigationItem[];
}>;
unauthenticatedConfigNav(): Promise<{
navigationItems: NavigationItem[];
platformItems: NavigationItem[];
bottomMenuItems: NavigationItem[];
}>;
}
export {};