Rank 2: Process
Hello everyone! My current code of uploading a file is as follows:
createFile( bucketId: 'id', file: InputFile(), fileId: 'unique()', );
The above code is executed from the client side. The problem here is that an evil person could reverse engineer my code/request and pass anything as fileId. 😈 Such person could do this for example, and the file will end up in my bucket just fine with that modified ID:
createFile( bucketId: 'id', file: InputFile(), fileId: 'TROLLOLOLOL', );
I don't want the client to have any control over what file ID is uploaded. I could use a function that executes by the file upload trigger, but that doesn't change the fact that the file with the modified ID will be in my bucket, even though it’s for a short time.
The best way (I think) to solve this problem would by passing the file to a function and then process it through that same function. My question is: Is it possible to upload a file trough a function and if so, are there any examples of this?