Skip to content
This repository was archived by the owner on Jul 16, 2020. It is now read-only.

Commit 68262d2

Browse files
author
ricokahler
committed
clean up and fix bug
1 parent e1c10af commit 68262d2

File tree

3 files changed

+20
-33
lines changed

3 files changed

+20
-33
lines changed

src/client/routes/degree-manager/degree-manager.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const { Slide, Slides } = createSlides();
2020
interface DegreeEditorProps {
2121
locationPathname: string;
2222
masteredDegrees: Model.MasteredDegree.Model[];
23-
onCreateDegree: (degreeName: string) => void;
2423
onMasteredDegreeClick: (masteredDegreeId: string) => void;
2524
}
2625
interface DegreeEditorState {

src/client/routes/degree-manager/index.ts

+1-25
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,7 @@ const Container = Model.store.connect({
1111
locationPathname: history.location.pathname,
1212
masteredDegrees: Model.MasteredDegrees.getAsArray(state.masteredDegrees),
1313
}),
14-
mapDispatchToProps: dispatch => ({
15-
onCreateDegree: (degreeName: string) => {
16-
dispatch(state => {
17-
const newDegreeId = ObjectId();
18-
const lastPosition = Model.MasteredDegrees.getLastPosition(state.masteredDegrees);
19-
const newDegree = Model.MasteredDegree.createNewMasteredDegree(
20-
degreeName,
21-
lastPosition,
22-
newDegreeId,
23-
);
24-
25-
setTimeout(() => {
26-
// TODO: this is kind of a hack
27-
history.push(`/degree-manager/${newDegreeId}`);
28-
}, 100);
29-
30-
return {
31-
...state,
32-
masteredDegrees: Model.MasteredDegrees.addMasteredDegree(
33-
state.masteredDegrees,
34-
newDegree,
35-
),
36-
};
37-
});
38-
},
14+
mapDispatchToProps: () => ({
3915
onMasteredDegreeClick: (masteredDegreeId: string) => {
4016
history.push(`/degree-manager/${masteredDegreeId}`);
4117
},

src/server/degrees.ts

+19-7
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,25 @@ degrees.get('/', async (req, res) => {
99
const { degrees } = await dbConnection;
1010
const allDegrees = await degrees.find({}).toArray();
1111

12-
const combinedDegrees = allDegrees.reduce(
13-
(combined, next) => {
14-
combined[next.id] = next;
15-
return combined;
16-
},
17-
{} as any,
18-
);
12+
const combinedDegrees = allDegrees
13+
.map(degree =>
14+
Object.entries(degree)
15+
.filter(([prop]) => prop === '_id')
16+
.reduce(
17+
(degree, [key, value]) => {
18+
degree[key] = value;
19+
return degree;
20+
},
21+
{} as any,
22+
),
23+
)
24+
.reduce(
25+
(combined, next) => {
26+
combined[next.id] = next;
27+
return combined;
28+
},
29+
{} as any,
30+
);
1931

2032
res.json(combinedDegrees);
2133

0 commit comments

Comments
 (0)