bwapi 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/.travis.yml +10 -0
- data/Gemfile +6 -0
- data/LICENCE.md +20 -0
- data/README.md +15 -0
- data/bin/bwapi +2 -0
- data/bwapi.gemspec +26 -0
- data/lib/bwapi.rb +28 -0
- data/lib/bwapi/authentication.rb +42 -0
- data/lib/bwapi/client.rb +54 -0
- data/lib/bwapi/client/admin.rb +35 -0
- data/lib/bwapi/client/admin/become.rb +21 -0
- data/lib/bwapi/client/admin/search.rb +41 -0
- data/lib/bwapi/client/admin/sub_clients.rb +109 -0
- data/lib/bwapi/client/admin/users.rb +95 -0
- data/lib/bwapi/client/admin/users/sharing.rb +35 -0
- data/lib/bwapi/client/brandwatch.rb +33 -0
- data/lib/bwapi/client/brandwatch/become.rb +19 -0
- data/lib/bwapi/client/brandwatch/client_modules.rb +26 -0
- data/lib/bwapi/client/client.rb +22 -0
- data/lib/bwapi/client/error_codes.rb +14 -0
- data/lib/bwapi/client/filters.rb +14 -0
- data/lib/bwapi/client/logout.rb +24 -0
- data/lib/bwapi/client/me.rb +42 -0
- data/lib/bwapi/client/oauth.rb +78 -0
- data/lib/bwapi/client/ping.rb +42 -0
- data/lib/bwapi/client/projects.rb +94 -0
- data/lib/bwapi/client/projects/categories.rb +70 -0
- data/lib/bwapi/client/projects/data.rb +62 -0
- data/lib/bwapi/client/projects/data_download.rb +49 -0
- data/lib/bwapi/client/projects/facebook_queries.rb +55 -0
- data/lib/bwapi/client/projects/queries.rb +99 -0
- data/lib/bwapi/client/projects/queries/backfill.rb +63 -0
- data/lib/bwapi/client/projects/queries/date_range.rb +67 -0
- data/lib/bwapi/client/projects/queries/mentions.rb +53 -0
- data/lib/bwapi/client/projects/query_groups.rb +70 -0
- data/lib/bwapi/client/projects/sharing.rb +57 -0
- data/lib/bwapi/client/projects/signals.rb +39 -0
- data/lib/bwapi/client/projects/summary.rb +21 -0
- data/lib/bwapi/client/projects/tags.rb +61 -0
- data/lib/bwapi/client/projects/users.rb +17 -0
- data/lib/bwapi/client/projects/workflow.rb +17 -0
- data/lib/bwapi/client/query_validation.rb +27 -0
- data/lib/bwapi/client/sso.rb +18 -0
- data/lib/bwapi/client/test_search.rb +14 -0
- data/lib/bwapi/client/user.rb +58 -0
- data/lib/bwapi/client/user/notifications.rb +36 -0
- data/lib/bwapi/configuration.rb +59 -0
- data/lib/bwapi/connection.rb +33 -0
- data/lib/bwapi/error.rb +42 -0
- data/lib/bwapi/request.rb +93 -0
- data/lib/bwapi/version.rb +3 -0
- data/lib/faraday/response/brandwatch_error.rb +25 -0
- data/lib/faraday/utils/utils.rb +25 -0
- data/spec/bwapi/authentication_spec.rb +57 -0
- data/spec/bwapi/client_spec.rb +205 -0
- data/spec/bwapi_spec.rb +23 -0
- data/spec/fixtures/.netrc +3 -0
- data/spec/helper.rb +12 -0
- metadata +178 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'bwapi/client/projects/categories'
|
2
|
+
require 'bwapi/client/projects/data'
|
3
|
+
require 'bwapi/client/projects/data_download'
|
4
|
+
require 'bwapi/client/projects/facebook_queries'
|
5
|
+
require 'bwapi/client/projects/signals'
|
6
|
+
require 'bwapi/client/projects/summary'
|
7
|
+
require 'bwapi/client/projects/sharing'
|
8
|
+
require 'bwapi/client/projects/queries'
|
9
|
+
require 'bwapi/client/projects/query_groups'
|
10
|
+
require 'bwapi/client/projects/tags'
|
11
|
+
require 'bwapi/client/projects/users'
|
12
|
+
require 'bwapi/client/projects/workflow'
|
13
|
+
|
14
|
+
module BWAPI
|
15
|
+
class Client
|
16
|
+
module Projects
|
17
|
+
|
18
|
+
# Get all projects
|
19
|
+
#
|
20
|
+
# @param opts [Hash] options hash of parameters
|
21
|
+
# @option opts [Integer] page Page of projects to retrieve
|
22
|
+
# @option opts [Integer] pageSize Results per page of results
|
23
|
+
# @return [Hashie::Mash] All projects
|
24
|
+
def projects opts={}
|
25
|
+
projects = get "projects", opts
|
26
|
+
end
|
27
|
+
|
28
|
+
# Get a specific project
|
29
|
+
#
|
30
|
+
# @param id [Integer] Id of the existing project
|
31
|
+
# @return [Hashie::Mash] Specific project
|
32
|
+
def project id
|
33
|
+
get "projects/#{id}"
|
34
|
+
end
|
35
|
+
|
36
|
+
# Create new project
|
37
|
+
#
|
38
|
+
# @param opts [Hash] options hash of parameters
|
39
|
+
# @option opts [String] id Id of the project
|
40
|
+
# @option opts [String] name Name of the project
|
41
|
+
# @option opts [String] description Description of the project
|
42
|
+
# @option opts [String] clientName Client name of the project
|
43
|
+
# @option opts [String] clientId Client id of the project
|
44
|
+
# @option opts [Array] defaultIndustry Default industry of the project
|
45
|
+
# @option opts [Array] defaultLangCodes Default languages of the project
|
46
|
+
# @option opts [Date] creationDate Date the project was created on
|
47
|
+
# @option opts [Integer] creationUserId User ID of the user who created the project
|
48
|
+
# @return [Hashie::Mash] New project
|
49
|
+
def create_project opts
|
50
|
+
post "projects", opts
|
51
|
+
end
|
52
|
+
|
53
|
+
# Update an existing project
|
54
|
+
#
|
55
|
+
# @param id [Integer] id Id of the existing project
|
56
|
+
# @param opts [Hash] options Hash of parameters
|
57
|
+
# @option opts [String] id Id of the project
|
58
|
+
# @option opts [String] name Name of the project
|
59
|
+
# @option opts [String] description Description of the project
|
60
|
+
# @option opts [String] clientName Client name of the project
|
61
|
+
# @option opts [String] clientId Client id of the project
|
62
|
+
# @option opts [Array] defaultIndustry Default industry of the project
|
63
|
+
# @option opts [Array] defaultLangCodes Default languages of the project
|
64
|
+
# @option opts [Date] creationDate Date the project was created on
|
65
|
+
# @option opts [Integer] creationUserId User ID of the user who created the project
|
66
|
+
# @return [Hashie::Mash] Updated project
|
67
|
+
def update_project id, opts
|
68
|
+
put "projects/#{id}", opts
|
69
|
+
end
|
70
|
+
|
71
|
+
# Delete an existing project
|
72
|
+
#
|
73
|
+
# @param id [Integer] id Id of the existing project
|
74
|
+
# @return [Hashie::Mash] Deleted project
|
75
|
+
def delete_project id
|
76
|
+
delete "projects/#{id}"
|
77
|
+
end
|
78
|
+
|
79
|
+
include BWAPI::Client::Projects::Categories
|
80
|
+
include BWAPI::Client::Projects::Data
|
81
|
+
include BWAPI::Client::Projects::DataDownload
|
82
|
+
include BWAPI::Client::Projects::FacebookQueries
|
83
|
+
include BWAPI::Client::Projects::Signals
|
84
|
+
include BWAPI::Client::Projects::Summary
|
85
|
+
include BWAPI::Client::Projects::Sharing
|
86
|
+
include BWAPI::Client::Projects::Queries
|
87
|
+
include BWAPI::Client::Projects::QueryGroups
|
88
|
+
include BWAPI::Client::Projects::Tags
|
89
|
+
include BWAPI::Client::Projects::Users
|
90
|
+
include BWAPI::Client::Projects::Workflow
|
91
|
+
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module BWAPI
|
2
|
+
class Client
|
3
|
+
module Projects
|
4
|
+
module Categories
|
5
|
+
|
6
|
+
# Get all categories in project
|
7
|
+
#
|
8
|
+
# @param id [Integer] Id of project
|
9
|
+
# @param opts [Hash] options hash of parameters
|
10
|
+
# @option opts [Integer] page Page of projects to retrieve
|
11
|
+
# @option opts [Integer] pageSize Results per page of results
|
12
|
+
# @return [Hashie::Mash] All categories in project
|
13
|
+
def categories id, opts={}
|
14
|
+
get "projects/#{id}/categories", opts
|
15
|
+
end
|
16
|
+
|
17
|
+
# TODO: Uncomment this code when endpoint is created
|
18
|
+
#
|
19
|
+
# Get a specific category in project
|
20
|
+
#
|
21
|
+
# @param project_id [Integer] Id of project
|
22
|
+
# @param category_id [Integer] Id of category
|
23
|
+
# @return [Hashie::Mash] Specific category
|
24
|
+
#def get_category project_id, category_id
|
25
|
+
# get "projects/#{project_id}/categories/#{category_id}", opts
|
26
|
+
#end
|
27
|
+
#alias :category :get_category
|
28
|
+
|
29
|
+
# Create a new category in project
|
30
|
+
#
|
31
|
+
# @param id [Integer] Id of project
|
32
|
+
# @param opts [Hash] options hash of parameters
|
33
|
+
# @option opts [Integer] id Id of the category
|
34
|
+
# @option opts [String] name Name of the category
|
35
|
+
# @option opts [Array] children The children of the category
|
36
|
+
# @option opts [Boolean] multiple Whether multiple sub categories can be selected
|
37
|
+
# @return [Hashie::Mash] New category
|
38
|
+
def create_category id, opts={}
|
39
|
+
post "projects/#{id}/categories", opts
|
40
|
+
end
|
41
|
+
|
42
|
+
# Update an existing category in project
|
43
|
+
#
|
44
|
+
# @param project_id [Integer] Id of project
|
45
|
+
# @param category_id [Integer] Id of category
|
46
|
+
# @param opts [Hash] options hash of parameters
|
47
|
+
# @option opts [Integer] projectId Id of the project
|
48
|
+
# @option opts [Integer] id Id of the category
|
49
|
+
# @option opts [String] name Name of the category
|
50
|
+
# @option opts [Array] children The children of the category
|
51
|
+
# @option opts [Boolean] multiple Whether multiple sub categories can be selected
|
52
|
+
# @return [Hashie::Mash] Updated category
|
53
|
+
def update_category project_id, category_id, opts={}
|
54
|
+
put "projects/#{project_id}/categories/#{category_id}", opts
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
# Delete and existing category in project
|
59
|
+
#
|
60
|
+
# @param project_id [Integer] Id of project
|
61
|
+
# @param category_id [Integer] Id of query group
|
62
|
+
# @return [Hashie::Mash] Deleted category
|
63
|
+
def delete_category project_id, category_id
|
64
|
+
delete "projects/#{project_id}/categories/#{category_id}"
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module BWAPI
|
2
|
+
class Client
|
3
|
+
module Projects
|
4
|
+
module Data
|
5
|
+
|
6
|
+
# Get all chart data for the requested dimensions
|
7
|
+
#
|
8
|
+
# @param id [Integer] Id of project
|
9
|
+
# @param aggregate [String] Aggregate value
|
10
|
+
# @param dimension_one [String] Dimension 1 value
|
11
|
+
# @param dimension_two [String] Dimension 2 value
|
12
|
+
# @param opts [Hash] options hash of parameters
|
13
|
+
# @option opts [Integer] projectId Id of the project
|
14
|
+
# @option opts [Hash] filter The filters to apply
|
15
|
+
# @return [Hashie::Mash] All Chart data mentions
|
16
|
+
def data id, aggregate, dimension_one, dimension_two, opts={}
|
17
|
+
get "projects/#{id}/data/#{aggregate}/#{dimension_one}/#{dimension_two}", opts
|
18
|
+
end
|
19
|
+
|
20
|
+
# Get all chart data for date ranges broken down by days
|
21
|
+
#
|
22
|
+
# @param id [Integer] Id of project
|
23
|
+
# @param opts [Hash] options hash of parameters
|
24
|
+
# @option opts [Integer] projectId Id of the project
|
25
|
+
# @option opts [Hash] filter The filters to apply
|
26
|
+
# @option opts [Array] dateRanges Date range ids
|
27
|
+
# @return [Hashie::Mash] All Chart data mentions
|
28
|
+
def data_date_ranges_days id, opts
|
29
|
+
get "projects/#{id}/data/volume/dataRanges/days", opts
|
30
|
+
end
|
31
|
+
|
32
|
+
# Get mentions that fall within the submitted filters
|
33
|
+
#
|
34
|
+
# @param id [Integer] Id of project
|
35
|
+
# @param opts [Hash] options hash of parameters
|
36
|
+
# @option opts [Integer] projectId Id of the project
|
37
|
+
# @option opts [Hash] filter The filters to apply
|
38
|
+
# @option opts [Integer] page Page of projects to retrieve
|
39
|
+
# @option opts [Integer] pageSize Results per page of results
|
40
|
+
# @option opts [String] :orderBy Parameter to sort by
|
41
|
+
# @option opts [String] :orderDirection Direction of sort
|
42
|
+
# @option opts [Integer] :orderByCategory Category to sort by when orderBy category
|
43
|
+
# @return [Hashie::Mash] All Mentions
|
44
|
+
def data_mentions id, opts={}
|
45
|
+
get "projects/#{id}/data/mentions", opts
|
46
|
+
end
|
47
|
+
|
48
|
+
# Update mentions for project
|
49
|
+
#
|
50
|
+
# @param id [Integer] Id of project
|
51
|
+
# @param opts [Hash] options hash of parameters
|
52
|
+
# @option opts [Integer] projectId Id of the project
|
53
|
+
# @option opts [Hash] List The patches to be applied
|
54
|
+
# @return [Hashie::Mash] Updated mentions
|
55
|
+
def update_data_mentions id, opts={}
|
56
|
+
patch "projects/#{id}/data/mentions", opts
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module BWAPI
|
2
|
+
class Client
|
3
|
+
module Projects
|
4
|
+
module DataDownload
|
5
|
+
|
6
|
+
# Get all data downloads in project
|
7
|
+
#
|
8
|
+
# @param id [Integer] Id of project
|
9
|
+
# @option opts [Integer] page Page of projects to retrieve
|
10
|
+
# @option opts [Integer] pageSize Results per page of results
|
11
|
+
# @return [Hashie::Mash] All data downloads in project
|
12
|
+
def data_downloads id, opts={}
|
13
|
+
get "projects/#{id}/datadownload", opts
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get a specific data download in project
|
17
|
+
#
|
18
|
+
# @param project_id [Integer] Id of project
|
19
|
+
# @param data_download_id [Integer] Id of data download
|
20
|
+
# @return [Hashie::Mash] Specific data download
|
21
|
+
def get_data_download project_id, data_download_id
|
22
|
+
get "projects/#{project_id}/datadownload#{data_download_id}"
|
23
|
+
end
|
24
|
+
alias :data_download :get_data_download
|
25
|
+
|
26
|
+
# Create a new data download in project
|
27
|
+
#
|
28
|
+
# @param id [Integer] Id of project
|
29
|
+
# @param opts [Hash] options hash of parameters
|
30
|
+
# @option opts [Integer] projectId Id of the project
|
31
|
+
# @option opts [Integer] id Id of the data download
|
32
|
+
# @option opts [Integer] queryId Id of the query
|
33
|
+
# @option opts [Int] percentComplete The percentage complete of data download
|
34
|
+
# @option opts [String] status The status of the download
|
35
|
+
# @option opts [String] queryName The query name of the data download
|
36
|
+
# @option opts [Date] endDate The end date of the data download
|
37
|
+
# @option opts [Date] requestDate The request date of the data download
|
38
|
+
# @option opts [String] downloadLinkXLS The link to download the XLS format
|
39
|
+
# @option opts [String] downloadLinkCSV The link to download the CSV format
|
40
|
+
# @option opts [Array] additionalColumns The additional columns for the data download
|
41
|
+
# @return [Hashie::Mash] New data download
|
42
|
+
def create_datadownload id, opts={}
|
43
|
+
get "projects/#{id}/datadownload", opts
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module BWAPI
|
2
|
+
class Client
|
3
|
+
module Projects
|
4
|
+
module FacebookQueries
|
5
|
+
|
6
|
+
# Get all facebook queries in project
|
7
|
+
#
|
8
|
+
# @param id [Integer] Id of project
|
9
|
+
# @return [Hashie::Mash] All facebook queries in project
|
10
|
+
def facebook_queries id
|
11
|
+
get "projects/#{id}/facebookqueries"
|
12
|
+
end
|
13
|
+
|
14
|
+
# Get a specific facebook query in project
|
15
|
+
#
|
16
|
+
# @param project_id [Integer] Id of project
|
17
|
+
# @param query_id [Integer] Id of facebook query
|
18
|
+
# @return [Hashie::Mash] Specific facebook query
|
19
|
+
def get_facebook_queries project_id, query_id
|
20
|
+
get "projects/#{project_id}/facebookqueries/#{query_id}"
|
21
|
+
end
|
22
|
+
alias :facebook_query :get_facebook_queries
|
23
|
+
|
24
|
+
# Update an existing facebook query in project
|
25
|
+
#
|
26
|
+
# @param project_id [Integer] Id of project
|
27
|
+
# @param query_id [Integer] Id of query
|
28
|
+
# @param opts [Hash] options hash of parameters
|
29
|
+
# @option opts [Integer] id Id of the query
|
30
|
+
# @option opts [Integer] facebookPageId Id of the facebook page
|
31
|
+
# @option opts [String] name Name of the project
|
32
|
+
# @option opts [String] facebookPageName Name of the facebook page
|
33
|
+
# @option opts [String] facebookPageURL URL of the facebook page
|
34
|
+
# @option opts [Boolean] facebookCrawlComplete Facebook initial crawling status
|
35
|
+
# @option opts [Integer] dailyLimit Daily limit of the query
|
36
|
+
# @option opts [Integer] twitterLimit Twitter limit of the query
|
37
|
+
# @option opts [Integer] averageMonthlyMentions Average monthly mentions
|
38
|
+
# @option opts [String] type Query type
|
39
|
+
# @option opts [Array] includedTerms Included terms of terms query
|
40
|
+
# @option opts [Array] contextTerms Content terms of the query
|
41
|
+
# @option opts [Array] excludedTerms Excluded terms of thequery
|
42
|
+
# @option opts [Array] languages Query languages
|
43
|
+
# @option opts [String] twitterScreenName Tracked twitter screen name
|
44
|
+
# @option opts [String] industry Industry of the query
|
45
|
+
# @option opts [Date] creationDate Date the query was created on
|
46
|
+
# @option opts [Date] lastModificationDate Modification date of the query
|
47
|
+
# @return [Hashie::Mash] Updated query
|
48
|
+
def update_facebook_query project_id, query_id, opts={}
|
49
|
+
put "projects/#{project_id}/facebookqueries/#{query_id}", opts
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'bwapi/client/projects/queries/backfill'
|
2
|
+
require 'bwapi/client/projects/queries/date_range'
|
3
|
+
require 'bwapi/client/projects/queries/mentions'
|
4
|
+
|
5
|
+
module BWAPI
|
6
|
+
class Client
|
7
|
+
module Projects
|
8
|
+
module Queries
|
9
|
+
|
10
|
+
# Get all queries in project
|
11
|
+
#
|
12
|
+
# @param id [Integer] Id of project
|
13
|
+
# @return [Hashie::Mash] All queries in project
|
14
|
+
def queries id
|
15
|
+
get "projects/#{id}/queries"
|
16
|
+
end
|
17
|
+
|
18
|
+
# Get summary of all queries in project
|
19
|
+
#
|
20
|
+
# @param id [Integer] Id of project
|
21
|
+
# @return [Hashie::Mash] Summary of all queries in project
|
22
|
+
def queries_summary id
|
23
|
+
get "projects/#{id}/queries/summary"
|
24
|
+
end
|
25
|
+
|
26
|
+
# Get a specific query in project
|
27
|
+
#
|
28
|
+
# @param project_id [Integer] Id of project
|
29
|
+
# @param query_id [Integer] Id of query
|
30
|
+
# @return [Hashie::Mash] Specific query
|
31
|
+
def get_query project_id, query_id
|
32
|
+
get "projects/#{project_id}/queries/#{query_id}"
|
33
|
+
end
|
34
|
+
alias :query :get_query
|
35
|
+
|
36
|
+
# Create a new query in project
|
37
|
+
#
|
38
|
+
# @param id [Integer] Id of project
|
39
|
+
# @param opts [Hash] options hash of parameters
|
40
|
+
# @option opts [String] id Id of the query
|
41
|
+
# @option opts [String] name Name of the project
|
42
|
+
# @option opts [Integer] dailyLimit Daily limit of the query
|
43
|
+
# @option opts [Integer] twitterLimit Twitter limit of the query
|
44
|
+
# @option opts [Integer] averageMonthlyMentions Average monthly mentions
|
45
|
+
# @option opts [String] type Query type
|
46
|
+
# @option opts [Array] includedTerms Included terms of terms query
|
47
|
+
# @option opts [Array] contextTerms Content terms of the query
|
48
|
+
# @option opts [Array] excludedTerms Excluded terms of thequery
|
49
|
+
# @option opts [Array] languages Query languages
|
50
|
+
# @option opts [String] twitterScreenName Tracked twitter screen name
|
51
|
+
# @option opts [String] industry Industry of the query
|
52
|
+
# @option opts [Date] creationDate Date the query was created on
|
53
|
+
# @option opts [Date] lastModificationDate Modification date of the query
|
54
|
+
# @return [Hashie::Mash] New query
|
55
|
+
def create_query id, opts={}
|
56
|
+
post "projects/#{id}/queries", opts
|
57
|
+
end
|
58
|
+
|
59
|
+
# Update an existing query in project
|
60
|
+
#
|
61
|
+
# @param project_id [Integer] Id of project
|
62
|
+
# @param query_id [Integer] Id of query
|
63
|
+
# @param opts [Hash] options hash of parameters
|
64
|
+
# @option opts [Integer] id Id of the query
|
65
|
+
# @option opts [String] name Name of the project
|
66
|
+
# @option opts [Integer] dailyLimit Daily limit of the query
|
67
|
+
# @option opts [Integer] twitterLimit Twitter limit of the query
|
68
|
+
# @option opts [Integer] averageMonthlyMentions Average monthly mentions
|
69
|
+
# @option opts [String] type Query type
|
70
|
+
# @option opts [Array] includedTerms Included terms of terms query
|
71
|
+
# @option opts [Array] contextTerms Content terms of the query
|
72
|
+
# @option opts [Array] excludedTerms Excluded terms of thequery
|
73
|
+
# @option opts [Array] languages Query languages
|
74
|
+
# @option opts [String] twitterScreenName Tracked twitter screen name
|
75
|
+
# @option opts [String] industry Industry of the query
|
76
|
+
# @option opts [Date] creationDate Date the query was created on
|
77
|
+
# @option opts [Date] lastModificationDate Modification date of the query
|
78
|
+
# @return [Hashie::Mash] Updated query
|
79
|
+
def update_query project_id, query_id, opts={}
|
80
|
+
put "projects/#{project_id}/queries/#{query_id}", opts
|
81
|
+
end
|
82
|
+
|
83
|
+
# Delete an existing query project
|
84
|
+
#
|
85
|
+
# @param project_id [Integer] Id of project
|
86
|
+
# @param query_id [Integer] Id of query
|
87
|
+
# @return [Hashie::Mash] Deleted query
|
88
|
+
def delete_query project_id, query_id
|
89
|
+
delete "projects/#{project_id}/queries/#{query_id}"
|
90
|
+
end
|
91
|
+
|
92
|
+
include BWAPI::Client::Projects::Queries::Backfill
|
93
|
+
include BWAPI::Client::Projects::Queries::DateRange
|
94
|
+
include BWAPI::Client::Projects::Queries::Mentions
|
95
|
+
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module BWAPI
|
2
|
+
class Client
|
3
|
+
module Projects
|
4
|
+
module Queries
|
5
|
+
module Backfill
|
6
|
+
|
7
|
+
# Get all backfills for query
|
8
|
+
#
|
9
|
+
# @param project_id [Integer] Id of project
|
10
|
+
# @param query_id [Integer] Id of query
|
11
|
+
# @param opts [Hash] options hash of parameters
|
12
|
+
# @option opts [Integer] page Page of results to retrieve
|
13
|
+
# @option opts [Integer] pageSize Results per page
|
14
|
+
# @return [Hashie::Mash] All backfills for query
|
15
|
+
def backfills project_id, query_id, opts={}
|
16
|
+
get "projects/#{project_id}/queries/#{query_id}/backfill"
|
17
|
+
end
|
18
|
+
|
19
|
+
# Get specific backfill for query
|
20
|
+
#
|
21
|
+
# @param project_id [Integer] Id of project
|
22
|
+
# @param query_id [Integer] Id of query
|
23
|
+
# @param backfill_id [Integer] Id of backfill
|
24
|
+
# @return [Hashie::Mash] Backfill for query
|
25
|
+
def get_backfill project_id, query_id, backfill_id
|
26
|
+
get "projects/#{project_id}/queries/#{query_id}/backfill/#{backfill_id}"
|
27
|
+
end
|
28
|
+
alias :backfill :get_backfill
|
29
|
+
|
30
|
+
# Create new backfill for query
|
31
|
+
#
|
32
|
+
# @param project_id [Integer] Id of project
|
33
|
+
# @param query_id [Integer] Id of query
|
34
|
+
# @param opts [Hash] options hash of parameters
|
35
|
+
# @option opts [Integer] projectId Id of the project
|
36
|
+
# @option opts [Integer] queryId Id of the query
|
37
|
+
# @option opts [Integer] id Id of the backfill
|
38
|
+
# @option opts [Integer] mentionsFound Mentions found from the backfill
|
39
|
+
# @option opts [Date] maxDate Max date for the backfill
|
40
|
+
# @option opts [Date] minDate Min date for the backfill
|
41
|
+
# @option opts [String] status Status of backfill
|
42
|
+
# @option opts [Integer] queryId Query id of backfill
|
43
|
+
# @option opts [String] statusMessages Current status message of backfill
|
44
|
+
# @return [Hashie::Mash] New backfill for query
|
45
|
+
def create_backfill project_id, query_id, opts
|
46
|
+
post "projects/#{project_id}/queries/#{query_id}/backfill", opts
|
47
|
+
end
|
48
|
+
|
49
|
+
# Delete backfill for query
|
50
|
+
#
|
51
|
+
# @param project_id [Integer] Id of project
|
52
|
+
# @param query_id [Integer] Id of query
|
53
|
+
# @param backfill_id [Integer] Id of backfill
|
54
|
+
# @return [Hashie::Mash] Deleted backfill for query
|
55
|
+
def delete_backfill project_id, query_id, backfill_id
|
56
|
+
delete "projects/#{project_id}/queries/#{query_id}/backfill/#{backfill_id}"
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|