diff --git a/HackMerced/2017F/src/server/src/handlers/hacker.js b/HackMerced/2017F/src/server/src/handlers/hacker.js index 947e7d7..0ce5776 100644 --- a/HackMerced/2017F/src/server/src/handlers/hacker.js +++ b/HackMerced/2017F/src/server/src/handlers/hacker.js @@ -71,6 +71,8 @@ export const hackerHandlers = { }); }, postLogin: (req, reply) => { + + const email = req.payload.email ? req.payload.email.toLowerCase() : 'bad' axios diff --git a/HackMerced/2017F/src/server/src/validators/hacker.js b/HackMerced/2017F/src/server/src/validators/hacker.js index 6ab0029..763b629 100644 --- a/HackMerced/2017F/src/server/src/validators/hacker.js +++ b/HackMerced/2017F/src/server/src/validators/hacker.js @@ -6,10 +6,8 @@ import { notMercedOptions } from '../../../app/src/constants' export const hackerValidators = { postLogin: { - // tomoe handles this }, postSignup: { - // tomoe handles this }, getMe:{ payload:{ diff --git a/Tomoe/Cloud/README.md b/Tomoe/Cloud/README.md new file mode 100644 index 0000000..e14df1b --- /dev/null +++ b/Tomoe/Cloud/README.md @@ -0,0 +1 @@ +# Tomoe cloud handler/website and directives diff --git a/Tomoe/.babelrc b/Tomoe/Core/.babelrc similarity index 100% rename from Tomoe/.babelrc rename to Tomoe/Core/.babelrc diff --git a/Tomoe/.codeclimate.yml b/Tomoe/Core/.codeclimate.yml similarity index 100% rename from Tomoe/.codeclimate.yml rename to Tomoe/Core/.codeclimate.yml diff --git a/Tomoe/.gitignore b/Tomoe/Core/.gitignore similarity index 100% rename from Tomoe/.gitignore rename to Tomoe/Core/.gitignore diff --git a/Tomoe/readme.md b/Tomoe/Core/README.md similarity index 100% rename from Tomoe/readme.md rename to Tomoe/Core/README.md diff --git a/Tomoe/assets/images/logos/logo_blue.png b/Tomoe/Core/assets/images/logos/logo_blue.png similarity index 100% rename from Tomoe/assets/images/logos/logo_blue.png rename to Tomoe/Core/assets/images/logos/logo_blue.png diff --git a/Tomoe/build/core/config.js b/Tomoe/Core/build/core/config.js similarity index 100% rename from Tomoe/build/core/config.js rename to Tomoe/Core/build/core/config.js diff --git a/Tomoe/build/core/generator.js b/Tomoe/Core/build/core/generator.js similarity index 100% rename from Tomoe/build/core/generator.js rename to Tomoe/Core/build/core/generator.js diff --git a/Tomoe/build/core/index.js b/Tomoe/Core/build/core/index.js similarity index 100% rename from Tomoe/build/core/index.js rename to Tomoe/Core/build/core/index.js diff --git a/Tomoe/build/imports/build.js b/Tomoe/Core/build/imports/build.js similarity index 100% rename from Tomoe/build/imports/build.js rename to Tomoe/Core/build/imports/build.js diff --git a/Tomoe/build/imports/index.js b/Tomoe/Core/build/imports/index.js similarity index 100% rename from Tomoe/build/imports/index.js rename to Tomoe/Core/build/imports/index.js diff --git a/Tomoe/build/templates/email.template.html b/Tomoe/Core/build/templates/email.template.html similarity index 100% rename from Tomoe/build/templates/email.template.html rename to Tomoe/Core/build/templates/email.template.html diff --git a/Tomoe/build/templates/env.template.js b/Tomoe/Core/build/templates/env.template.js similarity index 100% rename from Tomoe/build/templates/env.template.js rename to Tomoe/Core/build/templates/env.template.js diff --git a/Tomoe/build/templates/index.js b/Tomoe/Core/build/templates/index.js similarity index 100% rename from Tomoe/build/templates/index.js rename to Tomoe/Core/build/templates/index.js diff --git a/Tomoe/build/templates/tomoe.template.js b/Tomoe/Core/build/templates/tomoe.template.js similarity index 100% rename from Tomoe/build/templates/tomoe.template.js rename to Tomoe/Core/build/templates/tomoe.template.js diff --git a/Tomoe/build/tests/index.js b/Tomoe/Core/build/tests/index.js similarity index 100% rename from Tomoe/build/tests/index.js rename to Tomoe/Core/build/tests/index.js diff --git a/Tomoe/build/tests/test-starter.js b/Tomoe/Core/build/tests/test-starter.js similarity index 100% rename from Tomoe/build/tests/test-starter.js rename to Tomoe/Core/build/tests/test-starter.js diff --git a/Tomoe/build/util/create-collections.js b/Tomoe/Core/build/util/create-collections.js similarity index 100% rename from Tomoe/build/util/create-collections.js rename to Tomoe/Core/build/util/create-collections.js diff --git a/Tomoe/build/util/index.js b/Tomoe/Core/build/util/index.js similarity index 100% rename from Tomoe/build/util/index.js rename to Tomoe/Core/build/util/index.js diff --git a/Tomoe/build/util/move-templates.js b/Tomoe/Core/build/util/move-templates.js similarity index 100% rename from Tomoe/build/util/move-templates.js rename to Tomoe/Core/build/util/move-templates.js diff --git a/Tomoe/package.json b/Tomoe/Core/package.json similarity index 96% rename from Tomoe/package.json rename to Tomoe/Core/package.json index 960974f..3afde10 100755 --- a/Tomoe/package.json +++ b/Tomoe/Core/package.json @@ -1,6 +1,6 @@ { "name": "Tomoe", - "version": "2.0.0", + "version": "2.1.0", "description": "Centralized API user platform for Hackathons", "main": "production.js", "scripts": { @@ -10,7 +10,7 @@ "generate": "node ./build/core", "build": "npm run clean && cross-env NODE_ENV=production npm run compile", "start": "node ./build/imports && cross-env NODE_ENV=development node ./src/app/build/scripts/start", - "api": "nodemon -e js -w ./src/server ./src/server/index.js", + "api": "nodemon -e js --watch './src/server' --watch './src/extensions/**/server/**/*' ./src/server/index.js", "test_server": "cross-env NODE_ENV=test nyc node ./build/tests", "test_app": "cross-env NODE_ENV=test karma start ./src/app/build/karma.config", "test": "npm run test_server", diff --git a/Tomoe/src/app/src/index.js b/Tomoe/Core/src/app/src/index.js similarity index 100% rename from Tomoe/src/app/src/index.js rename to Tomoe/Core/src/app/src/index.js diff --git a/Tomoe/Core/src/extensions/admissions/config.json b/Tomoe/Core/src/extensions/admissions/config.json new file mode 100644 index 0000000..b5880a1 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/config.json @@ -0,0 +1,8 @@ +{ + "name": "admissions", + "displayName": "Admissions", + "injectables": { + "routes": "server/routes/index.js" + }, + "interface": "sidebar" +} diff --git a/Tomoe/Core/src/extensions/admissions/importable.js b/Tomoe/Core/src/extensions/admissions/importable.js new file mode 100644 index 0000000..5418a65 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/importable.js @@ -0,0 +1 @@ +export * from '../' diff --git a/Tomoe/Core/src/extensions/admissions/package.json b/Tomoe/Core/src/extensions/admissions/package.json new file mode 100644 index 0000000..e824ed9 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/package.json @@ -0,0 +1,11 @@ +{ + "name": "Tomoe-Admissions", + "version": "1.0.0", + "description": "Admissions utility for Tomoe", + "main": " ", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "HackMerced", + "license": "MIT" +} diff --git a/Tomoe/src/server/src/collections/Hacker.js b/Tomoe/Core/src/extensions/admissions/src/server/classes/Hacker.js similarity index 94% rename from Tomoe/src/server/src/collections/Hacker.js rename to Tomoe/Core/src/extensions/admissions/src/server/classes/Hacker.js index 39ecfba..36c70c4 100644 --- a/Tomoe/src/server/src/collections/Hacker.js +++ b/Tomoe/Core/src/extensions/admissions/src/server/classes/Hacker.js @@ -1,4 +1,4 @@ -import { User } from './'; +import { User } from '../../../importable'; export class Hacker extends User{ constructor(data = {}){ diff --git a/Tomoe/Core/src/extensions/admissions/src/server/classes/index.js b/Tomoe/Core/src/extensions/admissions/src/server/classes/index.js new file mode 100644 index 0000000..00fd375 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/src/server/classes/index.js @@ -0,0 +1 @@ +export * from './Hacker' diff --git a/Tomoe/src/server/src/handlers/hacker.js b/Tomoe/Core/src/extensions/admissions/src/server/handlers/hacker.js similarity index 97% rename from Tomoe/src/server/src/handlers/hacker.js rename to Tomoe/Core/src/extensions/admissions/src/server/handlers/hacker.js index b50b190..894baa4 100644 --- a/Tomoe/src/server/src/handlers/hacker.js +++ b/Tomoe/Core/src/extensions/admissions/src/server/handlers/hacker.js @@ -1,5 +1,5 @@ -import { Hacker } from '../collections' -import { operatorSearch, respond, transformData, setSearchParam } from '../util'; +import { Hacker } from '../classes' +import { operatorSearch, respond, transformData, setSearchParam } from '../../../importable'; import Joi from 'joi'; import Boom from 'boom'; diff --git a/Tomoe/Core/src/extensions/admissions/src/server/handlers/index.js b/Tomoe/Core/src/extensions/admissions/src/server/handlers/index.js new file mode 100644 index 0000000..d4c8744 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/src/server/handlers/index.js @@ -0,0 +1 @@ +export * from './hacker' diff --git a/Tomoe/src/server/src/routes/hacker.js b/Tomoe/Core/src/extensions/admissions/src/server/routes/hacker.js similarity index 100% rename from Tomoe/src/server/src/routes/hacker.js rename to Tomoe/Core/src/extensions/admissions/src/server/routes/hacker.js diff --git a/Tomoe/Core/src/extensions/admissions/src/server/routes/index.js b/Tomoe/Core/src/extensions/admissions/src/server/routes/index.js new file mode 100644 index 0000000..4b0ebe1 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/src/server/routes/index.js @@ -0,0 +1,7 @@ +import hackerRoutes from './hacker'; + +const routes = [ + ...hackerRoutes, +]; + +export default routes; diff --git a/Tomoe/src/server/src/validators/hacker.js b/Tomoe/Core/src/extensions/admissions/src/server/validators/hacker.js similarity index 100% rename from Tomoe/src/server/src/validators/hacker.js rename to Tomoe/Core/src/extensions/admissions/src/server/validators/hacker.js diff --git a/Tomoe/Core/src/extensions/admissions/src/server/validators/index.js b/Tomoe/Core/src/extensions/admissions/src/server/validators/index.js new file mode 100644 index 0000000..d4c8744 --- /dev/null +++ b/Tomoe/Core/src/extensions/admissions/src/server/validators/index.js @@ -0,0 +1 @@ +export * from './hacker' diff --git a/Tomoe/Core/src/extensions/index.js b/Tomoe/Core/src/extensions/index.js new file mode 100644 index 0000000..6ef55ec --- /dev/null +++ b/Tomoe/Core/src/extensions/index.js @@ -0,0 +1 @@ +export * from '../server/exportable'; diff --git a/Tomoe/Core/src/extensions/template/README.md b/Tomoe/Core/src/extensions/template/README.md new file mode 100644 index 0000000..792d600 --- /dev/null +++ b/Tomoe/Core/src/extensions/template/README.md @@ -0,0 +1 @@ +# diff --git a/Tomoe/Core/src/extensions/template/config.json b/Tomoe/Core/src/extensions/template/config.json new file mode 100644 index 0000000..dd15375 --- /dev/null +++ b/Tomoe/Core/src/extensions/template/config.json @@ -0,0 +1,7 @@ +{ + "name": "template", + "displayName": "template", + "injectables": { + }, + "interface": "sidebar" +} diff --git a/Tomoe/Core/src/extensions/template/importable.js b/Tomoe/Core/src/extensions/template/importable.js new file mode 100644 index 0000000..5418a65 --- /dev/null +++ b/Tomoe/Core/src/extensions/template/importable.js @@ -0,0 +1 @@ +export * from '../' diff --git a/Tomoe/Core/src/extensions/template/package.json b/Tomoe/Core/src/extensions/template/package.json new file mode 100644 index 0000000..0291c99 --- /dev/null +++ b/Tomoe/Core/src/extensions/template/package.json @@ -0,0 +1,11 @@ +{ + "name": "template", + "version": "1.0.0", + "description": "A template for Tomoe Extensions", + "main": " ", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "HackMerced", + "license": "MIT" +} diff --git a/Tomoe/Core/src/extensions/volunteers/README.md b/Tomoe/Core/src/extensions/volunteers/README.md new file mode 100644 index 0000000..792d600 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/README.md @@ -0,0 +1 @@ +# diff --git a/Tomoe/Core/src/extensions/volunteers/config.json b/Tomoe/Core/src/extensions/volunteers/config.json new file mode 100644 index 0000000..dd15375 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/config.json @@ -0,0 +1,7 @@ +{ + "name": "template", + "displayName": "template", + "injectables": { + }, + "interface": "sidebar" +} diff --git a/Tomoe/Core/src/extensions/volunteers/importable.js b/Tomoe/Core/src/extensions/volunteers/importable.js new file mode 100644 index 0000000..5418a65 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/importable.js @@ -0,0 +1 @@ +export * from '../' diff --git a/Tomoe/Core/src/extensions/volunteers/package.json b/Tomoe/Core/src/extensions/volunteers/package.json new file mode 100644 index 0000000..0291c99 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/package.json @@ -0,0 +1,11 @@ +{ + "name": "template", + "version": "1.0.0", + "description": "A template for Tomoe Extensions", + "main": " ", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "HackMerced", + "license": "MIT" +} diff --git a/Tomoe/src/server/src/collections/Volunteer.js b/Tomoe/Core/src/extensions/volunteers/server/classes/Volunteer.js similarity index 95% rename from Tomoe/src/server/src/collections/Volunteer.js rename to Tomoe/Core/src/extensions/volunteers/server/classes/Volunteer.js index 772d38c..bd5fa24 100644 --- a/Tomoe/src/server/src/collections/Volunteer.js +++ b/Tomoe/Core/src/extensions/volunteers/server/classes/Volunteer.js @@ -1,4 +1,4 @@ -import { User } from './'; +import { User } from '../../../importable'; export class Volunteer extends User{ constructor(data = {}){ diff --git a/Tomoe/Core/src/extensions/volunteers/server/classes/index.js b/Tomoe/Core/src/extensions/volunteers/server/classes/index.js new file mode 100644 index 0000000..e409448 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/server/classes/index.js @@ -0,0 +1 @@ +export * from './Volunteer' diff --git a/Tomoe/Core/src/extensions/volunteers/server/handlers/index.js b/Tomoe/Core/src/extensions/volunteers/server/handlers/index.js new file mode 100644 index 0000000..77fcb10 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/server/handlers/index.js @@ -0,0 +1 @@ +export * from './volunteer' diff --git a/Tomoe/src/server/src/handlers/volunteer.js b/Tomoe/Core/src/extensions/volunteers/server/handlers/volunteer.js similarity index 97% rename from Tomoe/src/server/src/handlers/volunteer.js rename to Tomoe/Core/src/extensions/volunteers/server/handlers/volunteer.js index 8c76fa0..41a53be 100644 --- a/Tomoe/src/server/src/handlers/volunteer.js +++ b/Tomoe/Core/src/extensions/volunteers/server/handlers/volunteer.js @@ -1,5 +1,5 @@ -import { Volunteer } from '../collections' -import { operatorSearch, respond, transformData, setSearchParam } from '../util'; +import { Volunteer } from '../classes' +import { operatorSearch, respond, transformData, setSearchParam } from '../../../importable'; import Joi from 'joi'; import Boom from 'boom'; diff --git a/Tomoe/src/server/src/routes/index.js b/Tomoe/Core/src/extensions/volunteers/server/routes/index.js similarity index 50% rename from Tomoe/src/server/src/routes/index.js rename to Tomoe/Core/src/extensions/volunteers/server/routes/index.js index 3f3c642..f702b30 100644 --- a/Tomoe/src/server/src/routes/index.js +++ b/Tomoe/Core/src/extensions/volunteers/server/routes/index.js @@ -1,10 +1,6 @@ -import hackerRoutes from './hacker'; -import adminRoutes from './admin'; import volunteerRoutes from './volunteer'; const routes = [ - ...hackerRoutes, - ...adminRoutes, ...volunteerRoutes, ]; diff --git a/Tomoe/src/server/src/routes/volunteer.js b/Tomoe/Core/src/extensions/volunteers/server/routes/volunteer.js similarity index 100% rename from Tomoe/src/server/src/routes/volunteer.js rename to Tomoe/Core/src/extensions/volunteers/server/routes/volunteer.js diff --git a/Tomoe/Core/src/extensions/volunteers/server/validators/index.js b/Tomoe/Core/src/extensions/volunteers/server/validators/index.js new file mode 100644 index 0000000..77fcb10 --- /dev/null +++ b/Tomoe/Core/src/extensions/volunteers/server/validators/index.js @@ -0,0 +1 @@ +export * from './volunteer' diff --git a/Tomoe/src/server/src/validators/volunteer.js b/Tomoe/Core/src/extensions/volunteers/server/validators/volunteer.js similarity index 100% rename from Tomoe/src/server/src/validators/volunteer.js rename to Tomoe/Core/src/extensions/volunteers/server/validators/volunteer.js diff --git a/Tomoe/Core/src/server/exportable.js b/Tomoe/Core/src/server/exportable.js new file mode 100644 index 0000000..ac3e2f4 --- /dev/null +++ b/Tomoe/Core/src/server/exportable.js @@ -0,0 +1,4 @@ +// content that can be utilized by extensions + +export * from './src/classes'; +export * from './src/util'; diff --git a/Tomoe/src/server/index.js b/Tomoe/Core/src/server/index.js similarity index 100% rename from Tomoe/src/server/index.js rename to Tomoe/Core/src/server/index.js diff --git a/Tomoe/src/server/src/collections/Email.js b/Tomoe/Core/src/server/src/classes/generic/Email.js similarity index 96% rename from Tomoe/src/server/src/collections/Email.js rename to Tomoe/Core/src/server/src/classes/generic/Email.js index 1e856b3..509a6d5 100644 --- a/Tomoe/src/server/src/collections/Email.js +++ b/Tomoe/Core/src/server/src/classes/generic/Email.js @@ -13,7 +13,6 @@ const transporter = nodemailer.createTransport({ export class Email { constructor(data = {}){ - super(data); } diff --git a/Tomoe/Core/src/server/src/classes/generic/Event.js b/Tomoe/Core/src/server/src/classes/generic/Event.js new file mode 100644 index 0000000..3329cc5 --- /dev/null +++ b/Tomoe/Core/src/server/src/classes/generic/Event.js @@ -0,0 +1,19 @@ +import uuidv4 from 'uuid/v4' + +export class Event { + constructor({ id = uuidv4(), date = null }){ + this.id = id; + this.date = date; + } + + static getCollection(){ + return db.collection('event'); + } + + _get(){ + return { + id: this.id, + date: this.date, + } + } +} diff --git a/Tomoe/src/server/src/collections/User.js b/Tomoe/Core/src/server/src/classes/generic/User.js similarity index 99% rename from Tomoe/src/server/src/collections/User.js rename to Tomoe/Core/src/server/src/classes/generic/User.js index 9ccd071..f59317a 100644 --- a/Tomoe/src/server/src/collections/User.js +++ b/Tomoe/Core/src/server/src/classes/generic/User.js @@ -1,9 +1,10 @@ import { aql } from 'arangojs'; +import { Tomoe } from './'; import uuidv4 from 'uuid/v4' import sha256 from 'sha256'; import Boom from 'boom'; -export class User{ +export class User { constructor(data = {}){ // user information this.id = data.id || uuidv4(); diff --git a/Tomoe/Core/src/server/src/classes/generic/index.js b/Tomoe/Core/src/server/src/classes/generic/index.js new file mode 100644 index 0000000..c6e37b2 --- /dev/null +++ b/Tomoe/Core/src/server/src/classes/generic/index.js @@ -0,0 +1,2 @@ +export * from './User'; +export * from './Event'; diff --git a/Tomoe/Core/src/server/src/classes/index.js b/Tomoe/Core/src/server/src/classes/index.js new file mode 100644 index 0000000..480e2d0 --- /dev/null +++ b/Tomoe/Core/src/server/src/classes/index.js @@ -0,0 +1,2 @@ +export * from './generic'; +export * from './strict'; diff --git a/Tomoe/src/server/src/collections/Admin.js b/Tomoe/Core/src/server/src/classes/strict/Admin.js similarity index 96% rename from Tomoe/src/server/src/collections/Admin.js rename to Tomoe/Core/src/server/src/classes/strict/Admin.js index 12d3fc9..7ecc1e0 100644 --- a/Tomoe/src/server/src/collections/Admin.js +++ b/Tomoe/Core/src/server/src/classes/strict/Admin.js @@ -1,4 +1,4 @@ -import { User } from './'; +import { User } from '../'; export class Admin extends User{ constructor(data = {}){ diff --git a/Tomoe/Core/src/server/src/classes/strict/index.js b/Tomoe/Core/src/server/src/classes/strict/index.js new file mode 100644 index 0000000..c956a8f --- /dev/null +++ b/Tomoe/Core/src/server/src/classes/strict/index.js @@ -0,0 +1 @@ +export * from './Admin'; diff --git a/Tomoe/src/server/src/database.js b/Tomoe/Core/src/server/src/database.js similarity index 100% rename from Tomoe/src/server/src/database.js rename to Tomoe/Core/src/server/src/database.js diff --git a/Tomoe/src/server/src/handlers/admin.js b/Tomoe/Core/src/server/src/handlers/admin.js similarity index 98% rename from Tomoe/src/server/src/handlers/admin.js rename to Tomoe/Core/src/server/src/handlers/admin.js index da3df63..21b9deb 100644 --- a/Tomoe/src/server/src/handlers/admin.js +++ b/Tomoe/Core/src/server/src/handlers/admin.js @@ -1,4 +1,4 @@ -import { Admin } from '../collections' +import { Admin } from '../classes' import { operatorSearch, respond, transformData, setSearchParam } from '../util'; import Joi from 'joi'; import Boom from 'boom'; diff --git a/Tomoe/Core/src/server/src/handlers/index.js b/Tomoe/Core/src/server/src/handlers/index.js new file mode 100644 index 0000000..e9c8561 --- /dev/null +++ b/Tomoe/Core/src/server/src/handlers/index.js @@ -0,0 +1 @@ +export * from './admin' diff --git a/Tomoe/src/server/src/routes/admin.js b/Tomoe/Core/src/server/src/routes/admin.js similarity index 100% rename from Tomoe/src/server/src/routes/admin.js rename to Tomoe/Core/src/server/src/routes/admin.js diff --git a/Tomoe/Core/src/server/src/routes/index.js b/Tomoe/Core/src/server/src/routes/index.js new file mode 100644 index 0000000..8c82d1a --- /dev/null +++ b/Tomoe/Core/src/server/src/routes/index.js @@ -0,0 +1,10 @@ +import adminRoutes from './admin'; + +import { getExtensionContent } from '../util'; + +const routes = [ + ...adminRoutes, + ...getExtensionContent('routes'), +]; + +export default routes; diff --git a/Tomoe/src/server/src/server.js b/Tomoe/Core/src/server/src/server.js similarity index 100% rename from Tomoe/src/server/src/server.js rename to Tomoe/Core/src/server/src/server.js diff --git a/Tomoe/src/server/src/templates/.gitkeep b/Tomoe/Core/src/server/src/templates/.gitkeep similarity index 100% rename from Tomoe/src/server/src/templates/.gitkeep rename to Tomoe/Core/src/server/src/templates/.gitkeep diff --git a/Tomoe/Core/src/server/src/util/extension-handler.js b/Tomoe/Core/src/server/src/util/extension-handler.js new file mode 100644 index 0000000..f6ea5c2 --- /dev/null +++ b/Tomoe/Core/src/server/src/util/extension-handler.js @@ -0,0 +1,14 @@ +const { extensions } = TOMOE_CONFIG; +const EXTENSION_ROOT = '../../../extensions'; + +export function getExtensionContent(extensionType){ + return extensions.map((extName) => { + const extRoute = require(`${EXTENSION_ROOT}/${extName}/config.json`).injectables[extensionType]; + + if(extRoute) { + return require(`${EXTENSION_ROOT}/${extName}/src/${extRoute}`).default; + } + + return null; + }); +}; diff --git a/Tomoe/src/server/src/util/index.js b/Tomoe/Core/src/server/src/util/index.js similarity index 78% rename from Tomoe/src/server/src/util/index.js rename to Tomoe/Core/src/server/src/util/index.js index e5b50a8..81ece09 100644 --- a/Tomoe/src/server/src/util/index.js +++ b/Tomoe/Core/src/server/src/util/index.js @@ -2,3 +2,4 @@ export * from './operator-search'; export * from './respond'; export * from './transform-data' export * from './set-search-param' +export * from './extension-handler' diff --git a/Tomoe/src/server/src/util/operator-search.js b/Tomoe/Core/src/server/src/util/operator-search.js similarity index 100% rename from Tomoe/src/server/src/util/operator-search.js rename to Tomoe/Core/src/server/src/util/operator-search.js diff --git a/Tomoe/src/server/src/util/respond.js b/Tomoe/Core/src/server/src/util/respond.js similarity index 100% rename from Tomoe/src/server/src/util/respond.js rename to Tomoe/Core/src/server/src/util/respond.js diff --git a/Tomoe/src/server/src/util/set-search-param.js b/Tomoe/Core/src/server/src/util/set-search-param.js similarity index 100% rename from Tomoe/src/server/src/util/set-search-param.js rename to Tomoe/Core/src/server/src/util/set-search-param.js diff --git a/Tomoe/src/server/src/util/transform-data.js b/Tomoe/Core/src/server/src/util/transform-data.js similarity index 100% rename from Tomoe/src/server/src/util/transform-data.js rename to Tomoe/Core/src/server/src/util/transform-data.js diff --git a/Tomoe/src/server/src/validators/admin.js b/Tomoe/Core/src/server/src/validators/admin.js similarity index 100% rename from Tomoe/src/server/src/validators/admin.js rename to Tomoe/Core/src/server/src/validators/admin.js diff --git a/Tomoe/Core/src/server/src/validators/index.js b/Tomoe/Core/src/server/src/validators/index.js new file mode 100644 index 0000000..e9c8561 --- /dev/null +++ b/Tomoe/Core/src/server/src/validators/index.js @@ -0,0 +1 @@ +export * from './admin' diff --git a/Tomoe/src/server/tests/after.spec.js b/Tomoe/Core/src/server/tests/after.spec.js similarity index 100% rename from Tomoe/src/server/tests/after.spec.js rename to Tomoe/Core/src/server/tests/after.spec.js diff --git a/Tomoe/src/server/tests/collections/Admin.spec.js b/Tomoe/Core/src/server/tests/collections/Admin.spec.js similarity index 100% rename from Tomoe/src/server/tests/collections/Admin.spec.js rename to Tomoe/Core/src/server/tests/collections/Admin.spec.js diff --git a/Tomoe/src/server/tests/collections/Hacker.spec.js b/Tomoe/Core/src/server/tests/collections/Hacker.spec.js similarity index 100% rename from Tomoe/src/server/tests/collections/Hacker.spec.js rename to Tomoe/Core/src/server/tests/collections/Hacker.spec.js diff --git a/Tomoe/src/server/tests/collections/Volunteer.spec.js b/Tomoe/Core/src/server/tests/collections/Volunteer.spec.js similarity index 100% rename from Tomoe/src/server/tests/collections/Volunteer.spec.js rename to Tomoe/Core/src/server/tests/collections/Volunteer.spec.js diff --git a/Tomoe/src/server/tests/collections/user.spec.js b/Tomoe/Core/src/server/tests/collections/user.spec.js similarity index 100% rename from Tomoe/src/server/tests/collections/user.spec.js rename to Tomoe/Core/src/server/tests/collections/user.spec.js diff --git a/Tomoe/src/server/tests/constants.js b/Tomoe/Core/src/server/tests/constants.js similarity index 100% rename from Tomoe/src/server/tests/constants.js rename to Tomoe/Core/src/server/tests/constants.js diff --git a/Tomoe/src/server/tests/routes/admin.spec.js b/Tomoe/Core/src/server/tests/routes/admin.spec.js similarity index 100% rename from Tomoe/src/server/tests/routes/admin.spec.js rename to Tomoe/Core/src/server/tests/routes/admin.spec.js diff --git a/Tomoe/src/server/tests/routes/hacker.spec.js b/Tomoe/Core/src/server/tests/routes/hacker.spec.js similarity index 100% rename from Tomoe/src/server/tests/routes/hacker.spec.js rename to Tomoe/Core/src/server/tests/routes/hacker.spec.js diff --git a/Tomoe/src/server/tests/routes/volunteer.spec.js b/Tomoe/Core/src/server/tests/routes/volunteer.spec.js similarity index 100% rename from Tomoe/src/server/tests/routes/volunteer.spec.js rename to Tomoe/Core/src/server/tests/routes/volunteer.spec.js diff --git a/Tomoe/src/server/tests/util/clear-documents.js b/Tomoe/Core/src/server/tests/util/clear-documents.js similarity index 100% rename from Tomoe/src/server/tests/util/clear-documents.js rename to Tomoe/Core/src/server/tests/util/clear-documents.js diff --git a/Tomoe/src/server/tests/util/index.js b/Tomoe/Core/src/server/tests/util/index.js similarity index 100% rename from Tomoe/src/server/tests/util/index.js rename to Tomoe/Core/src/server/tests/util/index.js diff --git a/Tomoe/yarn.lock b/Tomoe/Core/yarn.lock similarity index 100% rename from Tomoe/yarn.lock rename to Tomoe/Core/yarn.lock diff --git a/Tomoe/src/server/src/collections/index.js b/Tomoe/src/server/src/collections/index.js deleted file mode 100644 index e2b84a2..0000000 --- a/Tomoe/src/server/src/collections/index.js +++ /dev/null @@ -1,4 +0,0 @@ -export * from './User'; -export * from './Admin'; -export * from './Hacker'; -export * from './Volunteer'; diff --git a/Tomoe/src/server/src/handlers/index.js b/Tomoe/src/server/src/handlers/index.js deleted file mode 100644 index 691e0d2..0000000 --- a/Tomoe/src/server/src/handlers/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export * from './hacker' -export * from './admin' -export * from './volunteer' diff --git a/Tomoe/src/server/src/validators/index.js b/Tomoe/src/server/src/validators/index.js deleted file mode 100644 index 691e0d2..0000000 --- a/Tomoe/src/server/src/validators/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export * from './hacker' -export * from './admin' -export * from './volunteer'