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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geek-custom-api-core",
3
- "version": "0.0.61",
3
+ "version": "0.0.69",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geek-custom-api-core",
3
- "version": "0.0.62",
3
+ "version": "0.0.70",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -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 s3 = new client_s3_1.S3Client({
14
- region: process.env.AWS_REGION,
15
- credentials: {
16
- accessKeyId: process.env.AWS_API_ACCESS_KEY,
17
- secretAccessKey: process.env.AWS_API_SECRET_KEY,
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;AACpD,MAAM,oBAAoB,GAAG,GAAkB,EAAE;IAEtD,MAAM,EAAE,GAAG,IAAI,oBAAQ,CAAC;QAEtB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC9B,WAAW,EAAE;YACX,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YAC3C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;SAChD;KACF,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO;QACL,OAAO,EAAE,IAAA,mBAAQ,EAAC;YAChB,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YAC9B,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;YACD,GAAG,EAAE,aAAa;YAClB,WAAW,EAAE,mBAAQ,CAAC,iBAAiB;SACxC,CAAC;QACF,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;KACvC,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,oBAAoB,wBA0B/B"}
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 cdnDomain = (_a = process.env.CDN_DOMAIN) !== null && _a !== void 0 ? _a : null;
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 filePath = cdnDomain && key ? `${cdnDomain}${key}` : (location !== null && location !== void 0 ? location : null);
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,SAAS,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,UAAU,mCAAI,IAAI,CAAC;QAGjD,MAAM,QAAQ,GAAI,IAAY,CAAC,QAA8B,CAAC;QAC9D,MAAM,GAAG,GAAI,IAAY,CAAC,GAAyB,CAAC;QAEpD,MAAM,QAAQ,GACV,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,CAAC,CAAC;QAEjE,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;AA1BY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CA0BzB"}
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"}