Procházet zdrojové kódy

get GROWI version fron getGrowiVersion()

Yuki Takei před 1 rokem
rodič
revize
8588af5f66

+ 2 - 1
apps/app/src/pages/utils/commons.ts

@@ -17,6 +17,7 @@ import { detectLocaleFromBrowserAcceptLanguage } from '~/server/util/locale-util
 import {
   useCurrentProductNavWidth, useCurrentSidebarContents, usePreferCollapsedMode,
 } from '~/stores/ui';
+import { getGrowiVersion } from '~/utils/growi-version';
 
 export type CommonProps = {
   namespacesRequired: string[], // i18next
@@ -92,7 +93,7 @@ export const getServerSideCommonProps: GetServerSideProps<CommonProps> = async(c
     customTitleTemplate: customizeService.customTitleTemplate,
     csrfToken: req.csrfToken(),
     isContainerFluid: configManager.getConfig('customize:isContainerFluid') ?? false,
-    growiVersion: crowi.version,
+    growiVersion: getGrowiVersion(),
     isMaintenanceMode,
     redirectDestination,
     currentUser,

+ 2 - 3
apps/app/src/server/crowi/index.js

@@ -8,14 +8,13 @@ import lsxRoutes from '@growi/remark-lsx/dist/server/index.cjs';
 import mongoose from 'mongoose';
 import next from 'next';
 
-import pkg from '^/package.json';
-
 import { KeycloakUserGroupSyncService } from '~/features/external-user-group/server/service/keycloak-user-group-sync';
 import { LdapUserGroupSyncService } from '~/features/external-user-group/server/service/ldap-user-group-sync';
 import { startCronIfEnabled as startOpenaiCronIfEnabled } from '~/features/openai/server/services/cron';
 import { initServiceInstanceId } from '~/features/opentelemetry/server';
 import QuestionnaireService from '~/features/questionnaire/server/service/questionnaire';
 import QuestionnaireCronService from '~/features/questionnaire/server/service/questionnaire-cron';
+import { getGrowiVersion } from '~/utils/growi-version';
 import loggerFactory from '~/utils/logger';
 import { projectRoot } from '~/utils/project-dir-utils';
 
@@ -100,7 +99,7 @@ class Crowi {
   userNotificationService;
 
   constructor() {
-    this.version = pkg.version;
+    this.version = getGrowiVersion();
 
     this.publicDir = path.join(projectRoot, 'public') + sep;
     this.resourceDir = path.join(projectRoot, 'resource') + sep;

+ 2 - 1
apps/app/src/server/routes/apiv3/admin-home.ts

@@ -1,4 +1,5 @@
 import { configManager } from '~/server/service/config-manager';
+import { getGrowiVersion } from '~/utils/growi-version';
 
 const express = require('express');
 
@@ -87,7 +88,7 @@ module.exports = (crowi) => {
     const runtimeVersions = await getRuntimeVersions();
 
     const adminHomeParams = {
-      growiVersion: crowi.version,
+      growiVersion: getGrowiVersion(),
       nodeVersion: runtimeVersions.node ?? '-',
       npmVersion: runtimeVersions.npm ?? '-',
       pnpmVersion: runtimeVersions.pnpm ?? '-',

+ 2 - 1
apps/app/src/server/service/export.js

@@ -1,4 +1,5 @@
 import { toArrayIfNot } from '~/utils/array-utils';
+import { getGrowiVersion } from '~/utils/growi-version';
 import loggerFactory from '~/utils/logger';
 
 import { configManager } from './config-manager';
@@ -97,7 +98,7 @@ class ExportService {
     const passwordSeed = this.crowi.env.PASSWORD_SEED || null;
 
     const metaData = {
-      version: this.crowi.version,
+      version: getGrowiVersion(),
       url: this.appService.getSiteUrl(),
       passwordSeed,
       exportedAt: new Date(),

+ 4 - 2
apps/app/src/server/service/g2g-transfer.ts

@@ -17,6 +17,7 @@ import TransferKeyModel from '~/server/models/transfer-key';
 import { getImportService, type ImportSettings } from '~/server/service/import';
 import { createBatchStream } from '~/server/util/batch-stream';
 import axios from '~/utils/axios';
+import { getGrowiVersion } from '~/utils/growi-version';
 import loggerFactory from '~/utils/logger';
 import { TransferKey } from '~/utils/vo/transfer-key';
 
@@ -256,7 +257,7 @@ export class G2GTransferPusherService implements Pusher {
   public async getTransferability(destGROWIInfo: IDataGROWIInfo): Promise<Transferability> {
     const { fileUploadService } = this.crowi;
 
-    const version = this.crowi.version;
+    const version = getGrowiVersion();
     if (version !== destGROWIInfo.version) {
       return {
         canTransfer: false,
@@ -550,7 +551,8 @@ export class G2GTransferReceiverService implements Receiver {
   }
 
   public async answerGROWIInfo(): Promise<IDataGROWIInfo> {
-    const { version, fileUploadService } = this.crowi;
+    const { fileUploadService } = this.crowi;
+    const version = getGrowiVersion();
     const userUpperLimit = configManager.getConfig('security:userUpperLimit');
     const fileUploadDisabled = configManager.getConfig('app:fileUploadDisabled');
     const fileUploadTotalLimit = fileUploadService.getFileUploadTotalLimit();

+ 2 - 1
apps/app/src/server/service/import/import.ts

@@ -17,6 +17,7 @@ import { ImportMode } from '~/models/admin/import-mode';
 import type Crowi from '~/server/crowi';
 import { setupIndependentModels } from '~/server/crowi/setup-models';
 import type CollectionProgress from '~/server/models/vo/collection-progress';
+import { getGrowiVersion } from '~/utils/growi-version';
 import loggerFactory from '~/utils/logger';
 
 import CollectionProgressingStatus from '../../models/vo/collection-progressing-status';
@@ -463,7 +464,7 @@ export class ImportService {
    * @param {object} meta meta data from meta.json
    */
   validate(meta) {
-    if (meta.version !== this.crowi.version) {
+    if (meta.version !== getGrowiVersion()) {
       throw new Error('The version of this GROWI and the uploaded GROWI data are not the same');
     }