project_members
Creates, updates, deletes, gets or lists a project_members resource.
Overview​
| Name | project_members |
| Type | Resource |
| Id | railway.projects.project_members |
Fields​
The following fields are returned by SELECT queries:
- list
One row per ProjectMember.
| Name | Datatype | Description |
|---|---|---|
id | string | |
name | string | |
avatar | string | |
email | string | |
role | string | (ADMIN, MEMBER, VIEWER) |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
list | select | project_id | Gets users who belong to a project along with their role. Backed by the Railway GraphQL query projectMembers. | |
add | insert | project_id, role, user_id | Add a workspace member to a project with a specific role. The user must already be a member of the project's workspace. Backed by the Railway GraphQL mutation projectMemberAdd. | |
update | update | project_id, role, user_id | Change the role for a user within a project. Backed by the Railway GraphQL mutation projectMemberUpdate. | |
remove | delete | project_id, user_id | Remove user from a project. Backed by the Railway GraphQL mutation projectMemberRemove. |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
project_id | string | |
role | string | (ADMIN, MEMBER, VIEWER) |
user_id | string |
SELECT examples​
- list
Gets users who belong to a project along with their role. Backed by the Railway GraphQL query projectMembers.
SELECT
id,
name,
avatar,
email,
role
FROM railway.projects.project_members
WHERE project_id = '{{ project_id }}' -- required
;
INSERT examples​
- add
- Manifest
Add a workspace member to a project with a specific role. The user must already be a member of the project's workspace. Backed by the Railway GraphQL mutation projectMemberAdd.
INSERT INTO railway.projects.project_members (
project_id,
role,
user_id
)
SELECT
'{{ project_id }}' /* required */,
'{{ role }}' /* required */,
'{{ user_id }}' /* required */
RETURNING
id,
name,
avatar,
email,
role
;
# Description fields are for documentation purposes
- name: project_members
props:
- name: project_id
value: "{{ project_id }}"
- name: role
value: "{{ role }}"
valid_values: ['ADMIN', 'MEMBER', 'VIEWER']
- name: user_id
value: "{{ user_id }}"
UPDATE examples​
- update
Change the role for a user within a project. Backed by the Railway GraphQL mutation projectMemberUpdate.
UPDATE railway.projects.project_members
SET
WHERE
project_id = '{{ project_id }}' --required
AND role = '{{ role }}' --required
AND user_id = '{{ user_id }}' --required
RETURNING
id,
name,
avatar,
email,
role;
DELETE examples​
- remove
Remove user from a project. Backed by the Railway GraphQL mutation projectMemberRemove.
DELETE FROM railway.projects.project_members
WHERE
project_id = '{{ project_id }}' --required
AND user_id = '{{ user_id }}' --required
;