projectName | extensions |
---|---|
HTTP trigger project |
core,identity,hono,fly,postgresql,google-cloud-storage |
export default project(
feature('blogs', {
workflows: [
workflow('UploadSingleFileWorkflow', {
tag: 'tasks',
trigger: trigger.http({
method: 'post',
path: '/:id',
}),
output: output('return {file: steps.fileUrl}'),
actions: {
uploadFile: action.googleCloudStorage.uploadSingle({
outputName: 'fileUrl',
}),
setPostCover: action.database.set({
columns: [useField('cover', '@workflow:fileUrl')],
table: useTable('posts'),
query: query(where('id', 'equals', '@trigger:path.id')),
}),
},
}),
],
tables: {
posts: table({
fields: {
title: field({ type: 'short-text' }),
cover: field({ type: 'url' }),
},
}),
},
}),
);