feat(plugins/repositories): add plugin_repositories_forks option (#1205) [skip ci]
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ query RepositoriesRandom {
|
|||||||
first: 100
|
first: 100
|
||||||
privacy: PUBLIC
|
privacy: PUBLIC
|
||||||
$affiliations
|
$affiliations
|
||||||
|
$forks
|
||||||
) {
|
) {
|
||||||
nodes {
|
nodes {
|
||||||
nameWithOwner
|
nameWithOwner
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ query RepositoriesStarred {
|
|||||||
first: $limit
|
first: $limit
|
||||||
privacy: PUBLIC
|
privacy: PUBLIC
|
||||||
$affiliations
|
$affiliations
|
||||||
|
$forks
|
||||||
) {
|
) {
|
||||||
nodes {
|
nodes {
|
||||||
nameWithOwner
|
nameWithOwner
|
||||||
|
|||||||
Reference in New Issue
Block a user