265 lines
9.3 KiB
HTML
265 lines
9.3 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-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 201 CREATED (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].inkey }}"
|
|
</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 201 CREATED (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/<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/<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">Body (application/json)</h5>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 201 CREATED (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/<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 transactions">
|
|
<q-card>
|
|
<q-card-section>
|
|
<code
|
|
><span class="text-light-blue">GET</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">Body (application/json)</h5>
|
|
<h5 class="text-caption q-mt-sm q-mb-none">
|
|
Returns 201 CREATED (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/wallets<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].inkey }}"
|
|
</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].inkey }}"
|
|
</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 -d
|
|
'{"userid": <string>, "extension": <string>, "active":
|
|
<integer>}' -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>
|