鉴于用户的ID,我希望获得所有请求审阅者的拉请求。
以下操作不起作用,因为它只允许我获得该用户打开的拉取请求:
const state = {
teachers: [
{ teacherId: 'ttt1', teacherName: 'Susan', isCool: true, teachesAt: 'sss1'},
{ teacherId: 'ttt2', teacherName: 'Karen', isCool: false, teachesAt: 'sss2'},
{ teacherId: 'ttt3', teacherName: 'Bob', isCool: true, teachesAt: 'sss3'},
{ teacherId: 'ttt4', teacherName: 'Mike', isCool: false, teachesAt: 'sss1'},
],
schools: [
{ schoolId: 'sss1', schoolName: 'Washington'},
{ schoolId: 'sss2', schoolName: 'Lincoln'},
{ schoolId: 'sss3', schoolName: 'Jefferson'},
],
students: [
{ schoolIdEnrolled: 'sss1', studentName: 'Billy'},
{ schoolIdEnrolled: 'sss1', studentName: 'Steven'},
{ schoolIdEnrolled: 'sss2', studentName: 'Bobby'},
{ schoolIdEnrolled: 'sss3', studentName: 'Mikey'},
{ schoolIdEnrolled: 'sss3', studentName: 'Sally'},
{ schoolIdEnrolled: 'sss3', studentName: 'Cindy'},
{ schoolIdEnrolled: 'sss3', studentName: 'Mandy'},
],
}
const teachersReducer = (teachers, id) => {
const numOfteachers = teachers.reduce((result, current) => {
if (current.teachesAt === id && current.isCool) {
result++;
}
return result;
}, 0);
return numOfteachers;
}
const studentsReducer = (students, id) => {
const numOfstudents = students.reduce((result, current) => {
if (current.schoolIdEnrolled === id) {
result++;
}
return result;
}, 0);
return numOfstudents;
}
const resultData = state.schools.reduce((result, currentSchool) => {
const currentId = currentSchool.schoolId;
const numOfTeachers = teachersReducer(state.teachers, currentId);
const numOfStudents = studentsReducer(state.students, currentId);
return {
...result,
[currentSchool.schoolName]: {
...result[currentSchool],
numOfTeachers,
numOfStudents
}
}
}, {});
console.log(resultData);
有办法做到这一点吗?
谢谢!
答案 0 :(得分:6)
您可以从用户ID获取用户名,并使用review-requested
执行搜索,以匹配要求审核的用户:
获取用户名:
{
node(id: "MDQ6VXNlcjk2OTQ3") {
... on User {
login
}
}
}
获取要求审核用户的公开PR:
{
search(query: "type:pr state:open review-requested:refack", type: ISSUE, first: 100) {
issueCount
pageInfo {
endCursor
startCursor
}
edges {
node {
... on PullRequest {
repository {
nameWithOwner
}
number
url
}
}
}
}
}
您可以将查询字符串定义为变量try it in the explorer