defmodule GitGud.Organizations.Team do
use Ecto.Schema
import Ecto.Changeset
alias GitGud.Organizations.Organization
alias GitGud.Organizations.TeamMembership
alias GitGud.Organizations.TeamRepository
schema "teams" do
field :name, :string
field :description, :string
belongs_to :organization, Organization
has_many :memberships, TeamMembership
has_many :repositories, TeamRepository
timestamps(type: :utc_datetime)
end
def changeset(team, attrs) do
team
|> cast(attrs, [:name, :description])
|> validate_required([:name])
|> validate_length(:name, min: 1, max: 60)
|> validate_length(:description, max: 500)
|> unique_constraint(:name, name: :teams_organization_id_name_index)
end
end
757 B · text
5af55d9