Fixes an issue with an empty/missing/null Email coming from GitHub's
OAuth call response.
Also, introduces the `sparse` index option on the User model's Email
field. This will ensure that we can have multiple User documents without
the Email field.
Adds a server-side User model test for the sparse index setting on the
email field.
Confirms that User documents without the email field are not indexed,
illustrating the sparse option on the schema's email field works
properly.
Added the dropdb task to the Gulp test:client & test:server tasks, to
ensure we have a clean database & that any indexes are rebuilt; this
will ensure any Schema changes (in this case the email index is rebuilt using
the sparse index option) are reflected when the database is started again.
Added a UPGRADE.md for tracking important upgrade information for our
user's to be aware of, when we introduce potentially breaking changes.
Included an explanation of the Sparse index being added, and how to apply it
to an existing MEANJS application's database.
Adds a script for dropping the `email` field's index from the User
collection.
Related #1145
Sets the behavior of the test:server:watch Gulp task to only run a single
test suite if the modified server file is a test suite. Previously this was
acheived through the use of the `onlyChanged` parameter. The parameter has
been removed since this is almost certainly the only use case.
Also, refactors this Gulp task to be a stand-alone watch task rather than
including it in the 'watch' task.
Removed the need for using yargs library, and removed the yargs package
from the framework.
Closes#1297
Update the core module to implement the style guidelines.
Reduce size of init.js - moved filter logic out to it's own config.
Rename Menus to menuService
Upgrades the Mongoose version to 4.4.8.
The need to limit Mongoose version to be less than 4.4.7 is no longer
necessary due to a bug fix released with 4.4.8.
Resolves the need for #1264
Fixes an issue with Mongoose `4.4.7` that causes the database
connection.db property to be undefined. This issue is causing our builds
to fail.
Sets the Mongoose version to `~4.4.3 <4.4.7` for now until we
investigate further. This should solve the issue of our failing builds,
when the `dropdb` Grunt/Gulp task is ran with the E2E tests.
Adds an angular $urlRouterProvider service Rule to the Core module
configuration, that removes any trailing slashes in the URL for all routes.
The Rule is defined in the core routes configuration. Thus, in order for
this to work on all routes in the application, we have to inject the Core
module into each client module, as a dependecy in the client.module
configuration. Otherwise, we'd have to define the Rule in each module's route
configuration individually.
Adds missing client-side route configuration tests.
Tests demonstrate that the various route configurations can handle a trailing
slash in the URL, and gets resolved to the correct client route.
Fixes#1075