@protokol/nft-base-api
Version:
REST API For Base NFT Functionality
111 lines • 3.53 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.register = void 0;
const core_api_1 = require("@arkecosystem/core-api");
const joi_1 = __importDefault(require("joi"));
const collections_1 = require("../controllers/collections");
const register = (server) => {
const controller = server.app.app.resolve(collections_1.CollectionsController);
server.bind(controller);
server.route({
method: "GET",
path: "/collections",
handler: controller.index,
options: {
validate: {
query: joi_1.default.object({
orderBy: server.app.schemas.orderBy,
transform: joi_1.default.bool().default(true),
}).concat(core_api_1.Schemas.pagination),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
server.route({
method: "GET",
path: "/collections/{id}",
handler: controller.show,
options: {
validate: {
query: joi_1.default.object({
transform: joi_1.default.bool().default(true),
}),
params: joi_1.default.object({
id: joi_1.default.string().hex().length(64),
}),
},
},
});
server.route({
method: "GET",
path: "/collections/{id}/schema",
handler: controller.showSchema,
options: {
validate: {
query: joi_1.default.object({
transform: joi_1.default.bool().default(true),
}),
params: joi_1.default.object({
id: joi_1.default.string().hex().length(64),
}),
},
},
});
server.route({
method: "GET",
path: "/collections/{id}/wallets",
handler: controller.showByWalletId,
options: {
validate: {
params: joi_1.default.object({
id: joi_1.default.string().hex().length(64),
}),
},
},
});
server.route({
method: "POST",
path: "/collections/search",
handler: controller.searchCollection,
options: {
validate: {
query: joi_1.default.object({
orderBy: server.app.schemas.orderBy,
transform: joi_1.default.bool().default(true),
}).concat(core_api_1.Schemas.pagination),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
server.route({
method: "GET",
path: "/collections/{id}/assets",
handler: controller.showAssetsByCollectionId,
options: {
validate: {
query: joi_1.default.object({
orderBy: server.app.schemas.orderBy,
transform: joi_1.default.bool().default(true),
}).concat(core_api_1.Schemas.pagination),
},
plugins: {
pagination: {
enabled: true,
},
},
},
});
};
exports.register = register;
//# sourceMappingURL=collections.js.map