Skip to content

Commit 59f6b7f

Browse files
authored
fix: add content type metadata to blob (#2979)
1 parent f94226f commit 59f6b7f

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

__tests__/users.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6849,6 +6849,7 @@ describe('mutation uploadResume', () => {
68496849
expect(uploadResumeFromBuffer).toHaveBeenCalledWith(
68506850
loggedUser,
68516851
expect.any(Object),
6852+
{ contentType: 'application/pdf' },
68526853
);
68536854
});
68546855

@@ -6890,6 +6891,10 @@ describe('mutation uploadResume', () => {
68906891
expect(uploadResumeFromBuffer).toHaveBeenCalledWith(
68916892
loggedUser,
68926893
expect.any(Object),
6894+
{
6895+
contentType:
6896+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
6897+
},
68936898
);
68946899
});
68956900

src/common/googleCloud.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
import { Bucket, DownloadOptions, Storage } from '@google-cloud/storage';
1+
import {
2+
Bucket,
3+
DownloadOptions,
4+
Storage,
5+
type SaveOptions,
6+
} from '@google-cloud/storage';
27
import { acceptedResumeExtensions, PropsParameters } from '../types';
38
import path from 'path';
49
import { BigQuery } from '@google-cloud/bigquery';
@@ -40,27 +45,31 @@ interface UploadFileFromStreamParams {
4045
bucketName: string;
4146
fileName: string;
4247
file: Buffer;
48+
options?: SaveOptions;
4349
}
4450

4551
export const uploadFileFromBuffer = async ({
4652
bucketName,
4753
fileName,
4854
file,
55+
options,
4956
}: UploadFileFromStreamParams): Promise<string> => {
5057
const storage = new Storage();
51-
await storage.bucket(bucketName).file(fileName).save(file);
58+
await storage.bucket(bucketName).file(fileName).save(file, options);
5259
return `https://storage.cloud.google.com/${bucketName}/${fileName}`;
5360
};
5461

5562
export const uploadResumeFromBuffer = async (
5663
fileName: string,
5764
file: Buffer,
65+
options?: SaveOptions,
5866
bucketName = RESUMES_BUCKET_NAME,
5967
): Promise<string> => {
6068
return uploadFileFromBuffer({
6169
bucketName,
6270
fileName,
6371
file,
72+
options,
6473
});
6574
};
6675

src/schema/users.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2529,7 +2529,9 @@ export const resolvers: IResolvers<unknown, BaseContext> = traceResolvers<
25292529

25302530
// Actual upload using buffer as a stream
25312531
const filename = ctx.userId;
2532-
await uploadResumeFromBuffer(filename, buffer);
2532+
await uploadResumeFromBuffer(filename, buffer, {
2533+
contentType: fileType?.mime,
2534+
});
25332535

25342536
return { _: true };
25352537
},

0 commit comments

Comments
 (0)