Yuki Takei 2 лет назад
Родитель
Сommit
921b3b4205

+ 7 - 0
apps/app/src/server/interfaces/attachment.ts

@@ -22,3 +22,10 @@ export type IContentHeaders = {
 export type RespondOptions = {
 export type RespondOptions = {
   download?: boolean,
   download?: boolean,
 }
 }
+
+export const ResponseMode = {
+  RELAY: 'relay',
+  REDIRECT: 'redirect',
+  DELEGATE: 'delegate',
+} as const;
+export type ResponseMode = typeof ResponseMode[keyof typeof ResponseMode];

+ 5 - 5
apps/app/src/server/routes/attachment/get.ts

@@ -8,16 +8,16 @@ import type {
 import mongoose from 'mongoose';
 import mongoose from 'mongoose';
 
 
 import type { CrowiProperties, CrowiRequest } from '~/interfaces/crowi-request';
 import type { CrowiProperties, CrowiRequest } from '~/interfaces/crowi-request';
-import type { ExpressHttpHeader, RespondOptions } from '~/server/interfaces/attachment';
-import { FileUploader, ResponseMode } from '~/server/service/file-uploader/file-uploader';
+import { ResponseMode, type ExpressHttpHeader, type RespondOptions } from '~/server/interfaces/attachment';
+import {
+  type FileUploader,
+  toExpressHttpHeaders, ContentHeaders, applyHeaders,
+} from '~/server/service/file-uploader';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 import type Crowi from '../../crowi';
 import type Crowi from '../../crowi';
 import { certifySharedPageAttachmentMiddleware } from '../../middlewares/certify-shared-page-attachment';
 import { certifySharedPageAttachmentMiddleware } from '../../middlewares/certify-shared-page-attachment';
 import { Attachment, type IAttachmentDocument } from '../../models';
 import { Attachment, type IAttachmentDocument } from '../../models';
-import {
-  toExpressHttpHeaders, ContentHeaders, applyHeaders,
-} from '../../service/file-uploader';
 import ApiResponse from '../../util/apiResponse';
 import ApiResponse from '../../util/apiResponse';
 
 
 
 

+ 2 - 2
apps/app/src/server/service/file-uploader/aws.ts

@@ -11,14 +11,14 @@ import {
 import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
 import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
 import urljoin from 'url-join';
 import urljoin from 'url-join';
 
 
-import type { RespondOptions } from '~/server/interfaces/attachment';
+import { ResponseMode, type RespondOptions } from '~/server/interfaces/attachment';
 import type { IAttachmentDocument } from '~/server/models';
 import type { IAttachmentDocument } from '~/server/models';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 import { configManager } from '../config-manager';
 import { configManager } from '../config-manager';
 
 
 import {
 import {
-  AbstractFileUploader, ResponseMode, type TemporaryUrl, type SaveFileParam,
+  AbstractFileUploader, type TemporaryUrl, type SaveFileParam,
 } from './file-uploader';
 } from './file-uploader';
 import { ContentHeaders } from './utils';
 import { ContentHeaders } from './utils';
 
 

+ 2 - 2
apps/app/src/server/service/file-uploader/azure.ts

@@ -16,14 +16,14 @@ import {
   type BlockBlobUploadStreamOptions,
   type BlockBlobUploadStreamOptions,
 } from '@azure/storage-blob';
 } from '@azure/storage-blob';
 
 
-import type { RespondOptions } from '~/server/interfaces/attachment';
+import { ResponseMode, type RespondOptions } from '~/server/interfaces/attachment';
 import type { IAttachmentDocument } from '~/server/models';
 import type { IAttachmentDocument } from '~/server/models';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 import { configManager } from '../config-manager';
 import { configManager } from '../config-manager';
 
 
 import {
 import {
-  AbstractFileUploader, ResponseMode, type TemporaryUrl, type SaveFileParam,
+  AbstractFileUploader, type TemporaryUrl, type SaveFileParam,
 } from './file-uploader';
 } from './file-uploader';
 import { ContentHeaders } from './utils';
 import { ContentHeaders } from './utils';
 
 

+ 1 - 9
apps/app/src/server/service/file-uploader/file-uploader.ts

@@ -2,7 +2,7 @@ import { randomUUID } from 'crypto';
 
 
 import type { Response } from 'express';
 import type { Response } from 'express';
 
 
-import type { RespondOptions } from '~/server/interfaces/attachment';
+import { type RespondOptions, ResponseMode } from '~/server/interfaces/attachment';
 import { Attachment, type IAttachmentDocument } from '~/server/models';
 import { Attachment, type IAttachmentDocument } from '~/server/models';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
@@ -22,14 +22,6 @@ export type CheckLimitResult = {
   errorMessage?: string,
   errorMessage?: string,
 }
 }
 
 
-export const ResponseMode = {
-  RELAY: 'relay',
-  REDIRECT: 'redirect',
-  DELEGATE: 'delegate',
-} as const;
-
-export type ResponseMode = typeof ResponseMode[keyof typeof ResponseMode];
-
 export type TemporaryUrl = {
 export type TemporaryUrl = {
   url: string,
   url: string,
   lifetimeSec: number,
   lifetimeSec: number,

+ 2 - 2
apps/app/src/server/service/file-uploader/gcs.ts

@@ -2,14 +2,14 @@ import { Storage } from '@google-cloud/storage';
 import urljoin from 'url-join';
 import urljoin from 'url-join';
 
 
 import type Crowi from '~/server/crowi';
 import type Crowi from '~/server/crowi';
-import type { RespondOptions } from '~/server/interfaces/attachment';
+import { ResponseMode, type RespondOptions } from '~/server/interfaces/attachment';
 import type { IAttachmentDocument } from '~/server/models';
 import type { IAttachmentDocument } from '~/server/models';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 import { configManager } from '../config-manager';
 import { configManager } from '../config-manager';
 
 
 import {
 import {
-  AbstractFileUploader, ResponseMode, type TemporaryUrl, type SaveFileParam,
+  AbstractFileUploader, type TemporaryUrl, type SaveFileParam,
 } from './file-uploader';
 } from './file-uploader';
 import { ContentHeaders } from './utils';
 import { ContentHeaders } from './utils';
 
 

+ 2 - 2
apps/app/src/server/service/file-uploader/local.ts

@@ -2,14 +2,14 @@ import { Readable } from 'stream';
 
 
 import type { Response } from 'express';
 import type { Response } from 'express';
 
 
-import type { RespondOptions } from '~/server/interfaces/attachment';
+import { ResponseMode, type RespondOptions } from '~/server/interfaces/attachment';
 import type { IAttachmentDocument } from '~/server/models';
 import type { IAttachmentDocument } from '~/server/models';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 import { configManager } from '../config-manager';
 import { configManager } from '../config-manager';
 
 
 import {
 import {
-  AbstractFileUploader, ResponseMode, type TemporaryUrl, type SaveFileParam,
+  AbstractFileUploader, type TemporaryUrl, type SaveFileParam,
 } from './file-uploader';
 } from './file-uploader';
 import {
 import {
   ContentHeaders, applyHeaders,
   ContentHeaders, applyHeaders,