public async Task <bool> ActiveChannelAsync(string sessionId) { string url = $"api/channels/{sessionId}/active"; var data = await WtHttpClient.PutAsync <ApiResponse>(url); return(data.Code == 200); }
public async Task <List <ChannelSession> > GetAllChannelsAsync() { string url = "api/channels?type=all&filter=all&status=ok"; var data = await WtHttpClient.GetAsync <ApiDataResponse <List <ChannelSession> > >(url); return(data.Data); }
public async Task <bool> JoinChannelAsync(string sessionId) { string url = $"api/channels/{sessionId}/join"; var data = await WtHttpClient.PutAsync <ApiDataResponse <bool> >(url); return(data.Code == 200 && data.Data); }
public async Task <bool> ClearUnReadAsync(string sessionId) { string url = $"api/messages/unread/clear?ref_id={sessionId}"; var data = await WtHttpClient.PutAsync <ApiResponse>(url); return(data.Code == 200); }
public async Task <Member> GetMemberInfoAsync(string uid) { string url = $"api/users/{uid}/basic"; var data = await WtHttpClient.GetAsync <ApiDataResponse <Member> >(url); return(data.Data); }
public async Task <bool> DeleteMemberFromChannelAsync(string sessionId, string uid) { string url = $"api/channels/{sessionId}/members/{uid}"; var res = await WtHttpClient.DeleteAsync <ApiDataResponse <bool> >(url); return(res.Code == 200 && res.Data); }
public async Task <string[]> GetFollowsAsync() { string url = "api/follows"; var data = await WtHttpClient.GetAsync <ApiDataResponse <string[]> >(url); return(data.Data); }
public async Task DownloadFileAsync(StorageFile storageFile, string fileId) { string url = WtFileHelper.GetS3FileUrl(fileId); var buffer = await WtHttpClient.GetByteBufferAsync(url); await FileIO.WriteBufferAsync(storageFile, buffer); }
public async Task <List <DepartmentNode> > GetDepartmentsTreeAsync() { string url = $"/api/departments/tree?async=false"; var data = await WtHttpClient.GetAsync <ApiDataResponse <List <DepartmentNode> > >(url); return(data.Data); }
public async Task <bool> DeleteFileAsync(string fileId) { string url = $"api/entities/{fileId}"; var res = await WtHttpClient.DeleteAsync <ApiDataResponse <bool> >(url); return(res.Code == 200 && res.Data); }
public async Task <IEnumerable <Message> > LoadMessagesAsync(ISession session, int filterType) { string url = GetMessageUrl(session, filterType); var data = await WtHttpClient.GetJTokenAsync(url); return(ReadMessages(data)); }
public async Task <bool> ArchiveAsync(string sessionId) { string url = $"api/channels/{sessionId}/archive"; var res = await WtHttpClient.PutAsync <ApiDataResponse <bool> >(url); return(res.Code == 200 && res.Data); }
public async Task <bool> DeleteSessionAsync(string sessionId) { string url = $"/api/sessions/{sessionId}"; var data = await WtHttpClient.DeleteAsync <ApiDataResponse <bool> >(url); return(data.Code == 200 && data.Data); }
public async Task <Entity> GetFileAsync(string id) { string url = $"api/entities/{id}"; var data = await WtHttpClient.GetAsync <ApiDataResponse <Entity> >(url); return(data.Data); }
public void LoadOptions(string taskId, IEnumerable <PropertyItem> properties, CoreDispatcher dispatcher) { var hasOptionsProps = properties.Where(p => _hasOptionControls.Contains(p.Control)); Parallel.ForEach(hasOptionsProps, async property => { string uri = $"api/mission-vnext/tasks/{taskId}/properties/{property.PropertyId}/options"; var data = await WtHttpClient.GetAsync <ApiMissionVnexTaskProperties>(uri); var dataSource = new List <DropdownItem>(); IPropertyReader reader = null; switch (property.Control) { case "Priority": reader = new PriorityReader(); break; case "ComboBox": reader = new ComboBoxReader(); break; case "CheckBox": reader = new CheckBoxReader(); break; case "Tag": reader = new TagReader(); break; } if (reader != null) { await reader.LoadOptionsAsync(property, data.Data.Value, dispatcher); } }); }
public async Task <bool> UnStarSessionAsync(ISession session) { string sessionType = session.GetType() == typeof(ChannelSession) ? "channels" : "sessions"; string url = $"/api/{sessionType}/{session.Id}/unstar"; var data = await WtHttpClient.PutAsync <ApiDataResponse <bool> >(url); return(data.Code == 200 && data.Data); }
public async Task <bool> AddMemberToChannelAsync(string sessionId, string uid) { string url = $"api/channels/{sessionId}/invite"; var req = new { uid }; var res = await WtHttpClient.PutAsync <ApiDataResponse <bool> >(url, req); return(res.Code == 200 && res.Data); }
public async Task <MemberSession> CreateSessionAsync(string uid) { var data = await WtHttpClient.PostAsync <ApiDataResponse <MemberSession> >("/api/session", new { uid }); if (data.Code == 200) { return(data.Data); } return(null); }
public async Task <bool> UnPinAsync(string messageId, ISession session) { string url = $"/api/messages/{messageId}/unpinned?{GetIdType(session)}={session.Id}"; var response = await WtHttpClient.DeleteAsync <ApiDataResponse <bool> >(url); if (response.Code == 200 && response.Data) { return(true); } return(false); }
public async Task <bool> ShareAsync(string fileId, string sessionId, ToType toType) { string url = $"api/entities/{fileId}/share"; var req = new { ref_id = sessionId, ref_type = toType }; var res = await WtHttpClient.PutAsync <ApiDataResponse <bool> >(url, req); return(res.Code == 200 && res.Data); }
public async Task <bool> UpdateChannelAsync(string sessionId, string name, string desc, string color) { string url = $"api/channels/{sessionId}"; var req = new { color, desc, name }; var res = await WtHttpClient.PutAsync <ApiDataResponse <bool> >(url, req); return(res.Code == 200 && res.Data); }
public async Task <ApiDataResponse <ChannelSession> > CreateChannelAsync(string uids, string name, string color, string desc, WtVisibility visibility) { var req = new { name, color, desc, default_uids = uids, visibility }; return(await WtHttpClient.PostAsync <ApiDataResponse <ChannelSession> >("api/channel", req)); }
public async Task <bool> PinAsync(string messageId, ISession session) { string url = "/api/pinneds"; var req = new { type = 1, message_id = messageId, worktile = session.Id }; string json = JsonConvert.SerializeObject(req); string idType = session.GetType() == typeof(ChannelSession) ? "channel_id" : "session_id"; json = json.Replace("worktile", idType); var response = await WtHttpClient.PostAsync <ApiResponse>(url, json); if (response.Code == 200) { return(true); } return(false); }
public async Task UploadFileAsync(IReadOnlyList <StorageFile> files, string sessionId, int refType) { if (files.Any()) { string url = $"{DataSource.ApiUserMeData.Config.Box.BaseUrl}entities/upload?team_id={DataSource.Team.Id}&ref_id={sessionId}&ref_type={refType}"; foreach (var file in files) { StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", file); using (var stream = await file.OpenReadAsync()) { string fileName = file.DisplayName + file.FileType; var content = new HttpMultipartFormDataContent { { new HttpStringContent(fileName), "name" }, { new HttpStreamContent(stream), "file", fileName } }; await WtHttpClient.PostAsync <ApiEntitiesUpload>(url, content); } } } }
public async Task <ApiMessageFiles> GetFilesAsync(int page, int refType, string sessionId) { string url = $"api/entities?page={page}&size=20&ref_type={refType}&ref_id={sessionId}"; return(await WtHttpClient.GetAsync <ApiMessageFiles>(url)); }
public override async Task <ApiPinnedMessages> GetPinnedMessagesAsync(ISession session, string anchor) { string url = $"api/pinneds?channel_id={session.Id}&anchor={anchor}&size=10"; return(await WtHttpClient.GetAsync <ApiPinnedMessages>(url)); }
public async Task <Data> GetMeAsync() { var me = await WtHttpClient.GetAsync <ApiUserMe>("api/user/me"); return(me.Data); }
public async Task <Worktile.ApiModels.ApiTeamChats.Data> GetChatAsync() { var data = await WtHttpClient.GetAsync <Worktile.ApiModels.ApiTeamChats.ApiTeamChats>("/api/team/chats"); return(data.Data); }
public async Task <Team> GetTeamAsync() { var data = await WtHttpClient.GetAsync <ApiDataResponse <Team> >("api/team"); return(data.Data); }