diff options
| -rw-r--r-- | db/index.js | 1 | ||||
| -rw-r--r-- | db/models/requests.js | 67 | ||||
| -rw-r--r-- | index.js | 1 | ||||
| -rw-r--r-- | routes/requests.js | 15 |
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); @@ -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); + } +}); |
