@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.
@@ -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 = {
@@ -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;
@@ -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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hestia-earth/api",
3
- "version": "0.28.42",
3
+ "version": "0.28.44",
4
4
  "description": "Hestia API definitions",
5
5
  "main": "models.js",
6
6
  "module": "esm/models.js",