From 296a54d0ce98c9882e2b82a345421e3b74b65fc5 Mon Sep 17 00:00:00 2001 From: prateek banga Date: Mon, 14 Aug 2023 21:11:24 +0530 Subject: [PATCH 1/2] adds messages event config and target attribute in user model --- app/config/events.php | 61 ++++++++++++++++++++- src/Appwrite/Utopia/Response/Model/User.php | 7 +++ 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/app/config/events.php b/app/config/events.php index 55dfad77d0..45bb45fbf8 100644 --- a/app/config/events.php +++ b/app/config/events.php @@ -44,6 +44,20 @@ return [ '$description' => 'This event triggers when a verification token for a user is validated.' ], ], + 'targets' => [ + '$model' => Response::MODEL_TARGET, + '$resource' => true, + '$description' => 'This event triggers on any user\'s target event.', + 'create' => [ + '$description' => 'This event triggers when a user\'s target is created.', + ], + 'update' => [ + '$description' => 'This event triggers when a user\'s target is updated.', + ], + 'delete' => [ + '$description' => 'This event triggers when a user\'s target is deleted.', + ], + ], 'create' => [ '$description' => 'This event triggers when a user is created.' ], @@ -236,5 +250,50 @@ return [ 'update' => [ '$description' => 'This event triggers when a function is updated.', ] - ] + ], + 'messages' => [ + '$model' => Response::MODEL_MESSAGE, + '$resource' => true, + '$description' => 'This event triggers on any messaging event.', + 'create' => [ + '$description' => 'This event triggers when a message is created.', + ], + 'providers' => [ + '$model' => Response::MODEL_PROVIDER, + '$resource' => true, + '$description' => 'This event triggers on any provider event.', + 'create' => [ + '$description' => 'This event triggers when a provider is created.', + ], + 'update' => [ + '$description' => 'This event triggers when a provider is updated.', + ], + 'delete' => [ + '$description' => 'This event triggers when a provider is deleted.' + ], + ], + 'topics' => [ + '$model' => Response::MODEL_TOPIC, + '$resource' => true, + '$description' => 'This event triggers on any topic event.', + 'create' => [ + '$description' => 'This event triggers when a provider is created.', + ], + 'delete' => [ + '$description' => 'This event triggers when a provider is deleted.' + ], + 'subscribers' => [ + '$model' => Response::MODEL_SUBSCRIBER, + '$resource' => true, + '$description' => 'This event triggers on any subscriber event.', + 'create' => [ + '$description' => 'This event triggers when a subscriber is created.', + ], + 'delete' => [ + '$description' => 'This event triggers when a subscriber is deleted.' + ], + ], + ], + + ], ]; diff --git a/src/Appwrite/Utopia/Response/Model/User.php b/src/Appwrite/Utopia/Response/Model/User.php index ce2bd6188c..d6988b47f4 100644 --- a/src/Appwrite/Utopia/Response/Model/User.php +++ b/src/Appwrite/Utopia/Response/Model/User.php @@ -120,6 +120,13 @@ class User extends Model 'default' => new \stdClass(), 'example' => ['theme' => 'pink', 'timezone' => 'UTC'], ]) + ->addRule('targets', [ + 'type' => Response::MODEL_TARGET, + 'description' => 'A user-owned message receiver. A single user may have multiple e.g. emails, phones, and a browser. Each target is registered with a single provider.', + 'default' => [], + 'array' => true, + 'example' => [], + ]) ->addRule('accessedAt', [ 'type' => self::TYPE_DATETIME, 'description' => 'Most recent access date in ISO 8601 format. This attribute is only updated again after ' . APP_USER_ACCCESS / 60 / 60 . ' hours.', From 25fc64c4ab2ca4c90ee3397ea527f96e9d43264e Mon Sep 17 00:00:00 2001 From: Prateek Banga Date: Fri, 15 Sep 2023 02:28:32 +0530 Subject: [PATCH 2/2] moves provider to top level in events config --- app/config/events.php | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/config/events.php b/app/config/events.php index 4eed1257de..4aaa324e9c 100644 --- a/app/config/events.php +++ b/app/config/events.php @@ -258,20 +258,6 @@ return [ 'create' => [ '$description' => 'This event triggers when a message is created.', ], - 'providers' => [ - '$model' => Response::MODEL_PROVIDER, - '$resource' => true, - '$description' => 'This event triggers on any provider event.', - 'create' => [ - '$description' => 'This event triggers when a provider is created.', - ], - 'update' => [ - '$description' => 'This event triggers when a provider is updated.', - ], - 'delete' => [ - '$description' => 'This event triggers when a provider is deleted.' - ], - ], 'topics' => [ '$model' => Response::MODEL_TOPIC, '$resource' => true, @@ -296,6 +282,20 @@ return [ ], ], + 'providers' => [ + '$model' => Response::MODEL_PROVIDER, + '$resource' => true, + '$description' => 'This event triggers on any provider event.', + 'create' => [ + '$description' => 'This event triggers when a provider is created.', + ], + 'update' => [ + '$description' => 'This event triggers when a provider is updated.', + ], + 'delete' => [ + '$description' => 'This event triggers when a provider is deleted.' + ], + ], 'rules' => [ '$model' => Response::MODEL_PROXY_RULE, '$resource' => true,