mirror of
https://github.com/lnbits/lnbits.git
synced 2025-10-10 20:42:32 +02:00
feat: allow extension manifest configuration from the Admin UI
This commit is contained in:
@@ -69,6 +69,61 @@
|
|||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row q-col-gutter-md">
|
||||||
|
<div class="col-12 col-md-6">
|
||||||
|
<p>Admin Extensions</p>
|
||||||
|
<q-select
|
||||||
|
filled
|
||||||
|
v-model="formData.lnbits_admin_extensions"
|
||||||
|
multiple
|
||||||
|
hint="Extensions only user with admin privileges can use"
|
||||||
|
label="Admin extensions"
|
||||||
|
:options="g.extensions.map(e => e.name)"
|
||||||
|
></q-select>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-6">
|
||||||
|
<p>Disabled Extensions</p>
|
||||||
|
<q-select
|
||||||
|
filled
|
||||||
|
v-model="formData.lnbits_disabled_extensions"
|
||||||
|
:options="g.extensions.map(e => e.name)"
|
||||||
|
multiple
|
||||||
|
hint="Disable extensions *amilk disabled by default as resource heavy"
|
||||||
|
label="Disable extensions"
|
||||||
|
></q-select>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<p>Extensions Manifests</p>
|
||||||
|
<q-input
|
||||||
|
filled
|
||||||
|
v-model="formAddExtensionsManifest"
|
||||||
|
@keydown.enter="addExtensionsManifest"
|
||||||
|
type="text"
|
||||||
|
label="Manifest URL"
|
||||||
|
hint="Repositories from where the extensions can be downloaded"
|
||||||
|
>
|
||||||
|
<q-btn @click="addExtensionsManifest" dense flat icon="add"></q-btn>
|
||||||
|
</q-input>
|
||||||
|
<div>
|
||||||
|
{%raw%}
|
||||||
|
<q-chip
|
||||||
|
v-for="manifestUrl in formData.lnbits_extensions_manifests"
|
||||||
|
:key="manifestUrl"
|
||||||
|
removable
|
||||||
|
@remove="removeExtensionsManifest(manifestUrl)"
|
||||||
|
color="primary"
|
||||||
|
text-color="white"
|
||||||
|
>
|
||||||
|
{{ manifestUrl }}
|
||||||
|
</q-chip>
|
||||||
|
{%endraw%}
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
@@ -58,31 +58,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<div class="row q-col-gutter-md">
|
|
||||||
<div class="col-12 col-md-6">
|
|
||||||
<p>Admin Extensions</p>
|
|
||||||
<q-select
|
|
||||||
filled
|
|
||||||
v-model="formData.lnbits_admin_extensions"
|
|
||||||
multiple
|
|
||||||
hint="Extensions only user with admin privileges can use"
|
|
||||||
label="Admin extensions"
|
|
||||||
:options="g.extensions.map(e => e.name)"
|
|
||||||
></q-select>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
<div class="col-12 col-md-6">
|
|
||||||
<p>Disabled Extensions</p>
|
|
||||||
<q-select
|
|
||||||
filled
|
|
||||||
v-model="formData.lnbits_disabled_extensions"
|
|
||||||
:options="g.extensions.map(e => e.name)"
|
|
||||||
multiple
|
|
||||||
hint="Disable extensions *amilk disabled by default as resource heavy"
|
|
||||||
label="Disable extensions"
|
|
||||||
></q-select>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
@@ -153,6 +153,7 @@
|
|||||||
formData: {},
|
formData: {},
|
||||||
formAddAdmin: '',
|
formAddAdmin: '',
|
||||||
formAddUser: '',
|
formAddUser: '',
|
||||||
|
formAddExtensionsManifest: '',
|
||||||
isSuperUser: false,
|
isSuperUser: false,
|
||||||
wallet: {},
|
wallet: {},
|
||||||
cancel: {},
|
cancel: {},
|
||||||
@@ -388,6 +389,18 @@
|
|||||||
u => u !== user
|
u => u !== user
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
addExtensionsManifest() {
|
||||||
|
const addManifest = this.formAddExtensionsManifest
|
||||||
|
const manifests = this.formData.lnbits_extensions_manifests
|
||||||
|
if (addManifest && addManifest.length && !manifests.includes(addManifest)) {
|
||||||
|
this.formData.lnbits_extensions_manifests = [...manifests, addManifest]
|
||||||
|
this.formAddExtensionsManifest = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
removeExtensionsManifest(manifest) {
|
||||||
|
const manifests = this.formData.lnbits_extensions_manifests
|
||||||
|
this.formData.lnbits_extensions_manifests = manifests.filter(m => m !== manifest)
|
||||||
|
},
|
||||||
restartServer() {
|
restartServer() {
|
||||||
LNbits.api
|
LNbits.api
|
||||||
.request('GET', '/admin/api/v1/restart/?usr=' + this.g.user.id)
|
.request('GET', '/admin/api/v1/restart/?usr=' + this.g.user.id)
|
||||||
|
Reference in New Issue
Block a user