Merge development (#13)
* Added direct join functionality * Completed CreateUser test suite * Removed non-essential imports * Reordered test functions * Login test suite completed * Completed Logout test suite * Completed RequestReset test suite * Completed ResetPassword test suite * Completed UpdateUserDetails test suite * Completed SetAudio test suite * Fixed UpdateUserDetials suite * GetUserDetails test suite complete * Completed ResetPassword test suite * Completed GetMemberOrgs test suite * Completed GetOwnedOrgs test suite * AddOrgMember test suite added * Created CreateOrg test suite * Modified AddOrgMember suite * Delete Org test suite completed * Completed GetOrg test suite * Completed RemoveOrgMember test suite * Completed UpdateOrgDetails test suite * Changed oackage,json files * Switched project over to workspaces * Test build script completed * Fixed config.json missing on workflow run * Completed test-build.js.yml * Completed test-build.js.yml * Completed test-build.js.yml * Test build completed * Completed test-build.js.yml * Added touch server * Touched test-build.js.yml * Reworked workflows and automated test suite (#7) Reworked workflows and automated test suite (#7) * Configured new js file and isolated database files in db folder (#10) * Changed config.js and isolated db * Configured new js file and isolated database files in db folder * Removed .env files from config (#11)
This commit is contained in:
parent
48899da2d2
commit
1b9b8db04d
53 changed files with 71 additions and 68 deletions
7
.github/workflows/build-release.yml
vendored
7
.github/workflows/build-release.yml
vendored
|
|
@ -6,6 +6,7 @@ name: Build release assets
|
|||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
|
@ -18,12 +19,6 @@ jobs:
|
|||
env:
|
||||
DOTENV: '${{ secrets.DOTENV }}'
|
||||
run: echo "$DOTENV" >> .env
|
||||
- name: Write config.json to config
|
||||
env:
|
||||
CONFIG_JSON: '${{ secrets.CONFIG_JSON }}'
|
||||
run: |
|
||||
mkdir ./server/config
|
||||
echo "$CONFIG_JSON" >> ./server/config/config.json
|
||||
- name: Use Node.js 16.x
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
|
|
|
|||
6
.github/workflows/test-build.yml
vendored
6
.github/workflows/test-build.yml
vendored
|
|
@ -20,12 +20,6 @@ jobs:
|
|||
env:
|
||||
DOTENV: '${{ secrets.DOTENV }}'
|
||||
run: echo "$DOTENV" >> .env
|
||||
- name: Write config.json to config
|
||||
env:
|
||||
CONFIG_JSON: '${{ secrets.CONFIG_JSON }}'
|
||||
run: |
|
||||
mkdir ./server/config
|
||||
echo "$CONFIG_JSON" >> ./server/config/config.json
|
||||
- name: Use Node.js 16.x
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
|
|
|
|||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -12,7 +12,6 @@ TODO
|
|||
|
||||
### Sqlite ###
|
||||
*.sqlite3
|
||||
**/config/
|
||||
|
||||
### Git ###
|
||||
# Created by git for backups. To disable backups in Git:
|
||||
|
|
|
|||
8
.sequelizerc
Normal file
8
.sequelizerc
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
config: path.resolve('server', 'db', 'config', 'config.js'),
|
||||
'models-path': path.resolve('server', 'db', 'models'),
|
||||
'seeders-path': path.resolve('server', 'db', 'seeders'),
|
||||
'migrations-path': path.resolve('server', 'db', 'migrations'),
|
||||
};
|
||||
|
|
@ -10,8 +10,9 @@
|
|||
"dev": "npm run server",
|
||||
"dist": "npm run package",
|
||||
"test": "npm run test -w server",
|
||||
"env": "npm run env --ws && touch test_db.sqlite3",
|
||||
"env": "npm run env --ws && touch db.sqlite3",
|
||||
"package": "tar -czf ./dist.tar.gz ./.github ./.vscode ./client ./node_modules ./server .env .gitignore LICENSE package-lock.json package.json README.md",
|
||||
"pretest": "npm run env",
|
||||
"predev": "npm run build",
|
||||
"predist": "npm ci && npm run build",
|
||||
"prebuild": "npm run env"
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ var app = express();
|
|||
app.set('views', path.join(__dirname, 'views'));
|
||||
app.set('view engine', 'jade');
|
||||
|
||||
if (process.env.LOGGER == 'true') {
|
||||
if (process.env.NODE_ENV != 'test') {
|
||||
app.use(logger('dev'));
|
||||
}
|
||||
app.use(express.json());
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
var app = require('../app');
|
||||
var debug = require('debug')('server:server');
|
||||
var http = require('http');
|
||||
require('dotenv').config();
|
||||
|
||||
var { sequelize } = require('../models/index');
|
||||
var app = require('../app');
|
||||
var { sequelize } = require('../db/models/index');
|
||||
|
||||
/**
|
||||
* Get port from environment and store in Express.
|
||||
|
|
|
|||
17
server/db/config/config.js
Normal file
17
server/db/config/config.js
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
module.exports = {
|
||||
production: {
|
||||
username: process.env.DB_USERNAME,
|
||||
password: process.env.DB_PASSWORD,
|
||||
database: process.env.DB_NAME,
|
||||
host: process.env.DB_HOST,
|
||||
dialect: 'mysql',
|
||||
},
|
||||
test: {
|
||||
dialect: 'sqlite',
|
||||
storage: '../../db.sqlite3',
|
||||
},
|
||||
development: {
|
||||
dialect: 'sqlite',
|
||||
storage: '../../db.sqlite3',
|
||||
},
|
||||
};
|
||||
|
|
@ -4,7 +4,7 @@ const path = require('path');
|
|||
const Sequelize = require('sequelize');
|
||||
const basename = path.basename(__filename);
|
||||
const env = process.env.NODE_ENV;
|
||||
const config = require(__dirname + '/../config/config.json')[env];
|
||||
const config = require('../config/config')[env];
|
||||
const db = {};
|
||||
|
||||
const sequelize = new Sequelize({
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
const forge = require('node-forge');
|
||||
const { User } = require('../models/index');
|
||||
const { User } = require('../db/models/index');
|
||||
|
||||
async function basicAuth(req, res, next) {
|
||||
const email = req.body.email;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Organization } = require('../models/index');
|
||||
const { Organization } = require('../db/models/index');
|
||||
|
||||
async function GetOrg(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { User } = require('../models/index');
|
||||
const { User } = require('../db/models/index');
|
||||
|
||||
async function checkKnownUser(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Token } = require('../models/index');
|
||||
const { Token } = require('../db/models/index');
|
||||
|
||||
async function tokenAuth(req, res, next) {
|
||||
const token = req.query.token || req.body.token;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@
|
|||
"private": true,
|
||||
"scripts": {
|
||||
"start": "nodemon ./bin/www",
|
||||
<<<<<<< HEAD
|
||||
"test": "jest -i",
|
||||
=======
|
||||
"test": "jest -i --verbose --detectOpenHandles",
|
||||
>>>>>>> origin/main
|
||||
"env": "cp ../.env .env"
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
@ -29,5 +33,8 @@
|
|||
"jest": "^27.5.1",
|
||||
"nodemon": "^2.0.15",
|
||||
"supertest": "^6.2.2"
|
||||
},
|
||||
"jest": {
|
||||
"slowTestThreshold": 10
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const forge = require('node-forge');
|
||||
const { User, Organization } = require('../../models/index');
|
||||
const { User, Organization } = require('../../db/models/index');
|
||||
|
||||
async function CreateUser(req, res, next) {
|
||||
const body = req.body;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { User } = require('../../models/index');
|
||||
const { User } = require('../../db/models/index');
|
||||
|
||||
async function GetUserDetails(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Token } = require('../../models/index');
|
||||
const { Token } = require('../../db/models/index');
|
||||
|
||||
async function Login(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const { v4: uuidv4 } = require('uuid');
|
||||
const { CourierClient } = require('@trycourier/courier');
|
||||
require('dotenv').config();
|
||||
|
||||
const { User, ResetRequest } = require('../../models/index');
|
||||
const { User, ResetRequest } = require('../../db/models/index');
|
||||
|
||||
async function RequestReset(req, res, next) {
|
||||
try {
|
||||
|
|
@ -15,8 +15,6 @@ async function RequestReset(req, res, next) {
|
|||
return res.status(500).send('Whoops something went wrong');
|
||||
}
|
||||
|
||||
console.log(process.env.COURIER_AUTH_TOKEN);
|
||||
|
||||
const courier = CourierClient({
|
||||
authorizationToken: process.env.COURIER_AUTH_TOKEN,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const forge = require('node-forge');
|
||||
const { ResetRequest } = require('../../models/index');
|
||||
const { ResetRequest } = require('../../db/models/index');
|
||||
|
||||
async function ResetPassword(req, res, next) {
|
||||
reqID = req.params.id;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const { Op } = require('sequelize');
|
||||
const { User } = require('../../models/index');
|
||||
const { User } = require('../../db/models/index');
|
||||
|
||||
async function UpdateUserDetails(req, res, next) {
|
||||
const { token, ...body } = req.body;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Organization } = require('../../models/index');
|
||||
const { Organization } = require('../../db/models/index');
|
||||
|
||||
async function AddOrgMember(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Organization } = require('../../models/index');
|
||||
const { Organization } = require('../../db/models/index');
|
||||
|
||||
async function DeleteOrg(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Organization } = require('../../models/index');
|
||||
const { Organization } = require('../../db/models/index');
|
||||
|
||||
async function GetOrg(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { Organization } = require('../../models/index');
|
||||
const { Organization } = require('../../db/models/index');
|
||||
|
||||
async function RemoveOrgMember(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Organization } = require('../../models/index');
|
||||
var { sequelize, Organization } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser, createTestOrg } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestOrg, createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Token } = require('../../models/index');
|
||||
var { sequelize, Token } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Token } = require('../../models/index');
|
||||
var { sequelize, Token } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestToken, createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Token } = require('../../models/index');
|
||||
var { sequelize, Token } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Token } = require('../../models/index');
|
||||
var { sequelize, Token } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestToken } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestResetRequest } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
|
||||
describe('SetAudio', function () {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestToken, createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestOrg, createTestUser, createTestToken } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Token } = require('../../models/index');
|
||||
var { sequelize, Token } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Organization } = require('../../models/index');
|
||||
var { sequelize, Organization } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser, createTestOrg } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Organization } = require('../../models/index');
|
||||
var { sequelize, Organization } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser, createTestOrg } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize } = require('../../models/index');
|
||||
var { sequelize } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser, createTestOrg } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
require('dotenv').config();
|
||||
const supertest = require('supertest');
|
||||
|
||||
var { sequelize, Organization } = require('../../models/index');
|
||||
var { sequelize, Organization } = require('../../db/models/index');
|
||||
const app = require('../../app');
|
||||
const { createTestUser, createTestOrg, createTestToken } = require('../utils');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const forge = require('node-forge');
|
||||
const { User, Organization } = require('../models/index');
|
||||
const { User, Organization } = require('../db/models/index');
|
||||
|
||||
async function createTestUser(firstName, lastName, password) {
|
||||
const hashedPassword = forge.md.sha512
|
||||
|
|
|
|||
Reference in a new issue