Files
bit/app/models/link.cr
T
Juan Rodriguez 0ad534065c feat: user migration + model
- link belongs to user
- user api_key index
2024-05-13 22:33:38 +02:00

23 lines
456 B
Crystal

require "sqlite3"
require "crecto"
require "./user.cr"
module App::Models
class Link < Crecto::Model
schema :links do
field :id, String, primary_key: true
field :slug, String
field :url, String
field :click_counter, Int64, default: 0
belongs_to :user, User
end
unique_constraint :slug
validate_required [:slug, :url]
validate_format :url, /\A(?:https?:\/\/)?(?:[\w-]+\.)+[\w-]+(?:\/\S*)?/
end
end