interface IWorkspaceWithData<T = []> {
    archivedprojects: "archivedprojects"[] extends T ? object[] : never[];
    groups: "groups"[] extends T
        ? Pick<IGroupWithData<"name"[]>, "id" | "name">[]
        : never[];
    id: string;
    name: TWorkspaceGetName extends T ? string : never;
    owners: "owners"[] extends T
        ? Pick<
            IUserWithData<("lastname" | "firstname" | "email" | "avatar")[]>,
            "id" | "lastname" | "firstname" | "email" | "avatar",
        >[]
        : never[];
    projects: "projects"[] extends T ? string[] : never[];
    users: "users"[] extends T
        ? Pick<
            IUserWithData<("lastname" | "firstname" | "email" | "avatar")[]>,
            "id" | "lastname" | "firstname" | "email" | "avatar",
        >[]
        : never[];
}

Type Parameters

  • T = []

Hierarchy (View Summary)

Properties

archivedprojects: "archivedprojects"[] extends T ? object[] : never[]
groups: "groups"[] extends T
    ? Pick<IGroupWithData<"name"[]>, "id" | "name">[]
    : never[]
id: string
name: TWorkspaceGetName extends T ? string : never
owners: "owners"[] extends T
    ? Pick<
        IUserWithData<("lastname" | "firstname" | "email" | "avatar")[]>,
        "id" | "lastname" | "firstname" | "email" | "avatar",
    >[]
    : never[]
projects: "projects"[] extends T ? string[] : never[]
users: "users"[] extends T
    ? Pick<
        IUserWithData<("lastname" | "firstname" | "email" | "avatar")[]>,
        "id" | "lastname" | "firstname" | "email" | "avatar",
    >[]
    : never[]