Skip to content
This repository was archived by the owner on May 30, 2019. It is now read-only.

Commit 3c68ad8

Browse files
Charles Greerlaurelnaiad
authored andcommitted
Fixes issue #312, missing owner
1 parent 670e8ef commit 3c68ad8

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

database/transforms/search-response.sjs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,29 @@ function joinReputations(ownerNodes) {
4242
/* this function requires bulk input */
4343
function searchTransform(context, params, input) {
4444
var outputObject = input.toObject();
45+
if (outputObject.owner === undefined) {
46+
outputObject.owner = {
47+
id : "unknown",
48+
userName : "unknown",
49+
displayName : "unknown",
50+
reputation : 0
51+
};
52+
}
4553
var ownerNodes = input.xpath(".//owner");
4654
if (ownerNodes.count > 0) {
4755
var joinedOwners = joinReputations(ownerNodes);
4856
outputObject.owner = joinedOwners[outputObject.owner.id];
49-
if (outputObject.owner === undefined) {
50-
outputObject.owner = {
51-
id : "unknown",
52-
userName : "unknown",
53-
displayName : "unknown",
54-
reputation : 0
55-
};
56-
}
5757
if (outputObject.answers !== undefined) {
5858
for (var i=0; i < outputObject.answers.length; i++) {
5959
var answer = outputObject.answers[i];
60-
if (answer.owner !== undefined) {
61-
answer.owner = joinedOwners[answer.owner.id];
60+
answer.owner = joinedOwners[answer.owner.id];
61+
if (answer.owner === undefined) {
62+
answer.owner = {
63+
id : "unknown",
64+
userName : "unknown",
65+
displayName : "unknown",
66+
reputation : 0
67+
};
6268
}
6369
}
6470
}
@@ -71,7 +77,7 @@ function searchTransform(context, params, input) {
7177
} else {
7278
for (var i = 0; i < results.length; i++) {
7379
var result = results[i];
74-
var matches = result.matches; // HEAD will need snippets here
80+
var matches = result.matches;
7581
var uri = result.uri;
7682
var sourceDoc = fn.doc(uri).next().value;
7783
for (var j = 0; j < matches.length; j++) {
@@ -109,6 +115,7 @@ function searchTransform(context, params, input) {
109115
delete match.path;
110116
}
111117
}
118+
delete outputObject.owner; // from spurious cleanup action at start of function. TODO ensure all data have owner object on root.
112119
return outputObject;
113120
}
114121
}

0 commit comments

Comments
 (0)