[fix] wiki.js-roles

This commit is contained in:
roydfalk 2024-09-28 13:22:17 +02:00
parent e516bcacc5
commit cd7db6cf4e
7 changed files with 102 additions and 16 deletions

View file

@ -1,6 +1,6 @@
{ {
"var_authelia_for_wiki_js_wiki_js_url_base": "https://wiki_js.example.org", "var_authelia_for_wiki_js_wiki_js_url_base": "https://wiki-js.example.org",
"var_authelia_for_wiki_js_client_id": "wiki_js", "var_authelia_for_wiki_js_client_id": "wiki_js",
"var_authelia_for_wiki_js_client_secret": "REPLACE_ME", "var_authelia_for_wiki_js_client_secret": "REPLACE_ME",
"var_authelia_for_wiki_js_uuid": "REPLACE_ME" "var_authelia_for_wiki_js_strategy_id": "authelia"
} }

View file

@ -5,7 +5,7 @@
"public": false, "public": false,
"authorization_policy": "one_factor", "authorization_policy": "one_factor",
"redirect_uris": [ "redirect_uris": [
"{{var_authelia_for_wiki_js_wiki_js_url_base}}/login/{{var_authelia_for_wiki_js_uuid}}/calback" "{{var_authelia_for_wiki_js_wiki_js_url_base}}/login/{{var_authelia_for_wiki_js_strategy_id}}/callback"
], ],
"scopes": [ "scopes": [
"openid", "openid",
@ -13,5 +13,5 @@
"profile" "profile"
], ],
"userinfo_signed_response_alg": "none", "userinfo_signed_response_alg": "none",
"token_endpoint_auth_method": "client_secret_basic" "token_endpoint_auth_method": "client_secret_post"
} }

View file

@ -1,5 +1,5 @@
{ {
"var_vikunja_and_nginx_domain": "vikunja.example.org", "var_wiki_js_and_nginx_domain": "wiki-js.example.org",
"var_wiki_js_and_nginx_internal_port": 5632, "var_wiki_js_and_nginx_internal_port": 5632,
"var_vikunja_and_nginx_tls_mode": "force" "var_wiki_js_and_nginx_tls_mode": "force"
} }

View file

@ -8,7 +8,7 @@
"var_wiki_js_log_level": "info", "var_wiki_js_log_level": "info",
"var_wiki_js_log_format": "default", "var_wiki_js_log_format": "default",
"var_wiki_js_database_kind": "sqlite", "var_wiki_js_database_kind": "sqlite",
"var_wiki_js_database_data_sqlite_path": "/var/wiki.js/data.sqlite", "var_wiki_js_database_data_sqlite_path": "/var/wiki_js/data.sqlite",
"var_wiki_js_database_data_postgresql_host": "postgresql.example.org", "var_wiki_js_database_data_postgresql_host": "postgresql.example.org",
"var_wiki_js_database_data_postgresql_port": 5432, "var_wiki_js_database_data_postgresql_port": 5432,
"var_wiki_js_database_data_postgresql_username": "wiki_js_user", "var_wiki_js_database_data_postgresql_username": "wiki_js_user",

View file

@ -544,6 +544,43 @@ wiki_js.cli.api = (wiki_js.cli.api || {});
} }
exports.call_authentication_strategy_set = call_authentication_strategy_set; exports.call_authentication_strategy_set = call_authentication_strategy_set;
/**
*/
function call_theming_set(
login_token,
dark_mode,
toc_position
)
{
wiki_js.cli.helpers.log.write(
"info",
"api_call_theming_set",
{
"dark_mode": dark_mode,
"toc_position": toc_position,
}
);
return (
call_generic_graphql(
"mutation ($theme: String!, $iconset: String!, $darkMode: Boolean!, $tocPosition: String, $injectCSS: String, $injectHead: String, $injectBody: String) {theming {setConfig(theme: $theme, iconset: $iconset, darkMode: $darkMode, tocPosition: $tocPosition, injectCSS: $injectCSS, injectHead: $injectHead, injectBody: $injectBody) {responseResult {succeeded errorCode slug message __typename} __typename} __typename}}",
{
"login_token": login_token,
"variables": {
"theme": "default",
"iconset": "mdi",
"darkMode": dark_mode,
"tocPosition": "left",
"injectCSS": "",
"injectHead": "",
"injectBody": ""
}
}
)
);
}
exports.call_theming_set = call_theming_set;
}) (wiki_js.cli.api); }) (wiki_js.cli.api);
@ -760,6 +797,31 @@ wiki_js.cli.logic = (wiki_js.cli.logic || {});
} }
exports.authentication_strategy_add = authentication_strategy_add; exports.authentication_strategy_add = authentication_strategy_add;
/**
*/
async function theming_set(
options = {}
)
{
options = Object.assign(
{
"dark_mode": false,
"toc_position": "left",
},
options
);
const login_token = await wiki_js.cli.api.call_login_local(
);
const result = await wiki_js.cli.api.call_theming_set(
login_token,
options.dark_mode,
options.toc_position
);
return Promise.resolve(result);
}
exports.theming_set = theming_set;
}) (wiki_js.cli.logic); }) (wiki_js.cli.logic);
@ -849,7 +911,7 @@ wiki_js.cli = (wiki_js.cli || {});
break; break;
} }
case "init": { case "init": {
if (args.positional.length < 3) { if (args.positional.length <= 2) {
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 {
@ -878,7 +940,7 @@ wiki_js.cli = (wiki_js.cli || {});
break; break;
} }
case "email-settings-set": { case "email-settings-set": {
if (args.positional.length < 7) { if (args.positional.length <= 6) {
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 {
@ -910,7 +972,7 @@ wiki_js.cli = (wiki_js.cli || {});
break; break;
} }
case "auth-strat-add-oauth2": { case "auth-strat-add-oauth2": {
if (args.positional.length < 8) { if (args.positional.length <= 7) {
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>"); 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>");
} }
else { else {
@ -929,6 +991,21 @@ wiki_js.cli = (wiki_js.cli || {});
} }
break; break;
} }
case "theming-set": {
if (args.positional.length <= 2) {
return Promise.reject("SYNTAX: … theming-set <dark-mode> [<toc-position>]");
}
else {
await wiki_js.cli.logic.theming_set(
{
"dark_mode": (args.positional[1] === "1"),
"toc_position": args.positional[2],
}
);
return Promise.resolve(undefined);
}
break;
}
} }
} }
} }

View file

@ -11,5 +11,5 @@
## ToDo ## ToDo
- Admin-Account - Locale
- E-Mail - Start Page

View file

@ -36,7 +36,7 @@
"become_user": "{{var_wiki_js_user}}", "become_user": "{{var_wiki_js_user}}",
"ansible.builtin.get_url": { "ansible.builtin.get_url": {
"url": "https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz", "url": "https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz",
"dest": "/tmp/wiki_js.zip" "dest": "/tmp/wiki_js.tar.gz"
} }
}, },
{ {
@ -121,7 +121,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 https://{{var_wiki_js_domain}} init {{var_wiki_js_admin_email_address}} {{var_wiki_js_admin_password}} https://{{var_wiki_js_domain}} 0" "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"
} }
}, },
{ {
@ -130,7 +130,16 @@
"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 https://{{var_wiki_js_domain}} -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": "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}}"
}
},
{
"name": "theming",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": {
"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"
} }
}, },
{ {
@ -140,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 https://{{var_wiki_js_domain}} -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" "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"
} }
} }
] ]