Projects
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
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
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
Returns
string
isProjectActive()
isProjectActive(
project):boolean
Defined in: models/Projects.ts:634
Check if project is active
Parameters
project
Returns
boolean
getProjectStatusDisplay()
getProjectStatusDisplay(
status):string
Defined in: models/Projects.ts:641
Get project status display name
Parameters
status
string
Returns
string