- improvements on serverless function behavior (autosave performances, deploy on execution only) - add versioning to serverless functions - add a publish endpoint to create a new version of a serverless function - add deploy and reset to lastVersion button in the settings section: <img width="736" alt="image" src="https://github.com/user-attachments/assets/2001f8d2-07a4-4f79-84dd-ec74b6f301d3">
26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import { FileStorageService } from 'src/engine/integrations/file-storage/file-storage.service';
|
|
import { readFileContent } from 'src/engine/integrations/file-storage/utils/read-file-content';
|
|
import { SOURCE_FILE_NAME } from 'src/engine/integrations/serverless/drivers/constants/source-file-name';
|
|
import { compileTypescript } from 'src/engine/integrations/serverless/drivers/utils/compile-typescript';
|
|
import { ServerlessFunctionEntity } from 'src/engine/metadata-modules/serverless-function/serverless-function.entity';
|
|
import { getServerlessFolder } from 'src/engine/integrations/serverless/utils/serverless-get-folder.utils';
|
|
|
|
export class BaseServerlessDriver {
|
|
async getCompiledCode(
|
|
serverlessFunction: ServerlessFunctionEntity,
|
|
fileStorageService: FileStorageService,
|
|
) {
|
|
const folderPath = getServerlessFolder({
|
|
serverlessFunction,
|
|
version: 'draft',
|
|
});
|
|
const fileStream = await fileStorageService.read({
|
|
folderPath,
|
|
filename: SOURCE_FILE_NAME,
|
|
});
|
|
const typescriptCode = await readFileContent(fileStream);
|
|
|
|
return compileTypescript(typescriptCode);
|
|
}
|
|
}
|