aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-11-03 16:43:42 -0700
committerAdam Soltys <[email protected]>2022-11-03 16:43:49 -0700
commitf6b8e5157b01cddd30b9e0674c0edc9de977cb42 (patch)
treee533fdd5dddbaa3d324f9768d718d576e9f4382f
parentd06acb3b41c76e0de47176f394c008fe68d25a2a (diff)
downloadcoinos-server-f6b8e5157b01cddd30b9e0674c0edc9de977cb42.tar.gz
coinos-server-f6b8e5157b01cddd30b9e0674c0edc9de977cb42.zip
requests table
-rw-r--r--db/index.js1
-rw-r--r--db/models/requests.js67
-rw-r--r--index.js1
-rw-r--r--routes/requests.js15
4 files changed, 84 insertions, 0 deletions
diff --git a/db/index.js b/db/index.js
index 81c0fe46..749f770b 100644
--- a/db/index.js
+++ b/db/index.js
@@ -13,6 +13,7 @@ import "./models/invoices";
import "./models/keys";
import "./models/payments";
import "./models/orders";
+import "./models/requests";
import "./models/users";
import "./models/withdrawals";
diff --git a/db/models/requests.js b/db/models/requests.js
new file mode 100644
index 00000000..76703a72
--- /dev/null
+++ b/db/models/requests.js
@@ -0,0 +1,67 @@
+import db from "$db/db";
+import { DataTypes } from '@sequelize/core';
+
+const attributes = {
+ id: {
+ type: DataTypes.INTEGER(11),
+ allowNull: false,
+ defaultValue: null,
+ primaryKey: true,
+ autoIncrement: true,
+ comment: null,
+ field: "id"
+ },
+ requester_id: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true,
+ defaultValue: null,
+ primaryKey: false,
+ autoIncrement: false,
+ comment: null,
+ field: "requester_id"
+ },
+ recipient_id: {
+ type: DataTypes.INTEGER(11),
+ allowNull: true,
+ defaultValue: null,
+ primaryKey: false,
+ autoIncrement: false,
+ comment: null,
+ field: "recipient_id"
+ },
+ memo: {
+ type: DataTypes.TEXT,
+ allowNull: true,
+ defaultValue: null,
+ primaryKey: false,
+ autoIncrement: false,
+ comment: null,
+ field: "memo"
+ },
+ createdAt: {
+ type: DataTypes.DATE,
+ allowNull: false,
+ defaultValue: null,
+ primaryKey: false,
+ autoIncrement: false,
+ comment: null,
+ field: "createdAt"
+ },
+ updatedAt: {
+ type: DataTypes.DATE,
+ allowNull: false,
+ defaultValue: null,
+ primaryKey: false,
+ autoIncrement: false,
+ comment: null,
+ field: "updatedAt"
+ },
+};
+
+const options = {
+ tableName: "requests",
+ comment: "",
+ indexes: []
+};
+
+db["Request"] = db.define("requests_model", attributes, options);
diff --git a/index.js b/index.js
index 0f0ad648..759893dc 100644
--- a/index.js
+++ b/index.js
@@ -22,6 +22,7 @@ import "./routes/info";
import "./routes/users";
import "./routes/invoices";
import "./routes/payments";
+import "./routes/requests";
import "./routes/lnurl";
import "./routes/tickets";
diff --git a/routes/requests.js b/routes/requests.js
new file mode 100644
index 00000000..823e92c1
--- /dev/null
+++ b/routes/requests.js
@@ -0,0 +1,15 @@
+import app from "$app";
+import db from "$db";
+import { auth } from "$lib/passport";
+
+app.post("/requests", auth, async (req, res) => {
+ try {
+ let { recipient: username, ...params } = req.body;
+ let { id: recipient_id } = await db.User.findOne({ where: { username }});
+
+ let request = await db.Request.create({ recipient_id, ...params });
+ res.send(request);
+ } catch (e) {
+ res.code(500).send(e.message);
+ }
+});