aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/export
diff options
context:
space:
mode:
authorZog2018-03-07 08:38:38 +0100
committerZog2018-03-12 12:00:14 +0100
commit0b9269780989dbd69a9be9d63670aab12050cf60 (patch)
tree1c9d3c4c5c9a881b1ffb5402705941cf2d9318e0 /app/models/export
parent565641838e020f992e58f05d94ab0097b74a27b2 (diff)
downloadchouette-core-0b9269780989dbd69a9be9d63670aab12050cf60.tar.bz2
Refs #6133; Exports naive implementation
Diffstat (limited to 'app/models/export')
-rw-r--r--app/models/export/base.rb25
-rw-r--r--app/models/export/message.rb8
-rw-r--r--app/models/export/resource.rb8
3 files changed, 41 insertions, 0 deletions
diff --git a/app/models/export/base.rb b/app/models/export/base.rb
new file mode 100644
index 000000000..d809055db
--- /dev/null
+++ b/app/models/export/base.rb
@@ -0,0 +1,25 @@
+class Export::Base < ActiveRecord::Base
+ self.table_name = "exports"
+
+ def self.messages_class_name
+ "Export::Message"
+ end
+
+ def self.resources_class_name
+ "Export::Resource"
+ end
+
+ include IevInterfaces::Task
+
+ def self.model_name
+ ActiveModel::Name.new Export::Base, Export::Base, "Export::Base"
+ end
+
+ private
+
+ def initialize_fields
+ super
+ self.token_upload = SecureRandom.urlsafe_base64
+ end
+
+end
diff --git a/app/models/export/message.rb b/app/models/export/message.rb
new file mode 100644
index 000000000..b64b524ac
--- /dev/null
+++ b/app/models/export/message.rb
@@ -0,0 +1,8 @@
+class Export::Message < ActiveRecord::Base
+ self.table_name = :export_messages
+
+ include IevInterfaces::Message
+
+ belongs_to :export, class_name: Export::Base
+ belongs_to :resource, class_name: Export::Resource
+end
diff --git a/app/models/export/resource.rb b/app/models/export/resource.rb
new file mode 100644
index 000000000..98f103be4
--- /dev/null
+++ b/app/models/export/resource.rb
@@ -0,0 +1,8 @@
+class Export::Resource < ActiveRecord::Base
+ self.table_name = :export_resources
+
+ include IevInterfaces::Resource
+
+ belongs_to :export, class_name: Export::Base
+ has_many :messages, class_name: "ExportMessage", foreign_key: :resource_id
+end