Skip to content

Commit

Permalink
mms issues, aesthetics, bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
0perationPrivacy committed Sep 9, 2021
1 parent 021c53a commit 80c35ac
Show file tree
Hide file tree
Showing 23 changed files with 231 additions and 191 deletions.
4 changes: 2 additions & 2 deletions .env
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
DB = localhost
PORT = 3000
BASE_URL = localhost
COOKIE_KEY = 4c5h345yy45346gHhs4780tsRHgrsHRSg66y8634
APP_VERSION = v0.55-beta
COOKIE_KEY = 4c5h3845yy45346gH6533hhs4780tsRHgrsHRSg66y8634
APP_VERSION = v0.60-beta
SIGNUPS = on
46 changes: 46 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/tmp
/out-tsc
# Only exists if Bazel was run
/bazel-out
#.env
# dependencies
node_modules
# profiling files
chrome-profiler-events*.json
speed-measure-plugin*.json
development.env
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*
# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
/typings

# System Files
.DS_Store
Thumbs.db
package-lock.json
.dccache

31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

# Changelog


> Note: Every update deletes the MMS media files
## v0.60
- MMS auto delete function (7 days)
- Added gif filetype
- Separate dev environment
- Ignore uploads folder in commits
- Fixed uploads folder path
- Scrollable dropdown
- Minor aesthetics
## v0.55 - Sept 7, 2021
- Signup bug fix
## v0.50 - Sept 6, 2021
- version number added
## v0-0.50 - Aug, 2021
- Untracked changes
- Twilio sms auto delete
- Drag/Drop functionality
- MMS
- Empty profiles
- Delete profiles
- Multiple profiles
- Dark/Light Mode
- Twilio integration
- Telnyx integration
- Theme colors
- Basic app development
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
For instructions, visit the [Wiki](https://github.com/0perationPrivacy/voip/wiki) section.

View the [Changelog](CHANGELOG.md)
3 changes: 3 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
const config = require('./config.js');

const express = require('express')
const app = express()
var bodyParser = require('body-parser')
Expand All @@ -9,6 +11,7 @@ const server = require('http').createServer(app);

global.io = require('socket.io')(server,{ cors: { origin: '*' } });

console.log(`NODE_ENV=${config.NODE_ENV}`);

var mongoose = require('./config/db.config');

Expand Down
69 changes: 34 additions & 35 deletions app/controller/media.controller.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
var Media = require('../model/media.model');
const multer = require("multer")
const path = require("path")
const crypto = require('crypto');
const crypto = require('crypto')
const moment = require('moment')
const fs = require("fs")

var storage = multer.diskStorage({
destination: function (req, file, cb) {

destination: async function (req, file, cb) {
var date = moment(new Date()).format('MMDDYYYY');
try {
await fs.promises.access("./uploads/"+date);
}catch (e) {
await fs.promises.mkdir('./uploads/'+date)
}
// Uploads is the Upload_folder_name
cb(null, "./uploads/")
cb(null, `./uploads/${date}/`)
// cb(null, path.join(__dirname, '../../../uploads/'));
},
filename: function (req, file, cb) {
Expand All @@ -25,7 +32,7 @@ var upload = multer({
fileFilter: function (req, file, cb){

// Set the filetypes, it is optional
var filetypes = /jpeg|jpg|png/;
var filetypes = /jpeg|jpg|gif|png/;
var mimetype = filetypes.test(file.mimetype);

var extname = filetypes.test(path.extname(
Expand All @@ -49,7 +56,8 @@ exports.fileUpload = async (req, res) => {
res.send(err)
}
else {
var mediaData = {media:`uploads/${req.file.filename}`, user:req.user.id};
var date = moment(new Date()).format('MMDDYYYY');
var mediaData = {media:`uploads/${date}/${req.file.filename}`, user:req.user.id};

var media = await Media.create(mediaData);
if(media){
Expand All @@ -58,39 +66,30 @@ exports.fileUpload = async (req, res) => {
}else{
res.status(400).json({status:'false',message:'Media not uploaded!'});
}
// SUCCESS, image successfully uploaded
// res.send("Success, Image uploaded!")
}
})
};

var cron = require('node-cron');
// cron job runs every hour
/*cron.schedule('0 1 * * *', () => {
console.log('running a task every minute');
var fs = require('fs');
var directoryPath = path.join(__dirname, '../../uploads/')
fs.readdir(directoryPath, function (err, files) {
if (err) {
return console.log('Unable to scan directory: ' + err);
}
files.forEach(function (file) {
console.log(file)
var fileData = `${directoryPath}${file}`
const { birthtime } = fs.statSync(fileData)
console.log(birthtime);
now = new Date().getTime()
var deleteTime = (3600000 * 12 * 10) // deletes mms after 10 days
endTime = new Date(birthtime).getTime() + deleteTime;
console.log(deleteTime)
console.log(endTime)
if(now > endTime){
fs.unlinkSync(fileData);
}
});
});
});*/
// cron job runs every day at 01:00
cron.schedule('0 1 * * *', () => {
console.log('running a task every day at 01:00');
var startdate = moment();
startdate = startdate.subtract(7, "days");
startdate = startdate.format("DDMMYYYY");
try {
fs.rmdirSync("./uploads/"+startdate, { recursive: true });
}catch (e) {
console.log('folder not found')
}
});
exports.deleteMedia = async (req, res) => {

res.send({test:'test'});
var startdate = moment();
startdate = startdate.subtract(7, "days");
startdate = startdate.format("DDMMYYYY");
try {
fs.rmdirSync("./uploads/"+startdate, { recursive: true });
}catch (e) {
console.log('folder not found')
}
};
26 changes: 22 additions & 4 deletions app/controller/setting.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -392,10 +392,21 @@ exports.receiveSms = async (req, res) => {
const url = req.body[tMedia]; // link to file you want to download
//var name = `uploads/${Date.now()}${req.body.SmsSid}.png`;
var name = crypto.randomBytes(24).toString('hex');
request(url).pipe(fs.createWriteStream(name))
var date = moment(new Date()).format('MMDDYYYY');
try {
await fs.promises.access("./uploads/"+date);
}catch (e) {
await fs.promises.mkdir('./uploads/'+date)
}

request(url).pipe(fs.createWriteStream(`./uploads/${date}/${name}`))
.on('close', () => console.log('Image downloaded.'));
savedName = `${process.env.BASE_URL.trim()}${name}`
savedName = `${process.env.BASE_URL.trim()}uploads/${date}/${name}`
fackMedia.push(savedName)
/*request(url).pipe(fs.createWriteStream(name))
.on('close', () => console.log('Image downloaded.'));
savedName = `${process.env.BASE_URL.trim()}${name}`
fackMedia.push(savedName)*/
}
media = fackMedia;
}
Expand All @@ -411,9 +422,16 @@ exports.receiveSms = async (req, res) => {
const url = messageData.media[i].url; // link to file you want to download
// var name = `uploads/${Date.now()}${sid}.png`;
var name = crypto.randomBytes(24).toString('hex');
request(url).pipe(fs.createWriteStream(name))
var date = moment(new Date()).format('MMDDYYYY');
try {
await fs.promises.access("./uploads/"+date);
}catch (e) {
await fs.promises.mkdir('./uploads/'+date)
}

request(url).pipe(fs.createWriteStream(`./uploads/${date}/${name}`))
.on('close', () => console.log('Image downloaded.'));
savedName = `${process.env.BASE_URL.trim()}${name}`
savedName = `${process.env.BASE_URL.trim()}uploads/${date}/${name}`
fackMedia.push(savedName)
// fackMedia.push(messageData.media[i].url)
}
Expand Down
12 changes: 12 additions & 0 deletions config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
const dotenv = require('dotenv');
const path = require('path');

dotenv.config({
path: path.resolve(__dirname, `${process.env.NODE_ENV}.env`)
});

module.exports = {
NODE_ENV : process.env.NODE_ENV || 'production',
HOST : process.env.HOST || 'localhost',
PORT : process.env.PORT || 3000
}
2 changes: 1 addition & 1 deletion frontend/dist/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=robots content=noindex,nofollow><link rel="shortcut icon" href="frontend/src/assets/img/favicon.ico?v=1"><title>VoIP Suite</title><link href=/static/css/app.f178abec0b25ffc51b1cde006fae3f8e.css rel=stylesheet></head><body class=darkmode><div id=app></div><script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script><script type=text/javascript src=/static/js/vendor.43a7963514b277b11068.js></script><script type=text/javascript src=/static/js/app.01de6456e3fcc741a680.js></script></body></html>
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=robots content=noindex,nofollow><link rel="shortcut icon" href="frontend/src/assets/img/favicon.ico?v=1"><title>VoIP Suite</title><link href=/static/css/app.2d4a7bff1ae24713e10ca7d39d1e645a.css rel=stylesheet></head><body class=darkmode><div id=app></div><script type=text/javascript src=/static/js/manifest.2ae2e69a05c33dfc65f8.js></script><script type=text/javascript src=/static/js/vendor.43a7963514b277b11068.js></script><script type=text/javascript src=/static/js/app.de10f0dfe27acca54942.js></script></body></html>

Large diffs are not rendered by default.

Large diffs are not rendered by default.

This file was deleted.

2 changes: 0 additions & 2 deletions frontend/dist/static/js/app.01de6456e3fcc741a680.js

This file was deleted.

1 change: 0 additions & 1 deletion frontend/dist/static/js/app.01de6456e3fcc741a680.js.map

This file was deleted.

2 changes: 2 additions & 0 deletions frontend/dist/static/js/app.de10f0dfe27acca54942.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions frontend/dist/static/js/app.de10f0dfe27acca54942.js.map

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 80c35ac

Please sign in to comment.