I’m getting a cannot read property on the business logic attached… Would I be right in assuming I should be seeing the column imageFilename from the table that the event handler is based on?
Thanks
Pat
I’m getting a cannot read property on the business logic attached… Would I be right in assuming I should be seeing the column imageFilename from the table that the event handler is based on?
Thanks
Pat
If the object in the request has that property, then you should be able to see it. Use the print
block to log any debug information you need. The log output can be found in the log file located in the Files sections, then /logging
directory and then the file with today’s date. Log information can be seen in Real-time logging window available from Manage > Logging > Real-time.
Add some of your logging so you can see what the code is getting in the request.
How about logging the entire request object just to see what’s in it?
You see the request in the log now. Does it contain the property the code is trying to obtain?
Afraid not…
Mon May 11 2020 20:35:04 GMT+0100 (British Summer Time) | SERVER_CODE | INFO | [10373] --------- REQUEST --------
Mon May 11 2020 20:35:04 GMT+0100 (British Summer Time) | SERVER_CODE | INFO | [10373] { context: { ___jsonclass: ‘com.backendless.servercode.RunnerContext’, deviceType: ‘IOS’, crossHandlerData: {}, userLocale: ‘en’, httpHeaders: null, userId: ‘1C758501-1B77-E32C-FF2C-4E1F7CB09D00’, eventContext: ‘inventoryImages’, userRoles: [ ‘AuthenticatedUser’, ‘IOSUser’ ], userToken: ‘DC4B1810-48D1-27C1-FF33-A09700AEB900’, prematureResult: null, missingProperties: {}, appId: ‘AEDE5BD0-8EAF-92AB-FF8F-4B7F9646D500’, httpResponseHeaders: {}, userRole: [ ‘AuthenticatedUser’, ‘IOSUser’ ] }, itemId: ‘B685BE18-DF33-4321-FF85-66ED2B53FA00’ }
I am not sure what your expectation is here… You’re adding an event handler for the remove
API. Here’s the REST doc for that API:
https://backendless.com/docs/rest/data_single_object_deletion.html
As you can see the only thing the API has is the objectId
value of the object to be deleted. That’s it! And your event handler does get that value from the request:
itemId: ‘B685BE18-DF33-4321-FF85-66ED2B53FA00’
So when you try getting imageFilename
from the request, it doesn’t really make any sense, since there is no such thing in the request.
Regards,
Mark
ah - ok - understood…
When I delete an image from a table I also want to remove the file itself from the directory, I was hoping to do that using business logic in a before removal block rather than the app making a second call to backendless.
I assumed, wrongly, that I would have access to the table information (including the filename) as I would using a before delete trigger. I figured that information would be available in a Before Remove handler.
When I looked at the drop down list in Get Request Object Property I see every column in the table I’m working with so thought it’d work… So what are those values for if they aren’t available?
They (column names in the dropdown) would make more sense in the create/update object events.
In your case, you need to do the following in your event handler:
I think I’m just going to make a second call via the file API.
TBH I just feel I’m fumbling in the dark trying to get stuff done in the codeless editor trying to do pretty straightforward stuff. The stuff I’ve done works and works well - but trying to extract data from a table, work out how to store it, how to iterate through it and extract a property, store that - build a path and then delete it… I (we) are spending too much time on this.
Seems to give me what I need - thanks
I got a lot of this down but the list thing was where I was falling down. Is there a video guide on how to do the backendless codeless thing? I’m not finding the docs very helpful + videos are more my thing learning wise.
(Thanks for your patience on this - it is appreciated)
Hi Patrick,
here is a playlist of 12 useful vidz related to Codeless:
Hope this will help you!
Regards,
Stanislaw
thanks - I’ll get into these…