Problem with Custom Object Types

Hi @Alex2

Welcome to the Backendless community!

The PersistenceItem class expects the first argument as an object of the data of the instance

So, if you remove constructors it resolve all instances automatically

/*Created on 12/21/2023 12:39:10.*/

/**
  * @property {string} text
  * @property {string} restaurant
  * @property {FileParameter} preview
  * @property {string} title
  */
 class CreatePostDTO extends Backendless.ServerCode.PersistenceItem {

}

Backendless.ServerCode.addType(CreatePostDTO);

  /**
  * @property {string} data
  * @property {string} name
  */
class FileParameter extends Backendless.ServerCode.PersistenceItem {
  getName(){
    return this.name
  }
};

Backendless.ServerCode.addType(FileParameter);

class MyService{
  

/**
   * @route POST /restaurant/post
   * @param {CreatePostDTO} post
   */
  async createRestaurantPost(post) {
    console.log('post', post)
    console.log('post.preview.getName', post.preview.getName())
    
    return post
  }
  
}  
  
Backendless.ServerCode.addService(MyService)
13:16:41.504 | SERVER_CODE | INFO | [35982] post CreatePostDTO { ___class: 'CreatePostDTO', preview: FileParameter { ___class: 'FileParameter', data: 'string', name: 'string' }, restaurant: 'string', text: 'string', title: 'string' }
13:16:41.504 | SERVER_CODE | INFO | [35982] post.preview.getName string