Skip to content

Commit 61c9cf3

Browse files
authored
Merge pull request #68 from turbo124/main
Add all entities to SDK
2 parents 41942c0 + f00ce59 commit 61c9cf3

31 files changed

+891
-204
lines changed

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,19 @@ $invoices = $ninja->invoices->all();
2020
### Supports
2121

2222
- Clients
23-
- Invoices/Quotes
23+
- Invoices
24+
- Quotes
2425
- Products
2526
- Payments
2627
- TaxRates
28+
- Statics
29+
- Expenses
30+
- Recurring Invoices
31+
- Credits
32+
- Projects
33+
- Tasks
34+
- Vendors
35+
- Companies
2736

2837
### Retrieving Models
2938

src/Endpoints/BaseEntity.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,33 @@ public function restore(array $entity_array)
3939
return $this->bulk("restore", $entity_array);
4040
}
4141

42+
public function all(array $search = [])
43+
{
44+
$query = ['query' => $search];
45+
46+
return $this->ninja->send("GET", "{$this->uri}", $query);
47+
}
48+
49+
public function get(string $entity_id, array $search = [])
50+
{
51+
$query = ['query' => $search];
52+
53+
return $this->ninja->send("GET", "{$this->uri}/{$entity_id}", $query);
54+
}
55+
56+
public function update(string $entity_id, array $entity)
57+
{
58+
$query = ['form_params' => $entity];
59+
60+
return $this->ninja->send("PUT", "{$this->uri}/{$entity_id}", $query);
61+
}
62+
63+
public function create(array $entity, array $includes = [])
64+
{
65+
$query = ['form_params' => $entity, 'query' => $includes];
66+
67+
return $this->ninja->send("POST", "{$this->uri}", $query);
68+
}
69+
4270
}
4371

src/Endpoints/Clients.php

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,5 @@ public function __construct(InvoiceNinja $ninja)
2626
$this->ninja = $ninja;
2727
}
2828

29-
/**
30-
* @param array $search
31-
* @return void
32-
* @throws GuzzleException
33-
*/
34-
public function all(array $search = [])
35-
{
36-
$query = ['query' => $search];
37-
38-
return $this->ninja->send("GET", "{$this->uri}", $query);
39-
}
40-
41-
public function get(string $client_id, array $search = [])
42-
{
43-
$query = ['query' => $search];
44-
45-
return $this->ninja->send("GET", "{$this->uri}/{$client_id}", $query);
46-
}
47-
48-
public function update(string $client_id, array $client)
49-
{
50-
$query = ['form_params' => $client];
51-
52-
return $this->ninja->send("PUT", "{$this->uri}/{$client_id}", $query);
53-
}
54-
55-
public function create(array $client, array $includes = [])
56-
{
57-
$query = ['form_params' => $client, 'query' => $includes];
58-
59-
return $this->ninja->send("POST", "{$this->uri}", $query);
60-
}
6129
}
6230

src/Endpoints/Companies.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
/**
3+
* Invoice Ninja (https://invoiceninja.com).
4+
*
5+
* @link https://github.com/invoiceninja/sdk-php source repository
6+
*
7+
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
8+
*
9+
* @license https://opensource.org/licenses/MIT
10+
*/
11+
12+
namespace InvoiceNinja\Sdk\Endpoints;
13+
14+
use GuzzleHttp\Exception\GuzzleException;
15+
use InvoiceNinja\Sdk\InvoiceNinja;
16+
17+
class Companies
18+
{
19+
20+
protected InvoiceNinja $ninja;
21+
22+
protected string $uri = "/api/v1/companies";
23+
24+
public function __construct(InvoiceNinja $ninja)
25+
{
26+
$this->ninja = $ninja;
27+
}
28+
29+
public function all(array $search = [])
30+
{
31+
$query = ['query' => $search];
32+
33+
return $this->ninja->send("GET", "{$this->uri}", $query);
34+
}
35+
36+
public function get(string $entity_id, array $search = [])
37+
{
38+
$query = ['query' => $search];
39+
40+
return $this->ninja->send("GET", "{$this->uri}/{$entity_id}", $query);
41+
}
42+
43+
public function update(string $entity_id, array $entity)
44+
{
45+
$query = ['form_params' => $entity];
46+
47+
return $this->ninja->send("PUT", "{$this->uri}/{$entity_id}", $query);
48+
}
49+
50+
public function create(array $entity, array $includes = [])
51+
{
52+
$query = ['form_params' => $entity, 'query' => $includes];
53+
54+
return $this->ninja->send("POST", "{$this->uri}", $query);
55+
}
56+
}
57+

src/Endpoints/Credits.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
/**
3+
* Invoice Ninja (https://invoiceninja.com).
4+
*
5+
* @link https://github.com/invoiceninja/sdk-php source repository
6+
*
7+
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
8+
*
9+
* @license https://opensource.org/licenses/MIT
10+
*/
11+
12+
namespace InvoiceNinja\Sdk\Endpoints;
13+
14+
use GuzzleHttp\Exception\GuzzleException;
15+
use InvoiceNinja\Sdk\InvoiceNinja;
16+
17+
class Credits extends BaseEntity
18+
{
19+
20+
protected InvoiceNinja $ninja;
21+
22+
protected string $uri = "/api/v1/credits";
23+
24+
public function __construct(InvoiceNinja $ninja)
25+
{
26+
$this->ninja = $ninja;
27+
}
28+
29+
}
30+

src/Endpoints/Expenses.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
/**
3+
* Invoice Ninja (https://invoiceninja.com).
4+
*
5+
* @link https://github.com/invoiceninja/sdk-php source repository
6+
*
7+
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
8+
*
9+
* @license https://opensource.org/licenses/MIT
10+
*/
11+
12+
namespace InvoiceNinja\Sdk\Endpoints;
13+
14+
use GuzzleHttp\Exception\GuzzleException;
15+
use InvoiceNinja\Sdk\InvoiceNinja;
16+
17+
class Expenses extends BaseEntity
18+
{
19+
20+
protected InvoiceNinja $ninja;
21+
22+
protected string $uri = "/api/v1/expenses";
23+
24+
public function __construct(InvoiceNinja $ninja)
25+
{
26+
$this->ninja = $ninja;
27+
}
28+
29+
}
30+

src/Endpoints/Invoices.php

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,5 @@ public function __construct(InvoiceNinja $ninja)
2626
$this->ninja = $ninja;
2727
}
2828

29-
/**
30-
* @param array $search
31-
* @return void
32-
* @throws GuzzleException
33-
*/
34-
public function all(array $search = [])
35-
{
36-
$query = ['query' => $search];
37-
38-
return $this->ninja->send("GET", "{$this->uri}", $query);
39-
}
40-
41-
public function get(string $invoice_id, array $search = [])
42-
{
43-
$query = ['query' => $search];
44-
45-
return $this->ninja->send("GET", "{$this->uri}/{$invoice_id}", $query);
46-
}
47-
48-
public function update(string $invoice_id, array $invoices)
49-
{
50-
$query = ['form_params' => $invoices];
51-
52-
return $this->ninja->send("PUT", "{$this->uri}/{$invoice_id}", $query);
53-
}
54-
55-
public function create(array $invoices, array $includes = [])
56-
{
57-
$query = ['form_params' => $invoices, 'query' => $includes];
58-
59-
return $this->ninja->send("POST", "{$this->uri}", $query);
60-
}
6129
}
6230

src/Endpoints/Payments.php

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,5 @@ public function __construct(InvoiceNinja $ninja)
2626
$this->ninja = $ninja;
2727
}
2828

29-
/**
30-
* @param array $search
31-
* @return void
32-
* @throws GuzzleException
33-
*/
34-
public function all(array $search = [])
35-
{
36-
$query = ['query' => $search];
37-
38-
return $this->ninja->send("GET", "{$this->uri}", $query);
39-
}
40-
41-
public function get(string $payment_id, array $search = [])
42-
{
43-
$query = ['query' => $search];
44-
45-
return $this->ninja->send("GET", "{$this->uri}/{$payment_id}", $query);
46-
}
47-
48-
public function update(string $payment_id, array $payment)
49-
{
50-
$query = ['form_params' => $payment];
51-
52-
return $this->ninja->send("PUT", "{$this->uri}/{$payment_id}", $query);
53-
}
54-
55-
public function create(array $payment, array $includes = [])
56-
{
57-
$query = ['form_params' => $payment, 'query' => $includes];
58-
59-
return $this->ninja->send("POST", "{$this->uri}", $query);
60-
}
6129
}
6230

src/Endpoints/Products.php

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,5 @@ public function __construct(InvoiceNinja $ninja)
2626
$this->ninja = $ninja;
2727
}
2828

29-
/**
30-
* @param array $search
31-
* @return void
32-
* @throws GuzzleException
33-
*/
34-
public function all(array $search = [])
35-
{
36-
$query = ['query' => $search];
37-
38-
return $this->ninja->send("GET", "{$this->uri}", $query);
39-
}
40-
41-
public function get(string $product_id, array $search = [])
42-
{
43-
$query = ['query' => $search];
44-
45-
return $this->ninja->send("GET", "{$this->uri}/{$product_id}", $query);
46-
}
47-
48-
public function update(string $product_id, array $product)
49-
{
50-
$query = ['form_params' => $product];
51-
52-
return $this->ninja->send("PUT", "{$this->uri}/{$product_id}", $query);
53-
}
54-
55-
public function create(array $product, array $includes = [])
56-
{
57-
$query = ['form_params' => $product, 'query' => $includes];
58-
59-
return $this->ninja->send("POST", "{$this->uri}", $query);
60-
}
6129
}
6230

src/Endpoints/Projects.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
/**
3+
* Invoice Ninja (https://invoiceninja.com).
4+
*
5+
* @link https://github.com/invoiceninja/sdk-php source repository
6+
*
7+
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
8+
*
9+
* @license https://opensource.org/licenses/MIT
10+
*/
11+
12+
namespace InvoiceNinja\Sdk\Endpoints;
13+
14+
use GuzzleHttp\Exception\GuzzleException;
15+
use InvoiceNinja\Sdk\InvoiceNinja;
16+
17+
class Projects extends BaseEntity
18+
{
19+
20+
protected InvoiceNinja $ninja;
21+
22+
protected string $uri = "/api/v1/projects";
23+
24+
public function __construct(InvoiceNinja $ninja)
25+
{
26+
$this->ninja = $ninja;
27+
}
28+
29+
}
30+

0 commit comments

Comments
 (0)