geek-custom-api-core 0.0.68 → 0.0.70
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/.history/{package_20260407160531.json → package_20260508162749.json} +1 -1
- package/.history/{package_20260407164759.json → package_20260508180425.json} +1 -1
- package/dist/api/common/upload/multer.options.js +12 -15
- package/dist/api/common/upload/multer.options.js.map +1 -1
- package/dist/api/common/upload/upload.service.js +11 -3
- package/dist/api/common/upload/upload.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/.history/package_20260324175826.json +0 -99
- package/.history/package_20260407170926.json +0 -103
|
@@ -10,26 +10,23 @@ const path_1 = __importDefault(require("path"));
|
|
|
10
10
|
const moment_1 = __importDefault(require("moment"));
|
|
11
11
|
const gsUtil_1 = require("../../../common/util/gsUtil");
|
|
12
12
|
const multerOptionsFactory = () => {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
const useStaticCredentials = Boolean(process.env.AWS_API_ACCESS_KEY && process.env.AWS_API_SECRET_KEY);
|
|
14
|
+
const s3 = new client_s3_1.S3Client(Object.assign(Object.assign({ region: process.env.AWS_REGION }, (useStaticCredentials
|
|
15
|
+
? {
|
|
16
|
+
credentials: {
|
|
17
|
+
accessKeyId: process.env.AWS_API_ACCESS_KEY,
|
|
18
|
+
secretAccessKey: process.env.AWS_API_SECRET_KEY,
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
: {})), { endpoint: process.env.AWS_ENDPOINT || undefined, forcePathStyle: Boolean(process.env.AWS_ENDPOINT) }));
|
|
20
22
|
const currentDate = (0, moment_1.default)().format('YYYYMMDD');
|
|
23
|
+
const acl = useStaticCredentials ? 'public-read' : undefined;
|
|
21
24
|
return {
|
|
22
|
-
storage: (0, multer_s3_1.default)({
|
|
23
|
-
s3,
|
|
24
|
-
bucket: process.env.AWS_BUCKET,
|
|
25
|
-
key(_req, file, done) {
|
|
25
|
+
storage: (0, multer_s3_1.default)(Object.assign(Object.assign({ s3, bucket: process.env.AWS_BUCKET, key(_req, file, done) {
|
|
26
26
|
const ext = path_1.default.extname(file.originalname);
|
|
27
27
|
const basename = path_1.default.basename(file.originalname, ext);
|
|
28
28
|
done(null, `${currentDate}/${Date.now()}_` + (0, gsUtil_1.randomDigitNumber)());
|
|
29
|
-
},
|
|
30
|
-
acl: 'public-read',
|
|
31
|
-
contentType: multer_s3_1.default.AUTO_CONTENT_TYPE,
|
|
32
|
-
}),
|
|
29
|
+
} }, (acl ? { acl } : {})), { contentType: multer_s3_1.default.AUTO_CONTENT_TYPE })),
|
|
33
30
|
limits: { fileSize: 10 * 1024 * 1024 },
|
|
34
31
|
};
|
|
35
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multer.options.js","sourceRoot":"","sources":["../../../../src/api/common/upload/multer.options.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAiC;AACjC,kDAA8C;AAC9C,gDAAwB;AACxB,oDAA4B;AAC5B,wDAA2D;
|
|
1
|
+
{"version":3,"file":"multer.options.js","sourceRoot":"","sources":["../../../../src/api/common/upload/multer.options.ts"],"names":[],"mappings":";;;;;;AAEA,0DAAiC;AACjC,kDAA8C;AAC9C,gDAAwB;AACxB,oDAA4B;AAC5B,wDAA2D;AAEpD,MAAM,oBAAoB,GAAG,GAAkB,EAAE;IACtD,MAAM,oBAAoB,GAAG,OAAO,CAClC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CACjE,CAAC;IAGF,MAAM,EAAE,GAAG,IAAI,oBAAQ,+BACrB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAC3B,CAAC,oBAAoB;QACtB,CAAC,CAAC;YACE,WAAW,EAAE;gBACX,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBAC3C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;aAChD;SACF;QACH,CAAC,CAAC,EAAE,CAAC,KACP,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,EAC/C,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IACjD,CAAC;IACH,MAAM,WAAW,GAAG,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,OAAO;QACL,OAAO,EAAE,IAAA,mBAAQ,gCACf,EAAE,EACF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAC9B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;gBAClB,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAEvD,IAAI,CAAC,IAAI,EAAE,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC,CAAC;YACpE,CAAC,IACE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvB,WAAW,EAAE,mBAAQ,CAAC,iBAAiB,IACvC;QACF,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;KACvC,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,oBAAoB,wBAqC/B"}
|
|
@@ -10,14 +10,22 @@ exports.UploadService = void 0;
|
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
let UploadService = class UploadService {
|
|
12
12
|
uploadFile(file) {
|
|
13
|
-
var _a;
|
|
13
|
+
var _a, _b, _c;
|
|
14
14
|
if (!file) {
|
|
15
15
|
throw new common_1.BadRequestException('파일이 존재하지 않습니다.');
|
|
16
16
|
}
|
|
17
|
-
const
|
|
17
|
+
const rawCdnDomain = (_b = (_a = process.env.CDN_DOMAIN) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : null;
|
|
18
|
+
const cdnDomain = rawCdnDomain
|
|
19
|
+
? /^https?:\/\//i.test(rawCdnDomain)
|
|
20
|
+
? rawCdnDomain.replace(/\/+$/, '')
|
|
21
|
+
: `https://${rawCdnDomain.replace(/\/+$/, '')}`
|
|
22
|
+
: null;
|
|
18
23
|
const location = file.location;
|
|
19
24
|
const key = file.key;
|
|
20
|
-
const
|
|
25
|
+
const normalizedKey = (_c = key === null || key === void 0 ? void 0 : key.replace(/^\/+/, '')) !== null && _c !== void 0 ? _c : null;
|
|
26
|
+
const filePath = cdnDomain && normalizedKey
|
|
27
|
+
? `${cdnDomain}/${normalizedKey}`
|
|
28
|
+
: (location !== null && location !== void 0 ? location : null);
|
|
21
29
|
if (!filePath) {
|
|
22
30
|
throw new common_1.BadRequestException('파일 경로를 생성할 수 없습니다.');
|
|
23
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../../src/api/common/upload/upload.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiE;AAG1D,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,UAAU,CAAC,IAAyB;;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"upload.service.js","sourceRoot":"","sources":["../../../../src/api/common/upload/upload.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiE;AAG1D,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,UAAU,CAAC,IAAyB;;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,YAAY,GAAG,MAAA,MAAA,OAAO,CAAC,GAAG,CAAC,UAAU,0CAAE,IAAI,EAAE,mCAAI,IAAI,CAAC;QAC5D,MAAM,SAAS,GAAG,YAAY;YAC1B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClC,CAAC,CAAC,WAAW,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACnD,CAAC,CAAC,IAAI,CAAC;QAGX,MAAM,QAAQ,GAAI,IAAY,CAAC,QAA8B,CAAC;QAC9D,MAAM,GAAG,GAAI,IAAY,CAAC,GAAyB,CAAC;QACpD,MAAM,aAAa,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,mCAAI,IAAI,CAAC;QAEvD,MAAM,QAAQ,GACV,SAAS,IAAI,aAAa;YACtB,CAAC,CAAC,GAAG,SAAS,IAAI,aAAa,EAAE;YACjC,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,4BAAmB,CAAC,oBAAoB,CAAC,CAAC;QACxD,CAAC;QAED,OAAO;YACH,QAAQ;YACR,cAAc,EAAE,IAAI,CAAC,YAAY;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,QAAQ;SAClB,CAAC;IACjB,CAAC;CACJ,CAAA;AAlCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAkCzB"}
|