[go: up one dir, main page]

Skip to content

[Refactor] Introduce standard Service Layer and patterns into Web IDE backend

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

MR: Pending

Description

The Web IDE Backend/Rails code does not follow standard patterns for the backend, e.g. Service Classes in a service layer. It could and should. See https://docs.gitlab.com/ee/development/reusing_abstractions.html#service-classes

With Move extensions marketplace settings to webide ... (!157999 - merged), there is also availability of the ROP pattern for Settings, which could be more extensively used in settings, and applied elsewhere if appropriate. E.g. some logic in lib/web_ide/extensions_marketplace.rb could be moved down into the ROP settings chain as additional steps, and the return interface could be standardized around service layer and ServiceResponse, like the Remote Dev Workspaces domain does. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/remote_development/README.md#layered-architecture

Acceptance Criteria

TODO: Fill out (required)

  • [Describe what must be achieved to complete this issue.]
  • [Describe another requirement needed to complete this issue.]
  • [Add additional acceptance criteria as needed.]

Technical Requirements

TODO: Fill out or delete (optional) [If applicable, please list out any technical requirements for this feature/enhancement.]

Design Requirements

TODO: Fill out or delete (optional) [If applicable, please provide a link to the design specifications for this feature/enhancement.]

Impact Assessment

TODO: Fill out or delete (optional) [Please describe the impact this feature/enhancement will have on the user experience and/or the product as a whole.]

User Story

TODO: Fill out or delete (optional) [Provide a user story to illustrate the use case for this feature/enhancement. Include examples to help communicate the intended functionality.]

Edited by 🤖 GitLab Bot 🤖