Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2022-04-14 14:39:31 +0300
committerGitHub <noreply@github.com>2022-04-14 14:39:31 +0300
commit3ca797129ced4546d4b3d0c5e84a1871decca55c (patch)
tree11f65b483cc599ccc775252c2c0362afda80459c /lib/public
parente827e0a14061a08eb6009e3fa222c2e66a4ffaf6 (diff)
parent1c7ecfc54499d866b9913c135c0c7439634d8bb1 (diff)
Merge pull request #31839 from nextcloud/feat/metadata-server
Add a metadata service to store file metadata
Diffstat (limited to 'lib/public')
-rw-r--r--lib/public/AppFramework/Db/Entity.php4
-rw-r--r--lib/public/AppFramework/Db/QBMapper.php2
-rw-r--r--lib/public/DB/QueryBuilder/IQueryBuilder.php5
-rw-r--r--lib/public/DB/Types.php6
4 files changed, 17 insertions, 0 deletions
diff --git a/lib/public/AppFramework/Db/Entity.php b/lib/public/AppFramework/Db/Entity.php
index 89e8f69859e..a059e3a27b0 100644
--- a/lib/public/AppFramework/Db/Entity.php
+++ b/lib/public/AppFramework/Db/Entity.php
@@ -120,6 +120,10 @@ abstract class Entity {
if (!$args[0] instanceof \DateTime) {
$args[0] = new \DateTime($args[0]);
}
+ } elseif ($type === 'json') {
+ if (!is_array($args[0])) {
+ $args[0] = json_decode($args[0], true);
+ }
} else {
settype($args[0], $type);
}
diff --git a/lib/public/AppFramework/Db/QBMapper.php b/lib/public/AppFramework/Db/QBMapper.php
index 5124650bc19..fa753a09dcf 100644
--- a/lib/public/AppFramework/Db/QBMapper.php
+++ b/lib/public/AppFramework/Db/QBMapper.php
@@ -253,6 +253,8 @@ abstract class QBMapper {
return IQueryBuilder::PARAM_LOB;
case 'datetime':
return IQueryBuilder::PARAM_DATE;
+ case 'json':
+ return IQueryBuilder::PARAM_JSON;
}
return IQueryBuilder::PARAM_STR;
diff --git a/lib/public/DB/QueryBuilder/IQueryBuilder.php b/lib/public/DB/QueryBuilder/IQueryBuilder.php
index 76754f7bf41..afca9e372ee 100644
--- a/lib/public/DB/QueryBuilder/IQueryBuilder.php
+++ b/lib/public/DB/QueryBuilder/IQueryBuilder.php
@@ -65,6 +65,11 @@ interface IQueryBuilder {
public const PARAM_DATE = 'datetime';
/**
+ * @since 24.0.0
+ */
+ public const PARAM_JSON = 'json';
+
+ /**
* @since 9.0.0
*/
public const PARAM_INT_ARRAY = Connection::PARAM_INT_ARRAY;
diff --git a/lib/public/DB/Types.php b/lib/public/DB/Types.php
index 4636ac3389f..31a474b03a0 100644
--- a/lib/public/DB/Types.php
+++ b/lib/public/DB/Types.php
@@ -110,4 +110,10 @@ final class Types {
* @since 21.0.0
*/
public const TIME = 'time';
+
+ /**
+ * @var string
+ * @since 24.0.0
+ */
+ public const JSON = 'json';
}