Skip to content

Commit

Permalink
Api de crypto melhorada (Beta)
Browse files Browse the repository at this point in the history
Novas rotas adicionadas.
  • Loading branch information
GeovaneDev committed Feb 12, 2024
1 parent cd9ee92 commit d61b2f8
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 36 deletions.
67 changes: 36 additions & 31 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "brinvestapi",
"version": "1.2.7",
"version": "1.2.8",
"private": true,
"scripts": {
"dev": "next dev",
Expand Down
16 changes: 16 additions & 0 deletions pages/api/crypto/latestblock.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import axios from 'axios';

export default async function handler(request, response) {
try {
const cryptoResponse = await axios.get(`https://blockchain.info/latestblock`);

response.setHeader('Vercel-CDN-Cache-Control', 'max-age=86400');
response.setHeader('CDN-Cache-Control', 'max-age=86400');
response.setHeader('Cache-Control', 'max-age=86400');

const data = cryptoResponse.data;
response.status(200).json(data);
} catch (error) {
response.status(500).json({ error: error.message });
}
}
4 changes: 2 additions & 2 deletions pages/api/crypto/price/[coin].js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export default async function handler(request, response) {

coin = coin.toLowerCase();

const response = await axios.get(`https://api.coingecko.com/api/v3/simple/price`, {
const cryptoResponse = await axios.get(`https://api.coingecko.com/api/v3/simple/price`, {
params: {
ids: `${coin}`,
vs_currencies: "brl",
Expand All @@ -23,7 +23,7 @@ export default async function handler(request, response) {
response.setHeader('CDN-Cache-Control', 'max-age=86400');
response.setHeader('Cache-Control', 'max-age=86400');

const data = response.data;
const data = cryptoResponse.data;
response.status(200).json(data);
} catch (error) {
response.status(500).json({ error: error.message });
Expand Down
4 changes: 2 additions & 2 deletions pages/api/crypto/coins.js → pages/api/crypto/price/coins.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default async function handler(request, response) {
try {
const apiKey = process.env.APIKEYCRYPTO;

const response = await axios.get('https://api.coingecko.com/api/v3/coins/markets', {
const cryptoResponse = await axios.get('https://api.coingecko.com/api/v3/coins/markets', {
params: {
vs_currency: 'brl',
order: 'market_cap_desc',
Expand All @@ -19,7 +19,7 @@ export default async function handler(request, response) {
response.setHeader('CDN-Cache-Control', 'max-age=86400');
response.setHeader('Cache-Control', 'max-age=86400');

const data = response.data;
const data = cryptoResponse.data;
response.status(200).json(data);
} catch (error) {
response.status(500).json({ error: error.message });
Expand Down
22 changes: 22 additions & 0 deletions pages/api/crypto/transaction/[transaction].js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import axios from 'axios';

export default async function handler(request, response) {
try {
const { transaction } = request.query;

if (typeof transaction !== 'string') {
throw new Error('Transaction parameter must be a string');
}

const cryptoResponse = await axios.get(`https://blockchain.info/rawtx/${transaction}`);

response.setHeader('Vercel-CDN-Cache-Control', 'max-age=86400');
response.setHeader('CDN-Cache-Control', 'max-age=86400');
response.setHeader('Cache-Control', 'max-age=86400');

const data = cryptoResponse.data;
response.status(200).json(data);
} catch (error) {
response.status(500).json({ error: error.message });
}
}
16 changes: 16 additions & 0 deletions pages/api/crypto/unconfirmed-transactions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import axios from 'axios';

export default async function handler(request, response) {
try {
const cryptoResponse = await axios.get(`https://blockchain.info/unconfirmed-transactions?format=json`);

response.setHeader('Vercel-CDN-Cache-Control', 'max-age=86400');
response.setHeader('CDN-Cache-Control', 'max-age=86400');
response.setHeader('Cache-Control', 'max-age=86400');

const data = cryptoResponse.data;
response.status(200).json(data);
} catch (error) {
response.status(500).json({ error: error.message });
}
}
22 changes: 22 additions & 0 deletions pages/api/crypto/wallet/[wallet].js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import axios from 'axios';

export default async function handler(request, response) {
try {
const { wallet } = request.query;

if (typeof wallet !== 'string') {
throw new Error('Wallet parameter must be a string');
}

const cryptoResponse = await axios.get(`https://blockchain.info/rawaddr/${wallet}`);

response.setHeader('Vercel-CDN-Cache-Control', 'max-age=86400');
response.setHeader('CDN-Cache-Control', 'max-age=86400');
response.setHeader('Cache-Control', 'max-age=86400');

const data = cryptoResponse.data;
response.status(200).json(data);
} catch (error) {
response.status(500).json({ error: error.message });
}
}

0 comments on commit d61b2f8

Please sign in to comment.