Browse Source

Added GET_QDN_RESOURCE_METADATA action.

arbitrary-resources-cache
CalDescent 1 year ago
parent
commit
0a1ab3d685
  1. 15
      Q-Apps.md
  2. 9
      src/main/java/org/qortal/api/resource/ArbitraryResource.java
  3. 5
      src/main/resources/q-apps/q-apps.js

15
Q-Apps.md

@ -240,6 +240,9 @@ Here is a list of currently supported actions:
- SEARCH_QDN_RESOURCES - SEARCH_QDN_RESOURCES
- GET_QDN_RESOURCE_STATUS - GET_QDN_RESOURCE_STATUS
- GET_QDN_RESOURCE_PROPERTIES - GET_QDN_RESOURCE_PROPERTIES
- GET_QDN_RESOURCE_METADATA
- GET_QDN_RESOURCE_URL
- LINK_TO_QDN_RESOURCE
- FETCH_QDN_RESOURCE - FETCH_QDN_RESOURCE
- PUBLISH_QDN_RESOURCE - PUBLISH_QDN_RESOURCE
- PUBLISH_MULTIPLE_QDN_RESOURCES - PUBLISH_MULTIPLE_QDN_RESOURCES
@ -258,8 +261,6 @@ Here is a list of currently supported actions:
- FETCH_BLOCK_RANGE - FETCH_BLOCK_RANGE
- SEARCH_TRANSACTIONS - SEARCH_TRANSACTIONS
- GET_PRICE - GET_PRICE
- GET_QDN_RESOURCE_URL
- LINK_TO_QDN_RESOURCE
- GET_LIST_ITEMS - GET_LIST_ITEMS
- ADD_LIST_ITEMS - ADD_LIST_ITEMS
- DELETE_LIST_ITEM - DELETE_LIST_ITEM
@ -420,6 +421,16 @@ let res = await qortalRequest({
// Returns: filename, size, mimeType (where available) // Returns: filename, size, mimeType (where available)
``` ```
### Get QDN resource metadata
```
let res = await qortalRequest({
action: "GET_QDN_RESOURCE_METADATA",
name: "QortalDemo",
service: "THUMBNAIL",
identifier: "qortal_avatar" // Optional
});
```
### Publish a single file to QDN ### Publish a single file to QDN
_Requires user approval_.<br /> _Requires user approval_.<br />
Note: this publishes a single, base64-encoded file. Multi-file resource publishing (such as a WEBSITE or GIF_REPOSITORY) is not yet supported via a Q-App. It will be added in a future update. Note: this publishes a single, base64-encoded file. Multi-file resource publishing (such as a WEBSITE or GIF_REPOSITORY) is not yet supported via a Q-App. It will be added in a future update.

9
src/main/java/org/qortal/api/resource/ArbitraryResource.java

@ -721,12 +721,9 @@ public class ArbitraryResource {
} }
) )
@SecurityRequirement(name = "apiKey") @SecurityRequirement(name = "apiKey")
public ArbitraryResourceMetadata getMetadata(@HeaderParam(Security.API_KEY_HEADER) String apiKey, public ArbitraryResourceMetadata getMetadata(@PathParam("service") Service service,
@PathParam("service") Service service, @PathParam("name") String name,
@PathParam("name") String name, @PathParam("identifier") String identifier) {
@PathParam("identifier") String identifier) {
Security.checkApiCallAllowed(request);
ArbitraryDataResource resource = new ArbitraryDataResource(name, ResourceIdType.NAME, service, identifier); ArbitraryDataResource resource = new ArbitraryDataResource(name, ResourceIdType.NAME, service, identifier);
try { try {

5
src/main/resources/q-apps/q-apps.js

@ -250,6 +250,11 @@ window.addEventListener("message", (event) => {
url = "/arbitrary/resource/properties/" + data.service + "/" + data.name + "/" + identifier; url = "/arbitrary/resource/properties/" + data.service + "/" + data.name + "/" + identifier;
return httpGetAsyncWithEvent(event, url); return httpGetAsyncWithEvent(event, url);
case "GET_QDN_RESOURCE_METADATA":
identifier = (data.identifier != null) ? data.identifier : "default";
url = "/arbitrary/metadata/" + data.service + "/" + data.name + "/" + identifier;
return httpGetAsyncWithEvent(event, url);
case "SEARCH_CHAT_MESSAGES": case "SEARCH_CHAT_MESSAGES":
url = "/chat/messages?"; url = "/chat/messages?";
if (data.before != null) url = url.concat("&before=" + data.before); if (data.before != null) url = url.concat("&before=" + data.before);

Loading…
Cancel
Save