panter/mykonote

View on GitHub
app/services/get_started_note_creator.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class GetStartedNoteCreator
  TITLE = 'Get started'
  # rubocop:disable Layout/LineLength
  CONTENT = %{<h2><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgaGVpZ2h0PSI3MC4yNjk5OTciCiAgIHdpZHRoPSI2Ny43NTAzODkiCiAgIGlkPSJFYmVuZV8xIgogICBkYXRhLW5hbWU9IkViZW5lIDEiCiAgIHZpZXdCb3g9IjAgMCA2Ny43NTAzODkgNzAuMjY5OTk3IgogICB2ZXJzaW9uPSIxLjEiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImxvZ29fbXlrb25vdGVfY19pbnZlcnRfbm9fcGFkZGluZy5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMS4yICgwYTAwY2Y1MzM5LCAyMDIyLTAyLTA0KSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJuYW1lZHZpZXc5IgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjEwLjM0NTgxIgogICAgIGlua3NjYXBlOmN4PSIxNS41NjE4NTYiCiAgICAgaW5rc2NhcGU6Y3k9IjM1LjE4MzMyNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAyNSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9IkViZW5lXzEiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPmxvZ29fbXlrb25vdGVfYzwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Ij4KICAgIDxzdHlsZQogICAgICAgaWQ9InN0eWxlMiI+LmNscy0xe2ZpbGw6IzAwOGJjZTt9LmNscy0ye2ZpbGw6I2ZmZjt9PC9zdHlsZT4KICA8L2RlZnM+CiAgPHRpdGxlCiAgICAgaWQ9InRpdGxlNiI+bG9nb19teWtvbm90ZV9jPC90aXRsZT4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOiMyYzY3OWY7ZmlsbC1vcGFjaXR5OjEiCiAgICAgY2xhc3M9ImNscy0yIgogICAgIGQ9Im0gMzEuMTMsMzEuODMgYSAyLjksMi45IDAgMSAwIDIuOSwyLjkgMi45LDIuOSAwIDAgMCAtMi45LC0yLjkgeiIKICAgICBpZD0icGF0aDEwIiAvPgogIDxwYXRoCiAgICAgc3R5bGU9ImZpbGw6IzJjNjc5ZjtmaWxsLW9wYWNpdHk6MSIKICAgICBjbGFzcz0iY2xzLTIiCiAgICAgZD0ibSAzMi42MiwyMi41MiBhIDE1My4xMywxNTMuMTMgMCAwIDAgMTYuMTUsMTQuNTMgNy41Myw3LjUzIDAgMCAwIC0xLjc4LDIgNS40Miw1LjQyIDAgMCAwIDAuMjQsNi4zMyA2LjY1LDYuNjUgMCAwIDAgNS4yNCwyLjUyIDUuMTQsNS4xNCAwIDAgMCA0LC0yIDUuOTEsNS45MSAwIDAgMCAxLjI5LC00LjU4IDYuMDcsNi4wNyAwIDAgMCAtMC42MywtMS45IDkuMyw5LjMgMCAwIDEgNS4yOSwzLjkxIDEwLjExLDEwLjExIDAgMCAxIDEuMzUsNy44MiBjIC0wLjk1LDMuMTIgLTIuMjgsNS42OCAtNS44NSw3LjIyIC05LjMxLDQgLTE3LjQ5LC0zLjggLTIxLjQ1LC04LjY1IC0wLjY5LC0wLjg1IC0xLjQsLTEuNTkgLTIuMjUsLTAuODkgLTAuODUsMC43IC0wLjUxLDEuNjggMC4xLDIuNTkgYSAyNi4zMiwyNi4zMiAwIDAgMCAxMC41NSw5LjY1IDE2LjQ0LDE2LjQ0IDAgMCAwIDEzLjk0LDAuNzkgMTQuMzksMTQuMzkgMCAwIDAgOC40MSwtOS4yOSAxMy40MywxMy40MyAwIDAgMCAtMS40NCwtMTAuNzQgMTMuNjQsMTMuNjQgMCAwIDAgLTguOTIsLTYuNSAxMSwxMSAwIDAgMCAtMy45MiwtMC4xMSAxNDMuOTEsMTQzLjkxIDAgMCAxIC0xNi41MywtMTQuNDggYyA1LjEzLC0zLjMzIDYuMjEsLTcuODQgNS43LC0xNy45IEwgNDEuOTYsMCAzOS4zNCwxLjEyIEMgMzMuMTcsMy43NSAyOS41Nyw2Ljk0IDI4Ljc1LDExLjYgYSAxMy4xMSwxMy4xMSAwIDAgMCAxLDcuNTggMjMuNzEsMjMuNzEgMCAwIDEgLTYuODgsMC4yMyBDIDIyLjY5LDEyLjg1IDIwLjY1LDMuOTYgMTAuMDgsMC44OCBMIDcuNDcsMCB2IDIuNzUgYyAwLjE0LDE0LjEyIDUuNTUsMTkuMDYgMTEuMTYsMjAuMDYgaCAwLjIzIFYgMjMgQyAxOC43MywyOCAxMy44Niw1MC43OSAwLDY3LjU5IHEgMS40MSwxLjQgMi45NSwyLjY4IEMgMTcuMTIsNTMuNDUgMjIuNTEsMzAuMjEgMjIuODMsMjMuMzcgYSAyNC40MSwyNC40MSAwIDAgMCA5Ljc5LC0wLjg1IHogbSAxOS40MSwxNy43OSBhIDIuNDIsMi40MiAwIDEgMSAtMi40MiwyLjQyIDIuNDIsMi40MiAwIDAgMSAyLjQyLC0yLjQyIHogbSAtMTkuMzYsLTI4IGEgMTEuMDksMTEuMDkgMCAwIDEgNi40NiwtNy42NyBjIDAuNDQsNy43NiAtMi4xOCwxMS4zMiAtNS40OSwxMy4xNSBsIC0wLjE5LC0wLjIxIGMgLTAuNjksLTAuODIgLTEuMSwtMy41MyAtMC43OCwtNS4zIHogTSAxMC4yNCw0LjEzIGMgNy42NywyLjkgOC40Nyw5LjU4IDguNjYsMTQuNzMgQyAxNS4yNywxNy45MiAxMS4wNSwxMy4yOCAxMC4yNCw0LjEgWiIKICAgICBpZD0icGF0aDEyIiAvPgo8L3N2Zz4K"></h2><h2><br></h2><h2>Welcome!</h2><p><br></p><p>You can access the <strong>web application</strong> at <a href="https://app.unnote.io" target="_blank">app.unnote.io</a>.</p><p>The <strong>PWA</strong> can also be installed from <a href="https://app.unnote.io" rel="noopener noreferrer" target="_blank">app.unnote.io</a>.</p><p><br></p><p><br></p><h2>Data Privacy</h2><p><br></p><p>The servers are <strong>located in Switzerland</strong>.</p><p>All your data belong to you, protected by the <a href="https://www.kmu.admin.ch/kmu/en/home/facts-and-trends/digitization/data-protection/new-federal-act-on-data-protection-nfadp.html" rel="noopener noreferrer" target="_blank">New Federal Act on Data Protection (nFADP)</a>.</p><p>Unnote is <strong>free software</strong> (released under the <a href="https://www.gnu.org/licenses/agpl-3.0.html" target="_blank">GNU AGPL v3</a>).</p><p>There will <strong>never</strong> be any <strong>weird business</strong> going on <strong>with your data</strong>.</p><p><br></p><p><br></p><h2>Free plan</h2><p><br></p><p>You have been subscribed to the <strong>free plan</strong>. This means that you are <strong>limited </strong>to <strong>100 notes</strong>. Otherwise there's no difference to the pro subscription.</p><p><br></p><p><br></p><h2>And finally, some links</h2><p><br></p><ul><li><a href="https://github.com/koffeinfrei/unnote" target="_blank">Source code on GitHub</a></li><li><a href="https://www.koffeinfrei.org/" target="_blank">Koffeinfrei</a></li></ul><p><br></p><p><br></p><p>Made with ☕️ by <a href="https://www.koffeinfrei.org" rel="noopener noreferrer" target="_blank">Koffeinfrei (Alexis Reigel)</a> &amp; <a href="https://www.panter.ch" rel="noopener noreferrer" target="_blank">The Panters</a></p>}
  # rubocop:enable Layout/LineLength

  def initialize(user)
    @user = user
  end

  def run
    Note.create(
      title: TITLE,
      content: CONTENT.dup,
      uid: SecureRandom.uuid,
      user: @user
    )
  end
end