Skip to content

Commit

Permalink
fix(cip-1694): enable schema for delgators and updates
Browse files Browse the repository at this point in the history
  • Loading branch information
1000101 committed Dec 17, 2023
1 parent 3ba9b33 commit 6a80f75
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 25 deletions.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"dependencies": {
"@blockfrost/blockfrost-js": "5.4.0",
"@blockfrost/blockfrost-utils": "2.8.0",
"@blockfrost/openapi": "0.1.61-beta.0",
"@blockfrost/openapi": "0.1.61-beta.4",
"@emurgo/cardano-serialization-lib-nodejs": "11.5.0",
"@emurgo/cip14-js": "^3.0.1",
"@fastify/cors": "^8.3.0",
Expand Down
5 changes: 2 additions & 3 deletions src/routes/governance/dreps/drep-id/delegators.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@ import * as QueryTypes from '../../../../types/queries/governance.js';
import * as ResponseTypes from '../../../../types/responses/governance.js';
import { getDbSync } from '../../../../utils/database.js';
import { SQLQuery } from '../../../../sql/index.js';
//import { getSchemaForEndpoint } from '@blockfrost/openapi';
import { getSchemaForEndpoint } from '@blockfrost/openapi';

async function route(fastify: FastifyInstance) {
fastify.route({
url: '/governance/dreps/:drep_id/delegators',
method: 'GET',
// TODO: SCHEMA
// schema: getSchemaForEndpoint('/governance/dreps/{drep_id}/delegators'),
schema: getSchemaForEndpoint('/governance/dreps/{drep_id}/delegators'),

handler: async (request: FastifyRequest<QueryTypes.RequestParametersDRepID>, reply) => {
const clientDbSync = await getDbSync(fastify);
Expand Down
8 changes: 4 additions & 4 deletions src/routes/governance/dreps/drep-id/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import * as ResponseTypes from '../../../../types/responses/governance.js';
import { getDbSync } from '../../../../utils/database.js';
import { handle404 } from '../../../../utils/error-handler.js';
import { SQLQuery } from '../../../../sql/index.js';
//import { getSchemaForEndpoint } from '@blockfrost/openapi';
import { getSchemaForEndpoint } from '@blockfrost/openapi';

async function route(fastify: FastifyInstance) {
fastify.route({
url: '/governance/dreps/:drep_id',
method: 'GET',
// TODO: SCHEMA
//schema: getSchemaForEndpoint('/governance/dreps/{drep_id}'),
schema: getSchemaForEndpoint('/governance/dreps/{drep_id}'),

handler: async (request: FastifyRequest<QueryTypes.RequestDRepID>, reply) => {
const clientDbSync = await getDbSync(fastify);

const { rows }: { rows: ResponseTypes.DRepsDrepID } =
const { rows }: { rows: ResponseTypes.DRepsDrepID[] } =
await clientDbSync.query<QueryTypes.DRepsDrepID>(SQLQuery.get('governance_dreps_drep_id'), [
request.params.drep_id,
]);
Expand Down
8 changes: 4 additions & 4 deletions src/routes/governance/dreps/drep-id/metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ import * as ResponseTypes from '../../../../types/responses/governance.js';
import { getDbSync } from '../../../../utils/database.js';
import { handle404 } from '../../../../utils/error-handler.js';
import { SQLQuery } from '../../../../sql/index.js';
//import { getSchemaForEndpoint } from '@blockfrost/openapi';
import { getSchemaForEndpoint } from '@blockfrost/openapi';

async function route(fastify: FastifyInstance) {
fastify.route({
url: '/governance/dreps/:drep_id/metadata',
method: 'GET',
// TODO: SCHEMA
// schema: getSchemaForEndpoint('/governance/dreps/{drep_id}/metadata'),
schema: getSchemaForEndpoint('/governance/dreps/{drep_id}/metadata'),

handler: async (request: FastifyRequest<QueryTypes.RequestDRepID>, reply) => {
const clientDbSync = await getDbSync(fastify);

const { rows }: { rows: ResponseTypes.DRepsDrepIDMetadata } =
const { rows }: { rows: ResponseTypes.DRepsDrepIDMetadata[] } =
await clientDbSync.query<QueryTypes.DRepsDrepIDMetadata>(
SQLQuery.get('governance_dreps_drep_id_metadata'),
[request.params.drep_id],
Expand Down
7 changes: 3 additions & 4 deletions src/routes/governance/dreps/drep-id/updates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,21 @@ import * as QueryTypes from '../../../../types/queries/governance.js';
import * as ResponseTypes from '../../../../types/responses/governance.js';
import { getDbSync } from '../../../../utils/database.js';
import { SQLQuery } from '../../../../sql/index.js';
//import { getSchemaForEndpoint } from '@blockfrost/openapi';
import { getSchemaForEndpoint } from '@blockfrost/openapi';

async function route(fastify: FastifyInstance) {
fastify.route({
url: '/governance/dreps/:drep_id/updates',
method: 'GET',
// TODO: SCHEMA
// schema: getSchemaForEndpoint('/governance/dreps/{drep_id}/updates'),
schema: getSchemaForEndpoint('/governance/dreps/{drep_id}/updates'),

handler: async (request: FastifyRequest<QueryTypes.RequestParametersDRepID>, reply) => {
const clientDbSync = await getDbSync(fastify);

const { rows }: { rows: ResponseTypes.DRepsDrepIDUpdates } =
await clientDbSync.query<QueryTypes.DRepsDrepIDUpdates>(
SQLQuery.get('governance_dreps_drep_id_updates'),
[request.query.order, request.query.count, request.query.page, request.params.drep_id],
[(request.query.order, request.query.count, request.query.page, request.params.drep_id)],
);

clientDbSync.release();
Expand Down
8 changes: 4 additions & 4 deletions yarn-project.nix
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,6 @@ cacheEntries = {
"JSONStream@npm:1.3.5" = { filename = "JSONStream-npm-1.3.5-1987f2e6dd-2605fa1242.zip"; sha512 = "2605fa124260c61bad38bb65eba30d2f72216a78e94d0ab19b11b4e0327d572b8d530c0c9cc3b0764f727ad26d39e00bf7ebad57781ca6368394d73169c59e46"; };
"eslint-plugin-prettier@npm:5.0.0" = { filename = "eslint-plugin-prettier-npm-5.0.0-2f21113cba-84e88744b9.zip"; sha512 = "84e88744b9050f2d5ef31b94e85294dda16f3a53c2449f9d33eac8ae6264889b459bf35a68e438fb6b329c2a1d6491aac4bfa00d86317e7009de3dad0311bec6"; };
"supertest@npm:6.3.3" = { filename = "supertest-npm-6.3.3-2e2b5bc83a-38239e517f.zip"; sha512 = "38239e517f7ba62b7a139a79c5c48d55f8d67b5ff4b6e51d5b07732ca8bbc4a28ffa1b10916fbb403dd013a054dbf028edc5850057d9a43aecbff439d494673e"; };
"@blockfrost/openapi@npm:0.1.61-beta.0" = { filename = "@blockfrost-openapi-npm-0.1.61-beta.0-32e9de66b5-d8041d9159.zip"; sha512 = "d8041d9159784111a639810d8297f5787608eabd6dcdf0d9b3648f8f8c7ce0598ca3cc6afb0a8fa99ce51e5176ca187f264839a4fdf7a2fa0d888a796d8a7064"; };
"@types/pg@npm:8.10.2" = { filename = "@types-pg-npm-8.10.2-de8ade0e64-49da89f64c.zip"; sha512 = "49da89f64cec1bd12a3fbc0c72b17d685c2fee579726a529f62fcab395dbc5696d80455073409947a577164b3c53a90181a331e4a5d9357679f724d4ce37f4b9"; };
"axios@npm:1.5.0" = { filename = "axios-npm-1.5.0-35a845e191-e7405a5dbb.zip"; sha512 = "e7405a5dbbea97760d0e6cd58fecba311b0401ddb4a8efbc4108f5537da9b3f278bde566deb777935a960beec4fa18e7b8353881f2f465e4f2c0e949fead35be"; };
"@types/express@npm:4.17.17" = { filename = "@types-express-npm-4.17.17-46fe8173db-0196dacc27.zip"; sha512 = "0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da"; };
Expand All @@ -162,15 +161,13 @@ cacheEntries = {
"@blockfrost/blockfrost-js@npm:5.4.0" = { filename = "@blockfrost-blockfrost-js-npm-5.4.0-32c36ce5a9-76bdd7e1b4.zip"; sha512 = "76bdd7e1b4d5b386db0db66be648123b22d03808b66f42f85bf0899cc67170922cec6b9b289fd797db1a27c752b20c931a7586f5b4a0bdce2c2c07599c2bc4eb"; };
"@blockfrost/blockfrost-tests@npm:1.10.0" = { filename = "@blockfrost-blockfrost-tests-npm-1.10.0-51b0cc8326-8cfb3d6ef5.zip"; sha512 = "8cfb3d6ef52f6f5a6da0e2f8ad5088c39e3c1546ee7f3147ab923860364101d17d589e22d5b80a0c78efeb43df59cb77271b15718a1bc7a251167dd24ca04afd"; };
"@blockfrost/blockfrost-utils@npm:2.8.0" = { filename = "@blockfrost-blockfrost-utils-npm-2.8.0-7809fac5e3-f46163e55d.zip"; sha512 = "f46163e55d2ad686efcf8eadd9d10a320ba866acb75a829620eed9ccbe356ad2b53e29e36ead37a8b6eb62a38ac4d97c959a3fbc3d9994b6f2fdd2274a38bc08"; };
"yaml@npm:2.3.4" = { filename = "yaml-npm-2.3.4-8bb6dc2c0d-e6d1dae1c6.zip"; sha512 = "e6d1dae1c6383bcc8ba11796eef3b8c02d5082911c6723efeeb5ba50fc8e881df18d645e64de68e421b577296000bea9c75d6d9097c2f6699da3ae0406c030d8"; };
"mnemonist@npm:0.39.5" = { filename = "mnemonist-npm-0.39.5-cbd4ee161e-6669d687a4.zip"; sha512 = "6669d687a434226924b2c84ee6eb7ce7d0f83dfc5caad8bcc164c73c0c11fb6d43cbe32636e710f068046f4b40a56c3032532554e93e02640aafc6ca3dd222e6"; };
"@types/node@npm:14.14.28" = { filename = "@types-node-npm-14.14.28-f643c75c74-a8dcec1fc4.zip"; sha512 = "a8dcec1fc45a8c1573f519d33d1d017562432f939a5ec2fd6f71343a51085b2c5d105db1186086cd1bba9abf95e80c7538ef2eb459e8719d48b77458eb19be64"; };
"pg-protocol@npm:1.5.0" = { filename = "pg-protocol-npm-1.5.0-390f8d9ed8-b839d12caf.zip"; sha512 = "b839d12cafe942ef9cbc5b13c174eb2356804fb4fe8ead8279f46a36be90722d19a91409955beb8a3d5301639c44854e49749de4aef02dc361fee3e2a61fb1e4"; };
"@types/superagent@npm:4.1.10" = { filename = "@types-superagent-npm-4.1.10-56c7076140-19bef11de0.zip"; sha512 = "19bef11de02b0d319459d3993612637a95005ba8f2ca18b370253bb379aa0c38fdf7cff461a6d9258e9e8ef4495b7b04b8f7f4284998305b77eccc8e05ef2750"; };
"follow-redirects@npm:1.15.2" = { filename = "follow-redirects-npm-1.15.2-1ec1dd82be-faa66059b6.zip"; sha512 = "faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190"; };
"proxy-from-env@npm:1.1.0" = { filename = "proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip"; sha512 = "ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4"; };
"prettier-linter-helpers@npm:1.0.0" = { filename = "prettier-linter-helpers-npm-1.0.0-6925131a7e-00ce8011cf.zip"; sha512 = "00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392"; };
"cbor@npm:9.0.1" = { filename = "cbor-npm-9.0.1-3a5a6b7751-42333ac3d4.zip"; sha512 = "42333ac3d42cc3f6fcc7a529e68417a2dd8099eda43ca4be1304cdc5bc7494efe058e2db8a3d3b46ae60d69c7331ea813c22dbd019c4ac592d23e599d72bbcc9"; };
"blake2b@npm:2.1.3" = { filename = "blake2b-npm-2.1.3-b5b61ec9ad-e652234249.zip"; sha512 = "e652234249cbdb3345488d52b5e76e8572b8e5333f3f0d5e716772b7c5d2142f433c3fe86130e92117329532e1d1235cdaa89f40bbca27a8ae528bef428241ef"; };
"@sentry/node@npm:7.69.0" = { filename = "@sentry-node-npm-7.69.0-5b1090f2f6-97210ced96.zip"; sha512 = "97210ced968a3d968fd9d93e67e1f3c9613b99b223f87fad944e6e94db40ebc10a7c339c848e0529c5ded69f94f1f689b4a6df1da4df1aad6663a752ac591d03"; };
"@types/qs@npm:6.9.7" = { filename = "@types-qs-npm-6.9.7-4a3e6ca0d0-7fd6f9c250.zip"; sha512 = "7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba"; };
Expand Down Expand Up @@ -208,7 +205,6 @@ cacheEntries = {
"jdenticon@npm:3.2.0" = { filename = "jdenticon-npm-3.2.0-da0f1bbe59-cdc0651532.zip"; sha512 = "cdc0651532f38e02c8e6661f0185735dcd29b7cd17677c69be31916ed38d81ded8bc749deb79925ad8aaf68da0b7a49f0835879c70a7dea042caa6c47faaebee"; };
"cbor@npm:9.0.0" = { filename = "cbor-npm-9.0.0-aa1b41b42c-f24f0ab21d.zip"; sha512 = "f24f0ab21d2a7b93fff890504efe1a4fee84ca69252485e4491ebf1513caedcdc858bf1b82a642251ab119144fd350bd81a52d8adf11cbf42629abce68239210"; };
"prom-client@npm:14.2.0" = { filename = "prom-client-npm-14.2.0-67b29e14e5-d4c04e5761.zip"; sha512 = "d4c04e57616c72643dd02862d0d4bde09cf8869a19d0aef5e7b785e6e27d02439b66cdc165e3492f62d579fa91579183820870cc757a09b99399d2d02f46b9f1"; };
"nofilter@npm:3.1.0" = { filename = "nofilter-npm-3.1.0-3c5ba47d92-58aa85a5b4.zip"; sha512 = "58aa85a5b4b35cbb6e42de8a8591c5e338061edc9f3e7286f2c335e9e9b9b8fa7c335ae45daa8a1f3433164dc0b9a3d187fa96f9516e04a17a1f9ce722becc4f"; };
"nanoassert@npm:1.1.0" = { filename = "nanoassert-npm-1.1.0-1da45b4766-f360fe639d.zip"; sha512 = "f360fe639db8edc422de9f5a8a7d384ba9c11e9c6fac149f7ad3b0a94e4ec9d5aa44ce55b3e4c7682658efad792604fc96c336b0e80a3590744104ba58af80c7"; };
"@sentry/types@npm:7.69.0" = { filename = "@sentry-types-npm-7.69.0-76b51593a9-aaa40a43ca.zip"; sha512 = "aaa40a43cab358e10c2566d62966eff61925fb2605c146967bf9eb8acb4a883d4ca7c8a5eee1915271da08f27ddf1ed7dc520a8617f229ce70c7d00557173cc4"; };
"cookie@npm:0.4.1" = { filename = "cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip"; sha512 = "bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8"; };
Expand Down Expand Up @@ -267,6 +263,7 @@ cacheEntries = {
"has-flag@npm:4.0.0" = { filename = "has-flag-npm-4.0.0-32af9f0536-261a135703.zip"; sha512 = "261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad"; };
"bignumber.js@npm:9.1.2" = { filename = "bignumber.js-npm-9.1.2-c2228c6a4a-582c03af77.zip"; sha512 = "582c03af77ec9cb0ebd682a373ee6c66475db94a4325f92299621d544aa4bd45cb45fd60001610e94aef8ae98a0905fa538241d9638d4422d57abbeeac6fadaf"; };
"expect@npm:29.3.1" = { filename = "expect-npm-29.3.1-2892df60b8-e9588c2a43.zip"; sha512 = "e9588c2a430b558b9a3dc72d4ad05f36b047cb477bc6a7bb9cfeef7614fe7e5edbab424c2c0ce82739ee21ecbbbd24596259528209f84cd72500cc612d910d30"; };
"nofilter@npm:3.1.0" = { filename = "nofilter-npm-3.1.0-3c5ba47d92-58aa85a5b4.zip"; sha512 = "58aa85a5b4b35cbb6e42de8a8591c5e338061edc9f3e7286f2c335e9e9b9b8fa7c335ae45daa8a1f3433164dc0b9a3d187fa96f9516e04a17a1f9ce722becc4f"; };
"@sentry-internal/tracing@npm:7.69.0" = { filename = "@sentry-internal-tracing-npm-7.69.0-eb49cfc65f-3ccb7e7d00.zip"; sha512 = "3ccb7e7d008dd39ed2bb9a02fcd7ae6161a8355451891db25020d8068357254a430e697c4f72c4d1d747754585ca0f610cea6798d51b6a791ae2c73ee399b58e"; };
"@typescript-eslint/typescript-estree@npm:6.7.2" = { filename = "@typescript-eslint-typescript-estree-npm-6.7.2-f8db4ff40e-c30b980356.zip"; sha512 = "c30b9803567c37527e2806badd98f3083ae125db9a430d8a28647b153e446e6a4b830833f229cca27d5aa0ff5497c149aaa524aa3a6dbf932b557c60d0bfd4f9"; };
"tslib@npm:2.4.1" = { filename = "tslib-npm-2.4.1-36f0ed04db-19480d6e03.zip"; sha512 = "19480d6e0313292bd6505d4efe096a6b31c70e21cf08b5febf4da62e95c265c8f571f7b36fcc3d1a17e068032f59c269fab3459d6cd3ed6949eafecf64315fca"; };
Expand Down Expand Up @@ -1088,6 +1085,9 @@ cacheEntries = {
"word-wrap@npm:1.2.3" = { filename = "word-wrap-npm-1.2.3-7fb15ab002-30b48f91fc.zip"; sha512 = "30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f"; };
"type-check@npm:0.3.2" = { filename = "type-check-npm-0.3.2-a4a38bb0b6-dd3b149564.zip"; sha512 = "dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124"; };
"levn@npm:0.3.0" = { filename = "levn-npm-0.3.0-48d774b1c2-0d084a5242.zip"; sha512 = "0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e"; };
"@blockfrost/openapi@npm:0.1.61-beta.4" = { filename = "@blockfrost-openapi-npm-0.1.61-beta.4-39389caccd-734bf9bcdd.zip"; sha512 = "734bf9bcdd31a785f85752a93b7704c705d17f502282164f7fd18c5b3c12db39fd17f8aa4b4639186c473261eccbf5d55d75d88ee7cbf7ac3154af3b5d874c72"; };
"yaml@npm:2.3.4" = { filename = "yaml-npm-2.3.4-8bb6dc2c0d-e6d1dae1c6.zip"; sha512 = "e6d1dae1c6383bcc8ba11796eef3b8c02d5082911c6723efeeb5ba50fc8e881df18d645e64de68e421b577296000bea9c75d6d9097c2f6699da3ae0406c030d8"; };
"cbor@npm:9.0.1" = { filename = "cbor-npm-9.0.1-3a5a6b7751-42333ac3d4.zip"; sha512 = "42333ac3d42cc3f6fcc7a529e68417a2dd8099eda43ca4be1304cdc5bc7494efe058e2db8a3d3b46ae60d69c7331ea813c22dbd019c4ac592d23e599d72bbcc9"; };
};

in optionalOverride overrideAttrs project
10 changes: 5 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,14 @@ __metadata:
languageName: node
linkType: hard

"@blockfrost/openapi@npm:0.1.61-beta.0":
version: 0.1.61-beta.0
resolution: "@blockfrost/openapi@npm:0.1.61-beta.0"
"@blockfrost/openapi@npm:0.1.61-beta.4":
version: 0.1.61-beta.4
resolution: "@blockfrost/openapi@npm:0.1.61-beta.4"
dependencies:
ajv: ^8.12.0
cbor: ^9.0.1
yaml: ^2.3.4
checksum: d8041d9159784111a639810d8297f5787608eabd6dcdf0d9b3648f8f8c7ce0598ca3cc6afb0a8fa99ce51e5176ca187f264839a4fdf7a2fa0d888a796d8a7064
checksum: 734bf9bcdd31a785f85752a93b7704c705d17f502282164f7fd18c5b3c12db39fd17f8aa4b4639186c473261eccbf5d55d75d88ee7cbf7ac3154af3b5d874c72
languageName: node
linkType: hard

Expand Down Expand Up @@ -1956,7 +1956,7 @@ __metadata:
"@blockfrost/blockfrost-js": 5.4.0
"@blockfrost/blockfrost-tests": 1.10.0
"@blockfrost/blockfrost-utils": 2.8.0
"@blockfrost/openapi": 0.1.61-beta.0
"@blockfrost/openapi": 0.1.61-beta.4
"@emurgo/cardano-serialization-lib-nodejs": 11.5.0
"@emurgo/cip14-js": ^3.0.1
"@esbuild/darwin-x64": "npm:0.16.17"
Expand Down

0 comments on commit 6a80f75

Please sign in to comment.