Explorar o código

Add model and scaffolding for route

sbkwgh %!s(int64=8) %!d(string=hai) anos
pai
achega
70361199b5
Modificáronse 3 ficheiros con 36 adicións e 0 borrados
  1. 23 0
      models/report.js
  2. 12 0
      routes/report.js
  3. 1 0
      server.js

+ 23 - 0
models/report.js

@@ -0,0 +1,23 @@
+module.exports = (sequelize, DataTypes) => {
+	let Report = sequelize.define('Report', {
+		reason: {
+			type: DataTypes.ENUM,
+			values: ['spam', 'inappropriate', 'harassment'],
+			validate: {
+				isIn: {
+					args: [['spam', 'inappropriate', 'harassment']],
+					msg: "Report reason can only be one of the pre-defined options"
+				}
+			}
+		}
+	}, {
+		classMethods: {
+			associate (models) {
+				Report.hasOne(models.User, { as: 'FlaggedByUser' })
+				Report.hasOne(models.Post)
+			}
+		}
+	})
+
+	return Report
+}

+ 12 - 0
routes/report.js

@@ -0,0 +1,12 @@
+let express = require('express')
+let router = express.Router()
+
+let { User, Post, Report } = require('../models')
+
+router.all('*', (req, res) => {})
+router.post('/', async (req, res) => {})
+
+router.all('*', (req, res) => {})
+router.get('/', async (req, res) => {})
+
+module.exports = router

+ 1 - 0
server.js

@@ -37,6 +37,7 @@ app.use('/api/v1/thread', require('./routes/thread'))
 app.use('/api/v1/notification', require('./routes/notification'))
 app.use('/api/v1/post', require('./routes/post'))
 app.use('/api/v1/settings', require('./routes/settings'))
+app.use('/api/v1/report', require('./routes/report'))
 
 sequelize
 	.sync({ force: true })