@hestia-earth/api 0.28.42 → 0.28.44
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.
package/esm/files/model/model.js
CHANGED
|
@@ -263,6 +263,8 @@ export const canSubmit = (file, user) => !file.archived &&
|
|
|
263
263
|
!file.userValidatedAt &&
|
|
264
264
|
(isOwner(file, user) || isAuthorized(file, user));
|
|
265
265
|
export const isDraft = ({ filepath, filename }) => (filepath || filename || '').endsWith(SupportedExtensions.draft);
|
|
266
|
+
export const isOwnReview = (review, user) => asString(review?.user) === asString(user);
|
|
267
|
+
export const formatReviews = (reviewed = [], user) => reviewed.map(review => ({ id: review.id, date: review.date, isMine: isOwnReview(review, user) }));
|
|
266
268
|
export const canEditComment = (comment, user) => asString(comment?.user) === asString(user);
|
|
267
269
|
export const canCommitHestiaData = (file, user) => !file.archived && isValidated(file) && (isReviewer(user) || user?.canCommitHestiaData);
|
|
268
270
|
const grantAccessByRole = {
|
package/files/model/model.d.ts
CHANGED
|
@@ -124,11 +124,18 @@ export interface IFileVersionSummary {
|
|
|
124
124
|
unrequested?: number;
|
|
125
125
|
cells?: number;
|
|
126
126
|
}
|
|
127
|
+
export interface IFileVersionReview {
|
|
128
|
+
id: string;
|
|
129
|
+
user: User;
|
|
130
|
+
date: Date;
|
|
131
|
+
readonly isMine?: boolean;
|
|
132
|
+
}
|
|
127
133
|
export interface IFileVersion {
|
|
128
134
|
version: number;
|
|
129
135
|
createdAt: Date;
|
|
130
136
|
commentIds?: string[];
|
|
131
137
|
summary?: IFileVersionSummary;
|
|
138
|
+
reviewed?: IFileVersionReview[];
|
|
132
139
|
key?: string;
|
|
133
140
|
readonly changesPath?: string;
|
|
134
141
|
}
|
|
@@ -246,6 +253,8 @@ export declare const canValidate: ({ status, isPrivate, archived }: Partial<File
|
|
|
246
253
|
export declare const isValidated: ({ validatedAt, status }: Partial<File>) => boolean;
|
|
247
254
|
export declare const canSubmit: (file: Partial<File>, user: User) => boolean;
|
|
248
255
|
export declare const isDraft: ({ filepath, filename }: Partial<File>) => boolean;
|
|
256
|
+
export declare const isOwnReview: (review: IFileVersionReview, user: User) => boolean;
|
|
257
|
+
export declare const formatReviews: (reviewed: IFileVersionReview[], user: User) => IFileVersionReview[];
|
|
249
258
|
export declare const canEditComment: (comment: IFileComment, user: User) => boolean;
|
|
250
259
|
export declare const canCommitHestiaData: (file: File, user: User) => boolean;
|
|
251
260
|
export declare const hasAccess: (file: File, user: User, allowedRoles: UserRole[]) => boolean;
|
package/files/model/model.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.userFolder = exports.isFolderUpload = exports.isAdminFolder = exports.isAggregation = exports.aggregationFolder = exports.isTerm = exports.isGlossary = exports.hasReconciliationAccess = exports.isReconciliation = exports.isAnalysis = exports.reconciliationFolder = exports.termFolder = exports.glossaryFolder = exports.analysesFolder = exports.filenameFromPath = exports.rootFolderFromPath = exports.folderFromPath = exports.normalizeFolder = exports.isFilepathValid = exports.isFilenameValid = exports.canUploadFolderFile = exports.canUseFolder = exports.replaceInvalidChars = exports.validPathChars = exports.filenameWithoutExt = exports.fileToExt = exports.isSupportedExt = exports.fileExt = exports.filepathSearch = exports.filenameSearch = exports.File = exports.BaseFile = exports.FileValidationStatus = exports.FilePipelineError = exports.FilePipelineProgress = exports.FilePipelineStatus = exports.FileError = exports.FileStatus = exports.FileProgress = exports.FileFindFields = exports.HestiaExtensions = exports.finalFormatExtensions = exports.maxFileSizeByFile = exports.supplementaryExtensions = exports.studyExtensions = exports.SupportedExtensions = exports.maxFileSize = exports.maxFileSizeMb = exports.sizeInMb = exports.mb = void 0;
|
|
4
|
-
exports.hasAccess = exports.canCommitHestiaData = exports.canEditComment = exports.isDraft = exports.canSubmit = exports.isValidated = exports.canValidate = exports.validatedStatuses = exports.canRemove = exports.canForceRemove = exports.isLocked = exports.isAssigned = exports.isAuthorized = exports.isOwner = void 0;
|
|
4
|
+
exports.hasAccess = exports.canCommitHestiaData = exports.canEditComment = exports.formatReviews = exports.isOwnReview = exports.isDraft = exports.canSubmit = exports.isValidated = exports.canValidate = exports.validatedStatuses = exports.canRemove = exports.canForceRemove = exports.isLocked = exports.isAssigned = exports.isAuthorized = exports.isOwner = void 0;
|
|
5
5
|
const model_base_1 = require("../../db/model.base");
|
|
6
6
|
const model_1 = require("../../users/model/model");
|
|
7
7
|
exports.mb = 1048576;
|
|
@@ -305,6 +305,10 @@ const canSubmit = (file, user) => !file.archived &&
|
|
|
305
305
|
exports.canSubmit = canSubmit;
|
|
306
306
|
const isDraft = ({ filepath, filename }) => (filepath || filename || '').endsWith(SupportedExtensions.draft);
|
|
307
307
|
exports.isDraft = isDraft;
|
|
308
|
+
const isOwnReview = (review, user) => asString(review?.user) === asString(user);
|
|
309
|
+
exports.isOwnReview = isOwnReview;
|
|
310
|
+
const formatReviews = (reviewed = [], user) => reviewed.map(review => ({ id: review.id, date: review.date, isMine: (0, exports.isOwnReview)(review, user) }));
|
|
311
|
+
exports.formatReviews = formatReviews;
|
|
308
312
|
const canEditComment = (comment, user) => asString(comment?.user) === asString(user);
|
|
309
313
|
exports.canEditComment = canEditComment;
|
|
310
314
|
const canCommitHestiaData = (file, user) => !file.archived && (0, exports.isValidated)(file) && ((0, model_1.isReviewer)(user) || user?.canCommitHestiaData);
|