UNPKG

@protokol/nft-exchange-api

Version:

REST API For Exchange NFT Functionality

116 lines 3.75 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 bids_1 = require("../controllers/bids"); const register = (server) => { const controller = server.app.app.resolve(bids_1.BidsController); server.bind(controller); server.route({ method: "GET", path: "/bids", 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: "/bids/{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: "/bids/{id}/wallets", handler: controller.showAuctionWallet, options: { validate: { params: joi_1.default.object({ id: joi_1.default.string().hex().length(64), }), }, }, }); server.route({ method: "POST", path: "/bids/search", handler: controller.search, 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), payload: joi_1.default.object({ senderPublicKey: joi_1.default.string().hex().length(66).optional(), auctionId: joi_1.default.string().hex().length(64).optional(), bidAmount: joi_1.default.string().optional(), }), }, plugins: { pagination: { enabled: true, }, }, }, }); server.route({ method: "GET", path: "/bids/canceled", handler: controller.indexCanceled, 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: "/bids/canceled/{id}", handler: controller.showAuctionCanceled, 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), }), }, }, }); }; exports.register = register; //# sourceMappingURL=bids.js.map