diff --git a/api/assets/schemas.json b/api/assets/schemas.json
index 9c34f968..05046b97 100644
--- a/api/assets/schemas.json
+++ b/api/assets/schemas.json
@@ -81,11 +81,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -142,27 +161,7 @@
}
},
"additionalProperties": false,
- "required": [
- "name",
- "type"
- ],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -308,11 +307,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -368,11 +386,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -470,22 +484,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -631,11 +629,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -691,11 +708,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -751,22 +764,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -912,11 +909,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -972,11 +988,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -1002,22 +1014,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -1163,11 +1159,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -1223,11 +1238,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -1256,22 +1267,6 @@
"messages"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -1417,11 +1412,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -1477,11 +1491,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -1519,22 +1529,6 @@
"type"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -1680,11 +1674,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -1740,11 +1753,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -1775,22 +1784,6 @@
"name"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -1936,11 +1929,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -1996,11 +2008,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -2026,22 +2034,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -2187,11 +2179,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -2247,11 +2258,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -2289,22 +2296,6 @@
]
},
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -2450,11 +2441,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -2510,11 +2520,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -2565,22 +2571,6 @@
"name"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -2726,11 +2716,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -2786,11 +2795,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -2889,22 +2894,6 @@
"name"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -3050,11 +3039,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -3110,11 +3118,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -3140,22 +3144,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -3301,11 +3289,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -3361,11 +3368,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -3391,22 +3394,6 @@
"nick"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -3552,11 +3539,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -3612,11 +3618,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -3654,22 +3656,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -3815,11 +3801,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -3875,11 +3880,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -3912,22 +3913,6 @@
]
},
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -4073,11 +4058,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -4133,11 +4137,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -4166,22 +4166,6 @@
"name"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -4327,11 +4311,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -4387,11 +4390,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -4420,22 +4419,6 @@
"name"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -4581,11 +4564,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -4641,11 +4643,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -4670,22 +4668,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -4831,11 +4813,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -4891,11 +4892,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -4940,22 +4937,6 @@
"channel_id"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -5101,11 +5082,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -5161,11 +5161,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -5217,22 +5213,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -5378,11 +5358,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -5438,11 +5437,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -5472,22 +5467,6 @@
"enabled"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -5633,11 +5612,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -5693,11 +5691,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -5726,22 +5720,6 @@
"name"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -5887,11 +5865,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -5947,11 +5944,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -5983,22 +5976,6 @@
"recipients"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -6144,11 +6121,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -6204,11 +6200,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -6264,22 +6256,6 @@
},
"additionalProperties": false,
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -6425,11 +6401,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -6485,11 +6480,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -6515,22 +6506,6 @@
"type"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -6676,11 +6651,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -6736,11 +6730,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -6770,22 +6760,6 @@
"username"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -6931,11 +6905,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -6991,11 +6984,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
@@ -7208,22 +7197,6 @@
"timezone_offset"
],
"definitions": {
- "ChannelType": {
- "enum": [
- 0,
- 1,
- 10,
- 11,
- 12,
- 13,
- 2,
- 3,
- 4,
- 5,
- 6
- ],
- "type": "number"
- },
"ChannelPermissionOverwriteType": {
"enum": [
0,
@@ -7369,11 +7342,30 @@
"type": "string"
},
"type": {
- "$ref": "#/definitions/ChannelType"
+ "enum": [
+ 0,
+ 1,
+ 10,
+ 11,
+ 12,
+ 13,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6
+ ],
+ "type": "number"
},
"topic": {
"type": "string"
},
+ "icon": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
"bitrate": {
"type": "integer"
},
@@ -7429,11 +7421,7 @@
"type": "integer"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type"
- ]
+ "additionalProperties": false
},
"RelationshipType": {
"enum": [
diff --git a/api/src/routes/channels/#channel_id/index.ts b/api/src/routes/channels/#channel_id/index.ts
index e836622b..70dd3994 100644
--- a/api/src/routes/channels/#channel_id/index.ts
+++ b/api/src/routes/channels/#channel_id/index.ts
@@ -1,6 +1,6 @@
import { Channel, ChannelDeleteEvent, ChannelPermissionOverwriteType, ChannelService, ChannelType, ChannelUpdateEvent, emitEvent, Recipient } from "@fosscord/util";
import { Request, Response, Router } from "express";
-import { route } from "@fosscord/api";
+import { handleFile, route } from "@fosscord/api";
const router: Router = Router();
// TODO: delete channel
@@ -44,9 +44,10 @@ export interface ChannelModifySchema {
/**
* @maxLength 100
*/
- name: string;
- type: ChannelType;
+ name?: string;
+ type?: ChannelType;
topic?: string;
+ icon?: string | null;
bitrate?: number;
user_limit?: number;
rate_limit_per_user?: number;
@@ -67,6 +68,7 @@ export interface ChannelModifySchema {
router.patch("/", route({ body: "ChannelModifySchema", permission: "MANAGE_CHANNELS" }), async (req: Request, res: Response) => {
var payload = req.body as ChannelModifySchema;
const { channel_id } = req.params;
+ if (payload.icon) payload.icon = await handleFile(`/channel-icons/${channel_id}`, payload.icon);
const channel = await Channel.findOneOrFail({ id: channel_id });
channel.assign(payload);
|