aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/definitions/push_condition.h
blob: 189153b3a92f73bb2fae66f6b1a3af5a7cd09eda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/******************************************************************************
 * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
 */

#pragma once

#include "converters.h"

namespace Quotient {

// Data structures

struct PushCondition {
    QString kind;

    /// Required for ``event_match`` conditions. The dot-separated field of the
    /// event to match.
    QString key;

    /// Required for ``event_match`` conditions. The glob-style pattern to
    /// match against. Patterns with no special glob characters should be
    /// treated as having asterisks prepended and appended when testing the
    /// condition.
    QString pattern;

    /// Required for ``room_member_count`` conditions. A decimal integer
    /// optionally prefixed by one of, ==, <, >, >= or <=. A prefix of < matches
    /// rooms where the member count is strictly less than the given number and
    /// so forth. If no prefix is present, this parameter defaults to ==.
    QString is;
};

template <>
struct JsonObjectConverter<PushCondition> {
    static void dumpTo(QJsonObject& jo, const PushCondition& pod);
    static void fillFrom(const QJsonObject& jo, PushCondition& pod);
};

} // namespace Quotient