feat(plugins/repositories): add plugin_repositories_forks option (#1205) [skip ci]

This commit is contained in:
Simon Lecoq
2022-08-28 12:55:02 -04:00
committed by GitHub
parent 77dfb2ae7e
commit 996913ee47
5 changed files with 13 additions and 4 deletions

View File

@@ -139,7 +139,7 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) {
//Format value //Format value
(defaulted => { (defaulted => {
//Default value //Default value
let value = q[metadata.to.query(key)] ?? q[key] ?? defaulted let value = (meta.category !== "core" ? q[`plugin.${metadata.to.query(key)}`] : null) ?? q[metadata.to.query(key)] ?? q[key] ?? defaulted
//Apply type conversion //Apply type conversion
switch (type) { switch (type) {
//Booleans //Booleans

View File

@@ -7,8 +7,9 @@ export default async function({login, q, imports, graphql, queries, data, accoun
return null return null
//Load inputs //Load inputs
let {featured, pinned, starred, random, order, affiliations: _affiliations} = imports.metadata.plugins.repositories.inputs({data, account, q}) let {featured, pinned, starred, random, order, affiliations: _affiliations, forks: _forks} = imports.metadata.plugins.repositories.inputs({data, account, q})
const affiliations = _affiliations?.length ? `ownerAffiliations: [${_affiliations.map(x => x.toLocaleUpperCase()).join(", ")}]` : "" const affiliations = _affiliations?.length ? `ownerAffiliations: [${_affiliations.map(x => x.toLocaleUpperCase()).join(", ")}]` : ""
const forks = _forks ? "" : "isFork: false"
//Initialization //Initialization
const repositories = {list: []} const repositories = {list: []}
@@ -37,7 +38,7 @@ export default async function({login, q, imports, graphql, queries, data, accoun
//Fetch starred repositories //Fetch starred repositories
if (starred) { if (starred) {
const {user: {repositories: {nodes}}} = await graphql(queries.repositories.starred({login, limit: Math.min(starred + 10, 100), affiliations})) const {user: {repositories: {nodes}}} = await graphql(queries.repositories.starred({login, limit: Math.min(starred + 10, 100), affiliations, forks}))
let count = 0 let count = 0
for (const node of nodes) { for (const node of nodes) {
if (processed.has(node.nameWithOwner)) if (processed.has(node.nameWithOwner))
@@ -53,7 +54,7 @@ export default async function({login, q, imports, graphql, queries, data, accoun
//Fetch random repositories //Fetch random repositories
if (random) { if (random) {
const {user: {repositories: {nodes}}} = await graphql(queries.repositories.random({login, affiliations})) const {user: {repositories: {nodes}}} = await graphql(queries.repositories.random({login, affiliations, forks}))
let count = 0 let count = 0
for (const node of imports.shuffle(nodes)) { for (const node of imports.shuffle(nodes)) {
if (processed.has(node.nameWithOwner)) if (processed.has(node.nameWithOwner))

View File

@@ -69,6 +69,12 @@ inputs:
- random - random
default: featured, pinned, starred, random default: featured, pinned, starred, random
plugin_repositories_forks:
description: |
Include repositories forks
type: boolean
default: no
plugin_repositories_affiliations: plugin_repositories_affiliations:
description: | description: |
Repositories affiliations Repositories affiliations

View File

@@ -5,6 +5,7 @@ query RepositoriesRandom {
first: 100 first: 100
privacy: PUBLIC privacy: PUBLIC
$affiliations $affiliations
$forks
) { ) {
nodes { nodes {
nameWithOwner nameWithOwner

View File

@@ -5,6 +5,7 @@ query RepositoriesStarred {
first: $limit first: $limit
privacy: PUBLIC privacy: PUBLIC
$affiliations $affiliations
$forks
) { ) {
nodes { nodes {
nameWithOwner nameWithOwner