Initial commit
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
require_relative '../../lib/cartodb/trending_maps'
|
||||
require_relative '../../lib/static_maps_url_helper'
|
||||
|
||||
namespace :cartodb do
|
||||
namespace :oauth do
|
||||
desc 'Delete expired oauth access tokens'
|
||||
task destroy_expired_access_tokens: :environment do
|
||||
Carto::OauthAccessToken.expired.find_each do |token|
|
||||
begin
|
||||
token.destroy!
|
||||
rescue StandardError => e
|
||||
CartoDB::Logger.error(message: 'Could not destroy expired access token', exception: e)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Delete expired oauth authorization codes'
|
||||
task destroy_expired_authorization_codes: :environment do
|
||||
Carto::OauthAuthorizationCode.expired.find_each do |code|
|
||||
begin
|
||||
code.destroy!
|
||||
rescue StandardError => e
|
||||
CartoDB::Logger.error(message: 'Could not destroy expired authorization code', exception: e)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Delete expired oauth refresh tokens'
|
||||
task destroy_expired_refresh_tokens: :environment do
|
||||
Carto::OauthRefreshToken.expired.find_each do |code|
|
||||
begin
|
||||
code.destroy!
|
||||
rescue StandardError => e
|
||||
CartoDB::Logger.error(message: 'Could not destroy expired refresh token', exception: e)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Delete all expired oauth objects'
|
||||
task destroy_expired_oauth_keys: [
|
||||
:destroy_expired_access_tokens,
|
||||
:destroy_expired_refresh_tokens,
|
||||
:destroy_expired_authorization_codes
|
||||
]
|
||||
|
||||
# Since ownership_role creation is already handled in oauth_app_user
|
||||
# this task is meant to run just once for existing oauth_app_users in every cloud
|
||||
desc 'Create ownership roles for oauth_app_users missing it.'
|
||||
task create_ownership_role: :environment do
|
||||
Carto::OauthAppUser.find_each do |oau|
|
||||
begin
|
||||
next if oau.exists_ownership_role?
|
||||
|
||||
oau.create_ownership_role
|
||||
oau.grant_ownership_role_privileges
|
||||
rescue StandardError => e
|
||||
CartoDB::Logger.error(message: 'Could not create ownership role', exception: e)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
desc 'Track existing OauthApps and OauthAppUsers in Segment'
|
||||
task track_oauth_apps: :environment do
|
||||
Carto::OauthApp.find_each do |app|
|
||||
begin
|
||||
app_properties = {
|
||||
user_id: app.user_id,
|
||||
app_id: app.id,
|
||||
app_name: app.name,
|
||||
timestamp: app.created_at
|
||||
}
|
||||
Carto::Tracking::Events::CreatedOauthApp.new(app.user_id, app_properties).report
|
||||
|
||||
app.oauth_app_users.find_each do |app_user|
|
||||
app_user_properties = {
|
||||
user_id: app_user.user_id,
|
||||
app_id: app.id,
|
||||
app_name: app.name,
|
||||
timestamp: app_user.created_at
|
||||
}
|
||||
Carto::Tracking::Events::CreatedOauthAppUser.new(app_user.user_id, app_user_properties).report
|
||||
end
|
||||
rescue StandardError => e
|
||||
CartoDB::Logger.error(message: 'Could not track event', exception: e)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user