diff --git a/.meteor/.finished-upgraders b/.meteor/.finished-upgraders index ce276f3..910574c 100644 --- a/.meteor/.finished-upgraders +++ b/.meteor/.finished-upgraders @@ -14,3 +14,4 @@ notices-for-facebook-graph-api-2 1.4.0-remove-old-dev-bundle-link 1.4.1-add-shell-server-package 1.4.3-split-account-service-packages +1.5-add-dynamic-import-package diff --git a/.meteor/packages b/.meteor/packages index 628ed8d..c710a80 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -4,31 +4,32 @@ # 'meteor add' and 'meteor remove' will edit this file for you, # but you can also edit it by hand. -meteor-base@1.0.4 # Packages every Meteor app needs to have +meteor-base@1.1.0 # Packages every Meteor app needs to have mobile-experience@1.0.4 # Packages for a great mobile UX -mongo@1.1.17 # The database Meteor supports right now -blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views +mongo@1.1.18 # The database Meteor supports right now reactive-var@1.0.11 # Reactive variable for tracker tracker@1.1.3 # Meteor's client-side reactive programming library standard-minifier-css@1.3.4 # CSS minifier run for production mode -standard-minifier-js@2.0.0 # JS minifier run for production mode +standard-minifier-js@2.1.0 # JS minifier run for production mode es5-shim@4.6.15 # ECMAScript 5 compatibility for older browsers. -ecmascript@0.7.3 # Enable ECMAScript2015+ syntax in app code +ecmascript@0.8.0 # Enable ECMAScript2015+ syntax in app code shell-server@0.2.3 # Server-side component of the `meteor shell` command react-meteor-data alanning:roles fourseven:scss twbs:bootstrap -accounts-base@1.2.17 +accounts-base@1.3.0 accounts-password@1.3.6 service-configuration@1.0.11 -accounts-facebook@1.1.1 -accounts-github@1.2.1 -accounts-google@1.1.2 +accounts-facebook@1.2.0 +accounts-github@1.3.0 +accounts-google@1.2.0 themeteorchef:bert fortawesome:fontawesome aldeed:collection2-core@2.0.0 audit-argument-checks@1.0.7 ddp-rate-limiter@1.0.7 +dynamic-import +static-html diff --git a/.meteor/release b/.meteor/release index 01490b6..025f64e 100644 --- a/.meteor/release +++ b/.meteor/release @@ -1 +1 @@ -METEOR@1.4.4.3 +METEOR@1.5 diff --git a/.meteor/versions b/.meteor/versions index d151e1f..e8ba76a 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -1,7 +1,7 @@ -accounts-base@1.2.17 -accounts-facebook@1.1.1 -accounts-github@1.2.1 -accounts-google@1.1.2 +accounts-base@1.3.0 +accounts-facebook@1.2.0 +accounts-github@1.3.0 +accounts-google@1.2.0 accounts-oauth@1.1.15 accounts-password@1.3.6 alanning:roles@1.2.16 @@ -9,14 +9,13 @@ aldeed:collection2-core@2.0.1 allow-deny@1.0.5 audit-argument-checks@1.0.7 autoupdate@1.3.12 -babel-compiler@6.18.2 +babel-compiler@6.19.1 babel-runtime@1.0.1 base64@1.0.10 binary-heap@1.0.10 blaze@2.3.2 -blaze-html-templates@1.1.2 blaze-tools@1.0.10 -boilerplate-generator@1.0.11 +boilerplate-generator@1.1.0 caching-compiler@1.1.9 caching-html-compiler@1.1.2 callback-hook@1.0.10 @@ -28,12 +27,15 @@ ddp-rate-limiter@1.0.7 ddp-server@1.3.14 deps@1.0.12 diff-sequence@1.0.7 -ecmascript@0.7.3 -ecmascript-runtime@0.3.15 +dynamic-import@0.1.0 +ecmascript@0.8.0 +ecmascript-runtime@0.4.1 +ecmascript-runtime-client@0.4.1 +ecmascript-runtime-server@0.4.1 ejson@1.0.13 email@1.2.1 es5-shim@4.6.15 -facebook-oauth@1.3.0 +facebook-oauth@1.3.1 fastclick@1.0.13 fortawesome:fontawesome@4.7.0 fourseven:scss@4.5.0 @@ -48,18 +50,18 @@ id-map@1.0.9 jquery@1.11.10 launch-screen@1.1.1 livedata@1.0.18 -localstorage@1.0.12 +localstorage@1.1.0 logging@1.1.17 meteor@1.6.1 -meteor-base@1.0.4 +meteor-base@1.1.0 minifier-css@1.2.16 -minifier-js@2.0.0 -minimongo@1.0.23 +minifier-js@2.1.0 +minimongo@1.2.0 mobile-experience@1.0.4 mobile-status-bar@1.0.14 -modules@0.8.2 -modules-runtime@0.7.10 -mongo@1.1.17 +modules@0.9.0 +modules-runtime@0.8.0 +mongo@1.1.18 mongo-id@1.0.6 npm-bcrypt@0.9.2 npm-mongo@2.2.24 @@ -67,12 +69,12 @@ oauth@1.1.13 oauth2@1.1.11 observe-sequence@1.0.16 ordered-dict@1.0.9 -promise@0.8.8 +promise@0.8.9 raix:eventemitter@0.1.3 random@1.0.10 rate-limit@1.0.8 react-meteor-data@0.2.11 -reactive-dict@1.1.8 +reactive-dict@1.1.9 reactive-var@1.0.11 reload@1.1.11 retry@1.0.9 @@ -85,7 +87,8 @@ spacebars@1.0.15 spacebars-compiler@1.1.2 srp@1.0.10 standard-minifier-css@1.3.4 -standard-minifier-js@2.0.0 +standard-minifier-js@2.1.0 +static-html@1.2.2 templating@1.3.2 templating-compiler@1.3.2 templating-runtime@1.3.2 @@ -97,5 +100,5 @@ twbs:bootstrap@3.3.6 ui@1.0.13 underscore@1.0.10 url@1.1.0 -webapp@1.3.15 +webapp@1.3.16 webapp-hashing@1.0.9 diff --git a/imports/api/OAuth/server/methods.js b/imports/api/OAuth/server/methods.js index c3de385..6696da4 100644 --- a/imports/api/OAuth/server/methods.js +++ b/imports/api/OAuth/server/methods.js @@ -1,14 +1,30 @@ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import { ServiceConfiguration } from 'meteor/service-configuration'; +import rateLimit from '../../../modules/rate-limit'; Meteor.methods({ 'oauth.verifyConfiguration': function oauthVerifyConfiguration(services) { check(services, Array); - const verifiedServices = []; - services.forEach((service) => { - if (ServiceConfiguration.configurations.findOne({ service })) verifiedServices.push(service); - }); - return verifiedServices.sort(); + + try { + const verifiedServices = []; + services.forEach((service) => { + if (ServiceConfiguration.configurations.findOne({ service })) { + verifiedServices.push(service); + } + }); + return verifiedServices.sort(); + } catch (exception) { + throw new Meteor.Error('500', exception); + } }, }); + +rateLimit({ + methods: [ + 'oauth.verifyConfiguration', + ], + limit: 5, + timeRange: 1000, +}); diff --git a/imports/modules/server/edit-profile.js b/imports/api/Users/server/edit-profile.js similarity index 100% rename from imports/modules/server/edit-profile.js rename to imports/api/Users/server/edit-profile.js diff --git a/imports/api/Users/server/methods.js b/imports/api/Users/server/methods.js index 85d4bdd..23d3929 100644 --- a/imports/api/Users/server/methods.js +++ b/imports/api/Users/server/methods.js @@ -1,6 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { check, Match } from 'meteor/check'; -import editProfile from '../../../modules/server/edit-profile'; +import editProfile from './edit-profile'; import rateLimit from '../../../modules/rate-limit'; Meteor.methods({ diff --git a/imports/api/Utility/server/methods.js b/imports/api/Utility/server/methods.js index f424e84..498caae 100644 --- a/imports/api/Utility/server/methods.js +++ b/imports/api/Utility/server/methods.js @@ -4,7 +4,7 @@ import getPrivateFile from '../../../modules/server/get-private-file'; import parseMarkdown from '../../../modules/parse-markdown'; Meteor.methods({ - 'utility.getPage': function utilityReadFileAsText(fileName) { + 'utility.getPage': function utilityGetPage(fileName) { check(fileName, String); return parseMarkdown(getPrivateFile(`pages/${fileName}.md`)); }, diff --git a/imports/ui/components/InputHint/InputHint.scss b/imports/ui/components/InputHint/InputHint.css similarity index 100% rename from imports/ui/components/InputHint/InputHint.scss rename to imports/ui/components/InputHint/InputHint.css diff --git a/imports/ui/components/InputHint/InputHint.js b/imports/ui/components/InputHint/InputHint.js index 6342880..1144379 100644 --- a/imports/ui/components/InputHint/InputHint.js +++ b/imports/ui/components/InputHint/InputHint.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import './InputHint.scss'; +import './InputHint.css'; const InputHint = ({ children }) => (