diff --git a/.gitignore b/.gitignore index ba8d3ca..0608b7d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,5 @@ *.dwarf .DS_Store -./sqlite/* +data.* .env.production diff --git a/app/config/kemal.cr b/app/config/kemal.cr index 8b2cf3c..ff464c7 100644 --- a/app/config/kemal.cr +++ b/app/config/kemal.cr @@ -3,3 +3,5 @@ require "kemal" Kemal.config.env = ENV["ENV"]? || "development" Kemal.config.port = ENV["PORT"]?.try(&.to_i) || 4000 Kemal.config.host_binding = ENV["HOST"]? || "0.0.0.0" + +Kemal.config.logging = true diff --git a/app/lib/database.cr b/app/lib/database.cr index 5b6ab14..2a80b65 100644 --- a/app/lib/database.cr +++ b/app/lib/database.cr @@ -5,10 +5,14 @@ module App::Lib class Database extend Crecto::Repo + Query = Crecto::Repo::Query + config do |conf| conf.uri = ENV["DATABASE_URL"] end - Crecto::DbLogger.set_handler(STDOUT) + if ENV["ENV"] == "development" + Crecto::DbLogger.set_handler(STDOUT) + end end end diff --git a/app/serializers/link.cr b/app/serializers/link.cr index d735b13..948b687 100644 --- a/app/serializers/link.cr +++ b/app/serializers/link.cr @@ -4,13 +4,16 @@ require "../models/link" module App::Serializers class Link + getter refer + def initialize(@link : App::Models::Link) + @refer = "#{ENV["APP_URL"]}/#{@link.slug}" end def to_json(builder : JSON::Builder) builder.object do builder.field("id", @link.id) - builder.field("link", "#{ENV["APP_URL"]}/#{@link.slug}") + builder.field("refer", @refer) builder.field("origin", @link.url) builder.field("clicks", @link.click_counter) end diff --git a/bruno/Create Link - Invalid url.bru b/bruno/Create Link - Invalid url.bru new file mode 100644 index 0000000..9422c2e --- /dev/null +++ b/bruno/Create Link - Invalid url.bru @@ -0,0 +1,17 @@ +meta { + name: Create Link - Invalid url + type: http + seq: 3 +} + +post { + url: {{baseUrl}}/api/links + body: json + auth: none +} + +body:json { + { + "url": 1 + } +} diff --git a/bruno/Get Links.bru b/bruno/Get Links.bru new file mode 100644 index 0000000..7992fc8 --- /dev/null +++ b/bruno/Get Links.bru @@ -0,0 +1,11 @@ +meta { + name: Get Links + type: http + seq: 4 +} + +get { + url: {{baseUrl}}/api/links + body: none + auth: none +} diff --git a/bruno/Ping.bru b/bruno/Ping.bru new file mode 100644 index 0000000..3b15801 --- /dev/null +++ b/bruno/Ping.bru @@ -0,0 +1,11 @@ +meta { + name: Ping + type: http + seq: 8 +} + +get { + url: {{baseUrl}}/api/ping + body: none + auth: none +} diff --git a/bruno/collection.bru b/bruno/collection.bru new file mode 100644 index 0000000..4e58bcc --- /dev/null +++ b/bruno/collection.bru @@ -0,0 +1,3 @@ +headers { + X-Api-Key: {{apiKey}} +}