1 | 'use strict';
|
2 |
|
3 | module.exports = function (errors) {
|
4 | var jsonapi = {
|
5 | errors: []
|
6 | };
|
7 |
|
8 | errors.forEach(function (error) {
|
9 | var opts = {};
|
10 |
|
11 | if (error.id) { opts.id = error.id; }
|
12 | if (error.status) { opts.status = error.status; }
|
13 | if (error.code) { opts.code = error.code; }
|
14 | if (error.title) { opts.title = error.title; }
|
15 | if (error.detail) { opts.detail = error.detail; }
|
16 |
|
17 | if (error.source) {
|
18 | opts.source = {};
|
19 |
|
20 | if (error.source.pointer) {
|
21 | opts.source.pointer = error.source.pointer;
|
22 | }
|
23 |
|
24 | if (error.source.parameter) {
|
25 | opts.source.parameter = error.source.parameter;
|
26 | }
|
27 | }
|
28 |
|
29 | if (error.links) {
|
30 | opts.links = { about: error.links.about };
|
31 | }
|
32 |
|
33 | if (error.meta) {
|
34 | opts.meta = error.meta;
|
35 | }
|
36 |
|
37 | jsonapi.errors.push(opts);
|
38 | });
|
39 |
|
40 | return jsonapi;
|
41 | };
|