next.js tricked me, fixed ssr
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
## Gaiacli node.js wrapper and demo app
|
||||
|
||||
You must have the gaiacli available to the node process running this app.
|
||||
|
||||
Run with `npm run dev`
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
const { v4: uuidv4 } = require("uuid");
|
||||
const { queries } = require("../../../database/connectDatabase");
|
||||
|
||||
const get = async (req, res) => {
|
||||
try {
|
||||
const {
|
||||
query: { uuid },
|
||||
} = req;
|
||||
|
||||
const multi = query.getMultiFromUUID.get(uuid);
|
||||
res.status(200).send(multi);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
res.status(500).send(err.message);
|
||||
}
|
||||
};
|
||||
|
||||
export default (req, res) => {
|
||||
switch (req.method) {
|
||||
case "GET":
|
||||
get(req, res);
|
||||
break;
|
||||
default:
|
||||
res.status(404).send();
|
||||
}
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
const gaiaWrap = require("../../lib/gaiaWrap");
|
||||
const gaiaWrap = require("../../../lib/gaiaWrap");
|
||||
const { v4: uuidv4 } = require("uuid");
|
||||
const { queries } = require("../../database/connectDatabase");
|
||||
const { queries } = require("../../../database/connectDatabase");
|
||||
|
||||
const get = async (req, res) => {
|
||||
const allKeys = await gaiaWrap.listKeys();
|
||||
@@ -1,47 +0,0 @@
|
||||
const { v4: uuidv4 } = require("uuid");
|
||||
const { queries } = require("../../../database/connectDatabase");
|
||||
|
||||
const post = async (req, res) => {
|
||||
try {
|
||||
const {
|
||||
query: { uuid },
|
||||
} = req;
|
||||
|
||||
// req.body should have signature, a json object of the
|
||||
// signature for this transaction
|
||||
const { signature } = req.body;
|
||||
|
||||
// get corresponding multi record
|
||||
const transaction = queries.getTransactionForUUID.get(uuid);
|
||||
|
||||
if (!transaction) {
|
||||
res.status(404).send();
|
||||
} else {
|
||||
// add signature to existing signatures and save
|
||||
transaction.signatures = transaction.signatures
|
||||
? JSON.parse(transaction.signatures)
|
||||
: [];
|
||||
|
||||
transaction.signatures.push(signature);
|
||||
queries.updateTransactionSignatures.run({
|
||||
signatures: JSON.stringify(transaction.signatures),
|
||||
uuid: transaction.uuid,
|
||||
});
|
||||
const updatedTransaction = queries.getTransactionForUUID.get(uuid);
|
||||
res.status(200).send(updatedTransaction);
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
res.status(500).send(err.message);
|
||||
}
|
||||
};
|
||||
|
||||
export default (req, res) => {
|
||||
switch (req.method) {
|
||||
case "POST":
|
||||
post(req, res);
|
||||
break;
|
||||
default:
|
||||
res.status(404).send();
|
||||
}
|
||||
};
|
||||
@@ -1,6 +1,20 @@
|
||||
const { v4: uuidv4 } = require("uuid");
|
||||
const { queries } = require("../../../../database/connectDatabase");
|
||||
|
||||
const get = async (req, res) => {
|
||||
try {
|
||||
const {
|
||||
query: { uuid },
|
||||
} = req;
|
||||
|
||||
const transaction = query.getTransactionForUUID.get(uuid);
|
||||
res.status(200).send(transaction);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
res.status(500).send(err.message);
|
||||
}
|
||||
};
|
||||
|
||||
const post = async (req, res) => {
|
||||
try {
|
||||
const {
|
||||
@@ -41,6 +55,9 @@ export default (req, res) => {
|
||||
case "POST":
|
||||
post(req, res);
|
||||
break;
|
||||
case "GET":
|
||||
post(req, res);
|
||||
break;
|
||||
default:
|
||||
res.status(404).send();
|
||||
}
|
||||
|
||||
@@ -1,30 +1,9 @@
|
||||
import axios from "axios";
|
||||
import { useRouter } from "next/router";
|
||||
import Head from "../../../components/head";
|
||||
import { queries } from "../../../database/connectDatabase";
|
||||
import TransactionForm from "../../../components/TransactionForm";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
return {
|
||||
paths: [{ params: { address: "*" } }],
|
||||
fallback: true,
|
||||
};
|
||||
}
|
||||
|
||||
export async function getStaticProps(context) {
|
||||
const { address } = context.params;
|
||||
let transactions = [];
|
||||
const multi = queries.getMultiFromAddress.get(address);
|
||||
if (multi) {
|
||||
transactions = queries.getTransactionsForMultiKeyName.all(multi.key_name);
|
||||
}
|
||||
return {
|
||||
props: {
|
||||
transactions,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default ({ transactions }) => {
|
||||
export default () => {
|
||||
const router = useRouter();
|
||||
const { address } = router.query;
|
||||
return (
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
import axios from "axios";
|
||||
import Head from "../../../../components/head";
|
||||
import { queries } from "../../../../database/connectDatabase";
|
||||
import TransactionSigning from "../../../../components/TransactionSigning";
|
||||
import { useRouter } from "next/router";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
return {
|
||||
paths: [{ params: { transactionUUID: "*", address: "*" } }],
|
||||
fallback: true,
|
||||
};
|
||||
}
|
||||
|
||||
export async function getStaticProps(context) {
|
||||
const { transactionUUID, address } = context.params;
|
||||
const transaction = queries.getTransactionForUUID.get(transactionUUID);
|
||||
const multi = queries.getMultiFromAddress.get(address);
|
||||
return {
|
||||
props: {
|
||||
transaction,
|
||||
multi,
|
||||
},
|
||||
};
|
||||
export async function getInitialProps({ req, query }) {
|
||||
const { transactionUUID, address } = query;
|
||||
if (req) {
|
||||
// server
|
||||
const transaction = queries.getTransactionForUUID.get(transactionUUID);
|
||||
const multi = queries.getMultiFromAddress.get(address);
|
||||
return { transaction, multi };
|
||||
} else {
|
||||
// browser
|
||||
const multi = await axios.get(`/api/multiaddress/${address}`);
|
||||
const transaction = await axios.get(`/api/transaction/${transactionUUID}`);
|
||||
return { transaction, multi };
|
||||
}
|
||||
}
|
||||
|
||||
export default ({ transaction, multi }) => {
|
||||
|
||||
Reference in New Issue
Block a user