Exemple #1
0
 /// <summary>
 ///     Updates message(s) by ID(s). Currently only message read status can be updated. Batch request is supported, max
 ///     number of IDs passed as query/path parameters is 50. Alternative syntax is supported - user messages can be updated
 ///     by passing multiple IDs in request body as an array of string, max number of IDs passed in request body is 1000. In
 ///     this case asterisk is used in the path instead of IDs.
 ///     HTTP Method: put
 ///     Endpoint: /restapi/{apiVersion}/account/{accountId}/extension/{extensionId}/message-store/{messageId}
 ///     Rate Limit Group: Medium
 ///     App Permission: EditMessages
 ///     User Permission: EditMessages
 /// </summary>
 public async Task <GetMessageInfoResponse> Put(UpdateMessageRequest updateMessageRequest,
                                                UpdateMessageParameters queryParams = null, RestRequestConfig restRequestConfig = null)
 {
     if (messageId == null)
     {
         throw new ArgumentException("Parameter cannot be null", nameof(messageId));
     }
     return(await rc.Put <GetMessageInfoResponse>(Path(), updateMessageRequest, queryParams, restRequestConfig));
 }
Exemple #2
0
        /// <summary>
        /// Operation: Update Message List
        /// HTTP Method: PUT
        /// Endpoint: /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}
        /// Rate Limit Group: Medium
        /// App Permission: EditMessages
        /// User Permission: EditMessages
        /// </summary>
        public async Task <RingCentral.GetMessageInfoResponse> Put(RingCentral.UpdateMessageRequest updateMessageRequest,
                                                                   UpdateMessageParameters queryParams = null, CancellationToken?cancellationToken = null)
        {
            if (this.messageId == null)
            {
                throw new System.ArgumentNullException("messageId");
            }

            return(await rc.Put <RingCentral.GetMessageInfoResponse>(this.Path(), updateMessageRequest, queryParams,
                                                                     cancellationToken));
        }
        public void TestMessageLifecycle()
        {
            var roomId    = RoomList != null && RoomList.Any() ? RoomList.First() : Room;
            var messageId = TestPostRoomMessage(roomId);

            TestGetRoomMessage(roomId, messageId);
            TestPutRoomMessage(roomId, messageId);
            TestDeleteRoomMessage(roomId, messageId);

            // [POST] /rooms/{room_id}/messages.
            string TestPostRoomMessage(long roomId)
            {
                var parameters = new NewMessageParameters
                {
                    Body       = "new test message.",
                    SelfUnread = true,
                };

                var response = Client.PostRoomMessage(roomId, parameters);

                AssertPostRoomMessageResponse(response);

                return(response.Data.MessageId);
            }

            // [GET] /rooms/{room_id}/messages/{message_id}.
            void TestGetRoomMessage(long roomId, string messageId)
            {
                var response = Client.GetRoomMessage(roomId, messageId);

                AssertGetRoomMessageResponse(response, messageId);
            }

            // [PUT] /rooms/{room_id}/messages/{message_id}.
            void TestPutRoomMessage(long roomId, string messageId)
            {
                var parameters = new UpdateMessageParameters
                {
                    Body = "update test message.",
                };

                var response = Client.PutRoomMessage(roomId, messageId, parameters);

                AssertPutRoomMessageResponse(response, messageId);
            }

            // [DELETE] /rooms/{room_id}/messages/{message_id}.
            void TestDeleteRoomMessage(long roomId, string messageId)
            {
                var response = Client.DeleteRoomMessage(roomId, messageId);

                AssertDeleteRoomMessageResponse(response, messageId);
            }
        }
Exemple #4
0
 /// <summary>
 ///     Updates message(s) by ID(s). Currently only message read status can be updated. Batch request is supported, max
 ///     number of IDs passed as query/path parameters is 50. Alternative syntax is supported - user messages can be updated
 ///     by passing multiple IDs in request body as an array of string, max number of IDs passed in request body is 1000. In
 ///     this case asterisk is used in the path instead of IDs.
 ///     HTTP Method: put
 ///     Endpoint: /restapi/{apiVersion}/account/{accountId}/extension/{extensionId}/message-store/{messageId}
 ///     Rate Limit Group: Medium
 ///     App Permission: EditMessages
 ///     User Permission: EditMessages
 /// </summary>
 public async Task <GetMessageInfoResponse> Put(UpdateMessageRequest updateMessageRequest,
                                                UpdateMessageParameters queryParams = null, RestRequestConfig restRequestConfig = null)
 {
     return(await rc.Put <GetMessageInfoResponse>(Path(), updateMessageRequest, queryParams, restRequestConfig));
 }
        public void TestStaticMessageLifecycleAsyncCallback()
        {
            var roomId = RoomList != null && RoomList.Any() ? RoomList.First() : Room;

            TestStaticPostRoomMessageAsyncCallback(
                roomId,
                (roomId, messageId) => TestStaticGetRoomMessageAsyncCallback(
                    roomId,
                    messageId,
                    (roomId, messageId) => TestStaticPutRoomMessageAsyncCallback(
                        roomId,
                        messageId,
                        TestStaticDeleteRoomMessageAsyncCallback)));

            // [POST] /rooms/{room_id}/messages.
            void TestStaticPostRoomMessageAsyncCallback(long roomId, Action <long, string> next)
            {
                var parameters = new NewMessageParameters
                {
                    Body       = "new test message.",
                    SelfUnread = true,
                };

                ChatworkClient.PostRoomMessageAsync(
                    Token,
                    response =>
                {
                    AssertPostRoomMessageResponse(response);
                    next.Invoke(roomId, response.Data.MessageId);
                },
                    roomId,
                    parameters);
            }

            // [GET] /rooms/{room_id}/messages/{message_id}.
            void TestStaticGetRoomMessageAsyncCallback(long roomId, string messageId, Action <long, string> next)
            {
                ChatworkClient.GetRoomMessageAsync(
                    Token,
                    response =>
                {
                    AssertGetRoomMessageResponse(response, messageId);
                    next.Invoke(roomId, messageId);
                },
                    roomId,
                    messageId);
            }

            // [PUT] /rooms/{room_id}/messages/{message_id}.
            void TestStaticPutRoomMessageAsyncCallback(long roomId, string messageId, Action <long, string> next)
            {
                var parameters = new UpdateMessageParameters
                {
                    Body = "update test message.",
                };

                ChatworkClient.PutRoomMessageAsync(
                    Token,
                    response =>
                {
                    AssertPutRoomMessageResponse(response, messageId);
                    next.Invoke(roomId, messageId);
                },
                    roomId,
                    messageId,
                    parameters);
            }

            // [DELETE] /rooms/{room_id}/messages/{message_id}.
            void TestStaticDeleteRoomMessageAsyncCallback(long roomId, string messageId)
            {
                ChatworkClient.DeleteRoomMessageAsync(
                    Token,
                    response => AssertDeleteRoomMessageResponse(response, messageId),
                    roomId,
                    messageId);
            }
        }
        public async void TestStaticMessageLifecycleAsync()
        {
            var roomId = RoomList != null && RoomList.Any() ? RoomList.First() : Room;

            var messageId = await TestStaticPostRoomMessageAsync(roomId)
                            .ConfigureAwait(false);

            await TestStaticGetRoomMessageAsync(roomId, messageId)
            .ConfigureAwait(false);

            await TestStaticPutRoomMessageAsync(roomId, messageId)
            .ConfigureAwait(false);

            await TestStaticDeleteRoomMessageAsync(roomId, messageId)
            .ConfigureAwait(false);

            // [POST] /rooms/{room_id}/messages.
            async Task <string> TestStaticPostRoomMessageAsync(long roomId)
            {
                var parameters = new NewMessageParameters
                {
                    Body       = "new test message.",
                    SelfUnread = true,
                };

                var response = await ChatworkClient.PostRoomMessageAsync(Token, roomId, parameters)
                               .ConfigureAwait(false);

                AssertPostRoomMessageResponse(response);
                return(response.Data.MessageId);
            }

            // [GET] /rooms/{room_id}/messages/{message_id}.
            async Task TestStaticGetRoomMessageAsync(long roomId, string messageId)
            {
                var response = await ChatworkClient.GetRoomMessageAsync(Token, roomId, messageId)
                               .ConfigureAwait(false);

                AssertGetRoomMessageResponse(response, messageId);
            }

            // [PUT] /rooms/{room_id}/messages/{message_id}.
            async Task TestStaticPutRoomMessageAsync(long roomId, string messageId)
            {
                var parameters = new UpdateMessageParameters
                {
                    Body = "update test message.",
                };

                var response = await ChatworkClient.PutRoomMessageAsync(Token, roomId, messageId, parameters)
                               .ConfigureAwait(false);

                AssertPutRoomMessageResponse(response, messageId);
            }

            // [DELETE] /rooms/{room_id}/messages/{message_id}.
            async Task TestStaticDeleteRoomMessageAsync(long roomId, string messageId)
            {
                var response = await ChatworkClient.DeleteRoomMessageAsync(Token, roomId, messageId)
                               .ConfigureAwait(false);

                AssertDeleteRoomMessageResponse(response, messageId);
            }
        }