Files
bit/app/serializers/link.cr
T
2024-07-12 20:26:43 +02:00

24 lines
529 B
Crystal

require "json"
require "../models/link"
require "./click"
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("refer", @refer)
builder.field("origin", @link.url)
builder.field("clicks", @link.clicks.map { |click| App::Serializers::Click.new(click) })
end
end
end
end