driftwood 0.0.4 → 0.0.5

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 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