This commit is contained in:
Massimiliano Assante 2022-05-05 14:30:38 +02:00
parent 472dbe096c
commit 27942f89bb
4 changed files with 138 additions and 2 deletions

View File

@ -0,0 +1,62 @@
package org.gcube.social_networking.socialnetworking.model.beans.workspace;
import java.util.Arrays;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
@JsonIgnoreProperties(ignoreUnknown=true)
@JsonTypeName("FOLDER_ADMIN_DOWNGRADE")
public class FolderAdminDowngradeEvent extends WorkspaceEvent {
private static final WorkspaceEventType TYPE = WorkspaceEventType.FOLDER_ADMIN_DOWNGRADE;
@JsonProperty("folderItem")
@NotNull(message="folderItem cannot be missing")
private FolderBean folder;
public FolderAdminDowngradeEvent() {
super(TYPE);
}
/**
*
* @param idsToNotify usernames
* @param idsAsGroup true if idsToNotify are groups (members of contexts)
* @param FolderBean the folder
*/
public FolderAdminDowngradeEvent(String[] idsToNotify, boolean idsAsGroup, FolderBean folder) {
super(TYPE);
this.idsToNotify = idsToNotify;
this.idsAsGroup = idsAsGroup;
this.folder = folder;
}
/**
*
* @param idsToNotify usernames
* @param FolderBean the folder
*/
public FolderAdminDowngradeEvent(String[] idsToNotify, FolderBean folder) {
super(TYPE);
this.idsToNotify = idsToNotify;
this.folder = folder;
}
public FolderBean getFolder() {
return folder;
}
public void setFolder(FolderBean folder) {
this.folder = folder;
}
@Override
public String toString() {
return "FOLDER_ADMIN_DOWNGRADE [folder=" + folder + ", TYPE=" + TYPE + ", idsToNotify="
+ Arrays.toString(idsToNotify) + ", idsAsGroup=" + idsAsGroup + "]";
}
}

View File

@ -0,0 +1,62 @@
package org.gcube.social_networking.socialnetworking.model.beans.workspace;
import java.util.Arrays;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
@JsonIgnoreProperties(ignoreUnknown=true)
@JsonTypeName("FOLDER_ADMIN_UPGRADE")
public class FolderAdminUpgradeEvent extends WorkspaceEvent {
private static final WorkspaceEventType TYPE = WorkspaceEventType.FOLDER_ADMIN_UPGRADE;
@JsonProperty("folderItem")
@NotNull(message="folderItem cannot be missing")
private FolderBean folder;
public FolderAdminUpgradeEvent() {
super(TYPE);
}
/**
*
* @param idsToNotify usernames
* @param idsAsGroup true if idsToNotify are groups (members of contexts)
* @param FolderBean the folder
*/
public FolderAdminUpgradeEvent(String[] idsToNotify, boolean idsAsGroup, FolderBean folder) {
super(TYPE);
this.idsToNotify = idsToNotify;
this.idsAsGroup = idsAsGroup;
this.folder = folder;
}
/**
*
* @param idsToNotify usernames
* @param FolderBean the folder
*/
public FolderAdminUpgradeEvent(String[] idsToNotify, FolderBean folder) {
super(TYPE);
this.idsToNotify = idsToNotify;
this.folder = folder;
}
public FolderBean getFolder() {
return folder;
}
public void setFolder(FolderBean folder) {
this.folder = folder;
}
@Override
public String toString() {
return "FolderAdminUpgradeEvent [folder=" + folder + ", TYPE=" + TYPE + ", idsToNotify="
+ Arrays.toString(idsToNotify) + ", idsAsGroup=" + idsAsGroup + "]";
}
}

View File

@ -22,7 +22,9 @@ include = As.PROPERTY, property = "type") @JsonSubTypes({
@JsonSubTypes.Type(value = UpdatedItemEvent.class, name = "ITEM_UPDATE"),
@JsonSubTypes.Type(value = DeletedItemEvent.class, name = "ITEM_DELETE"),
@JsonSubTypes.Type(value = FolderAddedUserEvent.class, name = "FOLDER_ADDEDUSER"),
@JsonSubTypes.Type(value = FolderRemovedUserEvent.class, name = "FOLDER_REMOVEDUSER")
@JsonSubTypes.Type(value = FolderRemovedUserEvent.class, name = "FOLDER_REMOVEDUSER"),
@JsonSubTypes.Type(value = FolderAdminUpgradeEvent.class, name = "FOLDER_ADMIN_UPGRADE"),
@JsonSubTypes.Type(value = FolderAdminDowngradeEvent.class, name = "FOLDER_ADMIN_DOWNGRADE")
})
public abstract class WorkspaceEvent {
protected final WorkspaceEventType TYPE;

View File

@ -26,15 +26,25 @@ public enum WorkspaceEventType {
* use to notify a workspace folder renamed
*/
FOLDER_RENAME(RenamedFolderEvent.class),
/**
* use to notify a user that he got upgraded to administrator of a shared folder
*/
FOLDER_ADMIN_UPGRADE(FolderAdminUpgradeEvent.class),
/**
* use to notify a user that he got downgraded from being administrator of a shared folder
*/
FOLDER_ADMIN_DOWNGRADE(FolderAdminDowngradeEvent.class),
/**
* use to notify that new user(s) were added in on of his workspace shared folder
*/
FOLDER_ADDEDUSER(FolderAddedUserEvent.class),
/**
* use to notify user(s) that existing user(s) were removed from one of her workspace shared folder
* use to notify user(s) that they were removed from a workspace shared folder
*/
FOLDER_REMOVEDUSER(FolderRemovedUserEvent.class);
Class<? extends WorkspaceEvent> beanClass;