Skip to content

MemberModel

Defined in: packages/core/src/models/member.ts:16

Data operations for project membership and roles.

new MemberModel(db, tables?): MemberModel

Defined in: packages/core/src/models/member.ts:24

DatabaseAdapter

Database adapter.

MemberTables

Table handles.

MemberModel

effectiveRole(siteRole, projectId, userId): Promise<"admin" | "viewer" | "approver" | "developer" | null>

Defined in: packages/core/src/models/member.ts:81

Resolve a user’s effective project role, honoring site-wide admins.

"admin" | "member" | "viewer"

string

string

Promise<"admin" | "viewer" | "approver" | "developer" | null>


get(projectId, userId): Promise<ProjectMember | null>

Defined in: packages/core/src/models/member.ts:37

Fetch a project member by project and user id, or null if not found.

string

string

Promise<ProjectMember | null>


list(projectId): Promise<ProjectMember[]>

Defined in: packages/core/src/models/member.ts:30

List all members of a project.

string

Promise<ProjectMember[]>


remove(projectId, userId): Promise<void>

Defined in: packages/core/src/models/member.ts:73

Remove a user from a project if they are a member.

string

string

Promise<void>


set(projectId, userId, role, source?): Promise<ProjectMember>

Defined in: packages/core/src/models/member.ts:49

Set a user’s role in a project, creating the membership if needed.

string

string

"admin" | "viewer" | "approver" | "developer"

string = "manual"

Promise<ProjectMember>