eitje_s3 1.1.3 → 1.1.4

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
  SHA256:
3
- metadata.gz: 819fd4119ba036edf00465389ac4fda4be8bc4003d41997a6a5824d19964fcf8
4
- data.tar.gz: bdee3c536e21ded2851636d15cab0f54a6ff9ef270d0aa6b465db856a4c40ed2
3
+ metadata.gz: 230fdba2a8fd9f8de892d021ab35594b8a84970ff0a7c518b16d01716a698df0
4
+ data.tar.gz: d70670f7249f28fc27dbd92b44670cd46cd9b768b836ea9321deb18743d2197e
5
5
  SHA512:
6
- metadata.gz: c51ee452a93e0715ad4c6b515cfa35e282952fb72056bd9ba7a8d7413a9e8ec4220067ed0dc80bcbbb7bd96b03583f6ec022d972e427b9bf319635455cedba48
7
- data.tar.gz: 6b6b6e69c2959d319f92bf4fd5541b93efd09fb48b441551c433a0485a1ae72d1fe78d02021021fe4b78c52f216b81fc99bea421158ee48e8868d8c8e7e6b8b1
6
+ metadata.gz: e697501276a0a4921e2fd48e5daa5e697b5bae4a1554414deb910dceb1e2866e9770fb8fc489036e9299e341251efea4bf1faea96b91e07abeb28b3564c073c7
7
+ data.tar.gz: 7c1d4880cd61c4fffbe6df19f47b89d79012d74ab48f974e9e46023436d40a8af99a34a25b9ee7fe332ed76a1a17e1b8dea98f90f79919e4ba7c771f323261cb
@@ -34,6 +34,8 @@ module S3::OldDeletedRecordsService
34
34
  @file_name = file_name
35
35
  @file = request_object
36
36
 
37
+ next unless @file
38
+
37
39
  case @db_table
38
40
  when 'users'
39
41
  filter_users_table_by_env
@@ -43,7 +45,7 @@ module S3::OldDeletedRecordsService
43
45
  filter_file_by_env
44
46
  end
45
47
 
46
- end.flatten
48
+ end.flatten.compact
47
49
  end
48
50
 
49
51
  # filter methods
@@ -93,14 +95,24 @@ module S3::OldDeletedRecordsService
93
95
  folder = "verlofverzoeks" if @db_table == "verlof_verzoeken"
94
96
 
95
97
  s3 = Aws::S3::Client.new
96
- objects = s3.list_objects(bucket: 'eitje-backups', prefix: folder).contents
97
- names = objects.collect &:key
98
+
99
+ objects = []
100
+
101
+ # Pagination: AWS returns 1000 items at max
102
+ s3.list_objects(bucket: 'eitje-backups', prefix: folder).each do |response|
103
+ objects += response.contents
104
+ end
105
+
106
+ names = objects.collect &:key
98
107
  end
99
108
 
100
109
  def request_object
101
110
  s3 = Aws::S3::Client.new
102
111
  object = s3.get_object(bucket: 'eitje-backups', key: @file_name)
103
- json = JSON.parse(object.body.read.as_json).map(&:symbolize_keys)
112
+ body = object.body.read.as_json
113
+ json = JSON.parse(body).map(&:symbolize_keys)
114
+ rescue JSON::ParserError => e
115
+ puts "Invalid file... skip this file"
104
116
  end
105
117
 
106
118
  end
@@ -32,7 +32,12 @@ module S3::TransformDeletedFilesService
32
32
  if table == 'topics'
33
33
  env_ids = json.map {|row| row[:environment_ids]}.flatten.compact.uniq
34
34
  else
35
- env_ids = json.map {|row| row[:env]}.uniq.map { |name| Environment.find_by(naam: name)&.id }
35
+ puts "new table logic...?"
36
+ env_ids = json.map { _1[:environment_id] }.compact.uniq
37
+
38
+ unless env_ids.present?
39
+ env_ids = json.map {|row| row[:env]}.uniq.map { |name| Environment.find_by(naam: name)&.id }
40
+ end
36
41
  end
37
42
 
38
43
  envs_to_migrate << env_ids
@@ -55,6 +60,11 @@ module S3::TransformDeletedFilesService
55
60
  @table = table
56
61
  compose_file
57
62
  end
63
+
64
+ rescue ActiveRecord::RecordNotFound => e
65
+
66
+ rescue => e
67
+ binding.pry
58
68
  end
59
69
 
60
70
  def migrate_files_multi_env(environment_ids, start_date: Date.yesterday)
@@ -105,6 +115,7 @@ module S3::TransformDeletedFilesService
105
115
  @existing_records = JSON.parse(object.body.read.as_json).map(&:symbolize_keys)
106
116
 
107
117
  rescue Aws::S3::Errors::NoSuchKey => e
118
+ binding.pry
108
119
  @existing_records = nil
109
120
  end
110
121
 
@@ -115,11 +126,13 @@ module S3::TransformDeletedFilesService
115
126
 
116
127
  @records = (@records | @existing_records) if @existing_records
117
128
  set_json
129
+ puts "completed successfully! new total: #{@records&.count}, old total: #{@existing_records&.count}"
118
130
  upload_file
119
131
 
120
132
  rescue => e
121
133
  message = "Error for env #{@env.naam} (##{@env.id}) with table '#{@table}' => #{e.class}: #{e.message}.\n\nBacktrace:#{e.backtrace}\n"
122
134
  puts message
135
+ binding.pry
123
136
  @logger.error message
124
137
  end
125
138
 
data/lib/s3/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module S3
2
- VERSION = '1.1.3'
2
+ VERSION = '1.1.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eitje_s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurriaan Schrofer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-01 00:00:00.000000000 Z
11
+ date: 2022-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails