└── me └── slack └── slackbase.proto /me/slack/slackbase.proto: -------------------------------------------------------------------------------- 1 | message SKWorkspace { 2 | required string name = 1; 3 | required string image_url = 2; 4 | required string subdomain = 3; 5 | repeated SKChannel channels = 4; 6 | } 7 | 8 | message SKUserWorkspaces { 9 | repeated SKWorkspace workspace = 1; 10 | } 11 | 12 | message SKUserChannels{ 13 | repeated SKChannel channels = 1; 14 | } 15 | 16 | message SKChannelUsers{ 17 | repeated SKUser users = 1; 18 | } 19 | 20 | message SKChannel { 21 | repeated SKUser users = 1; 22 | required string name = 2; 23 | required bool is_private = 3; 24 | required string description = 4; 25 | optional string topic = 5; 26 | required string channel_id = 6; 27 | required bool is_starred = 7; 28 | } 29 | 30 | message SKUser { 31 | required string name = 1; 32 | required string username = 2; 33 | required SKUserStatus status = 3; 34 | required string title = 4; 35 | optional string email = 5; 36 | optional string location = 6; 37 | optional string reporting_to = 7; 38 | optional string team = 8; 39 | optional string seniority = 9; 40 | required string user_id = 10; 41 | required string imageUrl = 11; 42 | } 43 | 44 | message SKUserStatus { 45 | required string emoji = 1; 46 | required string status = 2; 47 | } 48 | 49 | message Empty { 50 | 51 | } 52 | 53 | service SlackService { 54 | rpc getWorkspaces(Empty) returns (stream SKUserWorkspaces); 55 | rpc getUsers(Empty) returns (stream SKChannelUsers); 56 | rpc getUserChannels(Empty) returns (stream SKUserChannels); 57 | } --------------------------------------------------------------------------------