UNPKG

@protokol/nft-base-api

Version:

REST API For Base NFT Functionality

111 lines 3.53 kB
"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