# frozen_string_literal: true module WikiPageRepr module_function def tag_description locale, description tag = description.tag { 'id' => description.id, 'resource_type' => 'tag_description', 'tag_id' => tag.id, 'language_code' => description.language_code, 'tag_name_id' => tag.tag_name(locale.language_code)&.id, 'body' => description.body, 'created_user_id' => description.created_by_user_id, 'updated_user_id' => description.updated_by_user_id, 'created_at' => description.created_at, 'updated_at' => description.updated_at, 'discarded_at' => nil, 'version_no' => description.version_no, 'title' => tag.name(locale.language_code), 'deprecated_at' => tag.deprecated_at } end def tag_group tag_group TagGroupRepr.tag_group(tag_group).merge('resource_type' => 'tag_group') end def autolink_tag locale, tag_id:, description_id:, name:, language: { resource_type: 'tag_description', resource_id: description_id, tag_id:, tag_description_id: description_id, name:, language_code: language, locale_code: locale.code_before_type_cast } end def autolink_group locale, id:, name:, language: { resource_type: 'tag_group', resource_id: id, tag_id: nil, tag_description_id: nil, name: "#{ TagGroupRepr::PREFIX }#{ name }", language_code: language, locale_code: locale.code_before_type_cast } end end