-
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathsource.js
21 lines (19 loc) · 1.27 KB
/
source.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"use strict";
var JSONAPISerializer = require("jsonapi-serializer").Serializer;
function SourceSerializer(source) {
this.serialize = function() {
return new JSONAPISerializer("source", {
keyForAttribute: "underscore_case",
attributes : [ "name", "user_id", "parent_source_id", "root_source_id", "subversions", "latest_version", "latest_version_id", "content", "version", "password", "meta" ],
topLevelLinks : {
parent : sprintf("%s/v%s/sources", baseUrl_https, version),
self : source.pageSelf!==undefined?sprintf("%s/v%s/sources/?page=%s&size=%s", baseUrl_https, version, source.pageSelf, source.size):undefined,
first : source.pageFirst!==undefined?sprintf("%s/v%s/sources/?page=%s&size=%s", baseUrl_https, version, source.pageFirst, source.size):undefined,
prev : source.pagePrev!==undefined?sprintf("%s/v%s/sources/?page=%s&size=%s", baseUrl_https, version, source.pagePrev, source.size):undefined,
next : source.pageNext!==undefined?sprintf("%s/v%s/sources/?page=%s&size=%s", baseUrl_https, version, source.pageNext, source.size):undefined,
last : source.pageLast!==undefined?sprintf("%s/v%s/sources/?page=%s&size=%s", baseUrl_https, version, source.pageLast, source.size):undefined,
}
}).serialize(source);
};
}
module.exports = SourceSerializer;