* Create copy project endpoint
* Add representers
* Add _meta representer for copy module information
* Add Meta payload representer
* Extract parsing of copy attributes into service
* Extract enqueue job for projects copy
* Keep request object available in the bodied endpoint
this allows us to access grape (e.g., for redirecting)
* Add DelayedModify endpoint that redirects to job status
* Use DelayedModify endpoint for copying projects
* Add api paths for form/copy
* Disable cache on ProjectCopyPayload
* Add spec
* Add resource spec
* Extend schema for meta
* Extend docs
* Don't pass service result, but state as meta to forms
* Use copy dependencies for naming copy options in API
* Add description property for counting
* Remove unused action attribute
* Skip writable checks on meta property for payloads
* Use prepend to allow create(...) usage with meta
* Extend copy spec with custom fields usage
* Add spec for copy flags
* Add todos
* Pass errors correctly to copy settings
* Remove invalid parameters to copy that are now caught through project service
* Remove duplicated validation
* Linting
* Make count a human readable, formattable description string
* Make source count string readable
* Provide the source project for generating the counts
* Extract copying of attachments into sepearate dependent services
This will allow the API to dynamically generate a copy association schema from each dependent service
* Add spec for copy schema representer
* Add payload representer spec
* Also validate the model to pass the validations when copying
* Make description optional and add note to schemas.apib
* Add send_notifications to representer
* Allow to configure sendNotifications
* Allow bodied to receive a state process callback
That allows us to manage the meta state on the API level, not on the service level
* Make other services compatible with BaseCallable
* Fix params passing from BaseCallable
Wrapping a single hash into kwargs obviously loses their key indifference
and we can't expect all services to use a single params object. Older services use kwargs
* Copy wiki page with parent_id
This will save some memory instead of memoizing the entire wiki page
* Fix typo
* Default to true for all copy associations
That means if only a true value is passed, all other options will still be true
* Do not try to copy attachments if the base dependency wasnt copied
* Ensure null identifier gets rendered
* Fix paths to the form and commit
* Change redirect to an URL
* Extend documentation on meta properties as table
* Ensure we pass a default params if incoming params are nil
Now that SetAttributes needs to splat params, they do no longer
correctly get the no-param-default behavior of Ruby, so we need to
explictly assign a default params hash
* Fix expect for trailing path
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.
Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013