Skip to content

Commit

Permalink
Merge pull request #228 from roydejong/master
Browse files Browse the repository at this point in the history
Add Project entity, add sub-entities to TimeEntry
  • Loading branch information
stephangroen authored Mar 18, 2021
2 parents 9e12e4f + 1c0b366 commit 107a725
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/Picqer/Financials/Moneybird/Entities/Project.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php

namespace Picqer\Financials\Moneybird\Entities;

use Picqer\Financials\Moneybird\Actions\FindAll;
use Picqer\Financials\Moneybird\Actions\FindOne;
use Picqer\Financials\Moneybird\Actions\Removable;
use Picqer\Financials\Moneybird\Actions\Storable;
use Picqer\Financials\Moneybird\Model;

/**
* Class Project.
*/
class Project extends Model
{
use FindAll, FindOne, Storable, Removable;

/**
* @var array
*/
protected $fillable = [
'id',
'name',
'state',
];

/**
* @var string
*/
protected $endpoint = 'projects';
}
12 changes: 12 additions & 0 deletions src/Picqer/Financials/Moneybird/Entities/TimeEntry.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,15 @@ class TimeEntry extends Model
protected $fillable = [
'id',
'user_id',
'user',
'started_at',
'ended_at',
'paused_duration',
'contact_id',
'project_id',
'project',
'detail_id',
'detail',
'description',
'billable',
];
Expand All @@ -37,4 +40,13 @@ class TimeEntry extends Model
* @var string
*/
protected $namespace = 'time_entry';

/**
* @var array
*/
protected $singleNestedEntities = [
'user' => User::class,
'project' => Project::class,
'detail' => SalesInvoiceDetail::class,
];
}
10 changes: 10 additions & 0 deletions src/Picqer/Financials/Moneybird/Moneybird.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
use Picqer\Financials\Moneybird\Entities\LedgerAccount;
use Picqer\Financials\Moneybird\Entities\Note;
use Picqer\Financials\Moneybird\Entities\Product;
use Picqer\Financials\Moneybird\Entities\Project;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoice;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoiceDetail;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoicePayment;
Expand Down Expand Up @@ -254,6 +255,15 @@ public function product($attributes = [])
return new Product($this->connection, $attributes);
}

/**
* @param array $attributes
* @return \Picqer\Financials\Moneybird\Entities\Project
*/
public function project($attributes = [])
{
return new Project($this->connection, $attributes);
}

/**
* @param array $attributes
* @return \Picqer\Financials\Moneybird\Entities\PurchaseInvoice
Expand Down
6 changes: 6 additions & 0 deletions tests/EntityTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
use Picqer\Financials\Moneybird\Entities\LedgerAccount;
use Picqer\Financials\Moneybird\Entities\Note;
use Picqer\Financials\Moneybird\Entities\Product;
use Picqer\Financials\Moneybird\Entities\Project;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoice;
use Picqer\Financials\Moneybird\Entities\PurchaseInvoiceDetail;
use Picqer\Financials\Moneybird\Entities\Receipt;
Expand Down Expand Up @@ -133,6 +134,11 @@ public function testProductEntity()
$this->performEntityTest(Product::class);
}

public function testProjectEntity()
{
$this->performEntityTest(Project::class);
}

public function testPurchaseInvoiceEntity()
{
$this->performEntityTest(PurchaseInvoice::class);
Expand Down

0 comments on commit 107a725

Please sign in to comment.