mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-03-01 00:59:32 +01:00
* fix wrong API keys on examples * add hability to keep wallet after user delete #344 * make format
274 lines
9.6 KiB
HTML
274 lines
9.6 KiB
HTML
<q-expansion-item
|
|
group="extras"
|
|
icon="swap_vertical_circle"
|
|
label="Info"
|
|
:content-inset-level="0.5"
|
|
>
|
|
<q-card>
|
|
<q-card-section>
|
|
<h5 class="text-subtitle1 q-my-none">
|
|
User Manager: Make and manager users/wallets
|
|
</h5>
|
|
<p>
|
|
To help developers use LNbits to manage their users, the User Manager
|
|
extension allows the creation and management of users and wallets.
|
|
<br />For example, a games developer may be developing a game that needs
|
|
each user to have their own wallet, LNbits can be included in the
|
|
developers stack as the user and wallet manager.<br />
|
|
<small>
|
|
Created by, <a href="https://github.com/benarc">Ben Arc</a></small
|
|
>
|
|
</p>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item
|
|
group="extras"
|
|
icon="swap_vertical_circle"
|
|
label="API info"
|
|
:content-inset-level="0.5"
|
|
>
|
|
<q-btn flat label="Swagger API" type="a" href="../docs#/usermanager"></q-btn>
|
|
<q-expansion-item group="api" dense expand-separator label="GET users">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-blue">GET</span>
|
|
/usermanager/api/v1/users</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Body (application/json)</h5>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 200 OK (application/json)
|
|
</h5>
|
|
<code>JSON list of users</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X GET {{ request.base_url }}usermanager/api/v1/users -H
|
|
"X-Api-Key: {{ user.wallets[0].adminkey }}"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item group="api" dense expand-separator label="GET user">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-blue">GET</span>
|
|
/usermanager/api/v1/users/<user_id></code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Body (application/json)</h5>
|
|
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 200 OK (application/json)
|
|
</h5>
|
|
<code
|
|
>{"id": <string>, "name": <string>, "admin":
|
|
<string>, "email": <string>, "password":
|
|
<string>}</code
|
|
>
|
|
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X GET {{ request.base_url
|
|
}}usermanager/api/v1/users/<user_id> -H "X-Api-Key: {{
|
|
user.wallets[0].inkey }}"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item group="api" dense expand-separator label="GET wallets">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-blue">GET</span>
|
|
/usermanager/api/v1/wallets</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code>{"X-Api-Key": <string>}</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Body (application/json)</h5>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 200 OK (application/json)
|
|
</h5>
|
|
<code>JSON wallet data</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X GET {{ request.base_url }}usermanager/api/v1/wallets -H
|
|
"X-Api-Key: {{ user.wallets[0].adminkey }}"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item group="api" dense expand-separator label="GET transactions">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-blue">GET</span>
|
|
/usermanager/api/v1/transactions/<wallet_id></code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code>{"X-Api-Key": <string>}</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Body (application/json)</h5>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 200 OK (application/json)
|
|
</h5>
|
|
<code>JSON a wallets transactions</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X GET {{ request.base_url
|
|
}}usermanager/api/v1/transactions/<wallet_id> -H "X-Api-Key: {{
|
|
user.wallets[0].inkey }}"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item
|
|
group="api"
|
|
dense
|
|
expand-separator
|
|
label="POST user + initial wallet"
|
|
>
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-green">POST</span>
|
|
/usermanager/api/v1/users</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code
|
|
>{"X-Api-Key": <string>, "Content-type":
|
|
"application/json"}</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Body (application/json) - "admin_id" is a YOUR user ID
|
|
</h5>
|
|
<code
|
|
>{"admin_id": <string>, "user_name": <string>,
|
|
"wallet_name": <string>,"email": <Optional string>
|
|
,"password": <Optional string>}</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 201 CREATED (application/json)
|
|
</h5>
|
|
<code
|
|
>{"id": <string>, "name": <string>, "admin":
|
|
<string>, "email": <string>, "password":
|
|
<string>}</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X POST {{ request.base_url }}usermanager/api/v1/users -d
|
|
'{"admin_id": "{{ user.id }}", "wallet_name": <string>,
|
|
"user_name": <string>, "email": <Optional string>,
|
|
"password": < Optional string>}' -H "X-Api-Key: {{
|
|
user.wallets[0].inkey }}" -H "Content-type: application/json"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item group="api" dense expand-separator label="POST wallet">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-green">POST</span>
|
|
/usermanager/api/v1/wallets</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code
|
|
>{"X-Api-Key": <string>, "Content-type":
|
|
"application/json"}</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Body (application/json) - "admin_id" is a YOUR user ID
|
|
</h5>
|
|
<code
|
|
>{"user_id": <string>, "wallet_name": <string>,
|
|
"admin_id": <string>}</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 201 CREATED (application/json)
|
|
</h5>
|
|
<code
|
|
>{"id": <string>, "admin": <string>, "name":
|
|
<string>, "user": <string>, "adminkey": <string>,
|
|
"inkey": <string>}</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X POST {{ request.base_url }}usermanager/api/v1/wallets -d
|
|
'{"user_id": <string>, "wallet_name": <string>,
|
|
"admin_id": "{{ user.id }}"}' -H "X-Api-Key: {{ user.wallets[0].inkey
|
|
}}" -H "Content-type: application/json"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item
|
|
group="api"
|
|
dense
|
|
expand-separator
|
|
label="DELETE user and their wallets"
|
|
>
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-red">DELETE</span>
|
|
/usermanager/api/v1/users/<user_id></code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code>{"X-Api-Key": <string>}</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X DELETE {{ request.base_url
|
|
}}usermanager/api/v1/users/<user_id> -H "X-Api-Key: {{
|
|
user.wallets[0].adminkey }}"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item group="api" dense expand-separator label="DELETE wallet">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-red">DELETE</span>
|
|
/usermanager/api/v1/wallets/<wallet_id></code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code>{"X-Api-Key": <string>}</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X DELETE {{ request.base_url
|
|
}}usermanager/api/v1/wallets/<wallet_id> -H "X-Api-Key: {{
|
|
user.wallets[0].adminkey }}"
|
|
</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
<q-expansion-item
|
|
group="api"
|
|
dense
|
|
expand-separator
|
|
label="POST activate extension"
|
|
>
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-green">POST</span>
|
|
/usermanager/api/v1/extensions</code
|
|
>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Headers</h5>
|
|
<code>{"X-Api-Key": <string>}</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">Curl example</h5>
|
|
<code
|
|
>curl -X POST {{ request.base_url
|
|
}}usermanager/api/v1/extensions?extension=withdraw&userid=user_id&active=true
|
|
-H "X-Api-Key: {{ user.wallets[0].inkey }}" -H "Content-type:
|
|
application/json"
|
|
</code>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 200 OK (application/json)
|
|
</h5>
|
|
<code>{"extension": "updated"}</code>
|
|
</q-card-section>
|
|
</q-card>
|
|
</q-expansion-item>
|
|
</q-expansion-item>
|