Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…into dev
  • Loading branch information
jacksonkasi1 committed Sep 28, 2024
2 parents 8144050 + 2cb46d1 commit 691715a
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 6 deletions.
4 changes: 3 additions & 1 deletion server/imagepro-file-process/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@
"dependencies": {
"@types/cors": "^2.8.17",
"@types/node-cron": "^3.0.11",
"@types/uuid": "^10.0.0",
"cors": "^2.8.5",
"express": "^4.21.0",
"morgan": "^1.10.0",
"multer": "^1.4.5-lts.1",
"node-cron": "^3.0.3",
"tsconfig-paths": "^4.2.0"
"tsconfig-paths": "^4.2.0",
"uuid": "^10.0.0"
},
"devDependencies": {
"@types/express": "^4.17.21",
Expand Down
17 changes: 17 additions & 0 deletions server/imagepro-file-process/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 7 additions & 2 deletions server/imagepro-file-process/src/utils/pdf-utils/pdf-color.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import path from "path";
import { promises as fs } from "fs";

import { v4 as uuidv4 } from 'uuid';

import { convertPdf } from "./pdf-convert";
import { sanitizeFileName } from "../../utils/file-utils";
import { UploadedPdf } from "../../types/pdf";
Expand All @@ -15,12 +18,14 @@ export const convertToColorMode = async (
file: Express.Multer.File | UploadedPdf,
mode: "cmyk" | "grayscale"
): Promise<UploadedPdf> => {
// Handle both file types (Express.Multer.File or UploadedPdf)
const inputPath = 'path' in file ? path.resolve(file.path) : path.resolve(file.outputPath);
const originalName = 'originalname' in file ? file.originalname : file.outputFilename;
const sanitizedOriginalName = sanitizeFileName(path.parse(originalName).name);

const outputFilename = `${sanitizedOriginalName}_${mode}.pdf`;
// Generate a unique identifier
const uniqueId = uuidv4();

const outputFilename = `${sanitizedOriginalName}_${mode}_${uniqueId}.pdf`;
const outputDir = path.resolve("public/assets");
const outputPath = path.join(outputDir, outputFilename);

Expand Down
8 changes: 6 additions & 2 deletions server/imagepro-file-process/src/utils/pdf-utils/pdf-merge.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import path from "path";
import { exec } from "child_process";
import { promises as fs } from "fs";
import { exec } from "child_process";

import { v4 as uuidv4 } from 'uuid';

import { UploadedPdf } from "../../types/pdf";

/**
Expand All @@ -10,7 +13,8 @@ import { UploadedPdf } from "../../types/pdf";
*/
export const mergePdfFiles = async (files: Express.Multer.File[]): Promise<UploadedPdf> => {
const outputDir = path.resolve("public/assets");
const outputFilename = `merged_${Date.now()}.pdf`;
const uniqueId = uuidv4();
const outputFilename = `merged_${uniqueId}.pdf`;
const outputPath = path.join(outputDir, outputFilename);

await fs.mkdir(outputDir, { recursive: true });
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import path from "path";
import { promises as fs } from "fs";

import { v4 as uuidv4 } from 'uuid';

import { applyEncryption } from "./pdf-convert";
import { sanitizeFileName } from "../../utils/file-utils";

import { UploadedPdf } from "../../types/pdf";

/**
Expand All @@ -12,7 +16,8 @@ import { UploadedPdf } from "../../types/pdf";
*/
export const applyPassword = async (file: UploadedPdf, password: string): Promise<UploadedPdf> => {
const outputDir = path.resolve("public/assets");
const outputFilename = `${sanitizeFileName(path.parse(file.outputFilename).name)}_protected.pdf`;
const uniqueId = uuidv4();
const outputFilename = `${sanitizeFileName(path.parse(file.outputFilename).name)}_protected_${uniqueId}.pdf`;
const outputPath = path.join(outputDir, outputFilename);

await fs.mkdir(outputDir, { recursive: true });
Expand Down

0 comments on commit 691715a

Please sign in to comment.