Skip to content

Commit 324564d

Browse files
committed
fix: add-search-docs choose roles for doc
1 parent 17f6e42 commit 324564d

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

lib/actions/add-search-doc/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const Blueprint = require('../blueprint')
33
const ask = require('../util/ask')
44
const selectModel = require('../util/select-model')
55
const chooseCategory = require('../util/choose-category')
6+
const chooseRoles = require('../util/choose-roles')
67
const chooseFilename = require('../util/choose-filename')
78

89
async function addSearchDoc (options) {
@@ -16,6 +17,8 @@ async function addSearchDoc (options) {
1617

1718
const category = await chooseCategory(blueprint, model.name)
1819

20+
const roles = await chooseRoles(blueprint, '$everyone')
21+
1922
const filename = await chooseFilename(
2023
'Search-doc filename',
2124
`${model.name}`
@@ -28,7 +31,7 @@ async function addSearchDoc (options) {
2831
primaryKeys: model.schema.primaryKey,
2932
title: label,
3033
description: description,
31-
roles: ['$everyone'],
34+
roles: roles,
3235
sort: label,
3336
category: category,
3437
launches: 'boop',

lib/actions/util/choose-roles.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
const c = require('ansi-colors')
2+
const ask = require('./ask')
3+
4+
async function chooseRoles (blueprint, suggested = '$authenticated') {
5+
const roles = blueprint.roles()
6+
7+
if (roles.length === 0) {
8+
console.log(c.bold.red('Blueprint has no roles defined'))
9+
return ask({
10+
message: 'Enter roles',
11+
hint: 'You can provide several roles, separated by commas',
12+
type: 'list',
13+
initial: suggested
14+
})
15+
}
16+
17+
if (roles.length === 1) {
18+
console.log(c.bold(`Blueprint has one role - ${c.cyan(roles[0])}`))
19+
return roles
20+
}
21+
22+
const cats = await ask({
23+
type: 'multiselect',
24+
message: 'Select roles',
25+
choices: [
26+
'$everyone',
27+
'$authenticated',
28+
...roles
29+
]
30+
})
31+
32+
return cats
33+
} // chooseRoles
34+
35+
module.exports = chooseRoles

0 commit comments

Comments
 (0)