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 TypeMethodDescriptioncallofproject.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>addProjectJoinRequestCallback(UUID projectId, UUID userId) Callback for adding a request to join a project.callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>findAllOwnerProjectsByUserId(UUID userId, int page) Retrieves all projects owned by a user, with pagination.callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>findAllOwnerProjectsByUsername(String username, int page) Retrieves all projects owned by a user, identified by username, with pagination.callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>findAllParticipantProjectByUserId(UUID userId, int page) Retrieves all projects a user is participating in, with pagination.callofproject.dev.data.common.clas.MultipleResponseMessagePageable<Object>findAllProjectDiscoveryView(int page) Retrieves a paginated list of projects for discovery purposes.callofproject.dev.data.common.clas.ResponseMessage<Object>findProjectDetail(UUID projectId) Retrieves detailed information of a specific project.callofproject.dev.data.common.clas.ResponseMessage<Object>findProjectDetailIfHasPermission(UUID projectId, UUID userId) Retrieves detailed information of a specific project if the user has permission.callofproject.dev.data.common.clas.ResponseMessage<Object>findProjectOverview(UUID projectId) 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>saveProject(ProjectSaveDTO projectDTO) 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>updateProject(ProjectUpdateDTO projectDTO) 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
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
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
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.
-