code: def copy(self, project, name=None, strategy=None):
          
          strategy = strategy or AppCopyStrategy.CLONE
  
          project = Transform.to_project(project)
          data = {
              'project': project,
              'strategy': strategy
          }
          if name:
              data['name'] = name
          extra = {'resource': self.__class__.__name__, 'query': {
              'id': self.id,
              'data': data
          }}
          logger.info('Copying app', extra=extra)
          app = self._api.post(url=self._URL['copy'].format(id=self.id),
                               data=data).json()
          return App(api=self._api, **app)
docs: Copies the current app.
          :param project: Destination project.
          :param name: Destination app name.
          :param strategy: App copy strategy.
          :return: Copied App object.
  
          :Copy strategies:
          clone         copy all revisions and continue getting updates form the
                        original app (default method when the key is omitted)
  
          direct        copy only the latest revision and get the updates from
                        this point on
  
          clone_direct  copy the app like the direct strategy, but keep all
                        revisions
  
          transient     copy only the latest revision and continue getting
                        updates from the original app