@hestia-earth/api 0.9.27 → 0.9.28-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -63,12 +63,19 @@ exports.pathWithState = function (type, id, dataState) {
63
63
  exports.nodeTypeToParam = function (type) { return (type || '').toLowerCase() + "s"; };
64
64
  exports.paramToNodeType = function (type) { return Object.values(schema_1.NodeType).find(function (v) { return exports.nodeTypeToParam(v) === type; }); };
65
65
  var csvValue = function (value) { return (value || '').replace('[', '').replace(']', ''); };
66
- var parseMessage = function (message) { return JSON.parse(message).message.split(',').reduce(function (prev, parts) {
67
- var _a;
68
- var _b = parts.split('='), key = _b[0], value = _b[1];
69
- var val = csvValue(value);
70
- return __assign(__assign({}, prev), (key && val ? (_a = {}, _a[key.trim()] = val, _a) : {}));
71
- }, {}); };
66
+ var parseMessage = function (message) {
67
+ try {
68
+ return JSON.parse(message).message.split(',').reduce(function (prev, parts) {
69
+ var _a;
70
+ var _b = parts.split('='), key = _b[0], value = _b[1];
71
+ var val = csvValue(value);
72
+ return __assign(__assign({}, prev), (key && val ? (_a = {}, _a[key.trim()] = val, _a) : {}));
73
+ }, {});
74
+ }
75
+ catch (err) {
76
+ return {};
77
+ }
78
+ };
72
79
  var termTypes = Object.values(schema_1.TermTermType);
73
80
  var parseFilename = function (filepath) {
74
81
  var filename = filepath.split('.')[0];
@@ -1,3 +1,4 @@
1
+ import { IActorJSONLD } from '@hestia-earth/schema';
1
2
  import { BaseModel } from '../../db/model.base';
2
3
  export declare const defaultMaxApiCalls = 100;
3
4
  export declare enum MaxUploads {
@@ -23,6 +24,7 @@ export declare class User extends BaseModel {
23
24
  emailNotificationsSuccess: boolean;
24
25
  emailNotificationsFailure: boolean;
25
26
  emailNotificationsFeedback: boolean;
27
+ autoSubmitPrivateSubmissions: boolean;
26
28
  confirmToken?: string;
27
29
  confirmedAt?: Date;
28
30
  scopusID?: string;
@@ -41,4 +43,5 @@ export declare const name: ({ firstName, lastName }: Partial<User>) => string;
41
43
  export declare const isAdmin: ({ role }: Partial<User>) => boolean;
42
44
  export declare const isDeveloper: ({ role }: Partial<User>) => boolean;
43
45
  export declare const contains: (users: Partial<User>[], user: Partial<User>) => boolean;
44
- export declare const actorId: ({ id }: Partial<User>) => string;
46
+ export declare const actorId: (user: Partial<User>) => string;
47
+ export declare const userToActor: (user: Partial<User>, domain?: string) => Partial<IActorJSONLD>;
@@ -12,8 +12,20 @@ var __extends = (this && this.__extends) || (function () {
12
12
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
13
  };
14
14
  })();
15
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
15
26
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.actorId = exports.contains = exports.isDeveloper = exports.isAdmin = exports.name = exports.User = exports.UserRole = exports.MaxUploads = exports.defaultMaxApiCalls = void 0;
27
+ exports.userToActor = exports.actorId = exports.contains = exports.isDeveloper = exports.isAdmin = exports.name = exports.User = exports.UserRole = exports.MaxUploads = exports.defaultMaxApiCalls = void 0;
28
+ var schema_1 = require("@hestia-earth/schema");
17
29
  var model_base_1 = require("../../db/model.base");
18
30
  exports.defaultMaxApiCalls = 100;
19
31
  var MaxUploads;
@@ -51,7 +63,14 @@ exports.isDeveloper = function (_a) {
51
63
  ].includes(role);
52
64
  };
53
65
  exports.contains = function (users, user) { return users.some(function (u) { return u.email === user.email; }); };
54
- exports.actorId = function (_a) {
55
- var id = _a.id;
56
- return "" + id.toString();
66
+ exports.actorId = function (user) { return "" + (user._id || user.id).toString(); };
67
+ var jsonLDContext = function (type, domain) { return domain + "/schema/" + type + ".jsonld"; };
68
+ var addIfDefined = function (key, value) {
69
+ var _a;
70
+ return !!value ? (_a = {}, _a[key] = value, _a) : {};
71
+ };
72
+ var profileData = function (user) { return (user.dataPrivate ? {} : __assign(__assign(__assign(__assign(__assign(__assign({ email: user.email, firstName: user.firstName, lastName: user.lastName, name: user.displayName || exports.name(user) }, addIfDefined('scopusID', user.scopusID)), addIfDefined('orcid', user.orcid)), addIfDefined('primaryInstitution', user.primaryInstitution)), addIfDefined('city', user.city)), addIfDefined('country', user.country ? { type: schema_1.NodeType.Term, name: user.country } : undefined)), addIfDefined('website', user.website ? { '@id': user.website } : undefined))); };
73
+ exports.userToActor = function (user, domain) {
74
+ if (domain === void 0) { domain = 'https://hestia.earth'; }
75
+ return (__assign({ '@context': jsonLDContext(schema_1.NodeType.Actor, domain), '@type': schema_1.NodeType.Actor, '@id': exports.actorId(user), dataPrivate: user.dataPrivate }, profileData(user)));
57
76
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hestia-earth/api",
3
- "version": "0.9.27",
3
+ "version": "0.9.28-2",
4
4
  "description": "Hestia API definitions",
5
5
  "main": "dist/models.js",
6
6
  "typings": "dist/models.d.ts",
@@ -74,6 +74,7 @@
74
74
  "eslint": "^7.32.0",
75
75
  "eslint-plugin-jsdoc": "^25.4.3",
76
76
  "express": "^4.17.2",
77
+ "express-async-errors": "^3.1.1",
77
78
  "express-recaptcha": "^5.0.2",
78
79
  "express-redis-cache": "^1.1.3",
79
80
  "express-session": "^1.17.2",