A new endpoint in API is required that clients can send a POST request to, triggering the creation of a new "transferbot" job with the given configuration. This endpoint likely requires additional authentication checks, making sure the target wiki is editable by the user issueing the request.
The Wiki model will also need to be extended with a field that marks whether data has been copied to the wiki. This field will need to be able to express three states:
- no copying happened yet
- copying has been triggered but not finished, i.e. is pending
- copying has finished
When the endpoint is called, the following needs to happen:
- check whether the wiki is still eligible as per AC
- create a job for copying (creation of this job is part of another ticket)
- mark the wiki as "copy pending"
In addition to the public facing API endpoint, a backend API endpoint is needed, which can be called by lifecycle hooks of the transferbot runs, signalling success/failure of the operation.