bwapi 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|