@accounter/server
Version:
37 lines • 1.3 kB
JavaScript
import { __decorate, __metadata, __param } from "tslib";
import { v2 as cloudinary } from 'cloudinary';
import { Inject, Injectable, Scope } from 'graphql-modules';
import { ENVIRONMENT } from '../../shared/tokens.js';
let CloudinaryProvider = class CloudinaryProvider {
env;
constructor(env) {
this.env = env;
cloudinary.config({
cloud_name: this.env.cloudinary.name,
api_key: this.env.cloudinary.apiKey,
api_secret: this.env.cloudinary.apiSecret,
secure: true,
});
}
async uploadInvoiceToCloudinary(base64string) {
try {
const res = await cloudinary.uploader.upload(base64string);
const fileUrl = res.url;
const imageUrl = res.url.split('.').slice(0, -1).join('.') + '.jpg';
return { fileUrl, imageUrl };
}
catch (e) {
throw new Error(`Error on uploading file to cloudinary: ${typeof e === 'string' ? e : e?.message}`);
}
}
};
CloudinaryProvider = __decorate([
Injectable({
scope: Scope.Singleton,
global: true,
}),
__param(0, Inject(ENVIRONMENT)),
__metadata("design:paramtypes", [Object])
], CloudinaryProvider);
export { CloudinaryProvider };
//# sourceMappingURL=cloudinary.js.map