Skip to main content

Projects

Workspace API


Workspace API / models/Projects

models/Projects

Functions

createProject()

createProject(data, client?, log?): Promise<Project>

Defined in: models/Projects.ts:22

Create a new project

Parameters

data

CreateProjectData

client?

any

log?

Logger = logger

Returns

Promise<Project>


findById()

findById(projectId): Promise<Project | null>

Defined in: models/Projects.ts:108

Find project by ID

Parameters

projectId

string

Returns

Promise<Project | null>


findByIdWithOrganization()

findByIdWithOrganization(projectId): Promise<ProjectWithOrganization | null>

Defined in: models/Projects.ts:119

Find project by ID with organization info

Parameters

projectId

string

Returns

Promise<ProjectWithOrganization | null>


findByOrganizationId()

findByOrganizationId(organizationId): Promise<Project[]>

Defined in: models/Projects.ts:143

Find projects by organization ID

Parameters

organizationId

string

Returns

Promise<Project[]>


findByCreator()

findByCreator(createdBy): Promise<Project[]>

Defined in: models/Projects.ts:157

Find projects by creator

Parameters

createdBy

string

Returns

Promise<Project[]>


updateProject()

updateProject(projectId, updateData): Promise<Project | null>

Defined in: models/Projects.ts:171

Update project information

Parameters

projectId

string

updateData

UpdateProjectData

Returns

Promise<Project | null>


deleteProject()

deleteProject(projectId): Promise<boolean>

Defined in: models/Projects.ts:215

Delete project (soft delete by setting status to inactive)

Parameters

projectId

string

Returns

Promise<boolean>


permanentlyDeleteProject()

permanentlyDeleteProject(projectId, log): Promise<boolean>

Defined in: models/Projects.ts:230

Permanently delete project (hard delete) RAG database records must be cleaned up manually (no cross-database FKs).

Parameters

projectId

string

log

Logger = logger

Returns

Promise<boolean>


getProjects()

getProjects(filters): Promise<{ projects: Project[]; total: number; }>

Defined in: models/Projects.ts:272

Get projects with filters and pagination

Parameters

filters

ProjectFilters = {}

Returns

Promise<{ projects: Project[]; total: number; }>


getProjectsWithOrganization()

getProjectsWithOrganization(filters): Promise<{ projects: ProjectWithOrganization[]; total: number; }>

Defined in: models/Projects.ts:326

Get projects with organization info

Parameters

filters

ProjectFilters = {}

Returns

Promise<{ projects: ProjectWithOrganization[]; total: number; }>


getUserProjects()

getUserProjects(userId): Promise<ProjectWithOrganization[]>

Defined in: models/Projects.ts:392

Get user's projects (projects user is explicitly assigned to OR projects user created) Only returns projects from organizations the user is a member of

Parameters

userId

string

Returns

Promise<ProjectWithOrganization[]>


getOrganizationProjects()

getOrganizationProjects(organizationId, userId): Promise<Project[]>

Defined in: models/Projects.ts:424

Get organization projects with user access check

Parameters

organizationId

string

userId

string

Returns

Promise<Project[]>


getOrganizationProjectStats()

getOrganizationProjectStats(organizationId): Promise<ProjectStats>

Defined in: models/Projects.ts:453

Get project statistics for an organization

Parameters

organizationId

string

Returns

Promise<ProjectStats>


getGlobalProjectStats()

getGlobalProjectStats(): Promise<ProjectStats>

Defined in: models/Projects.ts:494

Get global project statistics

Returns

Promise<ProjectStats>


userHasProjectAccess()

userHasProjectAccess(projectId, userId): Promise<boolean>

Defined in: models/Projects.ts:529

Check if user has access to project (through project membership or organization admin)

Parameters

projectId

string

userId

string

Returns

Promise<boolean>


isProjectNameUnique()

isProjectNameUnique(organizationId, name, excludeProjectId?): Promise<boolean>

Defined in: models/Projects.ts:558

Check if project name is unique within organization

Parameters

organizationId

string

name

string

excludeProjectId?

string

Returns

Promise<boolean>


searchProjects()

searchProjects(searchTerm, organizationId?): Promise<ProjectWithOrganization[]>

Defined in: models/Projects.ts:580

Search projects by name or description

Parameters

searchTerm

string

organizationId?

string

Returns

Promise<ProjectWithOrganization[]>


generateProjectId()

generateProjectId(): string

Defined in: models/Projects.ts:620

Generate a secure project ID

Returns

string


getProjectFullName()

getProjectFullName(project): string

Defined in: models/Projects.ts:627

Get project's full name with organization

Parameters

project

ProjectWithOrganization

Returns

string


isProjectActive()

isProjectActive(project): boolean

Defined in: models/Projects.ts:634

Check if project is active

Parameters

project

Project

Returns

boolean


getProjectStatusDisplay()

getProjectStatusDisplay(status): string

Defined in: models/Projects.ts:641

Get project status display name

Parameters

status

string

Returns

string