MemberModel
Defined in: packages/core/src/models/member.ts:16
Data operations for project membership and roles.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MemberModel(
db,tables?):MemberModel
Defined in: packages/core/src/models/member.ts:24
Parameters
Section titled “Parameters”Database adapter.
tables?
Section titled “tables?”MemberTables
Table handles.
Returns
Section titled “Returns”MemberModel
Methods
Section titled “Methods”effectiveRole()
Section titled “effectiveRole()”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.
Parameters
Section titled “Parameters”siteRole
Section titled “siteRole”"admin" | "member" | "viewer"
projectId
Section titled “projectId”string
userId
Section titled “userId”string
Returns
Section titled “Returns”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.
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
userId
Section titled “userId”string
Returns
Section titled “Returns”Promise<ProjectMember | null>
list()
Section titled “list()”list(
projectId):Promise<ProjectMember[]>
Defined in: packages/core/src/models/member.ts:30
List all members of a project.
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
Returns
Section titled “Returns”Promise<ProjectMember[]>
remove()
Section titled “remove()”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.
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
userId
Section titled “userId”string
Returns
Section titled “Returns”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.
Parameters
Section titled “Parameters”projectId
Section titled “projectId”string
userId
Section titled “userId”string
"admin" | "viewer" | "approver" | "developer"
source?
Section titled “source?”string = "manual"
Returns
Section titled “Returns”Promise<ProjectMember>