Interface IProjectOwnerService

All Known Implementing Classes:
ProjectOwnerService

public interface IProjectOwnerService
Interface for the Project Owner Service. This interface defines methods for operations a project owner can perform, such as managing participants and updating project status.
  • Method Details

    • addParticipant

      callofproject.dev.data.common.clas.ResponseMessage<Boolean> addParticipant(SaveProjectParticipantDTO dto)
      Adds a participant to a project.
      Parameters:
      dto - Data Transfer Object containing details for saving a project participant.
      Returns:
      A ResponseMessage containing a Boolean result of the operation.
    • removeParticipant

      callofproject.dev.data.common.clas.ResponseMessage<Object> removeParticipant(UUID projectId, UUID userId)
      Removes a participant from a project.
      Parameters:
      projectId - The UUID of the project.
      userId - The UUID of the user to be removed.
      Returns:
      A ResponseMessage containing the result of the operation.
    • approveParticipantRequest

      callofproject.dev.data.common.clas.ResponseMessage<Object> approveParticipantRequest(ParticipantRequestDTO requestDTO)
      Approves a participant's request to join a project.
      Parameters:
      requestDTO - Data Transfer Object containing the participant request details.
      Returns:
      A ResponseMessage containing the result of the approval operation.
    • finishProject

      callofproject.dev.data.common.clas.ResponseMessage<Object> finishProject(UUID userId, UUID projectId)
      Marks a project as finished.
      Parameters:
      userId - The UUID of the user who is finishing the project.
      projectId - The UUID of the project to be finished.
      Returns:
      A ResponseMessage containing the result of the finish operation.
    • changeProjectStatus

      callofproject.dev.data.common.clas.ResponseMessage<Object> changeProjectStatus(UUID userId, UUID projectId, callofproject.dev.data.project.entity.enums.EProjectStatus projectStatus)
      Changes the status of a project.
      Parameters:
      userId - The UUID of the user changing the project status.
      projectId - The UUID of the project whose status is being changed.
      projectStatus - The new status of the project.
      Returns:
      A ResponseMessage containing the result of the status change.
    • removeProject

      callofproject.dev.data.common.clas.ResponseMessage<Object> removeProject(UUID userId, UUID projectId)
      Removes a project.
      Parameters:
      userId - The UUID of the user removing the project.
      projectId - The UUID of the project to be removed.
      Returns:
      A ResponseMessage containing the result of the remove operation.
    • approveParticipantRequestCallback

      callofproject.dev.data.common.clas.ResponseMessage<Object> approveParticipantRequestCallback(ParticipantRequestDTO requestDTO)
      Callback for approving a participant's request to join a project.
      Parameters:
      requestDTO - Data Transfer Object containing the participant request details.
      Returns:
      A ResponseMessage containing the result of the approval operation callback.
    • removeParticipantCallback

      callofproject.dev.data.common.clas.ResponseMessage<Object> removeParticipantCallback(UUID projectId, UUID userId)
      Callback for removing a participant from a project.
      Parameters:
      projectId - The UUID of the project.
      userId - The UUID of the user to be removed.
      Returns:
      A ResponseMessage containing the result of the remove operation callback.