Exemple #1
0
        public async Task <bool> ActiveChannelAsync(string sessionId)
        {
            string url  = $"api/channels/{sessionId}/active";
            var    data = await WtHttpClient.PutAsync <ApiResponse>(url);

            return(data.Code == 200);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        public async Task <Member> GetMemberInfoAsync(string uid)
        {
            string url  = $"api/users/{uid}/basic";
            var    data = await WtHttpClient.GetAsync <ApiDataResponse <Member> >(url);

            return(data.Data);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        public async Task <string[]> GetFollowsAsync()
        {
            string url  = "api/follows";
            var    data = await WtHttpClient.GetAsync <ApiDataResponse <string[]> >(url);

            return(data.Data);
        }
Exemple #8
0
        public async Task DownloadFileAsync(StorageFile storageFile, string fileId)
        {
            string url    = WtFileHelper.GetS3FileUrl(fileId);
            var    buffer = await WtHttpClient.GetByteBufferAsync(url);

            await FileIO.WriteBufferAsync(storageFile, buffer);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        public async Task <IEnumerable <Message> > LoadMessagesAsync(ISession session, int filterType)
        {
            string url  = GetMessageUrl(session, filterType);
            var    data = await WtHttpClient.GetJTokenAsync(url);

            return(ReadMessages(data));
        }
Exemple #12
0
        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);
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        public async Task <Entity> GetFileAsync(string id)
        {
            string url  = $"api/entities/{id}";
            var    data = await WtHttpClient.GetAsync <ApiDataResponse <Entity> >(url);

            return(data.Data);
        }
Exemple #15
0
        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);
                }
            });
        }
Exemple #16
0
        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);
        }
Exemple #17
0
        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);
        }
Exemple #18
0
        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);
        }
Exemple #19
0
        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);
        }
Exemple #20
0
        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);
        }
Exemple #21
0
        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);
        }
Exemple #22
0
        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));
        }
Exemple #23
0
        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);
        }
Exemple #24
0
 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);
             }
         }
     }
 }
Exemple #25
0
        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));
        }
Exemple #26
0
        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));
        }
Exemple #27
0
        public async Task <Data> GetMeAsync()
        {
            var me = await WtHttpClient.GetAsync <ApiUserMe>("api/user/me");

            return(me.Data);
        }
Exemple #28
0
        public async Task <Worktile.ApiModels.ApiTeamChats.Data> GetChatAsync()
        {
            var data = await WtHttpClient.GetAsync <Worktile.ApiModels.ApiTeamChats.ApiTeamChats>("/api/team/chats");

            return(data.Data);
        }
Exemple #29
0
        public async Task <Team> GetTeamAsync()
        {
            var data = await WtHttpClient.GetAsync <ApiDataResponse <Team> >("api/team");

            return(data.Data);
        }