<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Account extends Model
{
    const TYPE_STUDENT = 'student';
    const TYPE_REGULAR = 'regular';

    protected $casts = [
    ];

    public function owner()
    {
        return $this->belongsTo(User::class);
    }

    public function profile()
    {
        return $this->hasOne(CompanyProfile::class);
    }

    public function members()
    {
        return $this->hasMany(AccountMember::class);
    }

    public function address()
    {
        return $this->belongsTo(Address::class);
    }

    public function billingAddress()
    {
        return $this->belongsTo(Address::class);
    }

    public function subscriptions()
    {
        return $this->hasMany(Subscription::class);
    }

    public function activeSubscriptions()
    {
        return $this->hasMany(Subscription::class)->active();
    }

    public function invoices()
    {
        return $this->hasMany(AccountInvoice::class);
    }
}
