mlabs-haskell / nft-marketplace-server

2 stars 2 forks source link

nft-marketplace-server

Manually create indexes after running migrations

  1. CREATE INDEX CONCURRENTLY IF NOT EXISTS image_created_at_index ON image (created_at);
  2. CREATE INDEX CONCURRENTLY IF NOT EXISTS artist_created_at_index ON artist (created_at);

Images

GET /images

Response with headers:

< HTTP/1.1 206 Partial Content
< Transfer-Encoding: chunked
< Date: Wed, 09 Feb 2022 21:57:23 GMT
< Server: Warp/3.3.17
< Content-Type: application/json;charset=utf-8
< Total-Count: 0
< Accept-Ranges: createdAt
< Content-Range: createdAt 2022-02-09T21%3A55%3A34.31034Z..2022-02-09T21%3A55%3A34.31034Z
< Next-Range: createdAt 2022-02-09T21%3A55%3A34.31034Z;limit 100;offset 1;order desc
<
* Connection #0 to host localhost left intact
[{"path":"marketplace-images/62ae402c7011b974019c2ca58af369100b53c32593a69de8cf3db8d7e09f5251_1.png","createdAt":"2022-02-09T21:55:34.31034Z","ipfsHash":"bafkreidcvzacy4arxf2adhbmuwfpg2iqbnj4gjmtu2o6rtz5xdl6bh2ske","id":54005,"title":"My title2","description":"image desc","sha256hash":"62ae402c7011b974019c2ca58af369100b53c32593a69de8cf3db8d7e09f5251"}]

Pagination

Artists

GET /artists

Response with headers:

< HTTP/1.1 206 Partial Content
< Transfer-Encoding: chunked
< Date: Thu, 25 Nov 2021 13:17:15 GMT
< Server: Warp/3.3.17
< Content-Type: application/json;charset=utf-8
< Total-Count: 1
< Accept-Ranges: createdAt
< Content-Range: createdAt 2021-11-25T13%3A16%3A49.023987Z..2021-11-25T13%3A16%3A49.023987Z
< Next-Range: createdAt 2021-11-25T13%3A16%3A49.023987Z;limit 100;offset 1;order desc
<

[{"createdAt":"2021-11-25T13:16:49.023987Z","name":"abc","pubKeyHash":"abc","id":4}]

Pagination

See image pagination.

GET /artists/<pubKeyHash>

Get artist name by the given pubKeyHash.

Purchases

GET /purchases/<imageHash>

Admin API

Auth by Authorization: <token> header.

POST /admin/unlist_image/<imageHash>

POST /admin/create_artist

DELETE /admin/delete_artist/<pubKeyHash>

POST /admin/create_purchase

POST /admin/upload_image

curl -X POST /images -F "image=@Downloads/1.png" -F "title=My title2" -F "description=image description"