add active and inactive review request for user query

This commit is contained in:
2022-10-18 22:17:06 -03:00
parent b9d682f86b
commit afb827dae3
6 changed files with 151 additions and 2 deletions

View File

@@ -402,6 +402,35 @@ export type ReviewMessageInput = {
text: Scalars['String'];
};
export type ReviewRequest = {
__typename?: 'ReviewRequest';
answered: Scalars['Boolean'];
id: Scalars['ID'];
question: Question;
user: User;
};
/** The connection type for ReviewRequest. */
export type ReviewRequestConnection = {
__typename?: 'ReviewRequestConnection';
/** A list of edges. */
edges: Array<ReviewRequestEdge>;
/** A list of nodes. */
nodes: Array<ReviewRequest>;
/** Information to aid in pagination. */
pageInfo: PageInfo;
totalCount: Scalars['Int'];
};
/** An edge in a connection. */
export type ReviewRequestEdge = {
__typename?: 'ReviewRequestEdge';
/** A cursor for use in pagination. */
cursor: Scalars['String'];
/** The item at the end of the edge. */
node?: Maybe<ReviewRequest>;
};
export type Subject = {
__typename?: 'Subject';
axis: Axis;
@@ -460,13 +489,31 @@ export type UpdateQuestionPayload = {
export type User = {
__typename?: 'User';
activeReviewRequests: ReviewRequestConnection;
avatarUrl?: Maybe<Scalars['String']>;
email: Scalars['String'];
id: Scalars['ID'];
inactiveReviewRequests: ReviewRequestConnection;
name: Scalars['String'];
roles: Array<UserRole>;
};
export type UserActiveReviewRequestsArgs = {
after?: InputMaybe<Scalars['String']>;
before?: InputMaybe<Scalars['String']>;
first?: InputMaybe<Scalars['Int']>;
last?: InputMaybe<Scalars['Int']>;
};
export type UserInactiveReviewRequestsArgs = {
after?: InputMaybe<Scalars['String']>;
before?: InputMaybe<Scalars['String']>;
first?: InputMaybe<Scalars['Int']>;
last?: InputMaybe<Scalars['Int']>;
};
/** The connection type for User. */
export type UserConnection = {
__typename?: 'UserConnection';

View File

@@ -526,6 +526,49 @@ input ReviewMessageInput {
text: String!
}
type ReviewRequest {
answered: Boolean!
id: ID!
question: Question!
user: User!
}
"""
The connection type for ReviewRequest.
"""
type ReviewRequestConnection {
"""
A list of edges.
"""
edges: [ReviewRequestEdge!]!
"""
A list of nodes.
"""
nodes: [ReviewRequest!]!
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
totalCount: Int!
}
"""
An edge in a connection.
"""
type ReviewRequestEdge {
"""
A cursor for use in pagination.
"""
cursor: String!
"""
The item at the end of the edge.
"""
node: ReviewRequest
}
type Subject {
axis: Axis!
category: Category!
@@ -619,9 +662,51 @@ type UpdateQuestionPayload {
}
type User {
activeReviewRequests(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
): ReviewRequestConnection!
avatarUrl: String
email: String!
id: ID!
inactiveReviewRequests(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
): ReviewRequestConnection!
name: String!
roles: [UserRole!]!
}

View File

@@ -34,8 +34,9 @@ export const QuestionsWaitingReviewQuery: FC<Props> = ({ title }) => {
const [pageInfo, setPageInfo] = useState<PageInfo | undefined>()
const updateQuestions = (queryResult: Query) => {
const { currentUser } = queryResult
const { activeReviewRequests } = currentUser as User
if (!queryResult.currentUser) return
const { activeReviewRequests } = queryResult.currentUser
const reviewRequests = activeReviewRequests.nodes as ReviewRequest[]
setQuestions(reviewRequests.map(item => item.question))