1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Read enforced_for capability

This commit is contained in:
davigonz 2019-02-19 10:15:00 +01:00 committed by David González Verdugo
parent 78e4d167d2
commit 249e25768b
2 changed files with 69 additions and 2 deletions

View File

@ -1,6 +1,7 @@
/* ownCloud Android Library is available under MIT license
* @author masensio
* @author Semih Serhat Karakaya <karakayasemi@itu.edu.tr>
* @author David González Verdugo
* Copyright (C) 2019 ownCloud GmbH.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
@ -74,6 +75,7 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation<OCCapability
private static final String NODE_FILES_SHARING = "files_sharing";
private static final String NODE_PUBLIC = "public";
private static final String NODE_PASSWORD = "password";
private static final String NODE_ENFORCED_FOR = "enforced_for";
private static final String NODE_EXPIRE_DATE = "expire_date";
private static final String NODE_USER = "user";
private static final String NODE_FEDERATION = "federation";
@ -94,6 +96,9 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation<OCCapability
private static final String PROPERTY_API_ENABLED = "api_enabled";
private static final String PROPERTY_ENABLED = "enabled";
private static final String PROPERTY_ENFORCED = "enforced";
private static final String PROPERTY_ENFORCED_READ_ONLY = "read_only";
private static final String PROPERTY_ENFORCED_READ_WRITE = "read_write";
private static final String PROPERTY_ENFORCED_UPLOAD_ONLY = "upload_only";
private static final String PROPERTY_DAYS = "days";
private static final String PROPERTY_SEND_MAIL = "send_mail";
private static final String PROPERTY_UPLOAD = "upload";
@ -181,10 +186,38 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation<OCCapability
JSONObject respPublic = respFilesSharing.getJSONObject(NODE_PUBLIC);
capability.setFilesSharingPublicEnabled(CapabilityBooleanType.fromBooleanValue(
respPublic.getBoolean(PROPERTY_ENABLED)));
if (respPublic.has(NODE_PASSWORD)) {
JSONObject respPassword = respPublic.getJSONObject(NODE_PASSWORD);
capability.setFilesSharingPublicPasswordEnforced(
CapabilityBooleanType.fromBooleanValue(
respPublic.getJSONObject(NODE_PASSWORD).getBoolean(PROPERTY_ENFORCED)));
respPublic.getJSONObject(NODE_PASSWORD).
getBoolean(PROPERTY_ENFORCED)
)
);
if(respPassword.has(NODE_ENFORCED_FOR)) {
capability.setFilesSharingPublicPasswordEnforcedReadOnly(
CapabilityBooleanType.fromBooleanValue(
respPassword.getJSONObject(NODE_ENFORCED_FOR).
getBoolean(PROPERTY_ENFORCED_READ_ONLY)
)
);
capability.setFilesSharingPublicPasswordEnforcedReadWrite(
CapabilityBooleanType.fromBooleanValue(
respPassword.getJSONObject(NODE_ENFORCED_FOR).
getBoolean(PROPERTY_ENFORCED_READ_WRITE)
)
);
capability.setFilesSharingPublicPasswordEnforcedUploadOnly(
CapabilityBooleanType.fromBooleanValue(
respPassword.getJSONObject(NODE_ENFORCED_FOR).
getBoolean(PROPERTY_ENFORCED_UPLOAD_ONLY)
)
);
}
}
if (respPublic.has(NODE_EXPIRE_DATE)) {
JSONObject respExpireDate = respPublic.getJSONObject(NODE_EXPIRE_DATE);

View File

@ -1,6 +1,7 @@
/* ownCloud Android Library is available under MIT license
* @author masensio
* Copyright (C) 2016 ownCloud GmbH.
* @author David González Verdugo
* Copyright (C) 2019 ownCloud GmbH.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@ -49,6 +50,9 @@ public class OCCapability {
private CapabilityBooleanType mFilesSharingPublicEnabled;
private CapabilityBooleanType mFilesSharingPublicPasswordEnforced;
private CapabilityBooleanType mFilesSharingPublicPasswordEnforcedReadOnly;
private CapabilityBooleanType mFilesSharingPublicPasswordEnforcedReadWrite;
private CapabilityBooleanType mFilesSharingPublicPasswordEnforcedUploadOnly;
private CapabilityBooleanType mFilesSharingPublicExpireDateEnabled;
private int mFilesSharingPublicExpireDateDays;
private CapabilityBooleanType mFilesSharingPublicExpireDateEnforced;
@ -84,6 +88,9 @@ public class OCCapability {
mFilesSharingApiEnabled = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicEnabled = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicPasswordEnforced = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicPasswordEnforcedReadOnly = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicPasswordEnforcedReadWrite = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicPasswordEnforcedUploadOnly = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicExpireDateEnabled = CapabilityBooleanType.UNKNOWN;
mFilesSharingPublicExpireDateDays = 0;
mFilesSharingPublicExpireDateEnforced = CapabilityBooleanType.UNKNOWN;
@ -190,6 +197,33 @@ public class OCCapability {
this.mFilesSharingPublicPasswordEnforced = filesSharingPublicPasswordEnforced;
}
public CapabilityBooleanType getFilesSharingPublicPasswordEnforcedReadOnly() {
return mFilesSharingPublicPasswordEnforcedReadOnly;
}
public void setFilesSharingPublicPasswordEnforcedReadOnly(
CapabilityBooleanType filesSharingPublicPasswordEnforcedReadOnly) {
this.mFilesSharingPublicPasswordEnforcedReadOnly = filesSharingPublicPasswordEnforcedReadOnly;
}
public CapabilityBooleanType getFilesSharingPublicPasswordEnforcedReadWrite() {
return mFilesSharingPublicPasswordEnforcedReadWrite;
}
public void setFilesSharingPublicPasswordEnforcedReadWrite(
CapabilityBooleanType filesSharingPublicPasswordEnforcedReadWrite) {
this.mFilesSharingPublicPasswordEnforcedReadWrite = filesSharingPublicPasswordEnforcedReadWrite;
}
public CapabilityBooleanType getFilesSharingPublicPasswordEnforcedUploadOnly() {
return mFilesSharingPublicPasswordEnforcedUploadOnly;
}
public void setFilesSharingPublicPasswordEnforcedUploadOnly(
CapabilityBooleanType filesSharingPublicPasswordEnforcedUploadOnly) {
this.mFilesSharingPublicPasswordEnforcedUploadOnly = filesSharingPublicPasswordEnforcedUploadOnly;
}
public CapabilityBooleanType getFilesSharingPublicExpireDateEnabled() {
return mFilesSharingPublicExpireDateEnabled;
}