aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);
+ }
+});