mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-09-07 08:26:15 +00:00
40 lines
895 B
TypeScript
40 lines
895 B
TypeScript
import { CONTAINER_TAGS } from "./constants"
|
|
import type { Project } from "./types"
|
|
|
|
type ApiProject = Omit<Project, "name"> & {
|
|
name?: string | null
|
|
}
|
|
|
|
const defaultProject: Project = {
|
|
id: "default",
|
|
name: "Default Project",
|
|
containerTag: CONTAINER_TAGS.DEFAULT_PROJECT,
|
|
createdAt: "",
|
|
updatedAt: "",
|
|
documentCount: 0,
|
|
}
|
|
|
|
export function normalizeProjects(
|
|
projects: ApiProject[] | null | undefined,
|
|
): Project[] {
|
|
const normalizedProjects = (Array.isArray(projects) ? projects : []).map(
|
|
(project) => ({
|
|
...project,
|
|
name:
|
|
project.name?.trim() ||
|
|
(project.containerTag === CONTAINER_TAGS.DEFAULT_PROJECT
|
|
? defaultProject.name
|
|
: project.containerTag),
|
|
}),
|
|
)
|
|
|
|
if (
|
|
normalizedProjects.some(
|
|
(project) => project.containerTag === CONTAINER_TAGS.DEFAULT_PROJECT,
|
|
)
|
|
) {
|
|
return normalizedProjects
|
|
}
|
|
|
|
return [defaultProject, ...normalizedProjects]
|
|
}
|