diff --git a/app/models/template_message_setting.rb b/app/models/template_message_setting.rb new file mode 100644 index 000000000..349805bd3 --- /dev/null +++ b/app/models/template_message_setting.rb @@ -0,0 +1,21 @@ +# == Schema Information +# +# Table name: template_message_settings +# +# id :integer not null, primary key +# type :string(255) +# name :string(255) +# key :string(255) +# openning :boolean +# notification_disabled :boolean +# email_disabled :boolean +# created_at :datetime not null +# updated_at :datetime not null +# + +class TemplateMessageSetting < ApplicationRecord + + def self.build_init_data + + end +end diff --git a/app/models/template_message_setting/create_or_assign.rb b/app/models/template_message_setting/create_or_assign.rb new file mode 100644 index 000000000..385a3af8a --- /dev/null +++ b/app/models/template_message_setting/create_or_assign.rb @@ -0,0 +1,25 @@ +# == Schema Information +# +# Table name: template_message_settings +# +# id :integer not null, primary key +# type :string(255) +# name :string(255) +# key :string(255) +# openning :boolean +# notification_disabled :boolean +# email_disabled :boolean +# created_at :datetime not null +# updated_at :datetime not null +# + +#我创建的或负责的 +class TemplateMessageSetting::CreateOrAssign < TemplateMessageSetting + + def self.build_init_data + self.find_or_create_by(name: "易修状态变更", key: "IssueChanged") + self.find_or_create_by(name: "易修被指派", key: "IssueAssigned") + self.find_or_create_by(name: "合并请求被指派", key: "PullRequestAssigned") + self.find_or_create_by(name: "合并请求状态变更", key: "PullRequestAssigned") + end +end diff --git a/app/models/template_message_setting/manage.rb b/app/models/template_message_setting/manage.rb new file mode 100644 index 000000000..925d503f3 --- /dev/null +++ b/app/models/template_message_setting/manage.rb @@ -0,0 +1,25 @@ +# == Schema Information +# +# Table name: template_message_settings +# +# id :integer not null, primary key +# type :string(255) +# name :string(255) +# key :string(255) +# openning :boolean +# notification_disabled :boolean +# email_disabled :boolean +# created_at :datetime not null +# updated_at :datetime not null +# + +#我管理的 +class TemplateMessageSetting::Manage < TemplateMessageSetting + + def self.build_init_data + self.find_or_create_by(name: "有新的易修", key: "ProjectIssue") + self.find_or_create_by(name: "有新的合并请求", key: "ProjectPullRequest") + self.find_or_create_by(name: "有成员变动", key: "ProjectMember") + self.find_or_create_by(name: "设置更改", key: "ProjectSettingChanged") + end +end diff --git a/app/models/template_message_setting/normal.rb b/app/models/template_message_setting/normal.rb new file mode 100644 index 000000000..9801891a3 --- /dev/null +++ b/app/models/template_message_setting/normal.rb @@ -0,0 +1,23 @@ +# == Schema Information +# +# Table name: template_message_settings +# +# id :integer not null, primary key +# type :string(255) +# name :string(255) +# key :string(255) +# openning :boolean +# notification_disabled :boolean +# email_disabled :boolean +# created_at :datetime not null +# updated_at :datetime not null +# + +class TemplateMessageSetting::Normal < TemplateMessageSetting + + def self.build_init_data + self.find_or_create_by(name: "被拉入或移出组织", key: "Organization") + self.find_or_create_by(name: "被拉入或移出项目", key: "Project") + self.find_or_create_by(name: "有权限变更", key: "Permission") + end +end diff --git a/app/models/template_message_setting/watch.rb b/app/models/template_message_setting/watch.rb new file mode 100644 index 000000000..d6d5820a3 --- /dev/null +++ b/app/models/template_message_setting/watch.rb @@ -0,0 +1,21 @@ +# == Schema Information +# +# Table name: template_message_settings +# +# id :integer not null, primary key +# type :string(255) +# name :string(255) +# key :string(255) +# openning :boolean +# notification_disabled :boolean +# email_disabled :boolean +# created_at :datetime not null +# updated_at :datetime not null +# + +#我关注的 +class TemplateMessageSetting::Watch < TemplateMessageSetting + + def self.build_init_data + end +end diff --git a/app/models/user_template_message_setting.rb b/app/models/user_template_message_setting.rb new file mode 100644 index 000000000..5c6f3a2f3 --- /dev/null +++ b/app/models/user_template_message_setting.rb @@ -0,0 +1,18 @@ +# == Schema Information +# +# Table name: user_template_message_settings +# +# id :integer not null, primary key +# user_id :integer +# notification_body :text(65535) +# email_body :text(65535) +# created_at :datetime not null +# updated_at :datetime not null +# +# Indexes +# +# index_user_template_message_settings_on_user_id (user_id) +# + +class UserTemplateMessageSetting < ApplicationRecord +end diff --git a/db/migrate/20211013081221_create_template_message_settings.rb b/db/migrate/20211013081221_create_template_message_settings.rb new file mode 100644 index 000000000..618d43b60 --- /dev/null +++ b/db/migrate/20211013081221_create_template_message_settings.rb @@ -0,0 +1,15 @@ +class CreateTemplateMessageSettings < ActiveRecord::Migration[5.2] + def change + # 平台的通知设置 + create_table :template_message_settings do |t| + t.string :type + t.string :name + t.string :key + t.boolean :openning, default: true + t.boolean :notification_disabled, default: true + t.boolean :email_disabled, default: false + + t.timestamps + end + end +end diff --git a/db/migrate/20211013081713_create_user_template_message_settings.rb b/db/migrate/20211013081713_create_user_template_message_settings.rb new file mode 100644 index 000000000..47964d3f7 --- /dev/null +++ b/db/migrate/20211013081713_create_user_template_message_settings.rb @@ -0,0 +1,12 @@ +class CreateUserTemplateMessageSettings < ActiveRecord::Migration[5.2] + def change + # 用户对系统通知的设置 + create_table :user_template_message_settings do |t| + t.references :user + t.text :notification_body + t.text :email_body + + t.timestamps + end + end +end