/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
protocol/json/keybase1/home.json
512 строк
11 KB
Daniel Wang
Add chat todo (#23768)
16 апр 2020, 13:30
Не верифицирован
16 апр 2020, 13:30
63640c0
Код
Авторство
О чём код?
{ "protocol": "home", "imports": [], "types": [ { "type": "record", "name": "HomeScreenItemID", "fields": [], "typedef": "string" }, { "type": "enum", "name": "HomeScreenItemType", "symbols": [ "TODO_1", "PEOPLE_2", "ANNOUNCEMENT_3" ] }, { "type": "variant", "name": "HomeScreenItemData", "switch": { "type": "HomeScreenItemType", "name": "t" }, "cases": [ { "label": { "name": "TODO", "def": false }, "body": "HomeScreenTodo" }, { "label": { "name": "PEOPLE", "def": false }, "body": "HomeScreenPeopleNotification" }, { "label": { "name": "ANNOUNCEMENT", "def": false }, "body": "HomeScreenAnnouncement" }, { "label": { "def": true }, "body": null } ] }, { "type": "variant", "name": "HomeScreenItemDataExt", "switch": { "type": "HomeScreenItemType", "name": "t" }, "cases": [ { "label": { "name": "TODO", "def": false }, "body": "HomeScreenTodoExt" }, { "label": { "def": true }, "body": null } ] }, { "type": "enum", "name": "AppLinkType", "symbols": [ "NONE_0", "PEOPLE_1", "CHAT_2", "FILES_3", "WALLET_4", "GIT_5", "DEVICES_6", "SETTINGS_7", "TEAMS_8" ] }, { "type": "record", "name": "HomeScreenAnnouncementID", "fields": [], "typedef": "int" }, { "type": "record", "name": "HomeScreenAnnouncementVersion", "fields": [], "typedef": "int" }, { "type": "record", "name": "HomeScreenAnnouncement", "fields": [ { "type": "HomeScreenAnnouncementID", "name": "id" }, { "type": "HomeScreenAnnouncementVersion", "name": "version" }, { "type": "AppLinkType", "name": "appLink" }, { "type": "string", "name": "confirmLabel" }, { "type": "boolean", "name": "dismissable" }, { "type": "string", "name": "iconUrl" }, { "type": "string", "name": "text" }, { "type": "string", "name": "url" } ] }, { "type": "enum", "name": "HomeScreenTodoType", "symbols": [ "NONE_0", "BIO_1", "PROOF_2", "DEVICE_3", "FOLLOW_4", "PAPERKEY_6", "TEAM_7", "FOLDER_8", "GIT_REPO_9", "TEAM_SHOWCASE_10", "AVATAR_TEAM_12", "ADD_PHONE_NUMBER_18", "VERIFY_ALL_PHONE_NUMBER_19", "VERIFY_ALL_EMAIL_20", "LEGACY_EMAIL_VISIBILITY_21", "ADD_EMAIL_22", "AVATAR_USER_23", "CHAT_24", "ANNONCEMENT_PLACEHOLDER_10000" ] }, { "type": "variant", "name": "HomeScreenTodo", "switch": { "type": "HomeScreenTodoType", "name": "t" }, "cases": [ { "label": { "name": "VERIFY_ALL_PHONE_NUMBER", "def": false }, "body": "PhoneNumber" }, { "label": { "name": "VERIFY_ALL_EMAIL", "def": false }, "body": "EmailAddress" }, { "label": { "name": "LEGACY_EMAIL_VISIBILITY", "def": false }, "body": "EmailAddress" }, { "label": { "def": true }, "body": null } ], "doc": "Most of TODO items do not carry additional data, but some do. e.g. TODO\n item to tell user to verify their email address will carry that email\n address.\n\n All new TODO data bundle types should be records rather than single fields\n to support adding new data to existing TODOs. If a legacy TODO (such as\n VERIFY_ALL_EMAIL) uses a single field, the \"TodoExt\" field should be used to\n introduce more data to the payload." }, { "type": "variant", "name": "HomeScreenTodoExt", "switch": { "type": "HomeScreenTodoType", "name": "t" }, "cases": [ { "label": { "name": "VERIFY_ALL_EMAIL", "def": false }, "body": "VerifyAllEmailTodoExt" }, { "label": { "def": true }, "body": null } ] }, { "type": "record", "name": "VerifyAllEmailTodoExt", "fields": [ { "type": "UnixTime", "name": "lastVerifyEmailDate" } ] }, { "type": "enum", "name": "HomeScreenPeopleNotificationType", "symbols": [ "FOLLOWED_1", "FOLLOWED_MULTI_2", "CONTACT_3", "CONTACT_MULTI_4" ] }, { "type": "record", "name": "HomeScreenPeopleNotificationFollowed", "fields": [ { "type": "Time", "name": "followTime" }, { "type": "boolean", "name": "followedBack" }, { "type": "UserSummary", "name": "user" } ] }, { "type": "record", "name": "HomeScreenPeopleNotificationFollowedMulti", "fields": [ { "type": { "type": "array", "items": "HomeScreenPeopleNotificationFollowed" }, "name": "followers" }, { "type": "int", "name": "numOthers" } ] }, { "type": "record", "name": "HomeScreenPeopleNotificationContact", "fields": [ { "type": "Time", "name": "resolveTime" }, { "type": "string", "name": "username" }, { "type": "string", "name": "description" }, { "type": "string", "name": "resolvedContactBlob" } ] }, { "type": "record", "name": "HomeScreenPeopleNotificationContactMulti", "fields": [ { "type": { "type": "array", "items": "HomeScreenPeopleNotificationContact" }, "name": "contacts" }, { "type": "int", "name": "numOthers" } ] }, { "type": "variant", "name": "HomeScreenPeopleNotification", "switch": { "type": "HomeScreenPeopleNotificationType", "name": "t" }, "cases": [ { "label": { "name": "FOLLOWED", "def": false }, "body": "HomeScreenPeopleNotificationFollowed" }, { "label": { "name": "FOLLOWED_MULTI", "def": false }, "body": "HomeScreenPeopleNotificationFollowedMulti" }, { "label": { "name": "CONTACT", "def": false }, "body": "HomeScreenPeopleNotificationContact" }, { "label": { "name": "CONTACT_MULTI", "def": false }, "body": "HomeScreenPeopleNotificationContactMulti" } ] }, { "type": "record", "name": "HomeScreenItem", "fields": [ { "type": "boolean", "name": "badged" }, { "type": "HomeScreenItemData", "name": "data" }, { "type": "HomeScreenItemDataExt", "name": "dataExt" } ] }, { "type": "record", "name": "Pics", "fields": [ { "type": "string", "name": "square40", "jsonkey": "square_40" }, { "type": "string", "name": "square200", "jsonkey": "square_200" }, { "type": "string", "name": "square360", "jsonkey": "square_360" } ] }, { "type": "record", "name": "HomeUserSummary", "fields": [ { "type": "UID", "name": "uid" }, { "type": "string", "name": "username" }, { "type": "string", "name": "bio" }, { "type": "string", "name": "fullName", "jsonkey": "full_name" }, { "type": [ null, "Pics" ], "name": "pics" } ] }, { "type": "record", "name": "HomeScreen", "fields": [ { "type": "Time", "name": "lastViewed" }, { "type": "int", "name": "version" }, { "type": "int", "name": "visits" }, { "type": { "type": "array", "items": "HomeScreenItem" }, "name": "items" }, { "type": { "type": "array", "items": "HomeUserSummary" }, "name": "followSuggestions" }, { "type": "int", "name": "announcementsVersion" } ] } ], "messages": { "homeGetScreen": { "request": [ { "name": "markViewed", "type": "boolean" }, { "name": "numFollowSuggestionsWanted", "type": "int" } ], "response": "HomeScreen", "doc": "HomeGetScreen returns the home screen for the current user.\n If `markViewed` is specified, the server will mark this version of the\n home screen \"viewed\", potentially updating some badges.\n `numFollowSuggestionsWanted` controls the number of people to return.\n If not specified, it will default to `0`, so no people. If `-1` is specified,\n the default number will be returned (10). Otherwise, the caller should\n specify." }, "homeSkipTodoType": { "request": [ { "name": "t", "type": "HomeScreenTodoType" } ], "response": null }, "homeDismissAnnouncement": { "request": [ { "name": "i", "type": "HomeScreenAnnouncementID" } ], "response": null }, "homeActionTaken": { "request": [], "response": null }, "homeMarkViewed": { "request": [], "response": null } }, "namespace": "keybase.1" }