├── priv
├── static
│ └── favicon.ico
└── repo
│ ├── migrations
│ ├── .formatter.exs
│ ├── 20250204101220_add_timezone_to_user.exs
│ ├── 20250708203405_add_subdomain_to_projects.exs
│ ├── 20241201000002_create_templates.exs
│ ├── 20241201000001_create_projects.exs
│ └── 20241201000006_create_integrations.exs
│ └── seeds.exs
├── test
├── test_helper.exs
└── lorito_web
│ └── controllers
│ ├── page_controller_test.exs
│ └── error_json_test.exs
├── lib
├── lorito_web
│ ├── rate_limit.ex
│ ├── components
│ │ └── layouts.ex
│ └── controllers
│ │ └── page_html.ex
├── lorito.ex
└── lorito
│ ├── repo.ex
│ └── utils
│ └── http_client.ex
├── rel
├── overlays
│ └── bin
│ │ ├── server
│ │ └── migrate
└── env.sh.eex
├── docker-compose.yml
├── assets
├── vendor
│ └── heroicons
│ │ ├── optimized
│ │ ├── 20
│ │ │ └── solid
│ │ │ │ ├── minus-small.svg
│ │ │ │ ├── play.svg
│ │ │ │ ├── minus.svg
│ │ │ │ ├── plus.svg
│ │ │ │ ├── stop.svg
│ │ │ │ ├── plus-small.svg
│ │ │ │ ├── cloud.svg
│ │ │ │ ├── ellipsis-horizontal.svg
│ │ │ │ ├── ellipsis-vertical.svg
│ │ │ │ ├── minus-circle.svg
│ │ │ │ ├── pencil.svg
│ │ │ │ ├── arrow-down-right.svg
│ │ │ │ ├── document.svg
│ │ │ │ ├── bolt.svg
│ │ │ │ ├── clock.svg
│ │ │ │ ├── moon.svg
│ │ │ │ ├── view-columns.svg
│ │ │ │ ├── share.svg
│ │ │ │ ├── user.svg
│ │ │ │ ├── magnifying-glass.svg
│ │ │ │ ├── x-mark.svg
│ │ │ │ ├── check.svg
│ │ │ │ ├── chevron-down.svg
│ │ │ │ ├── chevron-left.svg
│ │ │ │ ├── chevron-right.svg
│ │ │ │ ├── chevron-up.svg
│ │ │ │ ├── stop-circle.svg
│ │ │ │ ├── bars-2.svg
│ │ │ │ ├── ellipsis-horizontal-circle.svg
│ │ │ │ ├── exclamation-circle.svg
│ │ │ │ ├── lock-closed.svg
│ │ │ │ ├── arrow-down-left.svg
│ │ │ │ ├── arrow-up-left.svg
│ │ │ │ ├── arrow-up-right.svg
│ │ │ │ ├── arrow-long-down.svg
│ │ │ │ ├── check-circle.svg
│ │ │ │ ├── envelope.svg
│ │ │ │ ├── play-circle.svg
│ │ │ │ ├── plus-circle.svg
│ │ │ │ ├── arrow-down.svg
│ │ │ │ ├── arrow-left.svg
│ │ │ │ ├── arrow-long-left.svg
│ │ │ │ ├── arrow-long-right.svg
│ │ │ │ ├── arrow-long-up.svg
│ │ │ │ ├── arrow-right.svg
│ │ │ │ ├── arrow-up.svg
│ │ │ │ ├── lock-open.svg
│ │ │ │ ├── no-symbol.svg
│ │ │ │ ├── arrow-small-down.svg
│ │ │ │ ├── arrow-small-right.svg
│ │ │ │ ├── arrow-small-up.svg
│ │ │ │ ├── arrow-small-left.svg
│ │ │ │ ├── home.svg
│ │ │ │ ├── pause.svg
│ │ │ │ ├── arrow-up-circle.svg
│ │ │ │ ├── hand-raised.svg
│ │ │ │ ├── power.svg
│ │ │ │ ├── tag.svg
│ │ │ │ ├── arrow-down-circle.svg
│ │ │ │ ├── arrow-right-circle.svg
│ │ │ │ ├── user-circle.svg
│ │ │ │ ├── bookmark.svg
│ │ │ │ ├── video-camera.svg
│ │ │ │ ├── magnifying-glass-circle.svg
│ │ │ │ ├── user-minus.svg
│ │ │ │ ├── at-symbol.svg
│ │ │ │ ├── bookmark-slash.svg
│ │ │ │ ├── document-minus.svg
│ │ │ │ ├── paper-airplane.svg
│ │ │ │ ├── queue-list.svg
│ │ │ │ ├── archive-box.svg
│ │ │ │ ├── chart-pie.svg
│ │ │ │ ├── chat-bubble-oval-left.svg
│ │ │ │ ├── cube.svg
│ │ │ │ ├── forward.svg
│ │ │ │ ├── tv.svg
│ │ │ │ ├── backward.svg
│ │ │ │ ├── bookmark-square.svg
│ │ │ │ ├── microphone.svg
│ │ │ │ ├── question-mark-circle.svg
│ │ │ │ ├── x-circle.svg
│ │ │ │ ├── bars-3.svg
│ │ │ │ ├── magnifying-glass-minus.svg
│ │ │ │ ├── device-tablet.svg
│ │ │ │ ├── flag.svg
│ │ │ │ ├── key.svg
│ │ │ │ ├── bars-3-bottom-left.svg
│ │ │ │ ├── bars-3-bottom-right.svg
│ │ │ │ ├── bars-3-center-left.svg
│ │ │ │ ├── square-2-stack.svg
│ │ │ │ ├── camera.svg
│ │ │ │ ├── pause-circle.svg
│ │ │ │ ├── arrow-down-on-square.svg
│ │ │ │ ├── arrow-uturn-left.svg
│ │ │ │ ├── arrow-uturn-right.svg
│ │ │ │ ├── arrow-uturn-up.svg
│ │ │ │ ├── cloud-arrow-up.svg
│ │ │ │ ├── heart.svg
│ │ │ │ ├── user-plus.svg
│ │ │ │ ├── arrow-uturn-down.svg
│ │ │ │ ├── cloud-arrow-down.svg
│ │ │ │ ├── credit-card.svg
│ │ │ │ ├── document-text.svg
│ │ │ │ ├── folder-minus.svg
│ │ │ │ ├── information-circle.svg
│ │ │ │ ├── paint-brush.svg
│ │ │ │ ├── chart-bar.svg
│ │ │ │ ├── exclamation-triangle.svg
│ │ │ │ ├── light-bulb.svg
│ │ │ │ ├── bell.svg
│ │ │ │ ├── chevron-up-down.svg
│ │ │ │ ├── video-camera-slash.svg
│ │ │ │ ├── eye.svg
│ │ │ │ ├── swatch.svg
│ │ │ │ ├── arrow-up-on-square.svg
│ │ │ │ ├── chevron-double-up.svg
│ │ │ │ ├── document-check.svg
│ │ │ │ ├── folder.svg
│ │ │ │ ├── chevron-double-down.svg
│ │ │ │ ├── chevron-double-left.svg
│ │ │ │ ├── document-plus.svg
│ │ │ │ ├── face-smile.svg
│ │ │ │ ├── currency-yen.svg
│ │ │ │ ├── envelope-open.svg
│ │ │ │ ├── folder-open.svg
│ │ │ │ ├── battery-0.svg
│ │ │ │ ├── check-badge.svg
│ │ │ │ ├── face-frown.svg
│ │ │ │ ├── play-pause.svg
│ │ │ │ ├── book-open.svg
│ │ │ │ ├── magnifying-glass-plus.svg
│ │ │ │ ├── rss.svg
│ │ │ │ └── star.svg
│ │ └── 24
│ │ │ ├── outline
│ │ │ ├── minus-small.svg
│ │ │ ├── minus.svg
│ │ │ ├── plus-small.svg
│ │ │ ├── check.svg
│ │ │ ├── plus.svg
│ │ │ ├── x-mark.svg
│ │ │ ├── bars-2.svg
│ │ │ ├── chevron-down.svg
│ │ │ ├── chevron-left.svg
│ │ │ ├── chevron-right.svg
│ │ │ ├── chevron-up.svg
│ │ │ ├── pause.svg
│ │ │ ├── arrow-left.svg
│ │ │ ├── arrow-up.svg
│ │ │ ├── power.svg
│ │ │ ├── arrow-down.svg
│ │ │ ├── arrow-long-up.svg
│ │ │ ├── arrow-right.svg
│ │ │ ├── bars-3.svg
│ │ │ ├── clock.svg
│ │ │ ├── arrow-down-left.svg
│ │ │ ├── arrow-down-right.svg
│ │ │ ├── arrow-long-left.svg
│ │ │ ├── arrow-up-left.svg
│ │ │ ├── arrow-up-right.svg
│ │ │ ├── arrow-uturn-up.svg
│ │ │ ├── minus-circle.svg
│ │ │ ├── arrow-long-down.svg
│ │ │ ├── arrow-long-right.svg
│ │ │ ├── arrow-small-down.svg
│ │ │ ├── arrow-small-left.svg
│ │ │ ├── arrow-small-up.svg
│ │ │ ├── arrow-uturn-down.svg
│ │ │ ├── arrow-uturn-left.svg
│ │ │ ├── arrow-uturn-right.svg
│ │ │ ├── bars-3-bottom-left.svg
│ │ │ ├── bars-3-center-left.svg
│ │ │ ├── plus-circle.svg
│ │ │ ├── arrow-small-right.svg
│ │ │ ├── bars-3-bottom-right.svg
│ │ │ ├── bolt.svg
│ │ │ ├── chevron-double-up.svg
│ │ │ ├── chevron-up-down.svg
│ │ │ ├── pause-circle.svg
│ │ │ ├── bars-4.svg
│ │ │ ├── chevron-double-down.svg
│ │ │ ├── chevron-double-left.svg
│ │ │ ├── chevron-double-right.svg
│ │ │ ├── check-circle.svg
│ │ │ ├── hashtag.svg
│ │ │ ├── x-circle.svg
│ │ │ ├── arrow-up-circle.svg
│ │ │ ├── arrow-down-circle.svg
│ │ │ ├── arrow-left-circle.svg
│ │ │ ├── arrow-right-circle.svg
│ │ │ ├── code-bracket.svg
│ │ │ ├── arrows-up-down.svg
│ │ │ ├── bars-arrow-up.svg
│ │ │ ├── cube.svg
│ │ │ ├── currency-rupee.svg
│ │ │ ├── exclamation-circle.svg
│ │ │ ├── magnifying-glass.svg
│ │ │ ├── arrows-right-left.svg
│ │ │ ├── bars-arrow-down.svg
│ │ │ ├── currency-yen.svg
│ │ │ ├── at-symbol.svg
│ │ │ ├── no-symbol.svg
│ │ │ ├── paper-airplane.svg
│ │ │ ├── currency-euro.svg
│ │ │ ├── magnifying-glass-minus.svg
│ │ │ ├── arrow-up-tray.svg
│ │ │ ├── magnifying-glass-plus.svg
│ │ │ ├── arrow-down-tray.svg
│ │ │ ├── arrow-trending-up.svg
│ │ │ ├── queue-list.svg
│ │ │ ├── stop.svg
│ │ │ ├── arrow-trending-down.svg
│ │ │ ├── play.svg
│ │ │ ├── cloud.svg
│ │ │ ├── rss.svg
│ │ │ ├── bookmark.svg
│ │ │ ├── ellipsis-vertical.svg
│ │ │ ├── magnifying-glass-circle.svg
│ │ │ ├── microphone.svg
│ │ │ ├── chart-pie.svg
│ │ │ ├── device-tablet.svg
│ │ │ ├── play-pause.svg
│ │ │ ├── user.svg
│ │ │ ├── arrow-top-right-on-square.svg
│ │ │ ├── arrows-pointing-in.svg
│ │ │ ├── cloud-arrow-down.svg
│ │ │ ├── cloud-arrow-up.svg
│ │ │ ├── command-line.svg
│ │ │ ├── ellipsis-horizontal.svg
│ │ │ ├── arrow-right-on-rectangle.svg
│ │ │ ├── arrow-up-on-square.svg
│ │ │ ├── heart.svg
│ │ │ ├── information-circle.svg
│ │ │ ├── pencil.svg
│ │ │ ├── arrow-down-on-square.svg
│ │ │ ├── arrow-left-on-rectangle.svg
│ │ │ ├── arrows-pointing-out.svg
│ │ │ ├── bookmark-square.svg
│ │ │ ├── chart-bar-square.svg
│ │ │ ├── cursor-arrow-ripple.svg
│ │ │ ├── link.svg
│ │ │ ├── paper-clip.svg
│ │ │ ├── arrow-path.svg
│ │ │ ├── bolt-slash.svg
│ │ │ ├── building-library.svg
│ │ │ ├── code-bracket-square.svg
│ │ │ ├── device-phone-mobile.svg
│ │ │ ├── lock-closed.svg
│ │ │ ├── lock-open.svg
│ │ │ ├── moon.svg
│ │ │ ├── view-columns.svg
│ │ │ ├── wifi.svg
│ │ │ ├── credit-card.svg
│ │ │ ├── map-pin.svg
│ │ │ ├── tv.svg
│ │ │ ├── user-minus.svg
│ │ │ ├── video-camera.svg
│ │ │ ├── viewfinder-circle.svg
│ │ │ ├── building-office.svg
│ │ │ ├── cursor-arrow-rays.svg
│ │ │ ├── exclamation-triangle.svg
│ │ │ ├── flag.svg
│ │ │ ├── sun.svg
│ │ │ ├── user-circle.svg
│ │ │ ├── battery-0.svg
│ │ │ ├── bookmark-slash.svg
│ │ │ ├── folder-minus.svg
│ │ │ ├── key.svg
│ │ │ ├── user-plus.svg
│ │ │ ├── currency-bangladeshi.svg
│ │ │ ├── folder-plus.svg
│ │ │ ├── bell.svg
│ │ │ ├── square-3-stack-3d.svg
│ │ │ ├── window.svg
│ │ │ ├── adjustments-vertical.svg
│ │ │ ├── question-mark-circle.svg
│ │ │ ├── shield-check.svg
│ │ │ ├── calendar.svg
│ │ │ ├── folder-arrow-down.svg
│ │ │ ├── play-circle.svg
│ │ │ ├── adjustments-horizontal.svg
│ │ │ ├── battery-100.svg
│ │ │ ├── presentation-chart-bar.svg
│ │ │ ├── battery-50.svg
│ │ │ ├── currency-pound.svg
│ │ │ ├── ellipsis-horizontal-circle.svg
│ │ │ ├── shield-exclamation.svg
│ │ │ ├── home.svg
│ │ │ ├── receipt-refund.svg
│ │ │ ├── square-2-stack.svg
│ │ │ ├── stop-circle.svg
│ │ │ ├── bell-snooze.svg
│ │ │ ├── book-open.svg
│ │ │ ├── chat-bubble-oval-left.svg
│ │ │ ├── home-modern.svg
│ │ │ ├── backward.svg
│ │ │ ├── currency-dollar.svg
│ │ │ ├── eye-dropper.svg
│ │ │ ├── forward.svg
│ │ │ ├── language.svg
│ │ │ └── light-bulb.svg
│ │ │ └── solid
│ │ │ ├── minus.svg
│ │ │ ├── stop.svg
│ │ │ ├── minus-small.svg
│ │ │ ├── chevron-left.svg
│ │ │ ├── chevron-up.svg
│ │ │ ├── chevron-down.svg
│ │ │ ├── chevron-right.svg
│ │ │ ├── ellipsis-horizontal.svg
│ │ │ ├── ellipsis-vertical.svg
│ │ │ ├── arrow-up-left.svg
│ │ │ ├── check.svg
│ │ │ ├── cloud.svg
│ │ │ ├── play.svg
│ │ │ ├── plus-small.svg
│ │ │ ├── plus.svg
│ │ │ ├── arrow-up-right.svg
│ │ │ ├── arrow-up.svg
│ │ │ ├── bars-2.svg
│ │ │ ├── square-2-stack.svg
│ │ │ ├── cube.svg
│ │ │ ├── lock-open.svg
│ │ │ ├── video-camera.svg
│ │ │ ├── arrow-long-up.svg
│ │ │ ├── arrow-down-left.svg
│ │ │ ├── arrow-down-right.svg
│ │ │ ├── arrow-left.svg
│ │ │ ├── arrow-right.svg
│ │ │ ├── minus-circle.svg
│ │ │ ├── paper-airplane.svg
│ │ │ ├── share.svg
│ │ │ ├── arrow-down.svg
│ │ │ ├── arrow-long-down.svg
│ │ │ ├── arrow-long-left.svg
│ │ │ ├── arrow-long-right.svg
│ │ │ ├── envelope.svg
│ │ │ ├── magnifying-glass.svg
│ │ │ ├── arrow-small-down.svg
│ │ │ ├── arrow-small-left.svg
│ │ │ ├── arrow-small-up.svg
│ │ │ ├── bookmark.svg
│ │ │ ├── arrow-small-right.svg
│ │ │ ├── lock-closed.svg
│ │ │ ├── user.svg
│ │ │ ├── view-columns.svg
│ │ │ ├── bolt.svg
│ │ │ ├── clock.svg
│ │ │ ├── folder-minus.svg
│ │ │ ├── forward.svg
│ │ │ ├── x-mark.svg
│ │ │ ├── arrow-up-on-square.svg
│ │ │ ├── backward.svg
│ │ │ ├── arrow-uturn-left.svg
│ │ │ ├── arrow-uturn-right.svg
│ │ │ ├── arrow-uturn-up.svg
│ │ │ ├── bookmark-square.svg
│ │ │ ├── folder.svg
│ │ │ ├── pause.svg
│ │ │ ├── pencil.svg
│ │ │ ├── arrow-uturn-down.svg
│ │ │ ├── arrow-down-on-square.svg
│ │ │ ├── bars-3.svg
│ │ │ ├── moon.svg
│ │ │ ├── plus-circle.svg
│ │ │ ├── bookmark-slash.svg
│ │ │ ├── queue-list.svg
│ │ │ ├── bars-3-bottom-left.svg
│ │ │ ├── bars-3-center-left.svg
│ │ │ ├── exclamation-circle.svg
│ │ │ ├── play-circle.svg
│ │ │ ├── bars-3-bottom-right.svg
│ │ │ ├── check-circle.svg
│ │ │ ├── chevron-double-up.svg
│ │ │ ├── arrow-up-circle.svg
│ │ │ ├── magnifying-glass-minus.svg
│ │ │ ├── no-symbol.svg
│ │ │ ├── tag.svg
│ │ │ ├── arrow-down-circle.svg
│ │ │ ├── arrow-left-circle.svg
│ │ │ ├── arrow-right-circle.svg
│ │ │ ├── battery-0.svg
│ │ │ ├── bolt-slash.svg
│ │ │ ├── chevron-up-down.svg
│ │ │ ├── credit-card.svg
│ │ │ ├── exclamation-triangle.svg
│ │ │ ├── microphone.svg
│ │ │ ├── user-minus.svg
│ │ │ ├── chevron-double-down.svg
│ │ │ ├── chevron-double-left.svg
│ │ │ ├── chevron-double-right.svg
│ │ │ ├── command-line.svg
│ │ │ ├── folder-plus.svg
│ │ │ ├── power.svg
│ │ │ ├── stop-circle.svg
│ │ │ ├── calendar.svg
│ │ │ ├── chart-pie.svg
│ │ │ ├── rectangle-stack.svg
│ │ │ ├── clipboard.svg
│ │ │ ├── folder-open.svg
│ │ │ ├── bell.svg
│ │ │ ├── cloud-arrow-down.svg
│ │ │ ├── cloud-arrow-up.svg
│ │ │ ├── folder-arrow-down.svg
│ │ │ ├── chat-bubble-oval-left.svg
│ │ │ ├── fire.svg
│ │ │ ├── x-circle.svg
│ │ │ ├── book-open.svg
│ │ │ └── star.svg
│ │ └── UPGRADE.md
├── css
│ └── app.css
└── package.json
├── .formatter.exs
└── .devcontainer
└── create_dotenv.sh
/priv/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/csalazar/lorito/HEAD/priv/static/favicon.ico
--------------------------------------------------------------------------------
/test/test_helper.exs:
--------------------------------------------------------------------------------
1 | ExUnit.start()
2 | Ecto.Adapters.SQL.Sandbox.mode(Lorito.Repo, :manual)
3 |
--------------------------------------------------------------------------------
/priv/repo/migrations/.formatter.exs:
--------------------------------------------------------------------------------
1 | [
2 | import_deps: [:ecto_sql],
3 | inputs: ["*.exs"]
4 | ]
5 |
--------------------------------------------------------------------------------
/lib/lorito_web/rate_limit.ex:
--------------------------------------------------------------------------------
1 | defmodule LoritoWeb.RateLimit do
2 | use Hammer, backend: :ets
3 | end
4 |
--------------------------------------------------------------------------------
/rel/overlays/bin/server:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | cd -P -- "$(dirname -- "$0")"
3 | PHX_SERVER=true exec ./lorito start
4 |
--------------------------------------------------------------------------------
/rel/overlays/bin/migrate:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | cd -P -- "$(dirname -- "$0")"
3 | exec ./lorito eval Lorito.Release.migrate
4 |
--------------------------------------------------------------------------------
/lib/lorito_web/components/layouts.ex:
--------------------------------------------------------------------------------
1 | defmodule LoritoWeb.Layouts do
2 | use LoritoWeb, :html
3 |
4 | embed_templates "layouts/*"
5 | end
6 |
--------------------------------------------------------------------------------
/lib/lorito_web/controllers/page_html.ex:
--------------------------------------------------------------------------------
1 | defmodule LoritoWeb.PageHTML do
2 | use LoritoWeb, :html
3 |
4 | embed_templates "page_html/*"
5 | end
6 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.8"
2 |
3 | services:
4 | elixir:
5 | build:
6 | context: .
7 | dockerfile: Dockerfile
8 | env_file: ".env"
9 | ports:
10 | - "4000:4000"
11 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/minus-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/test/lorito_web/controllers/page_controller_test.exs:
--------------------------------------------------------------------------------
1 | defmodule LoritoWeb.PageControllerTest do
2 | use LoritoWeb.ConnCase
3 |
4 | test "GET /", %{conn: conn} do
5 | conn = get(conn, ~p"/")
6 | assert conn.status == 404
7 | end
8 | end
9 |
--------------------------------------------------------------------------------
/.formatter.exs:
--------------------------------------------------------------------------------
1 | [
2 | import_deps: [:ecto, :ecto_sql, :phoenix],
3 | subdirectories: ["priv/*/migrations"],
4 | plugins: [Phoenix.LiveView.HTMLFormatter],
5 | inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}", "priv/*/seeds.exs"]
6 | ]
7 |
--------------------------------------------------------------------------------
/assets/css/app.css:
--------------------------------------------------------------------------------
1 | @import "tailwindcss/base";
2 | @import "tailwindcss/components";
3 | @import "tailwindcss/utilities";
4 |
5 | /* This file is for your main application CSS */
6 | @import "../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css";
7 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/minus-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/plus-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/priv/repo/migrations/20250204101220_add_timezone_to_user.exs:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Repo.Migrations.AddTimezoneToUser do
2 | use Ecto.Migration
3 |
4 | def change do
5 | alter table(:users) do
6 | add :timezone, :string, default: "UTC"
7 | end
8 | end
9 | end
10 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/x-mark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-2.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/stop.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/stop.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/minus-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/plus-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/power.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/lib/lorito.ex:
--------------------------------------------------------------------------------
1 | defmodule Lorito do
2 | def key_to_atom(map) do
3 | Enum.reduce(map, %{}, fn
4 | {key, value}, acc when is_atom(key) -> Map.put(acc, key, value)
5 | {key, value}, acc when is_binary(key) -> Map.put(acc, String.to_existing_atom(key), value)
6 | end)
7 | end
8 | end
9 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/cloud.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-long-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-3.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/clock.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-down-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-down-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-long-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-up-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-up-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/minus-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/ellipsis-vertical.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/minus-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/pencil.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-long-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-long-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-small-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-small-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-small-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-3-center-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/plus-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-down-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/document.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-small-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bolt.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-double-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-up-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/pause-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-4.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-double-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-double-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chevron-double-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "daisyui": "^4.12.10",
4 | "phoenix": "file:../../../deps/phoenix",
5 | "phoenix_html": "file:../../../deps/phoenix_html",
6 | "phoenix_live_view": "file:../../../deps/phoenix_live_view"
7 | },
8 | "prettier": {
9 | "printWidth": 100
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bolt.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/clock.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/check-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/hashtag.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/x-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/moon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-up-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/view-columns.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-down-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-left-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-right-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/code-bracket.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/priv/repo/migrations/20250708203405_add_subdomain_to_projects.exs:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Repo.Migrations.AddSubdomainToProjects do
2 | use Ecto.Migration
3 |
4 | def change do
5 | alter table(:projects) do
6 | add :subdomain, :string
7 | end
8 |
9 | create unique_index(:projects, [:subdomain])
10 | end
11 | end
12 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/share.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrows-up-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/cube.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/currency-rupee.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/exclamation-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/magnifying-glass.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/user.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrows-right-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bars-arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/currency-yen.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/ellipsis-horizontal.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/ellipsis-vertical.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/magnifying-glass.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/x-mark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-up-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/cloud.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/plus-small.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/stop-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/at-symbol.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/no-symbol.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/paper-airplane.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-up-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bars-2.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/square-2-stack.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bars-2.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/exclamation-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/lock-closed.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/currency-euro.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/magnifying-glass-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/cube.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/lock-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/video-camera.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-down-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-up-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-up-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-up-tray.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/magnifying-glass-plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-long-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/.devcontainer/create_dotenv.sh:
--------------------------------------------------------------------------------
1 | CURRENT_DIR=$(dirname "$0")
2 | PARENT_DIR=$(dirname "$CURRENT_DIR")
3 | TARGET_FILE="$PARENT_DIR/config/.env.exs"
4 |
5 | if [ -f "$TARGET_FILE" ]; then
6 | exit
7 | fi
8 |
9 | RANDOM_SECRET_KEY_BASE=$(head -c 66 /dev/urandom | base64 -w 0)
10 | echo "System.put_env(\"SECRET_KEY_BASE\", \"$RANDOM_SECRET_KEY_BASE\")" > $TARGET_FILE
11 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-long-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/check-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/envelope.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/play-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/plus-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-down-tray.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-trending-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-down-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-down-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/minus-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/paper-airplane.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/share.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-long-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-long-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-long-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/lock-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/no-symbol.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/queue-list.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/stop.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/lib/lorito/repo.ex:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Repo do
2 | use Ecto.Repo,
3 | otp_app: :lorito,
4 | adapter: Ecto.Adapters.Postgres
5 |
6 | require Ecto.Query
7 |
8 | @tenant_key {__MODULE__, :user}
9 |
10 | def put_user(user) do
11 | Process.put(@tenant_key, user)
12 | end
13 |
14 | def get_user() do
15 | Process.get(@tenant_key)
16 | end
17 | end
18 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-small-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-small-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-small-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-trending-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/play.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-long-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-long-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-long-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/envelope.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/magnifying-glass.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-small-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/home.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/cloud.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/rss.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-small-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-small-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-small-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bookmark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-up-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/hand-raised.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/power.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/tag.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bookmark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-small-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/lock-closed.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/user.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/view-columns.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/UPGRADE.md:
--------------------------------------------------------------------------------
1 | You are running heroicons v2.0.16. To upgrade in place, you can run the following command,
2 | where your `HERO_VSN` export is your desired version:
3 |
4 | export HERO_VSN="2.0.16" ; \
5 | curl -L "https://github.com/tailwindlabs/heroicons/archive/refs/tags/v${HERO_VSN}.tar.gz" | \
6 | tar -xvz --strip-components=1 heroicons-${HERO_VSN}/optimized
7 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-down-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-right-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/ellipsis-vertical.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/magnifying-glass-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/microphone.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bolt.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/clock.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/user-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chart-pie.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/device-tablet.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/play-pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/user.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/folder-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bookmark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/video-camera.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-top-right-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrows-pointing-in.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/cloud-arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/cloud-arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/command-line.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/forward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/x-mark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/magnifying-glass-circle.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/user-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-up-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/backward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/at-symbol.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bookmark-slash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/document-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/paper-airplane.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/queue-list.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-right-on-rectangle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-up-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/heart.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/information-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/pencil.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bookmark-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/folder.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/pencil.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/priv/repo/seeds.exs:
--------------------------------------------------------------------------------
1 | # Script for populating the database. You can run it as:
2 | #
3 | # mix run priv/repo/seeds.exs
4 | #
5 | # Inside the script, you can read and write to any of your
6 | # repositories directly:
7 | #
8 | # Lorito.Repo.insert!(%Lorito.SomeSchema{})
9 | #
10 | # We recommend using the bang functions (`insert!`, `update!`
11 | # and so on) as they will fail if something goes wrong.
12 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/archive-box.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chart-pie.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chat-bubble-oval-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/cube.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/forward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/tv.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-down-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-left-on-rectangle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrows-pointing-out.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bookmark-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chart-bar-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/cursor-arrow-ripple.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/link.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/paper-clip.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/backward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bookmark-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/microphone.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/question-mark-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/x-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/arrow-path.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bolt-slash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/building-library.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bars-3.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/magnifying-glass-minus.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/code-bracket-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/device-phone-mobile.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/lock-closed.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/lock-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/moon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/view-columns.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/wifi.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-down-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bars-3.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/moon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/plus-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/device-tablet.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/flag.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/key.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/credit-card.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/map-pin.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/tv.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/user-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/video-camera.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bookmark-slash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/queue-list.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bars-3-center-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/square-2-stack.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bars-3-center-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/exclamation-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/play-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/camera.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/viewfinder-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/check-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-double-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/lib/lorito/utils/http_client.ex:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Utils.HttpClient.Middleware.SafeURL do
2 | @behaviour Tesla.Middleware
3 |
4 | @impl true
5 | def call(env, next, opts) do
6 | with :ok <- SafeURL.validate(env.url, opts), do: Tesla.run(env, next)
7 | end
8 | end
9 |
10 | defmodule Lorito.Utils.HttpClient do
11 | use Tesla
12 |
13 | plug Tesla.Middleware.JSON
14 | plug Lorito.Utils.HttpClient.Middleware.SafeURL
15 | end
16 |
--------------------------------------------------------------------------------
/test/lorito_web/controllers/error_json_test.exs:
--------------------------------------------------------------------------------
1 | defmodule LoritoWeb.ErrorJSONTest do
2 | use LoritoWeb.ConnCase, async: true
3 |
4 | test "renders 404" do
5 | assert LoritoWeb.ErrorJSON.render("404.json", %{}) == %{errors: %{detail: "Not Found"}}
6 | end
7 |
8 | test "renders 500" do
9 | assert LoritoWeb.ErrorJSON.render("500.json", %{}) ==
10 | %{errors: %{detail: "Internal Server Error"}}
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/pause-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/building-office.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/cursor-arrow-rays.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/exclamation-triangle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/flag.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/sun.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/user-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-down-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/cloud-arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/heart.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/user-plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/battery-0.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bookmark-slash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/folder-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/key.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/user-plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-up-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/magnifying-glass-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/no-symbol.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/tag.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/cloud-arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/credit-card.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/document-text.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/folder-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/information-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/paint-brush.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/currency-bangladeshi.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/folder-plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-down-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-left-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/arrow-right-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/battery-0.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/rel/env.sh.eex:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | export RELEASE_DISTRIBUTION="name"
4 |
5 | if [ -n "$FLY_APP_NAME" ]; then
6 | # configure node for distributed erlang with IPV6 support
7 | export ERL_AFLAGS="-proto_dist inet6_tcp"
8 | export ECTO_IPV6="true"
9 | export DNS_CLUSTER_QUERY="${FLY_APP_NAME}.internal"
10 | export RELEASE_NODE="${FLY_APP_NAME}-${FLY_IMAGE_REF##*-}@${FLY_PRIVATE_IP}"
11 | else
12 | export RELEASE_NODE="lorito@127.0.0.1"
13 | fi
14 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chart-bar.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/exclamation-triangle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/light-bulb.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bell.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/square-3-stack-3d.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/window.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bolt-slash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-up-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/credit-card.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/exclamation-triangle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/microphone.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/user-minus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/bell.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-up-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/video-camera-slash.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/adjustments-vertical.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/question-mark-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/shield-check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-double-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-double-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chevron-double-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/command-line.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/folder-plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/power.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/stop-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/eye.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/swatch.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/calendar.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/folder-arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/play-circle.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/calendar.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chart-pie.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/rectangle-stack.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/arrow-up-on-square.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-double-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/document-check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/folder.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/adjustments-horizontal.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/battery-100.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/presentation-chart-bar.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/clipboard.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/priv/repo/migrations/20241201000002_create_templates.exs:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Repo.Migrations.CreateTemplates do
2 | use Ecto.Migration
3 |
4 | def change do
5 | create table(:templates, primary_key: false) do
6 | add :id, :binary_id, primary_key: true
7 | add :name, :string
8 | add :copy_payloads, :map
9 |
10 | add :user_id, references(:users, on_delete: :delete_all, type: :uuid)
11 |
12 | timestamps()
13 | end
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-double-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/chevron-double-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/document-plus.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/face-smile.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/battery-50.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/currency-pound.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/shield-exclamation.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/folder-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/currency-yen.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/envelope-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/folder-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/home.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/receipt-refund.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/square-2-stack.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/stop-circle.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/bell.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/cloud-arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/cloud-arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/folder-arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/priv/repo/migrations/20241201000001_create_projects.exs:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Repo.Migrations.CreateProjects do
2 | use Ecto.Migration
3 |
4 | def change do
5 | create table(:projects, primary_key: false) do
6 | add :id, :string, primary_key: true
7 | add :name, :string
8 | add :notifiable, :boolean, default: false
9 |
10 | add :user_id, references(:users, on_delete: :delete_all, type: :uuid)
11 |
12 | timestamps()
13 | end
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/priv/repo/migrations/20241201000006_create_integrations.exs:
--------------------------------------------------------------------------------
1 | defmodule Lorito.Repo.Migrations.CreateIntegrations do
2 | use Ecto.Migration
3 |
4 | def change do
5 | create table(:integrations, primary_key: false) do
6 | add :id, :binary_id, primary_key: true
7 | add :type, :string
8 | add :webhook_url, :string
9 |
10 | add :user_id, references(:users, on_delete: :delete_all, type: :uuid)
11 |
12 | timestamps()
13 | end
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/battery-0.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/check-badge.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/face-frown.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/play-pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/bell-snooze.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/book-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/chat-bubble-oval-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/home-modern.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/chat-bubble-oval-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/fire.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/x-circle.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/book-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/magnifying-glass-plus.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/rss.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/20/solid/star.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/backward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/currency-dollar.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/eye-dropper.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/forward.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/language.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/outline/light-bulb.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/book-open.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/assets/vendor/heroicons/optimized/24/solid/star.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------