Skip to content

Commit c8b4b08

Browse files
committed
feature/usersettings - added service & model for user settings feature
1 parent d6f0052 commit c8b4b08

File tree

7 files changed

+98
-1
lines changed

7 files changed

+98
-1
lines changed

server/models/usersettings.model.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// usersettings-model.js - A mongoose model
2+
//
3+
// See http://mongoosejs.com/docs/models.html
4+
// for more of what you can do here.
5+
6+
module.exports = function (app) {
7+
const mongooseClient = app.get('mongooseClient');
8+
const usersettings = new mongooseClient.Schema({
9+
userId: {type: String, required: true, unique: true},
10+
uiLanguage: {type: String, required: true, default: 'de'},
11+
contributionLanguage: {type: Array, default: ['de']},
12+
updatedAt: { type: Date, default: Date.now }
13+
});
14+
15+
return mongooseClient.model('usersettings', usersettings);
16+
};

server/seeder/development/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module.exports = function () {
1515
require('./comments'),
1616
require('./emotions'),
1717
require('./invites'),
18-
require('./shouts')
18+
require('./shouts'),
19+
require('./usersettings')
1920
];
2021
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const seedHelpers = require('../../helper/seed-helpers');
2+
3+
// eslint-disable-next-line no-unused-vars
4+
module.exports = (seederstore) => {
5+
return {
6+
services: [{
7+
path: 'usersettings',
8+
count: 500,
9+
template: {
10+
userId: () => seedHelpers.randomItem(seederstore.users)._id,
11+
uiLanguage: ['de'],
12+
contributionLanguage: ['de']
13+
}
14+
}]
15+
};
16+
};

server/services/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const admin = require('./admin/admin.service.js');
1818
const invites = require('./invites/invites.service.js');
1919
const usersCandos = require('./users-candos/users-candos.service.js');
2020
const search = require('./search/search.service.js');
21+
const usersettings = require('./usersettings/usersettings.service.js');
2122

2223
module.exports = function () {
2324
const app = this; // eslint-disable-line no-unused-vars
@@ -41,4 +42,5 @@ module.exports = function () {
4142
app.configure(invites);
4243
app.configure(usersCandos);
4344
app.configure(search);
45+
app.configure(usersettings);
4446
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* eslint no-console: 1 */
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
3+
module.exports = {
4+
before: {
5+
all: [
6+
],
7+
find: [],
8+
get: [],
9+
create: [],
10+
update: [],
11+
patch: [],
12+
remove: []
13+
},
14+
after: {
15+
all: [],
16+
find: [],
17+
get: [],
18+
create: [],
19+
update: [],
20+
patch: [],
21+
remove: []
22+
},
23+
error: {
24+
all: [],
25+
find: [],
26+
get: [],
27+
create: [],
28+
update: [],
29+
patch: [],
30+
remove: []
31+
}
32+
};
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Initializes the `users` service on path `/users`
2+
const createService = require('feathers-mongoose');
3+
const createModel = require('../../models/usersettings.model');
4+
const hooks = require('./usersettings.hooks');
5+
const filters = require('./usersettings.filters');
6+
7+
module.exports = function () {
8+
const app = this;
9+
const Model = createModel(app);
10+
const paginate = app.get('paginate');
11+
12+
const options = {
13+
name: 'usersettings',
14+
Model,
15+
paginate
16+
};
17+
18+
// Initialize our service with any options it requires
19+
app.use('/usersettings', createService(options));
20+
21+
// Get our initialized service so that we can register hooks and filters
22+
const service = app.service('usersettings');
23+
24+
service.hooks(hooks);
25+
26+
if (service.filter) {
27+
service.filter(filters);
28+
}
29+
};

0 commit comments

Comments
 (0)