using System; using System.Collections.Generic; using System.Text; namespace MatrixDotNetLib { public class MatrixApis { public class Server { public static string Discovery = "/.well-known/matrix/client"; public static string Versions = "/_matrix/client/versions"; public static string Capabilities = "/_matrix/client/r0/capabilities"; public static string Whois = "/_matrix/client/r0/admin/whois/{userid}"; public static string Search = "/_matrix/client/r0/search"; public static string UserSearch = "/_matrix/client/r0/user_directory/search"; public static string RoomList = "/_matrix/client/r0/publicrooms"; public static string ManageRooms = "/_matrix/client/r0/directory/list/appservice/{networkid}/{roomid}"; public static string UpgradeRoom = "/_matrix/client/r0/rooms/{roomid}/upgrade"; public static string Openid = "/_matrix/client/r0/user/{userid}/openid/request_token"; public static string Voip = "/_matrix/client/r0/voip/turnserver"; } public class Key { public static string Latest = "/_matrix/client/r0/keys/changes"; public static string Claim = "/_matrix/client/r0/keys/claim"; public static string Download = "/_matrix/client/r0/keys/query"; public static string Upload = "/_matrix/client/r0/keys/upload"; } public class Device { public static string Manage = "/_matrix/client/r0/devices"; public static string MultiDelete = "/_matrix/client/r0/delete_devices"; public static string Send = "/_matrix/client/r0/sendtodevice/{eventtype}/{txnid}"; } public class Media { public static string Config = "/_matrix/media/r0/config"; public static string Save = "/_matrix/media/r0/download/{servername}/{mediaid}"; public static string Saveas = "/_matrix/media/r0/download/{servername}/{mediaid}/{filename}"; public static string Preview = "/_matrix/media/r0/preview_url"; public static string Thumb = "/_matrix/media/r0/thumbnail/{servername}/{mediaid}"; public static string Upload = "/_matrix/media/r0/upload"; } public class Notifier { public static string Notifiers = "/_matrix/client/r0/notifications"; public static string Pushers = "/_matrix/client/r0/pushers"; public static string Set = "/_matrix/client/r0/pushers/set"; public static string Rules = "/_matrix/client/r0/pushrules/"; } public class NotifierRule { public static string Manage = "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleid}"; public static string Actions = "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleid}/actions"; public static string Toggle = "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleid}/enabled"; } public static class User { public static string Thirdparty = "/_matrix/client/r0/account/3pid"; public static string Deactivate = "/_matrix/client/r0/account/deactivate"; public static string Password = "/_matrix/client/r0/account/password"; public static string Register = "/_matrix/client/r0/register"; public static string WhoAmI = "/_matrix/client/r0/account/whoami"; public static string Profile = "/_matrix/client/r0/profile/{userid}"; public static string Avatar = "/_matrix/client/r0/profile/{userid}/avtatar_url"; public static string DisplayName = "/_matrix/client/r0/profile/{userid}/displayname"; public static string ExtraInfo = "/_matrix/client/r0/user/{userid}/account_data/{type}"; public static string EventFilter = "/_matrix/client/r0/user/{userid}/filter"; public static string Rooms = "/_matrix/client/r0/joined_rooms"; public static string Login = "/_matrix/client/r0/login"; public static string Logout = "/_matrix/client/r0/logout"; public static string Status = "/_matrix/client/r0/presence/{userid}/status"; } public class UserRoom { public static string Extrainfo = "/_matrix/client/r0/user/{userid}/rooms/{roomid}/account_data/{type}"; public static string Tags = "/_matrix/client/r0/user/{userid}/rooms/{roomid}/tags"; } public class Room { public static string Create = "/_matrix/client/r0/createroom"; public static string Aliases = "/_matrix/client/unstable/org.matrix.msc2432/rooms/{roomid}/aliases"; public static string Active = "/_matrix/client/r0/rooms/{roomid}/joined_members"; public static string Members = "/_matrix/client/r0/rooms/{roomid}/members"; public static string Messages = "/_matrix/client/r0/rooms/{roomid}/messages"; public static string Join = "/_matrix/client/r0/join/{roomidoralias}"; public static string Ban = "/_matrix/client/r0/rooms/{roomid}/ban"; public static string Forget = "/_matrix/client/r0/rooms/{roomid}/forget"; public static string Invite = "/_matrix/client/r0/rooms/{roomid}/invite"; public static string IdJoin = "/_matrix/client/r0/rooms/{roomid}/join"; public static string Kick = "/_matrix/client/r0/rooms/{roomid}/kick"; public static string Leave = "/_matrix/client/r0/rooms/{roomid}/leave"; public static string Unban = "/_matrix/client/r0/rooms/{roomid}/unban"; public static string Marker = "/_matrix/client/r0/rooms/{roomid}/read_markers"; } public class RoomEvent { public static string Context = "/_matrix/client/r0/rooms/{roomid}/context/{eventid}"; public static string Event = "/_matrix/client/r0/rooms/{roomid}/event/{eventid}"; public static string Receipt = "/_matrix/client/r0/rooms/{roomid}/receipt/{receipttype}/{eventid}"; public static string Redact = "/_matrix/client/r0/rooms/{roomid}/redact/{eventid}/{txnid}"; public static string Send = "/_matrix/client/r0/rooms/{roomid}/send/{eventtype}/{txnid}"; public static string Typing = "/_matrix/client/r0/rooms/{roomid}/typing/{userid}"; public static string Flag = "/_matrix/client/r0/rooms/{roomid}/report/{eventid}"; } public class RoomState { public static string List = "/_matrix/client/r0/rooms/{roomid}/state"; public static string State = "/_matrix/client/r0/rooms/{roomid}/state/{eventtype}/{statekey}"; } } public class MatrixApiEntities { public string DeviceId { get; set; } public string EventId { get; set; } public string EventType { get; set; } public string FileName { get; set; } public string FilterId { get; set; } public string Kind { get; set; } public string MediaId { get; set; } public string NetworkId { get; set; } public string ReceiptType { get; set; } public string RoomAlias { get; set; } public string RoomId { get; set; } public string RoomIdOrAlias { get; set; } public string RuleId { get; set; } public string Scope { get; set; } public string ServerName { get; set; } public string StateKey { get; set; } public string Tags { get; set; } public string TxnId { get; set; } public string Type { get; set; } public string UserId { get; set; } } //public static Dictionary Server = new Dictionary() //{ // { "discovery", "/.well-known/matrix/client" }, // { "versions", "/_matrix/client/versions" }, // { "capabilities", "/_matrix/client/r0/capabilities" }, // { "whois", "/_matrix/client/r0/admin/whois/{userId}" }, // { "search", "/_matrix/client/r0/search" }, // { "usersearch", "/_matrix/client/r0/user_directory/search" }, // { "roomlist", "/_matrix/client/r0/publicRooms" }, // { "managerooms", "/_matrix/client/r0/directory/list/appservice/{networkId}/{roomId}" }, // { "upgraderoom", "/_matrix/client/r0/rooms/{roomId}/upgrade" }, // { "openid", "/_matrix/client/r0/user/{userId}/openid/request_token" }, // { "voip", "/_matrix/client/r0/voip/turnServer" } //}; //public static Dictionary Key = new Dictionary() //{ // { "latest", "/_matrix/client/r0/keys/changes" }, // { "claim", "/_matrix/client/r0/keys/claim" }, // { "download", "/_matrix/client/r0/keys/query" }, // { "upload", "/_matrix/client/r0/keys/upload" } //}; //public static Dictionary Device = new Dictionary() //{ // { "manage", "/_matrix/client/r0/devices" }, // { "multidelete", "/_matrix/client/r0/delete_devices" }, // { "send", "/_matrix/client/r0/sendToDevice/{eventType}/{txnId}" } //}; //public static Dictionary Media = new Dictionary() //{ // { "config", "/_matrix/media/r0/config" }, // { "save", "/_matrix/media/r0/download/{serverName}/{mediaId}" }, // { "saveas", "/_matrix/media/r0/download/{serverName}/{mediaId}/{fileName}" }, // { "preview", "/_matrix/media/r0/preview_url" }, // { "thumb", "/_matrix/media/r0/thumbnail/{serverName}/{mediaId}" }, // { "upload", "/_matrix/media/r0/upload" } //}; //public static Dictionary Notifier = new Dictionary() //{ // { "notifiers", "/_matrix/client/r0/notifications" }, // { "pushers", "/_matrix/client/r0/pushers" }, // { "set", "/_matrix/client/r0/pushers/set" }, // { "rules", "/_matrix/client/r0/pushrules/" } //}; //public static Dictionary NotifierRule = new Dictionary() //{ // { "manage", "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}" }, // { "actions", "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions" }, // { "toggle", "/_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled" } //}; //public static Dictionary User = new Dictionary() //{ // { "thirdparty", "/_matrix/client/r0/account/3pid" }, // { "deactivate", "/_matrix/client/r0/account/deactivate" }, // { "password", "/_matrix/client/r0/account/password" }, // { "register", "/_matrix/client/r0/register" }, // { "whoami", "/_matrix/client/r0/account/whoami" }, // { "profile", "/_matrix/client/r0/profile/{userId}" }, // { "avatar", "/_matrix/client/r0/profile/{userId}/avtatar_url" }, // { "displayname", "/_matrix/client/r0/profile/{userId}/displayname" }, // { "extrainfo", "/_matrix/client/r0/user/{userId}/account_data/{type}" }, // { "eventfilter", "/_matrix/client/r0/user/{userId}/filter" }, // { "rooms", "/_matrix/client/r0/joined_rooms" }, // { "login", "/_matrix/client/r0/login" }, // { "logout", "/_matrix/client/r0/logout" }, // { "status", "/_matrix/client/r0/presence/{userId}/status" } //}; //public static Dictionary UserRoom = new Dictionary() //{ // { "extrainfo", "/_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data/{type}" }, // { "tags", "/_matrix/client/r0/user/{userId}/rooms/{roomId}/tags" } //}; //public static Dictionary Room = new Dictionary() //{ // { "create", "/_matrix/client/r0/createRoom" }, // { "aliases", "/_matrix/client/unstable/org.matrix.msc2432/rooms/{roomId}/aliases" }, // { "active", "/_matrix/client/r0/rooms/{roomId}/joined_members" }, // { "members", "/_matrix/client/r0/rooms/{roomId}/members" }, // { "messages", "/_matrix/client/r0/rooms/{roomId}/messages" }, // { "join", "/_matrix/client/r0/join/{roomIdOrAlias}" }, // { "ban", "/_matrix/client/r0/rooms/{roomId}/ban" }, // { "forget", "/_matrix/client/r0/rooms/{roomId}/forget" }, // { "invite", "/_matrix/client/r0/rooms/{roomId}/invite" }, // { "idjoin", "/_matrix/client/r0/rooms/{roomId}/join" }, // { "kick", "/_matrix/client/r0/rooms/{roomId}/kick" }, // { "leave", "/_matrix/client/r0/rooms/{roomId}/leave" }, // { "unban", "/_matrix/client/r0/rooms/{roomId}/unban" }, // { "marker", "/_matrix/client/r0/rooms/{roomId}/read_markers" } //}; //public static Dictionary RoomEvent = new Dictionary() //{ // { "context", "/_matrix/client/r0/rooms/{roomId}/context/{eventId}" }, // { "event", "/_matrix/client/r0/rooms/{roomId}/event/{eventId}" }, // { "receipt", "/_matrix/client/r0/rooms/{roomId}/receipt/{receiptType}/{eventId}" }, // { "redact", "/_matrix/client/r0/rooms/{roomId}/redact/{eventId}/{txnId}" }, // { "send", "/_matrix/client/r0/rooms/{roomId}/send/{eventType}/{txnId}" }, // { "typing", "/_matrix/client/r0/rooms/{roomId}/typing/{userId}" }, // { "flag", "/_matrix/client/r0/rooms/{roomId}/report/{eventId}" } //}; //public static Dictionary RoomState = new Dictionary() //{ // { "list", "/_matrix/client/r0/rooms/{roomId}/state" }, // { "state", "/_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}" } //}; //public Dictionary Entities = new Dictionary() //{ // { "deviceId", "" }, // { "eventId", "" }, // { "eventType", "" }, // { "fileName", "" }, // { "filterId", "" }, // { "kind", "" }, // { "mediaId", "" }, // { "networkId", "" }, // { "receiptType", "" }, // { "roomAlias", "" }, // { "roomId", "" }, // { "roomIdOrAlias", "" }, // { "ruleId", "" }, // { "scope", "" }, // { "serverName", "" }, // { "stateKey", "" }, // { "tags", "" }, // { "txnId", "" }, // { "type", "" }, // { "userId", "" } //}; }