Example #1
0
        /// <summary>
        /// Updates or inserts specific tags on a file.
        /// </summary>
        /// <param name="documentLibraryClient">The IDocumentLibraryClient instance.</param>
        /// <param name="libraryId">The library ID.</param>
        /// <param name="path">The path to the file.</param>
        /// <param name="body">The upsert request body.</param>
        /// <param name="tenantId">Optional. Specifies which tenant to use.</param>
        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        /// <returns>Success if there were no errors.</returns>
        public static async Task UpsertFileTagsAsync(this IDocumentLibraryClient documentLibraryClient, Guid libraryId, CloudPath path, UpsertFileTagsRequest body, Guid?tenantId = null, CancellationToken cancellationToken = default)
        {
            if (documentLibraryClient is null)
            {
                throw new ArgumentNullException(nameof(documentLibraryClient));
            }

            Result result = await documentLibraryClient.UpsertFileTagsResultAsync(libraryId, path, body, tenantId, cancellationToken).ConfigureAwait(false);

            if (result.IsSuccess)
            {
                return;
            }

            throw ApiException.Create(result.Error);
        }