MCPcopy Create free account
hub / github.com/RealDevSquad/website-backend / fetchLastMergedPR

Function fetchLastMergedPR

services/githubService.js:296–330  ·  view source on GitHub ↗
(username)

Source from the content-addressed store, hash-verified

294 * @returns {Object} - Object containing the last merged PR
295 **/
296const fetchLastMergedPR = async (username) => {
297 try {
298 const searchParams = {
299 type: "pr",
300 is: "merged",
301 author: username,
302 };
303 const createdURL = getGithubURL(searchParams, { sort: "merged", order: "desc", per_page: "1" });
304
305 const headers = {
306 Accept: "application/vnd.github+json",
307 Authorization: `Bearer ${config.get("githubAccessToken")}`,
308 org: config.get("githubApi.org"),
309 };
310
311 const res = await fetch(createdURL, { headers });
312
313 if (!res.ok) {
314 logger.error(`GitHub API request failed. Status: ${res.status}, URL: ${createdURL}`);
315 return null;
316 }
317
318 const data = await res.json();
319
320 if (!data || !data.items || !data.items.length) {
321 logger.error(`No merged PRs found for user ${username}`);
322 return null;
323 }
324
325 return data;
326 } catch (err) {
327 logger.error(`Error while fetching merged PRs: ${err}`);
328 throw err;
329 }
330};
331/**
332 * Checks if the last PR merged by a user is within the last `days` days
333 * @param username {string} - Username String

Callers 1

isLastPRMergedWithinDaysFunction · 0.85

Calls 3

getGithubURLFunction · 0.85
fetchFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected