driftwood 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 577ddadc21bbfaa22fec813d3b3129f6c2c22b14
4
- data.tar.gz: 4c398d3e159fdc8c0b400ae25aff5d88ff6ac71f
3
+ metadata.gz: a2aa38fdad6bf9e05e72edb988a37b00918c6a19
4
+ data.tar.gz: a000ddec7782273ac0e0af3839771432185e2991
5
5
  SHA512:
6
- metadata.gz: 639d06b08ad608fe3a40acc9828ca7ef669c3fb77525f17ea6bdf87e96772bc264c178bd2c70aa57c8bc47bbb6ff1f365d3cdfa90445258f72064cd41e168305
7
- data.tar.gz: a8dd564442f732181b712ce80eef36e441c6f9d7f04a9655a76043349304bb71868f8b08895eb584f722f30773886f81bc93d8e27fd950fbffdfe47d7223e14e
6
+ metadata.gz: 1e04dc0945b14fc80b6573f6fa43e63df798a52995477dc08849e81129fca1cbb7c893f26b8dd5098635047d809c173246824d6273ca5a8998c19dd6495d7046
7
+ data.tar.gz: ddac7b1ab1a6d3c68d1918727bddec9d3abc0cad7f2863932894df3fc481f8006b1fc93cae33d9527a0556b33629aec4f6ab3e558a8041ffac70135c4252c647
@@ -1,3 +1,8 @@
1
+ # v0.0.5
2
+
3
+ More error checking
4
+ Record user creation date properly
5
+
1
6
  # v0.0.4
2
7
 
3
8
  Fully purge deleted users
@@ -13,7 +13,7 @@ defaults = {
13
13
  :name => 'driftwood',
14
14
  },
15
15
  }
16
- loglevel = Logger::WARN
16
+ loglevel = Logger::INFO
17
17
  configfile = [ File.expand_path('~/.driftwood/config.yaml'), '/etc/driftwood/config.yaml'].select { |file| File.exist? file }.first
18
18
  options = {}
19
19
  ssl_opts = {:verify_peer => false}
@@ -70,9 +70,9 @@ class Driftwood < Sinatra::Base
70
70
  Thread.new do
71
71
  begin
72
72
  $logger.info "Starting data synchronization..."
73
+ sync_messages
73
74
  sync_channels
74
75
  sync_users
75
- sync_messages
76
76
  rescue => e
77
77
  $logger.error e.message
78
78
  $logger.debug e.backtrace.join("\n")
@@ -48,47 +48,59 @@ class Driftwood::Bigquery
48
48
  end
49
49
 
50
50
  # these we delete and rebuild because it's about 17 million times faster. Only slightly exaggerated.
51
- @dataset.table('slack_channels').delete rescue nil
52
- @channels = @dataset.create_table('slack_channels') do |table|
53
- table.name = 'Slack Channels'
54
- table.description = 'A list of all channels and metadata'
55
- table.schema do |s|
56
- s.string "team_id", mode: :required
57
- s.string "channel_id", mode: :required
58
- s.string "name", mode: :required
59
- s.integer "created", mode: :required
60
- s.boolean "is_private", mode: :required
61
- s.string "topic", mode: :required
62
- s.string "purpose", mode: :required
63
- s.integer "num_members", mode: :required
51
+ begin
52
+ @dataset.table('slack_channels').delete
53
+ @channels = @dataset.create_table('slack_channels') do |table|
54
+ table.name = 'Slack Channels'
55
+ table.description = 'A list of all channels and metadata'
56
+ table.schema do |s|
57
+ s.string "team_id", mode: :required
58
+ s.string "channel_id", mode: :required
59
+ s.string "name", mode: :required
60
+ s.integer "created", mode: :required
61
+ s.boolean "is_private", mode: :required
62
+ s.string "topic", mode: :required
63
+ s.string "purpose", mode: :required
64
+ s.integer "num_members", mode: :required
65
+ end
64
66
  end
67
+ rescue => e
68
+ $logger.error e.message
69
+ $logger.debug e.backtrace.join("\n")
70
+ @channels = @dataset.table('slack_channels')
65
71
  end
66
72
 
67
- @dataset.table('slack_users').delete rescue nil
68
- @users = @dataset.create_table('slack_users') do |table|
69
- table.name = 'Slack Users'
70
- table.description = 'A list of all users and metadata. Ironically, we only store the email so we can delete if a GDPR request is made. We cannot do anything else with it.'
71
- table.schema do |s|
72
- s.string "team_id", mode: :required
73
- s.string "user_id", mode: :required
74
- s.string "name", mode: :required
75
- s.string "real_name", mode: :required
76
- s.string "display_name", mode: :required
77
- s.boolean "is_owner", mode: :required
78
- s.boolean "is_admin", mode: :required
79
- s.string "title"
80
- s.string "phone"
81
- s.string "skype"
82
- s.string "email"
83
- s.string "tz"
84
- s.string "tz_offset"
85
- s.string "status_text", mode: :required
86
- s.string "status_emoji", mode: :required
87
- s.string "image_72", mode: :required
88
- s.string "image_192", mode: :required
89
- s.integer "updated", mode: :required
90
- s.boolean "deleted", mode: :required
73
+ begin
74
+ @dataset.table('slack_users').delete
75
+ @users = @dataset.create_table('slack_users') do |table|
76
+ table.name = 'Slack Users'
77
+ table.description = 'A list of all users and metadata. Ironically, we only store the email so we can delete if a GDPR request is made. We cannot do anything else with it.'
78
+ table.schema do |s|
79
+ s.string "team_id", mode: :required
80
+ s.string "user_id", mode: :required
81
+ s.string "name", mode: :required
82
+ s.string "real_name", mode: :required
83
+ s.string "display_name", mode: :required
84
+ s.boolean "is_owner", mode: :required
85
+ s.boolean "is_admin", mode: :required
86
+ s.string "title"
87
+ s.string "phone"
88
+ s.string "skype"
89
+ s.string "email"
90
+ s.string "tz"
91
+ s.string "tz_offset"
92
+ s.string "status_text", mode: :required
93
+ s.string "status_emoji", mode: :required
94
+ s.string "image_72", mode: :required
95
+ s.string "image_192", mode: :required
96
+ s.integer "updated", mode: :required
97
+ s.boolean "deleted", mode: :required
98
+ end
91
99
  end
100
+ rescue => e
101
+ $logger.error e.message
102
+ $logger.debug e.backtrace.join("\n")
103
+ @users = @dataset.table('slack_users')
92
104
  end
93
105
  $logger.info "Bigquery initialization complete"
94
106
  end
@@ -109,7 +121,12 @@ class Driftwood::Bigquery
109
121
  end
110
122
 
111
123
  def insert_user(record)
112
- @users.insert(record).success?
124
+ if @users.insert(record).success?
125
+ record_user_creation(record['team_id'], record['user_id'])
126
+ else
127
+ false
128
+ end
129
+
113
130
  end
114
131
 
115
132
  def insert_message(record)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: driftwood
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Ford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-26 00:00:00.000000000 Z
11
+ date: 2018-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra