aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/pushrules.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/pushrules.h')
-rw-r--r--lib/csapi/pushrules.h74
1 files changed, 38 insertions, 36 deletions
diff --git a/lib/csapi/pushrules.h b/lib/csapi/pushrules.h
index 1f847013..c038401c 100644
--- a/lib/csapi/pushrules.h
+++ b/lib/csapi/pushrules.h
@@ -17,7 +17,7 @@ namespace QMatrixClient
// Operations
/// Retrieve all push rulesets.
- ///
+ ///
/// Retrieve all push rulesets for this user. Clients can "drill-down" on
/// the rulesets by suffixing a ``scope`` to this path e.g.
/// ``/pushrules/global/``. This will return a subset of this data under the
@@ -51,17 +51,17 @@ namespace QMatrixClient
};
/// Retrieve a push rule.
- ///
+ ///
/// Retrieve a single specified push rule.
class GetPushRuleJob : public BaseJob
{
public:
/*! Retrieve a push rule.
- * \param scope
+ * \param scope
* ``global`` to specify global rules.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
*/
explicit GetPushRuleJob(const QString& scope, const QString& kind, const QString& ruleId);
@@ -90,17 +90,17 @@ namespace QMatrixClient
};
/// Delete a push rule.
- ///
+ ///
/// This endpoint removes the push rule defined in the path.
class DeletePushRuleJob : public BaseJob
{
public:
/*! Delete a push rule.
- * \param scope
+ * \param scope
* ``global`` to specify global rules.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
*/
explicit DeletePushRuleJob(const QString& scope, const QString& kind, const QString& ruleId);
@@ -116,53 +116,55 @@ namespace QMatrixClient
};
/// Add or change a push rule.
- ///
+ ///
/// This endpoint allows the creation, modification and deletion of pushers
/// for this user ID. The behaviour of this endpoint varies depending on the
/// values in the JSON body.
+ ///
+ /// When creating push rules, they MUST be enabled by default.
class SetPushRuleJob : public BaseJob
{
public:
/*! Add or change a push rule.
- * \param scope
+ * \param scope
* ``global`` to specify global rules.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
- * \param actions
+ * \param actions
* The action(s) to perform when the conditions for this rule are met.
- * \param before
+ * \param before
* Use 'before' with a ``rule_id`` as its value to make the new rule the
* next-most important rule with respect to the given user defined rule.
* It is not possible to add a rule relative to a predefined server rule.
- * \param after
+ * \param after
* This makes the new rule the next-less important rule relative to the
* given user defined rule. It is not possible to add a rule relative
* to a predefined server rule.
- * \param conditions
+ * \param conditions
* The conditions that must hold true for an event in order for a
* rule to be applied to an event. A rule with no conditions
* always matches. Only applicable to ``underride`` and ``override`` rules.
- * \param pattern
+ * \param pattern
* Only applicable to ``content`` rules. The glob-style pattern to match against.
*/
explicit SetPushRuleJob(const QString& scope, const QString& kind, const QString& ruleId, const QStringList& actions, const QString& before = {}, const QString& after = {}, const QVector<PushCondition>& conditions = {}, const QString& pattern = {});
};
/// Get whether a push rule is enabled
- ///
+ ///
/// This endpoint gets whether the specified push rule is enabled.
class IsPushRuleEnabledJob : public BaseJob
{
public:
/*! Get whether a push rule is enabled
- * \param scope
+ * \param scope
* Either ``global`` or ``device/<profile_tag>`` to specify global
* rules or device rules for the given ``profile_tag``.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
*/
explicit IsPushRuleEnabledJob(const QString& scope, const QString& kind, const QString& ruleId);
@@ -191,37 +193,37 @@ namespace QMatrixClient
};
/// Enable or disable a push rule.
- ///
+ ///
/// This endpoint allows clients to enable or disable the specified push rule.
class SetPushRuleEnabledJob : public BaseJob
{
public:
/*! Enable or disable a push rule.
- * \param scope
+ * \param scope
* ``global`` to specify global rules.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
- * \param enabled
+ * \param enabled
* Whether the push rule is enabled or not.
*/
explicit SetPushRuleEnabledJob(const QString& scope, const QString& kind, const QString& ruleId, bool enabled);
};
/// The actions for a push rule
- ///
+ ///
/// This endpoint get the actions for the specified push rule.
class GetPushRuleActionsJob : public BaseJob
{
public:
/*! The actions for a push rule
- * \param scope
+ * \param scope
* Either ``global`` or ``device/<profile_tag>`` to specify global
* rules or device rules for the given ``profile_tag``.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
*/
explicit GetPushRuleActionsJob(const QString& scope, const QString& kind, const QString& ruleId);
@@ -250,20 +252,20 @@ namespace QMatrixClient
};
/// Set the actions for a push rule.
- ///
+ ///
/// This endpoint allows clients to change the actions of a push rule.
/// This can be used to change the actions of builtin rules.
class SetPushRuleActionsJob : public BaseJob
{
public:
/*! Set the actions for a push rule.
- * \param scope
+ * \param scope
* ``global`` to specify global rules.
- * \param kind
+ * \param kind
* The kind of rule
- * \param ruleId
+ * \param ruleId
* The identifier for the rule.
- * \param actions
+ * \param actions
* The action(s) to perform for this rule.
*/
explicit SetPushRuleActionsJob(const QString& scope, const QString& kind, const QString& ruleId, const QStringList& actions);