Interface DraftService
-
- All Known Implementing Classes:
DefaultDraftService
public interface DraftService
A Service responsible for Draft related operations during editing in Confluence.This service will only support the handling of
Draft
(legacy drafts)
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
DraftService.DraftType
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description Draft
createNewContentDraft(String spaceKey, DraftService.DraftType type)
Draft
findDraftForEditor(long contentId, DraftService.DraftType type, String spaceKey)
Find and return a draft of the specified content Id and type for the current user.List<Draft>
findDrafts(int limit, int offset)
Finds the users drafts.Draft
getDraft(long draftId)
gets the draft by id for the authenticated userboolean
isDraftContentChanged(Long draftId, String title, String content, Long contentId)
Deprecated.since 5.7.Long
removeDraft(long draftId)
Removes the draft with the specified ID if it is found, and returns the same ID passed.Long
removeDraft(long abstractPageId, long draftId)
Removes the draft specified by the given page id or draft id for the current user.default Draft
saveDraftFromEditor(Long draftId, Long parentPageId, String title, DraftService.DraftType type, String content, Long contentId, String spaceKey, int pageVersion)
Create and store a draft for the current user with the supplied details.Draft
saveDraftFromEditor(Long draftId, String title, DraftService.DraftType type, String content, Long contentId, String spaceKey, int pageVersion)
Deprecated.
-
-
-
Method Detail
-
saveDraftFromEditor
default Draft saveDraftFromEditor(Long draftId, Long parentPageId, String title, DraftService.DraftType type, String content, Long contentId, String spaceKey, int pageVersion) throws NotValidException
Create and store a draft for the current user with the supplied details.- Parameters:
draftId
-parentPageId
-title
-type
-content
- the editor formatted content (will be converted into storage format).contentId
- as a String since NEW is taken to represent a new draftspaceKey
-pageVersion
-- Returns:
- The Draft model object that was created and saved. The content of this draft will be in storage format
- Throws:
NotAuthorizedException
- if the current user is not able to save a draft (doesn't have edit permission)NotValidException
- if the data for the draft is incomplete or the content identified does not existIllegalArgumentException
- if there is a problem with the arguments supplied- Since:
- 6.11.0
-
saveDraftFromEditor
@Deprecated Draft saveDraftFromEditor(Long draftId, String title, DraftService.DraftType type, String content, Long contentId, String spaceKey, int pageVersion) throws NotValidException
Deprecated.Create and store a draft for the current user with the supplied details.- Parameters:
draftId
-title
-type
-content
- the editor formatted content (will be converted into storage format).contentId
- as a String since NEW is taken to represent a new draftspaceKey
-pageVersion
-- Returns:
- The Draft model object that was created and saved. The content of this draft will be in storage format
- Throws:
NotAuthorizedException
- if the current user is not able to save a draft (doesn't have edit permission)NotValidException
- if the data for the draft is incomplete or the content identified does not existIllegalArgumentException
- if there is a problem with the arguments supplied
-
isDraftContentChanged
@Deprecated boolean isDraftContentChanged(Long draftId, String title, String content, Long contentId)
Deprecated.since 5.7. No replacement (should stop being used).Compares the content of a draft to an existing page. If the draft is for a new page returns true whenDraft.isBlank()
returns false and the draft has no attachments- Returns:
- true if the draft content is different to it's pages content, or not blank when a new draft.
-
findDraftForEditor
Draft findDraftForEditor(long contentId, DraftService.DraftType type, String spaceKey) throws NotAuthorizedException, NotValidException
Find and return a draft of the specified content Id and type for the current user. The draft will be returned in a format suitable for the Confluence editor- Parameters:
contentId
-type
-spaceKey
-- Returns:
- the draft is found, otherwise null.
- Throws:
NotAuthorizedException
- if the current user is not permitted to view drafts for the identified contentNotValidException
- if the content identified does not existIllegalArgumentException
- if there are any problems with the supplied parameters
-
createNewContentDraft
Draft createNewContentDraft(String spaceKey, DraftService.DraftType type)
-
removeDraft
Long removeDraft(long abstractPageId, long draftId)
Removes the draft specified by the given page id or draft id for the current user. Looks at the draftId by preference, and reverts to the abstractPageId if the draftId is 0. Throws IllegalStateException if the draftId is 0 and the abstract page cannot be found.- Parameters:
abstractPageId
- the id of the abstract page the draft is an edit for.draftId
- the draft of the id to remove, this is necessary if abstractPageId = 0.- Returns:
- the id of the removed draft or null if neither a matching page nor draft could be found.
- Throws:
NotAuthorizedException
- if the current user does not have permission.
-
removeDraft
Long removeDraft(long draftId)
Removes the draft with the specified ID if it is found, and returns the same ID passed.- Parameters:
draftId
- a draft to remove- Returns:
- draftId removed or null.
-
findDrafts
List<Draft> findDrafts(int limit, int offset) throws NotValidException
Finds the users drafts.- Parameters:
limit
- - the maximum number of drafts to returnoffset
- - the offset of results- Returns:
- Throws:
NotAuthorizedException
NotValidException
-
getDraft
Draft getDraft(long draftId) throws NotAuthorizedException, NotValidException
gets the draft by id for the authenticated user- Parameters:
draftId
-- Returns:
- the draft with id draftId if it is owned by the authenticated user
- Throws:
NotAuthorizedException
- - if the owner of the draft is not the authenticated userNotValidException
- - if no draft exists with this id
-
-