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.
-