Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-core-lib / openecomp-zusammen-lib / openecomp-zusammen-plugin / src / main / java / org / openecomp / core / zusammen / plugin / collaboration / VersionPublicStore.java
1 package org.openecomp.core.zusammen.plugin.collaboration;
2
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import com.amdocs.zusammen.datatypes.itemversion.ItemVersionRevisions;
6 import org.openecomp.core.zusammen.plugin.dao.types.SynchronizationStateEntity;
7 import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity;
8
9 import java.util.Date;
10 import java.util.Map;
11 import java.util.Optional;
12
13 public interface VersionPublicStore {
14
15   Optional<VersionEntity> get(SessionContext context, Id itemId, Id versionId);
16
17   Optional<SynchronizationStateEntity> getSynchronizationState(SessionContext context,
18                                                                Id itemId, Id versionId);
19
20   void create(SessionContext context, Id itemId, VersionEntity version, Id revisionId,
21               Map<Id, Id> versionElementIds, Date publishTime, String message);
22
23   void update(SessionContext context, Id itemId, VersionEntity version, Id revisionId,
24               Map<Id, Id> versionElementIds, Date publishTime, String message);
25
26   boolean checkHealth(SessionContext context);
27
28   ItemVersionRevisions listItemVersionRevisions(SessionContext context, Id itemId, Id versionId);
29 }