@hestia-earth/api 0.25.61 → 0.25.62
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IActorJSONLD } from '@hestia-earth/schema';
|
|
2
2
|
import { BaseModel } from '../../db/model.base';
|
|
3
3
|
export declare const defaultMaxApiCalls = 100;
|
|
4
|
+
export declare const userPermissionRequestTimeout: number;
|
|
4
5
|
export declare enum MaxUploads {
|
|
5
6
|
New = 1,
|
|
6
7
|
Confirmed = 10
|
|
@@ -79,6 +80,7 @@ export declare const isAdmin: (user?: Pick<User, "role">) => boolean;
|
|
|
79
80
|
export declare const isReviewer: (user?: Pick<User, "role">) => boolean;
|
|
80
81
|
export declare const isDeveloper: (user?: Pick<User, "role">) => boolean;
|
|
81
82
|
export declare const hasPermission: (permission: UserPermission, user?: Pick<User, "role" | "permissions">) => boolean;
|
|
83
|
+
export declare const isPermissionRequestExpired: (request: UserPermissionRequest, timeout?: number) => boolean;
|
|
82
84
|
export declare const contains: (users: Partial<User>[], user: Partial<User>) => boolean;
|
|
83
85
|
export declare const actorId: (user: Partial<User>) => string;
|
|
84
86
|
export declare const userToActor: (user: Partial<User>, domain?: string) => Partial<IActorJSONLD>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.userToActor = exports.actorId = exports.contains = exports.hasPermission = exports.isDeveloper = exports.isReviewer = exports.isAdmin = exports.name = exports.User = exports.UserPermissionRequestStatus = exports.UserPermission = exports.UserRole = exports.MaxUploads = exports.defaultMaxApiCalls = void 0;
|
|
3
|
+
exports.userToActor = exports.actorId = exports.contains = exports.isPermissionRequestExpired = exports.hasPermission = exports.isDeveloper = exports.isReviewer = exports.isAdmin = exports.name = exports.User = exports.UserPermissionRequestStatus = exports.UserPermission = exports.UserRole = exports.MaxUploads = exports.userPermissionRequestTimeout = exports.defaultMaxApiCalls = void 0;
|
|
4
4
|
const schema_1 = require("@hestia-earth/schema");
|
|
5
|
+
const utils_1 = require("@hestia-earth/utils");
|
|
5
6
|
const model_base_1 = require("../../db/model.base");
|
|
6
7
|
exports.defaultMaxApiCalls = 100;
|
|
8
|
+
exports.userPermissionRequestTimeout = 7 * utils_1.dayMs;
|
|
7
9
|
var MaxUploads;
|
|
8
10
|
(function (MaxUploads) {
|
|
9
11
|
MaxUploads[MaxUploads["New"] = 1] = "New";
|
|
@@ -83,6 +85,8 @@ const isDeveloper = (user) => [UserRole.Developer, UserRole.Reviewer, UserRole.A
|
|
|
83
85
|
exports.isDeveloper = isDeveloper;
|
|
84
86
|
const hasPermission = (permission, user) => (0, exports.isAdmin)(user) || (user?.permissions ?? []).includes(permission);
|
|
85
87
|
exports.hasPermission = hasPermission;
|
|
88
|
+
const isPermissionRequestExpired = (request, timeout = exports.userPermissionRequestTimeout) => new Date().getTime() - new Date(request.createdAt).getTime() >= timeout;
|
|
89
|
+
exports.isPermissionRequestExpired = isPermissionRequestExpired;
|
|
86
90
|
const contains = (users, user) => users.some(u => u.email === user.email);
|
|
87
91
|
exports.contains = contains;
|
|
88
92
|
const actorId = (user) => `${(user._id || user.id).toString()}`;
|