fix some for api download pic
This commit is contained in:
+102
-2
@@ -92400,6 +92400,53 @@ var require_admin_misc_module = __commonJS({
|
||||
}
|
||||
});
|
||||
|
||||
// dist/modules/admin-uploads/upload-path.js
|
||||
var require_upload_path = __commonJS({
|
||||
"dist/modules/admin-uploads/upload-path.js"(exports2) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2.getUploadDir = getUploadDir;
|
||||
exports2.mimeForUpload = mimeForUpload;
|
||||
exports2.resolveStoredUpload = resolveStoredUpload;
|
||||
var node_fs_1 = require("node:fs");
|
||||
var node_path_12 = require("node:path");
|
||||
function getUploadDir() {
|
||||
return (0, node_path_12.resolve)(process.env.UPLOAD_DIR ?? (0, node_path_12.join)(process.cwd(), "storage", "uploads"));
|
||||
}
|
||||
var UPLOAD_MIME = {
|
||||
".png": "image/png",
|
||||
".jpg": "image/jpeg",
|
||||
".jpeg": "image/jpeg",
|
||||
".gif": "image/gif",
|
||||
".webp": "image/webp",
|
||||
".avif": "image/avif",
|
||||
".svg": "image/svg+xml",
|
||||
".pdf": "application/pdf"
|
||||
};
|
||||
function mimeForUpload(filePath) {
|
||||
const dot = filePath.lastIndexOf(".");
|
||||
const ext = dot >= 0 ? filePath.slice(dot).toLowerCase() : "";
|
||||
return UPLOAD_MIME[ext];
|
||||
}
|
||||
function resolveStoredUpload(rawName) {
|
||||
const safe = (0, node_path_12.basename)(rawName);
|
||||
if (!safe || safe === "." || safe === "..")
|
||||
return null;
|
||||
const dir = getUploadDir();
|
||||
const candidates = [(0, node_path_12.join)(dir, safe), (0, node_path_12.join)(dir, "uploads", safe)];
|
||||
for (const candidate of candidates) {
|
||||
const resolved = (0, node_path_12.resolve)(candidate);
|
||||
const rel = (0, node_path_12.relative)(dir, resolved);
|
||||
if (!rel || rel.startsWith("..") || (0, node_path_12.isAbsolute)(rel))
|
||||
continue;
|
||||
if ((0, node_fs_1.existsSync)(resolved) && (0, node_fs_1.statSync)(resolved).isFile())
|
||||
return resolved;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// dist/modules/admin-uploads/admin-uploads.service.js
|
||||
var require_admin_uploads_service = __commonJS({
|
||||
"dist/modules/admin-uploads/admin-uploads.service.js"(exports2) {
|
||||
@@ -92421,13 +92468,14 @@ var require_admin_uploads_service = __commonJS({
|
||||
var promises_1 = require("node:fs/promises");
|
||||
var node_path_12 = require("node:path");
|
||||
var prisma_service_1 = require_prisma_service();
|
||||
var upload_path_1 = require_upload_path();
|
||||
var AdminUploadsService = class AdminUploadsService {
|
||||
static {
|
||||
AdminUploadsService_1 = this;
|
||||
}
|
||||
prisma;
|
||||
/** Matches legacy's flat public/storage directory. */
|
||||
dir = process.env.UPLOAD_DIR ?? (0, node_path_12.join)(process.cwd(), "storage", "uploads");
|
||||
dir = (0, upload_path_1.getUploadDir)();
|
||||
/** Mirrors legacy's `type` field: 1 = image, 2 = any other document. */
|
||||
static IMAGE_MIME = /^image\/(jpeg|png|gif|webp|svg\+xml)$/;
|
||||
static ALLOWED = /^(image\/(jpeg|png|gif|webp|svg\+xml)|application\/pdf)$/;
|
||||
@@ -92542,6 +92590,57 @@ var require_admin_uploads_controller = __commonJS({
|
||||
}
|
||||
});
|
||||
|
||||
// dist/modules/admin-uploads/public-uploads.controller.js
|
||||
var require_public_uploads_controller = __commonJS({
|
||||
"dist/modules/admin-uploads/public-uploads.controller.js"(exports2) {
|
||||
"use strict";
|
||||
var __decorate4 = exports2 && exports2.__decorate || function(decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata3 = exports2 && exports2.__metadata || function(k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __param3 = exports2 && exports2.__param || function(paramIndex, decorator) {
|
||||
return function(target, key) {
|
||||
decorator(target, key, paramIndex);
|
||||
};
|
||||
};
|
||||
Object.defineProperty(exports2, "__esModule", { value: true });
|
||||
exports2.PublicUploadsController = void 0;
|
||||
var common_12 = require_common();
|
||||
var node_fs_1 = require("node:fs");
|
||||
var guards_1 = require_guards2();
|
||||
var upload_path_1 = require_upload_path();
|
||||
var PublicUploadsController = class PublicUploadsController {
|
||||
stream(filename) {
|
||||
const file2 = (0, upload_path_1.resolveStoredUpload)(filename);
|
||||
if (!file2)
|
||||
throw new common_12.NotFoundException("\u0641\u0627\u06CC\u0644 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F");
|
||||
return new common_12.StreamableFile((0, node_fs_1.createReadStream)(file2), {
|
||||
type: (0, upload_path_1.mimeForUpload)(file2) ?? "application/octet-stream",
|
||||
disposition: "inline"
|
||||
});
|
||||
}
|
||||
};
|
||||
exports2.PublicUploadsController = PublicUploadsController;
|
||||
__decorate4([
|
||||
(0, common_12.Get)(":filename"),
|
||||
(0, common_12.Header)("Cache-Control", "public, max-age=86400"),
|
||||
__param3(0, (0, common_12.Param)("filename")),
|
||||
__metadata3("design:type", Function),
|
||||
__metadata3("design:paramtypes", [String]),
|
||||
__metadata3("design:returntype", common_12.StreamableFile)
|
||||
], PublicUploadsController.prototype, "stream", null);
|
||||
exports2.PublicUploadsController = PublicUploadsController = __decorate4([
|
||||
(0, guards_1.Public)(),
|
||||
(0, common_12.Controller)("uploads")
|
||||
], PublicUploadsController);
|
||||
}
|
||||
});
|
||||
|
||||
// dist/modules/admin-uploads/admin-uploads.module.js
|
||||
var require_admin_uploads_module = __commonJS({
|
||||
"dist/modules/admin-uploads/admin-uploads.module.js"(exports2) {
|
||||
@@ -92557,6 +92656,7 @@ var require_admin_uploads_module = __commonJS({
|
||||
var common_12 = require_common();
|
||||
var prisma_module_1 = require_prisma_module();
|
||||
var admin_uploads_controller_1 = require_admin_uploads_controller();
|
||||
var public_uploads_controller_1 = require_public_uploads_controller();
|
||||
var admin_uploads_service_1 = require_admin_uploads_service();
|
||||
var AdminUploadsModule = class AdminUploadsModule {
|
||||
};
|
||||
@@ -92564,7 +92664,7 @@ var require_admin_uploads_module = __commonJS({
|
||||
exports2.AdminUploadsModule = AdminUploadsModule = __decorate4([
|
||||
(0, common_12.Module)({
|
||||
imports: [prisma_module_1.PrismaModule],
|
||||
controllers: [admin_uploads_controller_1.AdminUploadsController],
|
||||
controllers: [admin_uploads_controller_1.AdminUploadsController, public_uploads_controller_1.PublicUploadsController],
|
||||
providers: [admin_uploads_service_1.AdminUploadsService],
|
||||
exports: [admin_uploads_service_1.AdminUploadsService]
|
||||
})
|
||||
|
||||
+3
-4
@@ -634,7 +634,7 @@ const config = {
|
||||
"value": "prisma-client-js"
|
||||
},
|
||||
"output": {
|
||||
"value": "E:\\gold bank\\gold-banking-monorepo\\node_modules\\.pnpm\\@prisma+client@5.22.0_prisma@5.22.0\\node_modules\\@prisma\\client",
|
||||
"value": "D:\\APP\\gold-bank\\node_modules\\.pnpm\\@prisma+client@5.22.0_prisma@5.22.0\\node_modules\\@prisma\\client",
|
||||
"fromEnvVar": null
|
||||
},
|
||||
"config": {
|
||||
@@ -652,11 +652,10 @@ const config = {
|
||||
}
|
||||
],
|
||||
"previewFeatures": [],
|
||||
"sourceFilePath": "E:\\gold bank\\gold-banking-monorepo\\apps\\api\\prisma\\schema.prisma"
|
||||
"sourceFilePath": "D:\\APP\\gold-bank\\apps\\api\\prisma\\schema.prisma"
|
||||
},
|
||||
"relativeEnvPaths": {
|
||||
"rootEnvPath": null,
|
||||
"schemaEnvPath": "../../../../../../apps/api/.env"
|
||||
"rootEnvPath": null
|
||||
},
|
||||
"relativePath": "../../../../../../apps/api/prisma",
|
||||
"clientVersion": "5.22.0",
|
||||
|
||||
+3
-4
@@ -635,7 +635,7 @@ const config = {
|
||||
"value": "prisma-client-js"
|
||||
},
|
||||
"output": {
|
||||
"value": "E:\\gold bank\\gold-banking-monorepo\\node_modules\\.pnpm\\@prisma+client@5.22.0_prisma@5.22.0\\node_modules\\@prisma\\client",
|
||||
"value": "D:\\APP\\gold-bank\\node_modules\\.pnpm\\@prisma+client@5.22.0_prisma@5.22.0\\node_modules\\@prisma\\client",
|
||||
"fromEnvVar": null
|
||||
},
|
||||
"config": {
|
||||
@@ -653,11 +653,10 @@ const config = {
|
||||
}
|
||||
],
|
||||
"previewFeatures": [],
|
||||
"sourceFilePath": "E:\\gold bank\\gold-banking-monorepo\\apps\\api\\prisma\\schema.prisma"
|
||||
"sourceFilePath": "D:\\APP\\gold-bank\\apps\\api\\prisma\\schema.prisma"
|
||||
},
|
||||
"relativeEnvPaths": {
|
||||
"rootEnvPath": null,
|
||||
"schemaEnvPath": "../../../../../../apps/api/.env"
|
||||
"rootEnvPath": null
|
||||
},
|
||||
"relativePath": "../../../../../../apps/api/prisma",
|
||||
"clientVersion": "5.22.0",
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user