stop calling that a model

merge-requests/208/head
fatchan 5 years ago
parent a4f4511962
commit ff4f6c4758
  1. 8
      controllers/forms.js
  2. 2
      controllers/pages.js
  3. 0
      db/accounts.js
  4. 0
      db/bans.js
  5. 0
      db/boards.js
  6. 0
      db/db.js
  7. 0
      db/posts.js
  8. 0
      db/trips.js
  9. 2
      helpers/bancheck.js
  10. 2
      helpers/markdown.js
  11. 10
      helpers/number-converter.js
  12. 2
      helpers/quotes.js
  13. 2
      helpers/tripcode.js
  14. 4
      models/forms/ban-poster.js
  15. 2
      models/forms/delete-post.js
  16. 2
      models/forms/dismiss-report.js
  17. 2
      models/forms/edit-post.js
  18. 2
      models/forms/login.js
  19. 2
      models/forms/make-post.js
  20. 2
      models/forms/register.js
  21. 2
      models/forms/removebans.js
  22. 2
      models/forms/report-post.js
  23. 2
      models/forms/spoiler-post.js
  24. 12
      models/pages/board.js
  25. 2
      models/pages/catalog.js
  26. 2
      models/pages/globalmanage.js
  27. 2
      models/pages/home.js
  28. 4
      models/pages/manage.js
  29. 2
      models/pages/thread.js
  30. 2
      server.js
  31. 26
      static/css/style.css
  32. 40
      views/includes/deletefooter.pug
  33. 6
      views/includes/pages.pug
  34. 11
      views/pages/board.pug
  35. 46
      views/pages/manage.pug
  36. 10
      wipe.js

@ -2,10 +2,10 @@
const express = require('express')
, router = express.Router()
, Boards = require(__dirname+'/../db-models/boards.js')
, Posts = require(__dirname+'/../db-models/posts.js')
, Trips = require(__dirname+'/../db-models/trips.js')
, Bans = require(__dirname+'/../db-models/bans.js')
, Boards = require(__dirname+'/../db/boards.js')
, Posts = require(__dirname+'/../db/posts.js')
, Trips = require(__dirname+'/../db/trips.js')
, Bans = require(__dirname+'/../db/bans.js')
, banPoster = require(__dirname+'/../models/forms/ban-poster.js')
, removeBans = require(__dirname+'/../models/forms/removebans.js')
, makePost = require(__dirname+'/../models/forms/make-post.js')

@ -45,7 +45,7 @@ router.get('/:board/manage', Boards.exists, isLoggedIn, hasPerms, manage);
router.get('/globalmanage', isLoggedIn, hasPerms, globalmanage);
// board page/recents
router.get('/:board/:page(\\d+)?', Boards.exists, numberConverter, board);
router.get('/:board', Boards.exists, numberConverter, board);
// thread view page
router.get('/:board/thread/:id(\\d+)', Boards.exists, numberConverter, thread);

@ -1,6 +1,6 @@
'use strict';
const Bans = require(__dirname+'/../db-models/bans.js')
const Bans = require(__dirname+'/../db/bans.js')
, hasPerms = require(__dirname+'/hasperms.js');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../db-models/posts.js')
const Posts = require(__dirname+'/../db/posts.js')
, greentextRegex = /^>[^>].+/gm
, redtextRegex = /^<[^<].+/gm
, boldRegex = /==.+==/gm

@ -19,6 +19,16 @@ module.exports = (req, res, next) => {
req.params.page = +req.params.page;
}
//and query
if (req.query.p) {
const pnum = +req.query.p;
if (Number.isSafeInteger(pnum)) {
req.query.p = +req.query.p;
} else {
req.query.p = null;
}
}
next();
}

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../db-models/posts.js')
const Posts = require(__dirname+'/../db/posts.js')
, quoteRegex = />>\d+/gm;
module.exports = async (board, text) => {

@ -1,6 +1,6 @@
'use strict';
const Tripcodes = require(__dirname+'/../db-models/trips.js')
const Tripcodes = require(__dirname+'/../db/trips.js')
, crypto = require('crypto');
module.exports = async (password) => {

@ -2,8 +2,8 @@
const uploadDirectory = require(__dirname+'/../../helpers/uploadDirectory.js')
, hasPerms = require(__dirname+'/../../helpers/hasperms.js')
, Bans = require(__dirname+'/../../db-models/bans.js')
, Posts = require(__dirname+'/../../db-models/posts.js');
, Bans = require(__dirname+'/../../db/bans.js')
, Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next, board, checkedPosts) => {

@ -6,7 +6,7 @@ const path = require('path')
, unlink = util.promisify(fs.unlink)
, uploadDirectory = require(__dirname+'/../../helpers/uploadDirectory.js')
, hasPerms = require(__dirname+'/../../helpers/hasperms.js')
, Posts = require(__dirname+'/../../db-models/posts.js');
, Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next, checkedPosts) => {

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js')
const Posts = require(__dirname+'/../../db/posts.js')
, hasPerms = require(__dirname+'/../../helpers/hasperms.js');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js');
const Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next) => {

@ -1,7 +1,7 @@
'use strict';
const bcrypt = require('bcrypt')
, Accounts = require(__dirname+'/../../db-models/accounts.js');
, Accounts = require(__dirname+'/../../db/accounts.js');
module.exports = async (req, res, next) => {

@ -6,7 +6,7 @@ const uuidv4 = require('uuid/v4')
, crypto = require('crypto')
, randomBytes = util.promisify(crypto.randomBytes)
, uploadDirectory = require(__dirname+'/../../helpers/uploadDirectory.js')
, Posts = require(__dirname+'/../../db-models/posts.js')
, Posts = require(__dirname+'/../../db/posts.js')
, getTripCode = require(__dirname+'/../../helpers/tripcode.js')
, linkQuotes = require(__dirname+'/../../helpers/quotes.js')
, simpleMarkdown = require(__dirname+'/../../helpers/markdown.js')

@ -1,7 +1,7 @@
'use strict';
const bcrypt = require('bcrypt')
, Accounts = require(__dirname+'/../../db-models/accounts.js');
, Accounts = require(__dirname+'/../../db/accounts.js');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Bans = require(__dirname+'/../../db-models/bans.js')
const Bans = require(__dirname+'/../../db/bans.js')
, { ObjectId } = require('mongodb');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js');
const Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next) => {

@ -6,7 +6,7 @@ const path = require('path')
, unlink = util.promisify(fs.unlink)
, uploadDirectory = require(__dirname+'/../../helpers/uploadDirectory.js')
, hasPerms = require(__dirname+'/../../helpers/hasperms.js')
, Posts = require(__dirname+'/../../db-models/posts.js');
, Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next, checkedPosts) => {

@ -1,22 +1,28 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js');
const Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next) => {
//get the recently bumped thread & preview posts
const page = req.query.p || 1;
let threads;
let pages;
try {
threads = await Posts.getRecent(req.params.board, req.params.page || 1);
pages = Math.ceil((await Posts.getPages(req.params.board)) / 10);
if (page > pages) {
return next();
}
threads = await Posts.getRecent(req.params.board, page);
} catch (err) {
return next(err);
}
//render the page
res.render('board', {
csrf: req.csrfToken(),
threads: threads || [],
pages: pages
pages,
page,
});
}

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js');
const Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js');
const Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Boards = require(__dirname+'/../../db-models/boards.js');
const Boards = require(__dirname+'/../../db/boards.js');
module.exports = async (req, res, next) => {

@ -1,7 +1,7 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js')
, Bans = require(__dirname+'/../../db-models/bans.js');
const Posts = require(__dirname+'/../../db/posts.js')
, Bans = require(__dirname+'/../../db/bans.js');
module.exports = async (req, res, next) => {

@ -1,6 +1,6 @@
'use strict';
const Posts = require(__dirname+'/../../db-models/posts.js');
const Posts = require(__dirname+'/../../db/posts.js');
module.exports = async (req, res, next) => {

@ -53,7 +53,7 @@ const express = require('express')
// use pug view engine
app.set('view engine', 'pug');
app.set('views', path.join(__dirname, 'views/pages'));
app.enable('view cache');
// app.enable('view cache');
// static files
app.use('/css', express.static(__dirname + '/static/css'));

@ -92,8 +92,12 @@ object {
color: green;
}
blockquote a {
color: #d00;
}
blockquote {
word-break: break-all;
/*word-break: break-all;*/
white-space: pre-wrap;
}
@ -123,8 +127,12 @@ input, textarea {
}
.action-wrapper {
/*align-items: center;*/
/*flex-direction: row;*/
display: flex;
flex-direction: column;
}
.action-wrapper * {
margin: 3px 0;
}
.form-post {
@ -172,10 +180,6 @@ input, textarea {
figure {
}
blockquote a {
color: #d00;
}
input textarea {
padding: 8px;
}
@ -316,6 +320,10 @@ hr {
@media only screen and (max-width: 800px) {
body {
/*font-size: 14pt;*/
}
input {
height: 30px;
}
@ -328,6 +336,10 @@ hr {
width: 100%;
}
blockquote {
margin: 1em;
}
.post-check {
top: 2px;
margin-left: 2px!important;

@ -1,15 +1,25 @@
section.action-wrapper
span
label
input.post-check(type='checkbox', name='delete' value=1)
| Delete
label
input.post-check(type='checkbox', name='spoiler' value=1)
| Spoiler
input#password(type='password', name='password', placeholder='post password' autocomplete='off')
span
label
input.post-check(type='checkbox', name='report' value=1)
| Report
input#report(type='text', name='reason', placeholder='reason' autocomplete='off')
input(type='submit', value='submit')
.action-wrapper Actions:
label
input.post-check(type='checkbox', name='delete' value=1)
| Delete Post
label
input.post-check(type='checkbox', name='spoiler' value=1)
| Spoiler Images
label
input#password(type='text', name='password', placeholder='post password' autocomplete='off')
.action-wrapper Mod Actions:
label
input.post-check(type='checkbox', name='dismiss' value=1)
| Dismiss Reports
label
input.post-check(type='checkbox', name='ban' value=1)
| Ban Poster
label
input.post-check(type='checkbox', name='global_ban' value=1)
| Global Ban Poster
label
input.post-check(type='checkbox', name='preserve_post' value=1)
| Show Post In Ban
label
input#report(type='text', name='reason', placeholder='ban reason' autocomplete='off')
input(type='submit', value='submit')

@ -0,0 +1,6 @@
span.pages Page:
- for(let i = 1; i <= pages; i++)
if i === page
span: a(href=`/${board._id}?p=${i}`) [#{i}]
else
span: a(href=`/${board._id}?p=${i}`) #{i}

@ -10,6 +10,8 @@ block content
include ../includes/postform.pug
.mode Posting mode: Thread [#[a.no-decoration(href=`/${board._id}/catalog`) Catalog]]
hr(size=1)
include ../includes/pages.pug
hr(size=1)
form(action='/forms/board/'+board._id+'/actions' method='POST' enctype='application/x-www-form-urlencoded')
input(type='hidden' name='_csrf' value=csrf)
if threads.length === 0
@ -20,10 +22,7 @@ block content
+post(thread, true)
for post in thread.replies
+post(post, true)
hr(size=1)
if pages > 0
span.pages Page
- for(let i = 0; i < pages; i++)
span: a(href=`/${board._id}/${i+1}`) #{i+1}
hr(size=1)
hr(size=1)
include ../includes/pages.pug
hr(size=1)
include ../includes/deletefooter.pug

@ -14,42 +14,24 @@ block content
if posts.length === 0
p No reports.
hr(size=1)
for post in posts
section.thread
+post(post, false, true)
else
for post in posts
section.thread
+post(post, false, true)
hr(size=1)
include ../includes/deletefooter.pug
hr(size=1)
section.action-wrapper
label
input.post-check(type='checkbox', name='delete' value=1)
| Delete Post
label
input.post-check(type='checkbox', name='spoiler' value=1)
| Spoiler Images
label
input.post-check(type='checkbox', name='dismiss' value=1)
| Dismiss Reports
label
input.post-check(type='checkbox', name='ban' value=1)
| Ban Poster
label
input.post-check(type='checkbox', name='global_ban' value=1)
| Global Ban Poster
label
input.post-check(type='checkbox', name='preserve_post' value=1)
| Show Post In Ban
label
input#report(type='text', name='reason', placeholder='ban reason' autocomplete='off')
input(type='submit', value='submit')
hr(size=1)
h4 Bans:
form(action=`/forms/board/${board._id}/unban` method='POST' enctype='application/x-www-form-urlencoded')
input(type='hidden' name='_csrf' value=csrf)
if bans.length === 0
p No bans.
hr(size=1)
for ban in bans
section.thread
+ban(ban)
hr(size=1)
section.action-wrapper
input(type='submit', value='unban')
else
for ban in bans
section.thread
+ban(ban)
hr(size=1)
section.action-wrapper
input(type='submit', value='unban')

@ -10,11 +10,11 @@ const Mongo = require(__dirname+'/helpers/db.js')
(async () => {
console.log('connecting to db...')
await Mongo.connect();
const Boards = require(__dirname+'/db-models/boards.js')
, Posts = require(__dirname+'/db-models/posts.js')
, Bans = require(__dirname+'/db-models/bans.js')
, Trips = require(__dirname+'/db-models/trips.js')
, Accounts = require(__dirname+'/db-models/accounts.js');
const Boards = require(__dirname+'/db/boards.js')
, Posts = require(__dirname+'/db/posts.js')
, Bans = require(__dirname+'/db/bans.js')
, Trips = require(__dirname+'/db/trips.js')
, Accounts = require(__dirname+'/db/accounts.js');
console.log('deleting accounts')
await Accounts.deleteAll();
console.log('deleting posts')

Loading…
Cancel
Save