eitje_s3 1.1.0 → 1.1.3

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: 6849a57128be891415bc470d167489cd60be8d1e39f5aeb439b82afcfc0f83c3
4
- data.tar.gz: 569b8280b4c64fe6e18510d20bb44952074e735fff4f0e06ef0ebebc446e6eaf
3
+ metadata.gz: 819fd4119ba036edf00465389ac4fda4be8bc4003d41997a6a5824d19964fcf8
4
+ data.tar.gz: bdee3c536e21ded2851636d15cab0f54a6ff9ef270d0aa6b465db856a4c40ed2
5
5
  SHA512:
6
- metadata.gz: bd9864943eb8553e0b67a93a0ede6d477de9de5711a9292ac61c9b6af2c2bec4d439a7f8e0c55876cdeb0b498e8de0bdc7cb6ccbac334775a0ac6454160cda97
7
- data.tar.gz: 641af7b9cd04053158bcaacd4b36bd595fe85ff7a60730e2eb602979a37d0492db25dd2b293af79b099ef8944aa755a88b905643f2c563b85e3321354ecf2060
6
+ metadata.gz: c51ee452a93e0715ad4c6b515cfa35e282952fb72056bd9ba7a8d7413a9e8ec4220067ed0dc80bcbbb7bd96b03583f6ec022d972e427b9bf319635455cedba48
7
+ data.tar.gz: 6b6b6e69c2959d319f92bf4fd5541b93efd09fb48b441551c433a0485a1ae72d1fe78d02021021fe4b78c52f216b81fc99bea421158ee48e8868d8c8e7e6b8b1
@@ -1,7 +1,7 @@
1
1
  module S3::NewDeletedRecordsService
2
2
  class << self
3
3
 
4
- DB_TABLES = %w$ shifts teams users contracts infos posts topics $
4
+ DB_TABLES = %w$ shifts teams users contracts infos posts topics verlof_verzoeken$
5
5
 
6
6
  def get_records(db_table:, start_date:, end_date:, env_id:)
7
7
  @date_range = Date.parse(start_date)..Date.parse(end_date)
@@ -32,8 +32,12 @@ module S3::NewDeletedRecordsService
32
32
  # the original returns waaaaay many records, so probably does not filter by date or
33
33
  # something. Change for now and investigate if shit goes BG.
34
34
 
35
- file = @s3.get_object(bucket: 'eitje-deleted-jurr-2', key: @file_name)
36
- @records = JSON.parse(file.body.read.as_json).map(&:symbolize_keys)
35
+ begin
36
+ file = @s3.get_object(bucket: 'eitje-deleted-jurr-2', key: @file_name)
37
+ @records = JSON.parse(file.body.read.as_json).map(&:symbolize_keys)
38
+ rescue Aws::S3::Errors::NoSuchKey
39
+ @records = [] # files are only generated when an env has some deleted envs, through by uploading them old-style first
40
+ end
37
41
  end
38
42
 
39
43
  def filter_records
@@ -46,4 +50,15 @@ module S3::NewDeletedRecordsService
46
50
  end
47
51
 
48
52
  end
49
- end
53
+ end
54
+
55
+ __END__
56
+
57
+ def show_env(env_id, db_table = "verlof_verzoeken")
58
+ start_date = (Date.today - 1.years).to_s
59
+ end_date = (Date.today).to_s
60
+ records = S3::NewDeletedRecordsService.get_records(db_table: db_table, start_date: start_date, end_date: end_date, env_id: env_id)
61
+ end
62
+
63
+ show_env(1176)
64
+ show_env(1176, "verlof_verzoeken")
@@ -1,7 +1,7 @@
1
1
  module S3::OldDeletedRecordsService
2
2
  class << self
3
3
 
4
- DB_TABLES = %w$ shifts teams users contracts infos posts topics $
4
+ DB_TABLES = %w$ shifts teams users contracts infos posts topics verlof_verzoeken$
5
5
 
6
6
  def get_records(db_table:, start_date:, end_date:, env_id:, env_name:)
7
7
 
@@ -89,8 +89,11 @@ module S3::OldDeletedRecordsService
89
89
  # AWS methods
90
90
 
91
91
  def request_object_names
92
+ folder = @db_table
93
+ folder = "verlofverzoeks" if @db_table == "verlof_verzoeken"
94
+
92
95
  s3 = Aws::S3::Client.new
93
- objects = s3.list_objects(bucket: 'eitje-backups', prefix: @db_table).contents
96
+ objects = s3.list_objects(bucket: 'eitje-backups', prefix: folder).contents
94
97
  names = objects.collect &:key
95
98
  end
96
99
 
@@ -101,4 +104,4 @@ module S3::OldDeletedRecordsService
101
104
  end
102
105
 
103
106
  end
104
- end
107
+ end
@@ -20,7 +20,13 @@ module S3::TransformDeletedFilesService
20
20
  envs_to_migrate = []
21
21
 
22
22
  set_tables.each do |table|
23
- object = s3.get_object(bucket: 'eitje-backups', key: "#{table}/#{start_date.strftime("%Y-%m-%d")}.json")
23
+
24
+ folder = table
25
+ folder = "verlofverzoeks" if table == "verlof_verzoeken"
26
+
27
+ puts "requesting #{table} on #{start_date.strftime("%Y-%m-%d")}..."
28
+
29
+ object = s3.get_object(bucket: 'eitje-backups', key: "#{folder}/#{start_date.strftime("%Y-%m-%d")}.json")
24
30
  json = JSON.parse(object.body.read.as_json).map(&:symbolize_keys)
25
31
 
26
32
  if table == 'topics'
@@ -30,10 +36,11 @@ module S3::TransformDeletedFilesService
30
36
  end
31
37
 
32
38
  envs_to_migrate << env_ids
33
- rescue => e
39
+ rescue Aws::S3::Errors::NoSuchKey => e
34
40
  # in case the file does not exist on S3, cause there are no deleted
35
41
  # records, skip to next table
36
- next
42
+ puts "no records found for #{table} on #{start_date.strftime("%Y-%m-%d")}!"
43
+ []
37
44
  end
38
45
 
39
46
  envs_to_migrate = envs_to_migrate.flatten.uniq.compact
@@ -106,12 +113,14 @@ module S3::TransformDeletedFilesService
106
113
  set_file_name
107
114
  set_existing_records
108
115
 
109
- (@records += @existing_records) if @existing_records
116
+ @records = (@records | @existing_records) if @existing_records
110
117
  set_json
111
118
  upload_file
112
119
 
113
120
  rescue => e
114
- @logger.error "Error for env #{@env.naam} (##{@env.id}) with table '#{@table}' => #{e.class}: #{e.message}.\n\nBacktrace:#{e.backtrace}\n"
121
+ message = "Error for env #{@env.naam} (##{@env.id}) with table '#{@table}' => #{e.class}: #{e.message}.\n\nBacktrace:#{e.backtrace}\n"
122
+ puts message
123
+ @logger.error message
115
124
  end
116
125
 
117
126
  def upload_file
@@ -119,4 +128,4 @@ module S3::TransformDeletedFilesService
119
128
  end
120
129
 
121
130
  end
122
- end
131
+ end
data/lib/s3/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module S3
2
- VERSION = '1.1.0'
2
+ VERSION = '1.1.3'
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.0
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurriaan Schrofer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-25 00:00:00.000000000 Z
11
+ date: 2022-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  requirements: []
96
- rubygems_version: 3.1.2
96
+ rubygems_version: 3.2.22
97
97
  signing_key:
98
98
  specification_version: 4
99
99
  summary: S3