apidae 0.9.32 → 0.10.0

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
- SHA256:
3
- metadata.gz: db36dfb4480f3b1bc1458a618b0a2ce5c3c9a3b496474e04407f1eee9256734e
4
- data.tar.gz: 5e20f5c540670359f7e1efebd3413b070f1f87a3f5864a4dcd9e0cf1917ec7ee
2
+ SHA1:
3
+ metadata.gz: 1e5d13058f65857b20c5eb5ebcb31933047d458d
4
+ data.tar.gz: 57c158bf11ea28f28c25094e2e2b732289cd1b47
5
5
  SHA512:
6
- metadata.gz: 03e5f796b063b512c3a433cf44e36360044cbac1fd881a0ae9d6f92f2f09953a405dc78224b8f378f6c7badff97c8910c3f3cb07bbae75f85e51bc8fb374c1cc
7
- data.tar.gz: 328ab820e3d843f86089f3ce3616347eacb63a3635f58637af8c799b65a79562d2a7e59c8371cf4925b5c253cab7853837f9a77737ce69b8c5859bfcf1972d46
6
+ metadata.gz: '039e3d10fa484d795ad731c1a178b567f7c793b2a339ea835370f0a3c59318734ecb5bc9cd818073da9d4c16cdaf03d9d833f83c507d8589f39fe41d56c32657'
7
+ data.tar.gz: 188194787706a94cf7b04854bdd92266095ee95607b24a764ad2ccadda0fec50f076bb9d0631b7bb3454c02c80c74334bb5f313832d10ac012b86ec4ad3c3e23
@@ -30,22 +30,18 @@ module Apidae
30
30
  Town.import(zfile.read(TOWNS_FILE))
31
31
  logger.info "Completed #{Town.count} towns update"
32
32
  end
33
- ordered_files(zfile).each do |file|
34
- puts "processing #{file.name}"
33
+ zfile.each do |file|
35
34
  if file.file? && file.name.end_with?('.json')
36
35
  logger.info "Processing file : #{file.name}"
37
36
  if file.name.include?(MODIFIED_DIR)
38
37
  add_or_update_objects(zfile.read(file.name), result, project.locales, project.versions)
39
- end
40
- if file.name.include?(SELECTIONS_FILE)
41
- add_or_update_selections(project, zfile.read(file.name), result)
42
- end
43
- if file.name.include?(DELETED_FILE)
38
+ elsif file.name.include?(DELETED_FILE)
44
39
  delete_objects(zfile.read(file.name), result)
40
+ elsif file.name.include?(SELECTIONS_FILE)
41
+ add_or_update_selections(project, zfile.read(file.name), result)
45
42
  end
46
43
  end
47
44
  end
48
- project.cleanup_selections
49
45
  create(result.except(:selections)
50
46
  .merge({remote_file: (zip_file.is_a?(File) ? zip_file.path : zip_file), status: STATUS_COMPLETE, apidae_id: project_id}))
51
47
  logger.info "Import results : #{result}"
@@ -108,16 +104,12 @@ module Apidae
108
104
  end
109
105
  end
110
106
 
111
- def self.ordered_files(zfile)
112
- zfile.sort_by {|f| f.name.include?(MODIFIED_DIR) ? 0 : (f.name.include?(SELECTIONS_FILE) ? 1 : 2)}
113
- end
114
-
115
107
  def self.delete_objects(deleted_json, result)
116
108
  deleted_ids = JSON.parse(deleted_json)
117
109
  deleted_ids.each do |id|
118
110
  obj = Obj.find_by_apidae_id(id)
119
111
  if obj
120
- obj.destroy! if obj.selections.empty?
112
+ obj.destroy!
121
113
  result[:deleted] += 1
122
114
  else
123
115
  logger.info "skipping object deletion : #{id}"
@@ -171,9 +163,7 @@ module Apidae
171
163
  def self.add_or_update_selections(project, selections_json, result)
172
164
  selections_hashes = JSON.parse(selections_json, symbolize_names: true)
173
165
  deleted_ids = Selection.where(apidae_project_id: project.id).collect {|sel| sel.apidae_id}.uniq - selections_hashes.collect {|sel| sel[:id]}
174
- apidae_selection_ids = Selection.where(apidae_id: deleted_ids).map {|s| s.id}
175
- SelectionObject.where(apidae_selection_id: apidae_selection_ids).delete_all
176
- Selection.where(id: apidae_selection_ids).delete_all
166
+ Selection.where(apidae_id: deleted_ids).delete_all
177
167
  selections_hashes.each do |selection_data|
178
168
  logger.info "Updating selection #{selection_data[:id]}"
179
169
  Selection.add_or_update(selection_data, project.id)
@@ -18,7 +18,7 @@ module Apidae
18
18
  store_accessor :entity_data, :entity_id, :entity_name, :service_provider_id
19
19
  store_accessor :contact, :telephone, :email, :website
20
20
  store_accessor :location_data, :address, :place, :latitude, :longitude, :access, :territories, :environments
21
- store_accessor :openings_data, :openings_desc, :openings_desc_mode, :openings, :time_periods, :openings_extra
21
+ store_accessor :openings_data, :openings_desc, :openings_desc_mode, :openings, :time_periods
22
22
  store_accessor :rates_data, :rates_desc, :rates_desc_mode, :rates, :payment_methods, :includes, :excludes
23
23
  store_accessor :service_data, :services, :equipments, :comfort, :activities, :challenged, :languages
24
24
  store_accessor :booking_data, :booking_desc, :booking_entities
@@ -109,7 +109,11 @@ module Apidae
109
109
  end
110
110
 
111
111
  def in_version(v)
112
- versions.where(version: v).first
112
+ @cached_versions ||= {}
113
+ if @cached_versions[v].nil?
114
+ @cached_versions[v] = versions.where(version: v).first
115
+ end
116
+ @cached_versions[v]
113
117
  end
114
118
 
115
119
  def in_locale(l)
@@ -339,14 +343,14 @@ module Apidae
339
343
  end
340
344
  end
341
345
 
346
+ # Note : use internal format for openings storage (ideally Apihours one, to merge data from both sources)
342
347
  def self.parse_openings(openings_hash, *locales)
343
348
  if openings_hash && openings_hash[:periodeEnClair]
344
349
  {
345
350
  openings_desc: node_value(openings_hash, :periodeEnClair, *locales),
346
351
  openings_desc_mode: openings_hash[:periodeEnClairGenerationMode] == 'AUTOMATIQUE' ? MODE_AUTO : MODE_MANUAL,
347
352
  openings: openings_hash[:periodesOuvertures],
348
- time_periods: lists_ids(openings_hash[:indicationsPeriode]),
349
- openings_extra: lists_ids(openings_hash[:ouverturesComplementaires])
353
+ time_periods: lists_ids(openings_hash[:indicationsPeriode])
350
354
  }
351
355
  end
352
356
  end
@@ -453,7 +457,7 @@ module Apidae
453
457
 
454
458
  def self.build_rate(rate_period)
455
459
  {
456
- id: rate_period[:identifiant], from: rate_period[:dateDebut], to: rate_period[:dateFin],
460
+ id: rate_period[:identifiant], start_date: rate_period[:dateDebut], end_date: rate_period[:dateFin],
457
461
  values: rate_period[:tarifs].blank? ? [] : rate_period[:tarifs].map {|t| {min: t[:minimum], max: t[:maximum], type: t[:type][:id], details: node_value(t, :precisionTarif)}}
458
462
  }
459
463
  end
@@ -20,11 +20,5 @@ module Apidae
20
20
  def versions=(values)
21
21
  self.versions_data = values.blank? ? nil : values.join('|')
22
22
  end
23
-
24
- def cleanup_selections
25
- apidae_selections.reload.each do |s|
26
- s.cleanup
27
- end
28
- end
29
23
  end
30
24
  end
@@ -42,20 +42,6 @@ module Apidae
42
42
  SelectionObject.where(apidae_selection_id: apidae_sel.id, apidae_object_id: removed_ids).delete_all
43
43
  end
44
44
 
45
- def cleanup
46
- obsolete_count = apidae_selection_objects
47
- .joins("LEFT JOIN apidae_objs ON apidae_objs.id = apidae_selection_objects.apidae_object_id")
48
- .where("apidae_objs.id IS NULL")
49
- .delete_all
50
- logger.info "Cleaned up #{obsolete_count} obsolete selection-objects associations for selection #{apidae_id}"
51
-
52
- dups = apidae_selection_objects.reload.group(:apidae_object_id)
53
- .select("COUNT(id), apidae_object_id, ARRAY_AGG(id) AS so_ids")
54
- .having("COUNT(id) > ?", 1).map {|so| so.so_ids}
55
- dups_count = apidae_selection_objects.where(id: dups.map {|d| d.sort[1..-1]}.flatten).delete_all
56
- logger.info "Cleaned up #{dups_count} duplicate selection-objects associations for selection #{apidae_id}"
57
- end
58
-
59
45
  def results(where_clause, offset, size)
60
46
  objects.includes(:town).limit(size).offset(offset).where(where_clause)
61
47
  end
@@ -79,7 +65,7 @@ module Apidae
79
65
  key = cache_key(:agenda, from, to)
80
66
  res = $apidae_cache.read(key)
81
67
  unless res
82
- query_args = build_args(AGENDA_ENDPOINT, {selection_ids: [apidae_id], from: from, to: to, count: 200})
68
+ query_args = build_args(AGENDA_ENDPOINT, {selection_ids: [apidae_id], from: from, to: to})
83
69
  res = query_api(query_args, true)
84
70
  $apidae_cache.write(key, res)
85
71
  end
@@ -130,7 +116,7 @@ module Apidae
130
116
  obj = Obj.update_object(obj, obj_data, apidae_project.locales, apidae_project.versions)
131
117
  else
132
118
  obj = Obj.add_object(obj_data, apidae_project.locales, apidae_project.versions)
133
- SelectionObject.create(apidae_selection_id: id, apidae_object_id: obj.id)
119
+ SelectionObject.create(apidae_selection_id: id, apidae_object_id: added_obj.id)
134
120
  end
135
121
  if Rails.application.config.respond_to?(:apidae_obj_refresh_callback)
136
122
  Rails.application.config.apidae_obj_refresh_callback.call(obj.apidae_id)
@@ -149,15 +135,14 @@ module Apidae
149
135
 
150
136
  if all_results
151
137
  loops = 0
152
- max_loops = only_ids ? 50 : MAX_LOOPS
153
138
  query_args[:first] = 0
154
- query_args[:count] ||= MAX_COUNT
139
+ query_args[:count] = MAX_COUNT
155
140
  query_args[:locales] ||= apidae_project && !apidae_project.locales.blank? ? apidae_project.locales : [DEFAULT_LOCALE]
156
141
  response = JSON.parse get_response(query_args), symbolize_names: false
157
142
  total = response['numFound']
158
143
  query_result[:results] = (only_ids ? response['objetTouristiqueIds'] : response['objetsTouristiques']) || {}
159
144
 
160
- while total > results_count(query_result) && loops < max_loops
145
+ while total > results_count(query_result) && loops < MAX_LOOPS
161
146
  loops += 1
162
147
  query_args[:first] += MAX_COUNT
163
148
  response = JSON.parse get_response(query_args), symbolize_names: false
@@ -8,10 +8,9 @@ module Apidae
8
8
  LOCALE_ZH = 'zh'
9
9
  LOCALE_ES = 'es'
10
10
  LOCALE_PT_BR = 'pt-BR'
11
- LOCALE_JP = 'jp'
12
11
 
13
12
  DEFAULT_LOCALE = LOCALE_FR
14
- ALL_LOCALES = [LOCALE_FR, LOCALE_EN, LOCALE_IT, LOCALE_DE, LOCALE_NL, LOCALE_RU, LOCALE_ZH, LOCALE_ES, LOCALE_PT_BR, LOCALE_JP]
13
+ ALL_LOCALES = [LOCALE_FR, LOCALE_EN, LOCALE_IT, LOCALE_DE, LOCALE_NL, LOCALE_RU, LOCALE_ZH, LOCALE_ES, LOCALE_PT_BR]
15
14
 
16
15
  STANDARD_VERSION = 'STANDARD'
17
16
  WINTER_VERSION = 'HIVER'
@@ -32,7 +32,6 @@ fr:
32
32
  ru: Russe
33
33
  zh: Chinois
34
34
  'pt-BR': Brésilien
35
- jp: Japonais
36
35
  versions:
37
36
  STANDARD: Standard
38
37
  HIVER: Hiver
@@ -1,3 +1,3 @@
1
1
  module Apidae
2
- VERSION = "0.9.32"
2
+ VERSION = "0.10.0"
3
3
  end
@@ -63,337 +63,3 @@ Migrating to AddLocalesDataToApidaeProjects (20190123214635)
63
63
   (0.2ms) COMMIT
64
64
   (0.2ms) SELECT pg_advisory_unlock(6140174353533887940)
65
65
   (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
66
- Apidae::Obj Load (26.8ms) SELECT apidae_id, COUNT(id) FROM "apidae_objs" WHERE "apidae_objs"."root_obj_id" IS NULL GROUP BY "apidae_objs"."apidae_id" HAVING (COUNT(id) > 1)
67
- Apidae::Obj Load (2.4ms) SELECT apidae_id, COUNT(id) FROM "apidae_objs" WHERE "apidae_objs"."root_obj_id" IS NULL GROUP BY "apidae_objs"."apidae_id" HAVING (COUNT(id) > 1)
68
- Apidae::Obj Load (0.8ms) SELECT "apidae_objs".* FROM "apidae_objs" ORDER BY "apidae_objs"."id" ASC LIMIT $1 [["LIMIT", 1]]
69
-  (3.4ms) SELECT COUNT(*) FROM "apidae_objs"
70
-  (20.0ms) CREATE TABLE "schema_migrations" ("version" character varying NOT NULL PRIMARY KEY)
71
-  (40.8ms) CREATE TABLE "ar_internal_metadata" ("key" character varying NOT NULL PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
72
-  (0.9ms) SELECT pg_try_advisory_lock(6140174353533887940)
73
-  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
74
- Migrating to CreateApidaeSelections (20170512212941)
75
-  (0.1ms) BEGIN
76
-  (40.3ms) CREATE TABLE "apidae_selections" ("id" serial NOT NULL PRIMARY KEY, "label" character varying, "reference" character varying, "apidae_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
77
- ActiveRecord::SchemaMigration Create (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170512212941"]]
78
-  (0.4ms) COMMIT
79
- Migrating to CreateApidaeObjects (20170512214641)
80
-  (40.8ms) BEGIN
81
-  (6.7ms) CREATE TABLE "apidae_objects" ("id" serial NOT NULL PRIMARY KEY, "address" character varying, "apidae_id" integer, "apidae_type" character varying, "apidae_subtype" character varying, "title" character varying, "short_desc" text, "contact" text, "long_desc" text, "type_data" text, "latitude" float, "longitude" float, "openings" text, "rates" text, "reservation" text, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
82
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170512214641"]]
83
-  (0.4ms) COMMIT
84
- Migrating to CreateApidaeObjectsApidaeSelections (20170512221525)
85
-  (39.6ms) BEGIN
86
-  (4.7ms) CREATE TABLE "apidae_objects_apidae_selections" ("id" serial NOT NULL PRIMARY KEY, "object_id" integer, "selection_id" integer)
87
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170512221525"]]
88
-  (0.3ms) COMMIT
89
- Migrating to CreateApidaeTowns (20170513114002)
90
-  (40.7ms) BEGIN
91
-  (6.2ms) CREATE TABLE "apidae_towns" ("id" serial NOT NULL PRIMARY KEY, "country" character varying, "apidae_id" integer, "insee_code" character varying, "name" character varying, "postal_code" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
92
-  (1.0ms) CREATE UNIQUE INDEX "index_apidae_towns_on_insee_code" ON "apidae_towns" ("insee_code")
93
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170513114002"]]
94
-  (0.4ms) COMMIT
95
- Migrating to AddTownInseeCodeToObjects (20170513114409)
96
-  (40.5ms) BEGIN
97
-  (4.3ms) ALTER TABLE "apidae_objects" ADD "town_insee_code" character varying
98
- ActiveRecord::SchemaMigration Create (0.9ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170513114409"]]
99
-  (0.4ms) COMMIT
100
- Migrating to AddPicturesDataToObjects (20170513115401)
101
-  (0.2ms) BEGIN
102
-  (0.3ms) ALTER TABLE "apidae_objects" ADD "pictures_data" text
103
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170513115401"]]
104
-  (27.1ms) COMMIT
105
- Migrating to CreateApidaeAttachedFiles (20170513121215)
106
-  (0.3ms) BEGIN
107
-  (24.8ms) CREATE TABLE "apidae_attached_files" ("id" serial NOT NULL PRIMARY KEY, "name" character varying, "credits" character varying, "description" text, "apidae_object_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
108
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170513121215"]]
109
-  (0.4ms) COMMIT
110
- Migrating to RenameObjectsSelectionsTable (20170513205932)
111
-  (33.6ms) BEGIN
112
-  (0.5ms) ALTER TABLE "apidae_objects_apidae_selections" RENAME TO "apidae_objects_selections"
113
-  (0.2ms) ALTER INDEX "apidae_objects_apidae_selections_pkey" RENAME TO "apidae_objects_selections_pkey"
114
-  (0.2ms) ALTER TABLE "public"."apidae_objects_apidae_selections_id_seq" RENAME TO "apidae_objects_selections_id_seq"
115
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170513205932"]]
116
-  (0.2ms) COMMIT
117
- Migrating to AddEntityDataToObjects (20170720161134)
118
-  (0.1ms) BEGIN
119
-  (0.3ms) ALTER TABLE "apidae_objects" ADD "entity_data" text
120
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170720161134"]]
121
-  (40.7ms) COMMIT
122
- Migrating to CreateApidaeFileImports (20170730102424)
123
-  (0.3ms) BEGIN
124
-  (47.6ms) CREATE TABLE "apidae_file_imports" ("id" serial NOT NULL PRIMARY KEY, "status" character varying, "remote_file" character varying, "created" integer, "updated" integer, "deleted" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
125
- ActiveRecord::SchemaMigration Create (0.7ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170730102424"]]
126
-  (1.2ms) COMMIT
127
- Migrating to CreateApidaeExports (20171025075304)
128
-  (40.4ms) BEGIN
129
-  (5.7ms) CREATE TABLE "apidae_exports" ("id" serial NOT NULL PRIMARY KEY, "status" character varying, "remote_status" character varying, "oneshot" boolean, "reset" boolean, "file_url" character varying, "confirm_url" character varying, "project_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
130
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20171025075304"]]
131
-  (0.3ms) COMMIT
132
- Migrating to CreateApidaeSelectionObjects (20180217222410)
133
-  (40.4ms) BEGIN
134
-  (4.2ms) CREATE TABLE "apidae_selection_objects" ("id" bigserial primary key, "apidae_selection_id" integer, "apidae_object_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
135
- ActiveRecord::SchemaMigration Create (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180217222410"]]
136
-  (0.4ms) COMMIT
137
- Migrating to ChangeTextColumnsToJson (20180218172704)
138
-  (32.6ms) BEGIN
139
-  (6.8ms) ALTER TABLE "apidae_objects" ALTER COLUMN "pictures_data" TYPE jsonb USING pictures_data::text::jsonb
140
-  (3.3ms) ALTER TABLE "apidae_objects" ALTER COLUMN "type_data" TYPE jsonb USING type_data::text::jsonb
141
-  (3.3ms) ALTER TABLE "apidae_objects" ALTER COLUMN "entity_data" TYPE jsonb USING entity_data::text::jsonb
142
-  (3.0ms) ALTER TABLE "apidae_objects" ALTER COLUMN "contact" TYPE jsonb USING contact::text::jsonb
143
-  (2.6ms) ALTER TABLE "apidae_objects" ALTER COLUMN "address" TYPE jsonb USING address::text::jsonb
144
-  (2.8ms) ALTER TABLE "apidae_objects" ALTER COLUMN "openings" TYPE jsonb USING openings::text::jsonb
145
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180218172704"]]
146
-  (3.7ms) COMMIT
147
- Migrating to AddServiceDataToApidaeObjects (20180218231319)
148
-  (0.5ms) BEGIN
149
-  (0.5ms) ALTER TABLE "apidae_objects" ADD "service_data" jsonb
150
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180218231319"]]
151
-  (40.8ms) COMMIT
152
- Migrating to AddRatesDataToApidaeObjects (20180222104915)
153
-  (0.2ms) BEGIN
154
-  (0.4ms) ALTER TABLE "apidae_objects" ADD "rates_data" jsonb
155
-  (41.4ms) ALTER TABLE "apidae_objects" DROP COLUMN "rates"
156
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180222104915"]]
157
-  (0.4ms) COMMIT
158
- Migrating to RenameOpeningsToOpeningsData (20180222105302)
159
-  (0.2ms) BEGIN
160
-  (0.3ms) ALTER TABLE "apidae_objects" RENAME COLUMN "openings" TO "openings_data"
161
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180222105302"]]
162
-  (40.6ms) COMMIT
163
- Migrating to AddAttachmentsDataToApidaeObjects (20180307164936)
164
-  (0.2ms) BEGIN
165
-  (0.5ms) ALTER TABLE "apidae_objects" ADD "attachments_data" jsonb
166
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180307164936"]]
167
-  (37.6ms) COMMIT
168
- Migrating to CreateApidaeReferences (20180307170349)
169
-  (0.2ms) BEGIN
170
-  (85.3ms) CREATE TABLE "apidae_references" ("id" bigserial primary key, "apidae_id" integer, "apidae_type" character varying, "label_data" jsonb, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
171
-  (41.1ms) CREATE UNIQUE INDEX "index_apidae_references_on_apidae_id" ON "apidae_references" ("apidae_id")
172
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180307170349"]]
173
-  (41.1ms) COMMIT
174
- Migrating to AddTagsDataToApidaeObjects (20180314093512)
175
-  (81.8ms) BEGIN
176
-  (0.3ms) ALTER TABLE "apidae_objects" ADD "tags_data" jsonb
177
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180314093512"]]
178
-  (40.8ms) COMMIT
179
- Migrating to AddMetaDataToApidaeObjects (20180314132631)
180
-  (0.2ms) BEGIN
181
-  (0.3ms) ALTER TABLE "apidae_objects" ADD "meta_data" jsonb
182
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180314132631"]]
183
-  (41.0ms) COMMIT
184
- Migrating to RemoveApidaeIdUnicity (20180319143954)
185
-  (0.1ms) BEGIN
186
-  (0.5ms) DROP INDEX "index_apidae_references_on_apidae_id"
187
-  (1.1ms) CREATE INDEX "index_apidae_references_on_apidae_id" ON "apidae_references" ("apidae_id")
188
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180319143954"]]
189
-  (0.5ms) COMMIT
190
- Migrating to AddLocationDataToApidaeObjects (20180417164604)
191
-  (0.3ms) BEGIN
192
-  (0.3ms) ALTER TABLE "apidae_objects" ADD "location_data" jsonb
193
- ActiveRecord::SchemaMigration Create (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180417164604"]]
194
-  (23.5ms) COMMIT
195
- Migrating to RemoveAddressFromApidaeObjects (20180417165744)
196
-  (0.2ms) BEGIN
197
-  (0.5ms) ALTER TABLE "apidae_objects" DROP COLUMN "address"
198
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180417165744"]]
199
-  (23.3ms) COMMIT
200
- Migrating to RemoveLatLngFromApidaeObjects (20180417171344)
201
-  (0.2ms) BEGIN
202
-  (0.6ms) ALTER TABLE "apidae_objects" DROP COLUMN "latitude"
203
-  (0.7ms) ALTER TABLE "apidae_objects" DROP COLUMN "longitude"
204
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180417171344"]]
205
-  (20.9ms) COMMIT
206
- Migrating to AddDescriptionDataToApidaeObjects (20180418141248)
207
-  (0.2ms) BEGIN
208
-  (0.4ms) ALTER TABLE "apidae_objects" ADD "description_data" jsonb
209
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180418141248"]]
210
-  (22.7ms) COMMIT
211
- Migrating to RemoveDescColumnsFromApidaeObjects (20180418141305)
212
-  (0.2ms) BEGIN
213
-  (0.4ms) ALTER TABLE "apidae_objects" DROP COLUMN "short_desc"
214
-  (0.2ms) ALTER TABLE "apidae_objects" DROP COLUMN "long_desc"
215
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180418141305"]]
216
-  (41.3ms) COMMIT
217
- Migrating to AddMetaDataToApidaeReferences (20180424141656)
218
-  (0.2ms) BEGIN
219
-  (0.4ms) ALTER TABLE "apidae_references" ADD "meta_data" jsonb
220
- ActiveRecord::SchemaMigration Create (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180424141656"]]
221
-  (40.2ms) COMMIT
222
- Migrating to RemoveInseeCodeUnicity (20180519170210)
223
-  (0.2ms) BEGIN
224
-  (0.3ms) DROP INDEX "index_apidae_towns_on_insee_code"
225
-  (41.9ms) CREATE INDEX "index_apidae_towns_on_insee_code" ON "apidae_towns" ("insee_code")
226
- ActiveRecord::SchemaMigration Create (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180519170210"]]
227
-  (2.8ms) COMMIT
228
- Migrating to DestroyAttachedFiles (20180521211735)
229
-  (0.1ms) BEGIN
230
-  (37.9ms) DROP TABLE "apidae_attached_files"
231
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180521211735"]]
232
-  (1.2ms) COMMIT
233
- Migrating to RenameObjectsToObj (20180625050400)
234
-  (0.2ms) BEGIN
235
-  (0.3ms) ALTER TABLE "apidae_objects" RENAME TO "apidae_objs"
236
-  (0.2ms) ALTER INDEX "apidae_objects_pkey" RENAME TO "apidae_objs_pkey"
237
-  (0.2ms) ALTER TABLE "public"."apidae_objects_id_seq" RENAME TO "apidae_objs_id_seq"
238
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20180625050400"]]
239
-  (40.7ms) COMMIT
240
- Migrating to AddProjectIdToSelections (20181024072424)
241
-  (0.3ms) BEGIN
242
-  (0.4ms) ALTER TABLE "apidae_selections" ADD "apidae_project_id" integer
243
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20181024072424"]]
244
-  (34.0ms) COMMIT
245
- Migrating to CreateApidaeProjects (20181024072843)
246
-  (0.3ms) BEGIN
247
-  (43.8ms) CREATE TABLE "apidae_projects" ("id" bigserial primary key, "name" character varying, "apidae_id" integer, "api_key" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
248
- ActiveRecord::SchemaMigration Create (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20181024072843"]]
249
-  (0.5ms) COMMIT
250
- Migrating to AddApidaeIdToApidaeFileImports (20190111162443)
251
-  (40.4ms) BEGIN
252
-  (0.3ms) ALTER TABLE "apidae_file_imports" ADD "apidae_id" integer
253
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190111162443"]]
254
-  (1.9ms) COMMIT
255
- Migrating to UpgradeApidaeObjsTitleDataType (20190123142628)
256
-  (0.1ms) BEGIN
257
-  (0.3ms) ALTER TABLE "apidae_objs" ADD "title_data" jsonb
258
- Apidae::Obj Load (0.4ms) SELECT "apidae_objs".* FROM "apidae_objs"
259
-  (0.3ms) ALTER TABLE "apidae_objs" DROP COLUMN "title"
260
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190123142628"]]
261
-  (40.4ms) COMMIT
262
- Migrating to AddBookingDataToApidaeObjs (20190123160046)
263
-  (0.2ms) BEGIN
264
-  (0.3ms) ALTER TABLE "apidae_objs" ADD "booking_data" jsonb
265
- Apidae::Obj Load (0.3ms) SELECT "apidae_objs".* FROM "apidae_objs"
266
-  (0.3ms) ALTER TABLE "apidae_objs" DROP COLUMN "reservation"
267
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190123160046"]]
268
-  (40.1ms) COMMIT
269
- Migrating to AddLocalesDataToApidaeProjects (20190123214635)
270
-  (0.2ms) BEGIN
271
-  (0.4ms) ALTER TABLE "apidae_projects" ADD "locales_data" character varying
272
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190123214635"]]
273
-  (22.4ms) COMMIT
274
- Migrating to AddVersionToApidaeObjs (20190124162543)
275
-  (0.2ms) BEGIN
276
-  (0.5ms) ALTER TABLE "apidae_objs" ADD "version" character varying
277
-  (0.2ms) ALTER TABLE "apidae_objs" ADD "root_obj_id" integer
278
-  (0.9ms) ALTER TABLE "apidae_projects" ADD "versions_data" character varying
279
- Apidae::Obj Update All (0.5ms) UPDATE "apidae_objs" SET "version" = 'STANDARD' WHERE "apidae_objs"."root_obj_id" IS NULL
280
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190124162543"]]
281
-  (40.7ms) COMMIT
282
- Migrating to MigrateLocalizedApidaeObjFields (20190127210921)
283
-  (0.3ms) BEGIN
284
- Apidae::Obj Load (0.6ms) SELECT "apidae_objs".* FROM "apidae_objs" WHERE "apidae_objs"."root_obj_id" IS NULL
285
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190127210921"]]
286
-  (39.7ms) COMMIT
287
- Migrating to MigrateLocalizedApidaeReferences (20190127213602)
288
-  (0.2ms) BEGIN
289
- Apidae::Reference Load (0.6ms) SELECT "apidae_references".* FROM "apidae_references"
290
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190127213602"]]
291
-  (40.5ms) COMMIT
292
- Migrating to MigrateDescApidaeObjFields (20190304142446)
293
-  (0.4ms) BEGIN
294
- Apidae::Obj Load (0.5ms) SELECT "apidae_objs"."id", "root_obj_id", "apidae_objs"."description_data" FROM "apidae_objs" WHERE "apidae_objs"."root_obj_id" IS NULL
295
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190304142446"]]
296
-  (20.7ms) COMMIT
297
- Migrating to AddIndexOnApidaeObj (20190418133435)
298
-  (0.4ms) BEGIN
299
-  (20.4ms) CREATE INDEX "apidae_objs_apidae_id" ON "apidae_objs" ("apidae_id")
300
-  (1.0ms) CREATE INDEX "apidae_objs_root_obj_id" ON "apidae_objs" ("root_obj_id")
301
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190418133435"]]
302
-  (0.4ms) COMMIT
303
- Migrating to AddDescriptionToApidaeTowns (20190517153215)
304
-  (0.1ms) BEGIN
305
-  (0.6ms) ALTER TABLE "apidae_towns" ADD "description" character varying
306
- ActiveRecord::SchemaMigration Create (0.5ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20190517153215"]]
307
-  (21.5ms) COMMIT
308
- Migrating to AddLastUpdateToApidaeOjbs (20200111214145)
309
-  (0.2ms) BEGIN
310
-  (0.4ms) ALTER TABLE "apidae_objs" ADD "last_update" timestamp
311
- ActiveRecord::SchemaMigration Create (0.6ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20200111214145"]]
312
-  (21.4ms) COMMIT
313
- Migrating to AddOwnerDataToApidaeObjs (20200111214631)
314
-  (0.3ms) BEGIN
315
-  (0.4ms) ALTER TABLE "apidae_objs" ADD "owner_data" jsonb
316
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20200111214631"]]
317
-  (23.2ms) COMMIT
318
- Migrating to AddApidaeTypeIndexOnReferences (20200224130804)
319
-  (0.2ms) BEGIN
320
-  (23.3ms) CREATE INDEX "index_apidae_references_on_apidae_type" ON "apidae_references" ("apidae_type")
321
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20200224130804"]]
322
-  (0.4ms) COMMIT
323
- Migrating to AddTownInseeCodeIndexToObjs (20200224145802)
324
-  (0.1ms) BEGIN
325
-  (24.5ms) CREATE INDEX "index_apidae_objs_on_town_insee_code" ON "apidae_objs" ("town_insee_code")
326
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20200224145802"]]
327
-  (0.4ms) COMMIT
328
- Migrating to AddVersionDataToApidaeObjs (20200312150008)
329
-  (0.2ms) BEGIN
330
-  (0.4ms) ALTER TABLE "apidae_objs" ADD "version_data" jsonb
331
- ActiveRecord::SchemaMigration Create (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20200312150008"]]
332
-  (24.0ms) COMMIT
333
- Migrating to AddVersionIndexOnApidaeObjs (20200312150904)
334
-  (0.7ms) BEGIN
335
-  (21.8ms) CREATE UNIQUE INDEX "index_apidae_objs_on_root_obj_id_and_version" ON "apidae_objs" ("root_obj_id", "version")
336
- ActiveRecord::SchemaMigration Create (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20200312150904"]]
337
-  (0.3ms) COMMIT
338
- ActiveRecord::InternalMetadata Load (0.3ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
339
-  (0.2ms) BEGIN
340
- ActiveRecord::InternalMetadata Create (0.4ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key" [["key", "environment"], ["value", "development"], ["created_at", "2021-07-08 09:47:54.615597"], ["updated_at", "2021-07-08 09:47:54.615597"]]
341
-  (0.3ms) COMMIT
342
-  (0.3ms) SELECT pg_advisory_unlock(6140174353533887940)
343
-  (0.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
344
-  (0.2ms) SELECT pg_try_advisory_lock(6140174353533887940)
345
-  (0.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
346
- ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
347
-  (0.2ms) BEGIN
348
-  (0.1ms) COMMIT
349
-  (0.2ms) SELECT pg_advisory_unlock(6140174353533887940)
350
-  (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
351
- DEPRECATION WARNING: Initialization autoloaded the constants Apidae::ApidaeHelper, Apidae::ApplicationHelper, Apidae::ApiHelper, Apidae::DashboardHelper, Apidae::ExtendableHelper, Apidae::ImportHelper, Apidae::ObjectsHelper, Apidae::ReferencesHelper, Apidae::SelectionsHelper, and Apidae::ApplicationController.
352
-
353
- Being able to do this is deprecated. Autoloading during initialization is going
354
- to be an error condition in future versions of Rails.
355
-
356
- Reloading does not reboot the application, and therefore code executed during
357
- initialization does not run again. So, if you reload Apidae::ApidaeHelper, for example,
358
- the expected changes won't be reflected in that stale Module object.
359
-
360
- `config.autoloader` is set to `classic`. These autoloaded constants would have been unloaded if `config.autoloader` had been set to `:zeitwerk`.
361
-
362
- In order to autoload safely at boot time, please wrap your code in a reloader
363
- callback this way:
364
-
365
- Rails.application.reloader.to_prepare do
366
- # Autoload classes and modules needed at boot time here.
367
- end
368
-
369
- That block runs when the application boots, and every time there is a reload.
370
- For historical reasons, it may run twice, so it has to be idempotent.
371
-
372
- Check the "Autoloading and Reloading Constants" guide to learn more about how
373
- Rails autoloads and reloads.
374
- (called from <top (required)> at /Users/jbvilain/workspace/code/apidae-engine-rails/test/dummy/config/environment.rb:5)
375
-  (170.6ms) SELECT COUNT(*) FROM "apidae_objs" WHERE "apidae_objs"."root_obj_id" IS NULL
376
- DEPRECATION WARNING: Initialization autoloaded the constants Apidae::ApidaeHelper, Apidae::ApplicationHelper, Apidae::ApiHelper, Apidae::DashboardHelper, Apidae::ExtendableHelper, Apidae::ImportHelper, Apidae::ObjectsHelper, Apidae::ReferencesHelper, Apidae::SelectionsHelper, and Apidae::ApplicationController.
377
-
378
- Being able to do this is deprecated. Autoloading during initialization is going
379
- to be an error condition in future versions of Rails.
380
-
381
- Reloading does not reboot the application, and therefore code executed during
382
- initialization does not run again. So, if you reload Apidae::ApidaeHelper, for example,
383
- the expected changes won't be reflected in that stale Module object.
384
-
385
- `config.autoloader` is set to `classic`. These autoloaded constants would have been unloaded if `config.autoloader` had been set to `:zeitwerk`.
386
-
387
- In order to autoload safely at boot time, please wrap your code in a reloader
388
- callback this way:
389
-
390
- Rails.application.reloader.to_prepare do
391
- # Autoload classes and modules needed at boot time here.
392
- end
393
-
394
- That block runs when the application boots, and every time there is a reload.
395
- For historical reasons, it may run twice, so it has to be idempotent.
396
-
397
- Check the "Autoloading and Reloading Constants" guide to learn more about how
398
- Rails autoloads and reloads.
399
- (called from <top (required)> at /Users/jbvilain/workspace/code/apidae-engine-rails/test/dummy/config/environment.rb:5)
@@ -153,29 +153,6 @@ module Apidae
153
153
  assert_equal 0, Selection.count
154
154
  end
155
155
 
156
- test "object deletion cancelled if used by another project" do
157
- proj = Project.create(apidae_id: 123)
158
- other_proj = Project.create(apidae_id: 456)
159
- sel = Selection.create(apidae_id: 49063, apidae_project_id: proj.id, label: 'Sélection 2', reference: 'selection-2')
160
- other_sel = Selection.create(apidae_id: 49999, apidae_project_id: other_proj.id, label: 'Sélection 99', reference: 'selection-99')
161
- sel.objects << Obj.create(apidae_id: 503, title: 'Société des violoncellistes aixois')
162
- sel.objects << Obj.create(apidae_id: 504, title: 'Société des contrebassistes aixois')
163
- other_sel.objects << Obj.find_by_apidae_id(504)
164
-
165
- assert_equal 2, sel.objects.count
166
- assert_equal 1, other_sel.objects.count
167
-
168
- selections_json = File.read('test/data/shared_selections.json')
169
- FileImport.add_or_update_selections(proj, selections_json, @result)
170
- deletion_json = File.read('test/data/deletion.json')
171
- FileImport.delete_objects(deletion_json, @result)
172
-
173
- assert_equal 2, Obj.count
174
- assert_equal({created: 0, updated: 0, deleted: 1, selections:
175
- [{:apidae_id=>49063, :reference=>"selection-2", :objects=>1}]}, @result)
176
- assert_equal 1, other_sel.objects.count
177
- end
178
-
179
156
  test "full import process" do
180
157
  Obj.create(apidae_id: 123, title: 'Objet à supprimer')
181
158
  Obj.create(apidae_id: 4826186, title: 'Objet à mettre à jour')