[mod] role:wiki_js

This commit is contained in:
roydfalk 2024-09-30 09:51:07 +02:00
parent 4dde5388bc
commit e6ee5fb35f
5 changed files with 153 additions and 75 deletions

View file

@ -30,5 +30,7 @@
"var_wiki_js_admin_password": "REPLACE_ME", "var_wiki_js_admin_password": "REPLACE_ME",
"var_wiki_js_additional_locales": [], "var_wiki_js_additional_locales": [],
"var_wiki_js_user_group_name": "Default", "var_wiki_js_user_group_name": "Default",
"var_wiki_js_allow_guest_view": true "var_wiki_js_allow_guest_view": true,
"var_wiki_js_dark_mode": false,
"var_wiki_js_toc_position": "left"
} }

View file

@ -49,22 +49,33 @@ var _wiki_js_cli;
(function (helpers) { (function (helpers) {
var log; var log;
(function (log) { (function (log) {
/**
*/
let enum_level;
(function (enum_level) {
enum_level["debug"] = "debug";
enum_level["info"] = "info";
enum_level["notice"] = "notice";
enum_level["warning"] = "warning";
enum_level["error"] = "error";
})(enum_level = log.enum_level || (log.enum_level = {}));
/** /**
*/ */
const _level_order = [ const _level_order = [
"debug", enum_level.debug,
"info", enum_level.info,
"notice", enum_level.notice,
"warning", enum_level.warning,
"error", enum_level.error,
]; ];
/** /**
*/ */
var _threshold = "info"; var _threshold = enum_level.info;
/** /**
*/ */
function setup(threshold) { function setup(threshold) {
_threshold = threshold; _threshold = threshold;
return Promise.resolve(undefined);
} }
log.setup = setup; log.setup = setup;
/** /**
@ -95,7 +106,7 @@ var _wiki_js_cli;
/** /**
*/ */
async function call(http_request) { async function call(http_request) {
_wiki_js_cli.helpers.log.write("debug", "http_call_request", http_request); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.debug, "http_call_request", http_request);
const fetch_request = new Request(http_request.target, { const fetch_request = new Request(http_request.target, {
"method": http_request.method, "method": http_request.method,
"headers": http_request.headers, "headers": http_request.headers,
@ -104,10 +115,10 @@ var _wiki_js_cli;
const fetch_response = await fetch(fetch_request); const fetch_response = await fetch(fetch_request);
const http_response = { const http_response = {
"status_code": fetch_response.status, "status_code": fetch_response.status,
"headers": fetch_response.headers, "headers": Object.fromEntries(fetch_response.headers.entries()),
"body": await fetch_response.text(), "body": await fetch_response.text(),
}; };
_wiki_js_cli.helpers.log.write("debug", "http_call_response", http_response); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.debug, "http_call_response", http_response);
return http_response; return http_response;
} }
http.call = call; http.call = call;
@ -143,7 +154,7 @@ var _wiki_js_cli;
state = "free"; state = "free";
} }
else { else {
_wiki_js_cli.helpers.log.write("warning", "arg_discarded", { _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.warning, "arg_discarded", {
"arg_raw": arg_raw, "arg_raw": arg_raw,
}); });
key = null; key = null;
@ -189,7 +200,7 @@ var _wiki_js_cli;
const content = await _wiki_js_cli.helpers.file.read(path); const content = await _wiki_js_cli.helpers.file.read(path);
data_raw = JSON.parse(content); data_raw = JSON.parse(content);
} }
_wiki_js_cli.helpers.log.write("debug", "conf_raw", data_raw); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.debug, "conf_raw", data_raw);
_data = { _data = {
"api": { "api": {
"url_base": (data_raw?.api?.url_base "url_base": (data_raw?.api?.url_base
@ -299,7 +310,7 @@ var _wiki_js_cli;
* executes a local login * executes a local login
*/ */
async function call_login_local(username, password) { async function call_login_local(username, password) {
_wiki_js_cli.helpers.log.write("info", "api_call_login_local", {}); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_login_local", {});
return (call_generic_graphql("mutation ($username: String!, $password: String!, $strategy: String!) {authentication {login(username: $username, password: $password, strategy: $strategy) {responseResult {succeeded errorCode slug message __typename} jwt mustChangePwd mustProvideTFA mustSetupTFA continuationToken redirect tfaQRImage __typename} __typename}}", { return (call_generic_graphql("mutation ($username: String!, $password: String!, $strategy: String!) {authentication {login(username: $username, password: $password, strategy: $strategy) {responseResult {succeeded errorCode slug message __typename} jwt mustChangePwd mustProvideTFA mustSetupTFA continuationToken redirect tfaQRImage __typename} __typename}}", {
"variables": { "variables": {
"strategy": "local", "strategy": "local",
@ -321,7 +332,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_email_settings_set(settings) { function call_email_settings_set(settings) {
_wiki_js_cli.helpers.log.write("info", "api_call_email_settings_set", { _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_email_settings_set", {
"settings": settings, "settings": settings,
}); });
return (call_generic_graphql("mutation ($senderName: String!, $senderEmail: String!, $host: String!, $port: Int!, $name: String!, $secure: Boolean!, $verifySSL: Boolean!, $user: String!, $pass: String!, $useDKIM: Boolean!, $dkimDomainName: String!, $dkimKeySelector: String!, $dkimPrivateKey: String!) {mail {updateConfig(senderName: $senderName, senderEmail: $senderEmail, host: $host, port: $port, name: $name, secure: $secure, verifySSL: $verifySSL, user: $user, pass: $pass, useDKIM: $useDKIM, dkimDomainName: $dkimDomainName, dkimKeySelector: $dkimKeySelector, dkimPrivateKey: $dkimPrivateKey) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}", { return (call_generic_graphql("mutation ($senderName: String!, $senderEmail: String!, $host: String!, $port: Int!, $name: String!, $secure: Boolean!, $verifySSL: Boolean!, $user: String!, $pass: String!, $useDKIM: Boolean!, $dkimDomainName: String!, $dkimKeySelector: String!, $dkimPrivateKey: String!) {mail {updateConfig(senderName: $senderName, senderEmail: $senderEmail, host: $host, port: $port, name: $name, secure: $secure, verifySSL: $verifySSL, user: $user, pass: $pass, useDKIM: $useDKIM, dkimDomainName: $dkimDomainName, dkimKeySelector: $dkimKeySelector, dkimPrivateKey: $dkimPrivateKey) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}", {
@ -346,7 +357,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_locale_download(locale) { function call_locale_download(locale) {
_wiki_js_cli.helpers.log.write("info", "api_call_locale_download", { _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_locale_download", {
"locale": locale, "locale": locale,
}); });
return (call_generic_graphql("mutation ($locale: String!) {localization {downloadLocale(locale: $locale) {responseResult {succeeded errorCode slug message __typename} __typename}__typename}}", { return (call_generic_graphql("mutation ($locale: String!) {localization {downloadLocale(locale: $locale) {responseResult {succeeded errorCode slug message __typename} __typename}__typename}}", {
@ -359,7 +370,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_group_list(name) { function call_group_list(name) {
_wiki_js_cli.helpers.log.write("info", "api_call_group_list", {}); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_group_list", {});
return (call_generic_graphql("{groups {list {id name isSystem userCount createdAt updatedAt __typename} __typename}}", { return (call_generic_graphql("{groups {list {id name isSystem userCount createdAt updatedAt __typename} __typename}}", {
"variables": {} "variables": {}
})); }));
@ -368,7 +379,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_group_create(name) { function call_group_create(name) {
_wiki_js_cli.helpers.log.write("info", "api_call_group_create", { _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_group_create", {
"name": name, "name": name,
}); });
return (call_generic_graphql("mutation ($name: String!) {groups {create(name: $name) {responseResult {succeeded errorCode slug message __typename} group {id name createdAt updatedAt __typename} __typename} __typename}}", { return (call_generic_graphql("mutation ($name: String!) {groups {create(name: $name) {responseResult {succeeded errorCode slug message __typename} group {id name createdAt updatedAt __typename} __typename} __typename}}", {
@ -402,7 +413,7 @@ var _wiki_js_cli;
* } * }
*/ */
function call_group_update(group_id, name, permissions_general, permissions_page_specific) { function call_group_update(group_id, name, permissions_general, permissions_page_specific) {
_wiki_js_cli.helpers.log.write("info", "api_call_group_update", {}); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_group_update", {});
return (call_generic_graphql("mutation ($id: Int!, $name: String!, $redirectOnLogin: String!, $permissions: [String]!, $pageRules: [PageRuleInput]!) {groups {update(id: $id, name: $name, redirectOnLogin: $redirectOnLogin, permissions: $permissions, pageRules: $pageRules) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}", { return (call_generic_graphql("mutation ($id: Int!, $name: String!, $redirectOnLogin: String!, $permissions: [String]!, $pageRules: [PageRuleInput]!) {groups {update(id: $id, name: $name, redirectOnLogin: $redirectOnLogin, permissions: $permissions, pageRules: $pageRules) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}", {
"variables": { "variables": {
"id": group_id, "id": group_id,
@ -417,7 +428,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_authentication_strategy_list() { function call_authentication_strategy_list() {
_wiki_js_cli.helpers.log.write("info", "api_call_authentication_strategy_list", {}); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_authentication_strategy_list", {});
return (call_generic_graphql("{authentication {activeStrategies {key strategy {key title description useForm logo website __typename} config {key value __typename} order isEnabled displayName selfRegistration domainWhitelist autoEnrollGroups __typename} __typename}}", {}) return (call_generic_graphql("{authentication {activeStrategies {key strategy {key title description useForm logo website __typename} config {key value __typename} order isEnabled displayName selfRegistration domainWhitelist autoEnrollGroups __typename} __typename}}", {})
.then((data) => Promise.resolve(data["authentication"]["activeStrategies"]))); .then((data) => Promise.resolve(data["authentication"]["activeStrategies"])));
} }
@ -425,7 +436,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_authentication_strategy_set(strategies) { function call_authentication_strategy_set(strategies) {
_wiki_js_cli.helpers.log.write("info", "api_call_authentication_strategy_set", { _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_authentication_strategy_set", {
"strategies": strategies, "strategies": strategies,
}); });
return (call_generic_graphql("mutation ($strategies: [AuthenticationStrategyInput]!) {authentication {updateStrategies(strategies: $strategies) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}", { return (call_generic_graphql("mutation ($strategies: [AuthenticationStrategyInput]!) {authentication {updateStrategies(strategies: $strategies) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}", {
@ -438,7 +449,7 @@ var _wiki_js_cli;
/** /**
*/ */
function call_theming_set(dark_mode, toc_position) { function call_theming_set(dark_mode, toc_position) {
_wiki_js_cli.helpers.log.write("info", "api_call_theming_set", { _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.info, "api_call_theming_set", {
"dark_mode": dark_mode, "dark_mode": dark_mode,
"toc_position": toc_position, "toc_position": toc_position,
}); });
@ -447,7 +458,7 @@ var _wiki_js_cli;
"theme": "default", "theme": "default",
"iconset": "mdi", "iconset": "mdi",
"darkMode": dark_mode, "darkMode": dark_mode,
"tocPosition": "left", "tocPosition": toc_position,
"injectCSS": "", "injectCSS": "",
"injectHead": "", "injectHead": "",
"injectBody": "" "injectBody": ""
@ -671,6 +682,33 @@ var _wiki_js_cli;
})(_wiki_js_cli || (_wiki_js_cli = {})); })(_wiki_js_cli || (_wiki_js_cli = {}));
var _wiki_js_cli; var _wiki_js_cli;
(function (_wiki_js_cli) { (function (_wiki_js_cli) {
/**
*/
function parse_boolean(indicator) {
if ((indicator === "1")
||
(indicator === "yes")
||
(indicator === "on")
||
(indicator === "true")) {
return true;
}
else {
if ((indicator === "0")
||
(indicator === "no")
||
(indicator === "off")
||
(indicator === "false")) {
return false;
}
else {
throw (new Error("invalid boolean indicator: " + indicator));
}
}
}
/** /**
*/ */
async function main(args_raw) { async function main(args_raw) {
@ -713,9 +751,9 @@ var _wiki_js_cli;
: :
null); null);
await _wiki_js_cli.conf.load(conf_path); await _wiki_js_cli.conf.load(conf_path);
_wiki_js_cli.helpers.log.write("debug", "conf", _wiki_js_cli.conf.get()); _wiki_js_cli.helpers.log.write(_wiki_js_cli.helpers.log.enum_level.debug, "conf", _wiki_js_cli.conf.get());
// init // init
_wiki_js_cli.helpers.log.setup(override_log_level ?? _wiki_js_cli.conf.get().log.threshold); await _wiki_js_cli.helpers.log.setup(override_log_level ?? _wiki_js_cli.conf.get().log.threshold);
await _wiki_js_cli.api.init((override_url_base ?? _wiki_js_cli.conf.get().api.url_base)); await _wiki_js_cli.api.init((override_url_base ?? _wiki_js_cli.conf.get().api.url_base));
// exec // exec
if (args.positional.length < 1) { if (args.positional.length < 1) {
@ -733,17 +771,21 @@ var _wiki_js_cli;
return Promise.reject("SYNTAX: … init <admin-email-address> <admin-password> [<site-url> [<allow-telemetry>]]"); return Promise.reject("SYNTAX: … init <admin-email-address> <admin-password> [<site-url> [<allow-telemetry>]]");
} }
else { else {
await _wiki_js_cli.logic.initialize(args.positional[1], args.positional[2], { const admin_email_address = args.positional[1];
"site_url": ((args.positional.length >= 4) const admin_password = args.positional[2];
? const site_url = ((args.positional.length >= 4)
args.positional[3] ?
: args.positional[3]
undefined), :
"allow_telemetry": ((args.positional.length >= 5) undefined);
? const allow_telemetry = ((args.positional.length >= 5)
(args.positional[4] === "1") ?
: parse_boolean(args.positional[4])
undefined), :
undefined);
await _wiki_js_cli.logic.initialize(admin_email_address, admin_password, {
"site_url": site_url,
"allow_telemetry": allow_telemetry
}); });
return Promise.resolve(undefined); return Promise.resolve(undefined);
} }
@ -754,11 +796,17 @@ var _wiki_js_cli;
return Promise.reject("SYNTAX: … email-settings-set <smtp-host> <smtp-port> <smtp-username> <smtp-password> <sender-name> <sender-email-address>"); return Promise.reject("SYNTAX: … email-settings-set <smtp-host> <smtp-port> <smtp-username> <smtp-password> <sender-name> <sender-email-address>");
} }
else { else {
const smtp_host = args.positional[1];
const smtp_port = parseInt(args.positional[2]);
const smtp_username = args.positional[3];
const smtp_password = args.positional[4];
const sender_name = args.positional[5];
const sender_email_address = args.positional[6];
await _wiki_js_cli.logic.login({ await _wiki_js_cli.logic.login({
"username": override_username, "username": override_username,
"password": override_password, "password": override_password,
}); });
await _wiki_js_cli.logic.email_settings_set(args.positional[1], parseInt(args.positional[2]), args.positional[3], args.positional[4], args.positional[5], args.positional[6], {}); await _wiki_js_cli.logic.email_settings_set(smtp_host, smtp_port, smtp_username, smtp_password, sender_name, sender_email_address, {});
return Promise.resolve(undefined); return Promise.resolve(undefined);
} }
break; break;
@ -768,22 +816,23 @@ var _wiki_js_cli;
return Promise.reject("SYNTAX: … locale-add <locale-code>"); return Promise.reject("SYNTAX: … locale-add <locale-code>");
} }
else { else {
const locale_code = args.positional[1];
await _wiki_js_cli.logic.login({ await _wiki_js_cli.logic.login({
"username": override_username, "username": override_username,
"password": override_password, "password": override_password,
}); });
await _wiki_js_cli.logic.locale_add(args.positional[1]); await _wiki_js_cli.logic.locale_add(locale_code);
return Promise.resolve(undefined); return Promise.resolve(undefined);
} }
break; break;
} }
case "group-add": { case "group-add": {
if (args.positional.length <= 1) { if (args.positional.length <= 2) {
return Promise.reject("SYNTAX: … group-add <name> [<permission-1> [<permission-2> [<permission-3> […]]]]"); return Promise.reject("SYNTAX: … group-add <name> <permissions>");
} }
else { else {
const name = args.positional[1]; const name = args.positional[1];
const permissions = args.positional.slice(2); const permissions = args.positional[2].split(",");
await _wiki_js_cli.logic.login({ await _wiki_js_cli.logic.login({
"username": override_username, "username": override_username,
"password": override_password, "password": override_password,
@ -809,11 +858,11 @@ var _wiki_js_cli;
} }
case "group-modify": { case "group-modify": {
if (args.positional.length <= 2) { if (args.positional.length <= 2) {
return Promise.reject("SYNTAX: … group-modify <name> [<permission-1> [<permission-2> [<permission-3> […]]]]"); return Promise.reject("SYNTAX: … group-modify <name> <permissions>");
} }
else { else {
const name = args.positional[1]; const name = args.positional[1];
const permissions = args.positional.slice(2); const permissions = args.positional[2].split(",");
const id = await _wiki_js_cli.logic.group_identify(name); const id = await _wiki_js_cli.logic.group_identify(name);
await _wiki_js_cli.logic.login({ await _wiki_js_cli.logic.login({
"username": override_username, "username": override_username,
@ -836,15 +885,11 @@ var _wiki_js_cli;
break; break;
} }
case "auth-strat-add-oauth2": { case "auth-strat-add-oauth2": {
if (args.positional.length <= 7) { if (args.positional.length <= 8) {
return Promise.reject("SYNTAX: … auth-strat-add-oauth2 <strategy-key> <strategy-name> <strategy-client-id> <strategy-client-secret> <strategy-authorization-url> <strategy-token-url> <strategy-user-info-url> [<group-assignment-1> [<group-assignment-2> [<group-assignment-3> […]]]]"); return Promise.reject("SYNTAX: … auth-strat-add-oauth2 <strategy-key> <strategy-name> <strategy-client-id> <strategy-client-secret> <strategy-authorization-url> <strategy-token-url> <strategy-user-info-url> <group-assignments>");
} }
else { else {
await _wiki_js_cli.logic.login({ const strategy = {
"username": override_username,
"password": override_password,
});
await _wiki_js_cli.logic.authentication_strategy_add({
"key": args.positional[1], "key": args.positional[1],
"name": args.positional[2], "name": args.positional[2],
"client_id": args.positional[3], "client_id": args.positional[3],
@ -852,8 +897,13 @@ var _wiki_js_cli;
"authorization_url": args.positional[5], "authorization_url": args.positional[5],
"token_url": args.positional[6], "token_url": args.positional[6],
"user_info_url": args.positional[7], "user_info_url": args.positional[7],
"group_assignments": args.positional.slice(8), "group_assignments": args.positional[8].split(","),
};
await _wiki_js_cli.logic.login({
"username": override_username,
"password": override_password,
}); });
await _wiki_js_cli.logic.authentication_strategy_add(strategy);
return Promise.resolve(undefined); return Promise.resolve(undefined);
} }
break; break;
@ -863,23 +913,36 @@ var _wiki_js_cli;
return Promise.reject("SYNTAX: … theming-set <dark-mode> [<toc-position>]"); return Promise.reject("SYNTAX: … theming-set <dark-mode> [<toc-position>]");
} }
else { else {
await _wiki_js_cli.logic.login({ const dark_mode = parse_boolean(args.positional[1]);
"username": override_username, const toc_position_raw = ((args.positional.length <= 2)
"password": override_password, ?
}); "left"
await _wiki_js_cli.logic.theming_set({ :
"dark_mode": (args.positional[1] === "1"), args.positional[2]);
"toc_position": ((args.positional.length <= 2) const toc_position = (() => {
? switch (toc_position_raw) {
"left" case "left": return "left";
: case "right": return "right";
((args.positional[2] === "right") case "hidden": return "off";
? default: {
"right" return null;
: }
"left")), }
}); })();
return Promise.resolve(undefined); if (toc_position === null) {
return Promise.reject("invalid toc-position: " + toc_position_raw + "; valid values are: left,right,hidden");
}
else {
await _wiki_js_cli.logic.login({
"username": override_username,
"password": override_password,
});
await _wiki_js_cli.logic.theming_set({
"dark_mode": dark_mode,
"toc_position": toc_position,
});
return Promise.resolve(undefined);
}
} }
break; break;
} }

View file

@ -9,6 +9,11 @@
- [Wiki.js-Dokumentation | Konfiguration](https://docs.requarks.io/install/config) - [Wiki.js-Dokumentation | Konfiguration](https://docs.requarks.io/install/config)
## Anmerkungen
- `files/wiki-js-cli` stammt aus einem kleinen Projekt von _roydfalk_
## ToDo ## ToDo
- start page - start page

View file

@ -120,7 +120,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} init {{var_wiki_js_admin_email_address}} {{var_wiki_js_admin_password}} https://{{var_wiki_js_domain}} 0" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} init {{var_wiki_js_admin_email_address}} {{var_wiki_js_admin_password}} https://{{var_wiki_js_domain}} no"
} }
}, },
{ {
@ -129,7 +129,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} email-settings-set {{var_wiki_js_smtp_host}} {{var_wiki_js_smtp_port}} {{var_wiki_js_smtp_username}} {{var_wiki_js_smtp_password}} {{email_sending_sender_name}} {{email_sending_sender_email_address}}" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} email-settings-set {{var_wiki_js_smtp_host}} {{var_wiki_js_smtp_port}} {{var_wiki_js_smtp_username}} {{var_wiki_js_smtp_password}} {{email_sending_sender_name}} {{email_sending_sender_email_address}}"
} }
}, },
{ {
@ -139,7 +139,7 @@
"loop": "{{var_wiki_js_additional_locales}}", "loop": "{{var_wiki_js_additional_locales}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} locale-add {{item}}" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} locale-add {{item}}"
} }
}, },
{ {
@ -149,7 +149,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-modify Guests" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-modify Guests"
} }
}, },
{ {
@ -159,7 +159,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-modify Guests read:pages read:assets read:comments" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-modify Guests read:pages read:assets read:comments"
} }
}, },
{ {
@ -168,7 +168,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-add {{var_wiki_js_user_group_name}} read:pages read:assets read:comments write:comments write:pages manage:pages delete:pages write:styles write:scripts read:source read:history write:assets manage:assets manage:comments" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} group-add {{var_wiki_js_user_group_name}} {{var_wiki_js_allow_guest_view | ternary('read:pages,read:assets,read:comments,write:comments,write:pages,manage:pages,delete:pages,write:styles,write:scripts,read:source,read:history,write:assets,manage:assets,manage:comments','')}}"
} }
}, },
{ {
@ -178,7 +178,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo {{var_wiki_js_user_group_name}}" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo {{var_wiki_js_user_group_name}}"
} }
}, },
{ {
@ -187,7 +187,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": { "ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}", "chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} theming-set 1 left" "cmd": "/usr/local/bin/wiki-js-cli -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} theming-set {{var_wiki_js_dark_mode | ternary('yes','no')}} {{var_wiki_js_toc_position}}"
} }
} }
] ]

View file

@ -150,5 +150,13 @@
"allow_guest_view": { "allow_guest_view": {
"mandatory": false, "mandatory": false,
"type": "boolean" "type": "boolean"
},
"dark_mode": {
"mandatory": false,
"type": "boolean"
},
"toc_position": {
"mandatory": false,
"type": "string"
} }
} }