•  
      story #21386 dry run REST project creation
    Summary
    Empty
    dry run REST project creation

    I know if there are know incompatibilitites before to go

    Proposal add ?dry_run option to POST /projects

    What should be checked:

    • User is allowed to create
    • Submitted categories selection and if some are required or not
    • Submitted project fields and if some are required or not
    • Shortname is valid
    • Full name is valid
    • Descriptions validity (short & long)

    ⚠️ The current code is not meant to ease the extraction of verification, the refactoring is a bit tricky.

    Limitations & security

    The validation is done in 2 "steps":

    • First we check if the user is allowed to create (permission, nb max project, etc)
    • Then, all other parameters are checked (in other word, it's not possible to assert if shortname is valid if the creator doesn't have the right to create projects).

    Error messages & L10N/I18N

    • In case of errors, error code is 400 and the route returns an array of errors with the language of the REST caller
    • When no errors, error code is 200 and body is empty

    Mandatory clean-up

    Before moving forward, we need to remove the SOAP project creation.

    Empty
    Empty
    Status
    Empty
    Done
    Development
    • [ ] Does it involves User Interface? 
    • [ ] Are there any mockups?
    • [ ] Are permissions checked?
    • [ ] Does it need Javascript development?
    • [ ] Does it need a forge upgrade bucket?
    • [ ] Does it need to execute things in system events?
    • [ ] Does it impact project creation (templates)?
    • [ ] Is it exploratory?
    Empty
    Details
    #21386
    Manuel Vacelet (vaceletm)
    2021-07-20 15:45
    2021-05-20 17:37
    3759

    References

    Follow-ups

    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    • Status changed from On going to Done
    • Category set to
    User avatar
    Thomas Gerbet (tgerbet)2021-07-08 16:59

    Updating the acceptance criteria to drop the mention of the templates in the verification:

    • if a xml_template_name is provided it is always valid since that the only way to provide a valid representation (in the same way that you cannot an integer instead of a string and vice versa)
    • if template_id is used it heavily depends on the permissions the user has, therefore it is done preemptively with the rest of the permission checks

    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes
    User avatar
    • Acceptance criteria
      Something went wrong, the follow up content couldn't be loaded
      Only formatting have been changed, you should switch to markup to see the changes