$30 GRAYBYTE WORDPRESS FILE MANAGER $61

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.15.130 | ADMIN IP 216.73.216.51
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravetechrwanda/itiministry.org/plugins/give/src/Subscriptions/Models/

HOME
Current File : /home/bravetechrwanda/itiministry.org/plugins/give/src/Subscriptions/Models//SubscriptionNote.php
<?php

namespace Give\Subscriptions\Models;

use DateTime;
use Give\Subscriptions\Factories\SubscriptionNoteFactory;
use Give\Subscriptions\ValueObjects\SubscriptionNoteType;
use Give\Framework\Exceptions\Primitives\Exception;
use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
use Give\Framework\Models\Contracts\ModelCrud;
use Give\Framework\Models\Contracts\ModelHasFactory;
use Give\Framework\Models\Model;
use Give\Framework\Models\ModelQueryBuilder;
use Give\Framework\Models\ValueObjects\Relationship;
use Give\Subscriptions\DataTransferObjects\SubscriptionNoteQueryData;

/**
 * @since 4.8.0
 *
 * @property int $id
 * @property string $content
 * @property int $subscriptionId
 * @property SubscriptionNoteType $type
 * @property DateTime $createdAt
 * @property Subscription $subscription
 */
class SubscriptionNote extends Model implements ModelCrud, ModelHasFactory
{
    /**
     * {@inheritdoc}
     */
    protected $properties = [
        'id' => 'int',
        'content' => 'string',
        'subscriptionId' => 'int',
        'type' => SubscriptionNoteType::class,
        'createdAt' => DateTime::class,
    ];

    /**
     * {@inheritdoc}
     */
    protected $relationships = [
        'subscription' => Relationship::BELONGS_TO,
    ];

    /**
     * @since 4.8.0
     *
     * @return SubscriptionNote|null
     */
    public static function find($id)
    {
        return give()->subscriptions->notes->getById($id);
    }

    /**
     * @since 4.8.0
     *
     * @return $this
     *
     * @throws Exception|InvalidArgumentException
     */
    public static function create(array $attributes): SubscriptionNote
    {
        $subscriptionNote = new static($attributes);

        give()->subscriptions->notes->insert($subscriptionNote);

        return $subscriptionNote;
    }

    /**
     * @since 4.8.0
     *
     * @return void
     *
     * @throws Exception|InvalidArgumentException
     */
    public function save()
    {
        if (! $this->id) {
            give()->subscriptions->notes->insert($this);
        } else {
            give()->subscriptions->notes->update($this);
        }
    }

    /**
     * @since 4.8.0
     *
     * @throws Exception|InvalidArgumentException
     */
    public function delete(): bool
    {
        return give()->subscriptions->notes->delete($this);
    }

    /**
     * @since 4.8.0
     *
     * @return ModelQueryBuilder<SubscriptionNote>
     */
    public static function query(): ModelQueryBuilder
    {
        return give()->subscriptions->notes->prepareQuery();
    }

    /**
     * @since 4.8.0
     *
     * @return ModelQueryBuilder<Subscription>
     */
    public function subscription(): ModelQueryBuilder
    {
        return give()->subscriptions->queryById($this->subscriptionId);
    }

    /**
     * @since 4.8.0
     *
     * @param  object  $object
     */
    public static function fromQueryBuilderObject($object): SubscriptionNote
    {
        return SubscriptionNoteQueryData::fromObject($object)->toSubscriptionNote();
    }

    /**
     * @since 4.8.0
     */
    public static function factory(): SubscriptionNoteFactory
    {
        return new SubscriptionNoteFactory(static::class);
    }
}

Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
25 May 2026 4.20 PM
bravetechrwanda / bravetechrwanda
0755
LegacySubscriber.php
0.346 KB
25 Feb 2022 6.33 AM
bravetechrwanda / bravetechrwanda
0644
Subscription.php
9.363 KB
30 Oct 2025 12.17 AM
bravetechrwanda / bravetechrwanda
0644
SubscriptionNote.php
3.149 KB
10 Sep 2025 5.42 PM
bravetechrwanda / bravetechrwanda
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF