예제 #1
0
        public async Task <SegonaResponse <Asset> > GetSpecificAssetAsync(string apiKey, Guid id)
        {
            Logger.LogInformation("Initiated 'Get Specific Asset'");
            var uriBuilder   = new UriBuilder(new Uri(ApiUrl, "get"));
            var queryBuilder = new UriQueryBuilder();

            queryBuilder.Append("apiKey", apiKey);
            queryBuilder.Append("id", id);

            uriBuilder.Query = queryBuilder.Build();
            return(await SendRequest <Asset>(uriBuilder.Uri));
        }
예제 #2
0
        public async Task <SegonaResponse <AssetList> > SearchAssetsAsync(string apiKey, string query, int limit = 50)
        {
            Logger.LogInformation("Initiated 'Search Assets'");
            var uriBuilder   = new UriBuilder(new Uri(ApiUrl, "search"));
            var queryBuilder = new UriQueryBuilder();

            queryBuilder.Append("apiKey", apiKey);
            queryBuilder.Append("query", query);
            queryBuilder.Append("limit", limit);

            uriBuilder.Query = queryBuilder.Build();
            return(await SendRequest <AssetList>(uriBuilder.Uri));
        }
예제 #3
0
        public async Task <SegonaResponse <AssetList> > GetAllAssetsAsync(string apiKey, int limit = 50, int?startFromId = null)
        {
            Logger.LogInformation("Initiated 'Get All Assets'");
            var uriBuilder   = new UriBuilder(new Uri(ApiUrl, "list"));
            var queryBuilder = new UriQueryBuilder();

            queryBuilder.Append("apiKey", apiKey);
            queryBuilder.Append("limit", limit);
            if (startFromId != null)
            {
                queryBuilder.Append("startFromId", startFromId);
            }

            uriBuilder.Query = queryBuilder.Build();
            return(await SendRequest <AssetList>(uriBuilder.Uri));
        }
예제 #4
0
        public async Task <SegonaResponse <Keycheck> > ApiKeyCheckAsync(string apiKey)
        {
            Logger.LogInformation("Initiated 'API Keycheck'");
            var uriBuilder   = new UriBuilder(new Uri(ApiUrl, "keycheck"));
            var queryBuilder = new UriQueryBuilder();

            queryBuilder.Append("apiKey", apiKey);

            uriBuilder.Query = queryBuilder.Build();
            return(await SendRequest <Keycheck>(uriBuilder.Uri));
        }
예제 #5
0
        public async Task <SegonaResponse <UploadUrlObject> > GetUploadUrlAsync(string apiKey)
        {
            Logger.LogInformation("Initiated 'Get Upload URL'");
            var uriBuilder   = new UriBuilder(new Uri(ApiUrl, "upload"));
            var queryBuilder = new UriQueryBuilder();

            queryBuilder.Append("apiKey", apiKey);

            uriBuilder.Query = queryBuilder.Build();
            return(await SendRequest <UploadUrlObject>(uriBuilder.Uri));
        }
예제 #6
0
        public async Task <SegonaResponse <AssetList> > FilteredSearchAssetsAsync(string apiKey, string query, int limit = 50, string extraQuery = null, string color = null)
        {
            Logger.LogInformation("Initiated 'Filtered Search Assets'");
            var uriBuilder   = new UriBuilder(new Uri(ApiUrl, "filter"));
            var queryBuilder = new UriQueryBuilder();

            queryBuilder.Append("apiKey", apiKey);
            queryBuilder.Append("query", query);
            queryBuilder.Append("limit", limit);
            if (extraQuery != null)
            {
                queryBuilder.Append("query_extra", extraQuery);
            }

            if (color != null)
            {
                queryBuilder.Append("color", color);
            }

            uriBuilder.Query = queryBuilder.Build();
            return(await SendRequest <AssetList>(uriBuilder.Uri));
        }