feat(auth): add user and role management
This commit is contained in:
@@ -6,6 +6,16 @@ export const GET_CURRENT_USER = gql`
|
||||
id
|
||||
fullName
|
||||
email
|
||||
role {
|
||||
id
|
||||
isAdmin
|
||||
}
|
||||
permissions {
|
||||
id
|
||||
action
|
||||
subject
|
||||
conditions
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
@@ -0,0 +1,21 @@
|
||||
import { gql } from '@apollo/client';
|
||||
|
||||
export const GET_PERMISSION_CATALOG = gql`
|
||||
query GetPermissionCatalog {
|
||||
getPermissionCatalog {
|
||||
subjects {
|
||||
key
|
||||
label
|
||||
}
|
||||
conditions {
|
||||
key
|
||||
label
|
||||
}
|
||||
actions {
|
||||
label
|
||||
key
|
||||
subjects
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
19
packages/web/src/graphql/queries/get-role.ee.ts
Normal file
19
packages/web/src/graphql/queries/get-role.ee.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { gql } from '@apollo/client';
|
||||
|
||||
export const GET_ROLE = gql`
|
||||
query GetRole($id: String!) {
|
||||
getRole(id: $id) {
|
||||
id
|
||||
key
|
||||
name
|
||||
description
|
||||
isAdmin
|
||||
permissions {
|
||||
id
|
||||
action
|
||||
subject
|
||||
conditions
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
13
packages/web/src/graphql/queries/get-roles.ee.ts
Normal file
13
packages/web/src/graphql/queries/get-roles.ee.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { gql } from '@apollo/client';
|
||||
|
||||
export const GET_ROLES = gql`
|
||||
query GetRoles {
|
||||
getRoles {
|
||||
id
|
||||
key
|
||||
name
|
||||
description
|
||||
isAdmin
|
||||
}
|
||||
}
|
||||
`;
|
19
packages/web/src/graphql/queries/get-user.ts
Normal file
19
packages/web/src/graphql/queries/get-user.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { gql } from '@apollo/client';
|
||||
|
||||
export const GET_USER = gql`
|
||||
query GetUser($id: String!) {
|
||||
getUser(id: $id) {
|
||||
id
|
||||
fullName
|
||||
email
|
||||
role {
|
||||
id
|
||||
key
|
||||
name
|
||||
isAdmin
|
||||
}
|
||||
createdAt
|
||||
updatedAt
|
||||
}
|
||||
}
|
||||
`;
|
29
packages/web/src/graphql/queries/get-users.ts
Normal file
29
packages/web/src/graphql/queries/get-users.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { gql } from '@apollo/client';
|
||||
|
||||
export const GET_USERS = gql`
|
||||
query GetUsers(
|
||||
$limit: Int!
|
||||
$offset: Int!
|
||||
) {
|
||||
getUsers(
|
||||
limit: $limit
|
||||
offset: $offset
|
||||
) {
|
||||
pageInfo {
|
||||
currentPage
|
||||
totalPages
|
||||
}
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
fullName
|
||||
email
|
||||
role {
|
||||
id
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
Reference in New Issue
Block a user