mirror of
https://github.com/vale981/grapher
synced 2025-03-10 12:56:41 -04:00
67 lines
No EOL
1.4 KiB
JavaScript
67 lines
No EOL
1.4 KiB
JavaScript
import Authors from './collection.js';
|
|
import Posts from '../posts/collection.js';
|
|
import Comments from '../comments/collection.js';
|
|
import Groups from '../groups/collection.js';
|
|
|
|
Authors.addLinks({
|
|
comments: {
|
|
collection: Comments,
|
|
inversedBy: 'author'
|
|
},
|
|
posts: {
|
|
collection: Posts,
|
|
inversedBy: 'author'
|
|
},
|
|
groups: {
|
|
type: 'many',
|
|
metadata: {},
|
|
collection: Groups,
|
|
field: 'groupIds'
|
|
}
|
|
});
|
|
|
|
Authors.addReducers({
|
|
fullName: {
|
|
body: {
|
|
name: 1
|
|
},
|
|
reduce(object) {
|
|
return 'full - ' + object.name;
|
|
}
|
|
},
|
|
groupNames: {
|
|
body: {
|
|
groups: {
|
|
name: 1
|
|
}
|
|
},
|
|
reduce(object) {
|
|
if (object.groups) {
|
|
return object.groups.map(group => 'G#' + group.name);
|
|
}
|
|
}
|
|
},
|
|
referenceReducer: {
|
|
body: {
|
|
fullName: 1
|
|
},
|
|
reduce(object) {
|
|
return 'nested - ' + object.fullName;
|
|
}
|
|
},
|
|
fullNameNested: {
|
|
body: {
|
|
profile: {
|
|
firstName: 1,
|
|
lastName: 1
|
|
}
|
|
},
|
|
reduce(object) {
|
|
if (!object.profile) {
|
|
return null;
|
|
}
|
|
|
|
return object.profile.firstName + ' ' + object.profile.lastName;
|
|
}
|
|
}
|
|
}); |