Files
bit/app/models/link.cr
T
2024-07-12 07:28:27 +02:00

22 lines
410 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
belongs_to :user, User
end
unique_constraint :slug
validate_required [:slug, :url]
validate_format :url, /\A(?:https?:\/\/)?(?:[\w-]+\.)+[\w-]+(?:\/\S*)?/
end
end