You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.4 KiB
YAML
79 lines
2.4 KiB
YAML
6 years ago
|
# Copyright 2018 New Vector Ltd
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
properties:
|
||
|
user_fields:
|
||
|
description: Fields used to identify a third party user.
|
||
|
type: array
|
||
|
items:
|
||
|
type: string
|
||
|
description: Field used to identify a third party user.
|
||
|
example: ["network", "nickname"]
|
||
|
location_fields:
|
||
|
description: Fields used to identify a third party location.
|
||
|
type: array
|
||
|
items:
|
||
|
type: string
|
||
|
description: Field used to identify a third party location.
|
||
|
example: ["network", "channel"]
|
||
|
icon:
|
||
|
description: An icon representing the third party protocol.
|
||
|
type: string
|
||
|
example: "mxc://example.org/aBcDeFgH"
|
||
|
field_types:
|
||
|
title: Field Types
|
||
|
description: All location or user fields should have an entry here.
|
||
|
type: object
|
||
|
properties:
|
||
|
fieldname:
|
||
|
title: Field Type
|
||
|
description: Definition of valid values for a field.
|
||
|
type: object
|
||
|
properties:
|
||
|
regexp:
|
||
|
description: A regular expression for validation of a field's value.
|
||
|
type: string
|
||
|
placeholder:
|
||
|
description: An placeholder serving as a valid example of the field value.
|
||
|
type: string
|
||
|
example: {
|
||
|
"network": {
|
||
|
"regexp": "([a-z0-9]+\\.)*[a-z0-9]+",
|
||
|
"placeholder": "irc.example.org"
|
||
|
},
|
||
|
"nickname": {
|
||
|
"regexp": "[^\\s#]+",
|
||
|
"placeholder": "username"
|
||
|
},
|
||
|
"channel": {
|
||
|
"regexp": "#[^\\s]+",
|
||
|
"placeholder": "#foobar"
|
||
|
}
|
||
|
}
|
||
|
instances:
|
||
|
description: |-
|
||
|
A list of objects representing independent instances of configuration.
|
||
|
For instance multiple networks on IRC if multiple are bridged by the
|
||
|
same bridge.
|
||
|
type: array
|
||
|
items:
|
||
|
type: object
|
||
|
example: {
|
||
|
"desc": "Freenode",
|
||
|
"icon": "mxc://example.org/JkLmNoPq",
|
||
|
"fields": {
|
||
|
"network": "freenode.net",
|
||
|
}
|
||
|
}
|
||
|
title: Protocol
|
||
|
type: object
|