Interface IProjectService

All Known Implementing Classes:
ProjectService

public interface IProjectService
Interface for the Project Service. This interface defines methods for managing projects, including creation, updating, and retrieval of project-related data.
  • Method Summary

    Modifier and Type
    Method
    Description
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    addProjectJoinRequest(UUID projectId, UUID userId)
    Adds a request to join a project.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    Callback for adding a request to join a project.
    callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>
    Retrieves all projects owned by a user, with pagination.
    callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>
    Retrieves all projects owned by a user, identified by username, with pagination.
    callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>
    Retrieves all projects a user is participating in, with pagination.
    callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>
    Retrieves a paginated list of projects for discovery purposes.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    Retrieves detailed information of a specific project.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    Retrieves detailed information of a specific project if the user has permission.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    Retrieves an overview of a specific project.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    findProjectOwnerView(UUID userId, UUID projectId)
    Retrieves a view of a project from the perspective of its owner.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    Saves a new project using a ProjectSaveDTO.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    saveProjectV2(ProjectSaveDTO saveDTO, org.springframework.web.multipart.MultipartFile file)
    Saves a new project with an additional file using ProjectSaveDTO and MultipartFile.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    Updates a project using ProjectUpdateDTO.
    callofproject.dev.data.common.clas.ResponseMessage<Object>
    updateProjectV2(ProjectUpdateDTO projectDTO, org.springframework.web.multipart.MultipartFile file)
    Updates a project with an additional file using ProjectUpdateDTO and MultipartFile.
  • Method Details

    • saveProject

      callofproject.dev.data.common.clas.ResponseMessage<Object> saveProject(ProjectSaveDTO projectDTO)
      Saves a new project using a ProjectSaveDTO.
      Parameters:
      projectDTO - Data Transfer Object containing project information.
      Returns:
      A ResponseMessage containing the result of the save operation.
    • saveProjectV2

      callofproject.dev.data.common.clas.ResponseMessage<Object> saveProjectV2(ProjectSaveDTO saveDTO, org.springframework.web.multipart.MultipartFile file)
      Saves a new project with an additional file using ProjectSaveDTO and MultipartFile.
      Parameters:
      saveDTO - Data Transfer Object containing project information.
      file - The file to be associated with the project.
      Returns:
      A ResponseMessage containing the result of the save operation.
    • findAllParticipantProjectByUserId

      callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object> findAllParticipantProjectByUserId(UUID userId, int page)
      Retrieves all projects a user is participating in, with pagination.
      Parameters:
      userId - The UUID of the user.
      page - The page number for pagination.
      Returns:
      A MultipleResponseMessagePageable containing a list of projects.
    • updateProject

      callofproject.dev.data.common.clas.ResponseMessage<Object> updateProject(ProjectUpdateDTO projectDTO)
      Updates a project using ProjectUpdateDTO.
      Parameters:
      projectDTO - Data Transfer Object containing updated project information.
      Returns:
      A ResponseMessage containing the result of the update operation.
    • updateProjectV2

      callofproject.dev.data.common.clas.ResponseMessage<Object> updateProjectV2(ProjectUpdateDTO projectDTO, org.springframework.web.multipart.MultipartFile file)
      Updates a project with an additional file using ProjectUpdateDTO and MultipartFile.
      Parameters:
      projectDTO - Data Transfer Object containing updated project information.
      file - The file to be associated with the project update.
      Returns:
      A ResponseMessage containing the result of the update operation.
    • findAllOwnerProjectsByUserId

      callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object> findAllOwnerProjectsByUserId(UUID userId, int page)
      Retrieves all projects owned by a user, with pagination.
      Parameters:
      userId - The UUID of the user.
      page - The page number for pagination.
      Returns:
      A MultipleResponseMessagePageable containing a list of owned projects.
    • findAllOwnerProjectsByUsername

      callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object> findAllOwnerProjectsByUsername(String username, int page)
      Retrieves all projects owned by a user, identified by username, with pagination.
      Parameters:
      username - The username of the project owner.
      page - The page number for pagination.
      Returns:
      A MultipleResponseMessagePageable containing a list of owned projects.
    • findProjectOwnerView

      callofproject.dev.data.common.clas.ResponseMessage<Object> findProjectOwnerView(UUID userId, UUID projectId)
      Retrieves a view of a project from the perspective of its owner.
      Parameters:
      userId - The UUID of the owner.
      projectId - The UUID of the project.
      Returns:
      A ResponseMessage containing the ProjectOwnerView.
    • findAllProjectDiscoveryView

      callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object> findAllProjectDiscoveryView(int page)
      Retrieves a paginated list of projects for discovery purposes.
      Parameters:
      page - The page number for pagination.
      Returns:
      A MultipleResponseMessagePageable containing a list of project discovery views.
    • findProjectOverview

      callofproject.dev.data.common.clas.ResponseMessage<Object> findProjectOverview(UUID projectId)
      Retrieves an overview of a specific project.
      Parameters:
      projectId - The UUID of the project.
      Returns:
      A ResponseMessage containing the ProjectOverview.
    • addProjectJoinRequest

      callofproject.dev.data.common.clas.ResponseMessage<Object> addProjectJoinRequest(UUID projectId, UUID userId)
      Adds a request to join a project.
      Parameters:
      projectId - The UUID of the project to join.
      userId - The UUID of the user requesting to join.
      Returns:
      A ResponseMessage containing the result of the join request.
    • findProjectDetail

      callofproject.dev.data.common.clas.ResponseMessage<Object> findProjectDetail(UUID projectId)
      Retrieves detailed information of a specific project.
      Parameters:
      projectId - The UUID of the project.
      Returns:
      A ResponseMessage containing the ProjectDetail.
    • findProjectDetailIfHasPermission

      callofproject.dev.data.common.clas.ResponseMessage<Object> findProjectDetailIfHasPermission(UUID projectId, UUID userId)
      Retrieves detailed information of a specific project if the user has permission.
      Parameters:
      projectId - The UUID of the project.
      userId - The UUID of the user.
      Returns:
      A ResponseMessage containing the ProjectDetail.
    • addProjectJoinRequestCallback

      callofproject.dev.data.common.clas.ResponseMessage<Object> addProjectJoinRequestCallback(UUID projectId, UUID userId)
      Callback for adding a request to join a project.
      Parameters:
      projectId - The UUID of the project to join.
      userId - The UUID of the user requesting to join.
      Returns:
      A ResponseMessage containing the result of the join request callback.