Merge pull request #1494 from nextcloud/feature/compatible-file-names

Add New Capabilities For Compatible File Names
This commit is contained in:
Alper Öztürk
2024-08-23 07:24:08 +02:00
committed by GitHub
2 changed files with 34 additions and 0 deletions

View File

@ -160,6 +160,12 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
private static final String NODE_SECURITY_GUARD = "security_guard";
private static final String NODE_DIAGNOSTICS = "diagnostics";
// needed for checking compatible filenames
private static final String FORBIDDEN_FILENAME_CHARACTERS = "forbidden_filename_characters";
private static final String FORBIDDEN_FILENAMES = "forbidden_filenames";
private static final String FORBIDDEN_FILENAME_EXTENSIONS = "forbidden_filename_extensions";
private static final String FORBIDDEN_FILENAME_BASE_NAMES = "forbidden_filename_basenames";
private OCCapability currentCapability = null;
public GetCapabilitiesRemoteOperation() {
@ -438,6 +444,28 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
capability.setDirectEditingEtag(respDirectEditing.getString("etag"));
}
// region compatible file names
if (respFiles.has(FORBIDDEN_FILENAME_CHARACTERS)) {
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_CHARACTERS);
capability.setForbiddenFilenameCharactersJson(result.toString());
}
if (respFiles.has(FORBIDDEN_FILENAMES)) {
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAMES);
capability.setForbiddenFilenamesJson(result.toString());
}
if (respFiles.has(FORBIDDEN_FILENAME_EXTENSIONS)) {
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_EXTENSIONS);
capability.setForbiddenFilenameExtensionJson(result.toString());
}
if (respFiles.has(FORBIDDEN_FILENAME_BASE_NAMES)) {
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_BASE_NAMES);
capability.setForbiddenFilenameBaseNamesJson(result.toString());
}
// endregion
Log_OC.d(TAG, "*** Added " + NODE_FILES);
}

View File

@ -104,6 +104,12 @@ class OCCapability {
// Security guard
var securityGuard = CapabilityBooleanType.UNKNOWN
// needed for checking compatible filenames
var forbiddenFilenameCharactersJson: String? = null
var forbiddenFilenamesJson: String? = null
var forbiddenFilenameExtensionJson: String? = null
var forbiddenFilenameBaseNamesJson: String? = null
// Etag for capabilities
var etag: String? = ""