Updates for openapi spec

This commit is contained in:
David Bomba 2023-05-24 22:13:00 +10:00
parent d97d15f620
commit 214044675e
7 changed files with 725 additions and 9 deletions

View File

@ -78,13 +78,13 @@ trait CompanySettingsSaver
$entity->settings = $company_settings;
if(Ninja::isHosted() && array_key_exists('settings', $entity->getDirty()))
if(Ninja::isHosted() && $company_settings->country_id == "840" && array_key_exists('settings', $entity->getDirty()))
{
$old_settings = $entity->getOriginal()['settings'];
if($settings->name != $old_settings->name) {
nlog("name change {$old_settings->name} -> {$settings->name} ");
/** Monitor changes of the Postal code */
if($old_settings->postal_code != $company_settings->postal_code)
{
}
}

View File

@ -11940,7 +11940,7 @@ paths:
content:
application/json:
schema:
$ref: "#/components/schemas/FillableInvoice"
$ref: "#/components/schemas/InvoiceRequest"
responses:
200:
description: "Returns the saved invoice entity"
@ -15300,7 +15300,11 @@ components:
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
invitations:
type: array
description: 'An array of objects which define the invitations of the invoice'
items:
$ref: '#/components/schemas/InvoiceInvitation'
amount:
description: 'The invoice amount'
type: number
@ -17089,6 +17093,66 @@ components:
type: string
example: google
type: object
InvoiceInvitationRequest:
required:
- client_contact_id
properties:
id:
description: 'The entity invitation hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
key:
description: 'The invitation key'
type: string
example: Opnel5aKBz4343343566236gvbb
readOnly: true
link:
description: 'The invitation link'
type: string
example: 'https://www.example.com/invitations/Opnel5aKBz4343343566236gvbb'
readOnly: true
sent_date:
description: 'The invitation sent date'
type: string
format: date-time
readOnly: true
viewed_date:
description: 'The invitation viewed date'
type: string
format: date-time
readOnly: true
opened_date:
description: 'The invitation opened date'
type: string
format: date-time
readOnly: true
updated_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
email_error:
description: 'The email error'
type: string
example: 'The email error'
readOnly: true
email_status:
description: 'The email status'
type: string
readOnly: true
ClientRequest:
required:
- contacts
@ -18632,6 +18696,64 @@ components:
format: integer
example: '1434342123'
type: object
InvoiceInvitation:
properties:
id:
description: 'The entity invitation hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
key:
description: 'The invitation key'
type: string
example: Opnel5aKBz4343343566236gvbb
readOnly: true
link:
description: 'The invitation link'
type: string
example: 'https://www.example.com/invitations/Opnel5aKBz4343343566236gvbb'
readOnly: true
sent_date:
description: 'The invitation sent date'
type: string
format: date-time
readOnly: true
viewed_date:
description: 'The invitation viewed date'
type: string
format: date-time
readOnly: true
opened_date:
description: 'The invitation opened date'
type: string
format: date-time
readOnly: true
updated_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
email_error:
description: 'The email error'
type: string
example: 'The email error'
readOnly: true
email_status:
description: 'The email status'
type: string
readOnly: true
RecurringQuote:
properties:
id:
@ -19249,6 +19371,243 @@ components:
type: object
InvoiceRequest:
required:
- client_id
properties:
id:
description: 'The invoice hashed id'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
company_id:
description: 'The company hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
status_id:
description: 'The invoice status variable'
type: string
example: '4'
readOnly: true
number:
description: 'The invoice number - is a unique alpha numeric number per invoice per company'
type: string
example: INV_101
po_number:
description: 'The purchase order associated with this invoice'
type: string
example: PO-1234
terms:
description: 'The invoice terms'
type: string
example: 'These are invoice terms'
public_notes:
description: 'The public notes of the invoice'
type: string
example: 'These are some public notes'
private_notes:
description: 'The private notes of the invoice'
type: string
example: 'These are some private notes'
footer:
description: 'The invoice footer notes'
type: string
example: ''
custom_value1:
description: 'A custom field value'
type: string
example: '2022-10-01'
custom_value2:
description: 'A custom field value'
type: string
example: 'Something custom'
custom_value3:
description: 'A custom field value'
type: string
example: ''
custom_value4:
description: 'A custom field value'
type: string
example: ''
tax_name1:
description: 'The tax name'
type: string
example: ''
tax_name2:
description: 'The tax name'
type: string
example: ''
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
total_taxes:
description: 'The total taxes for the invoice'
type: number
format: float
example: '10.00'
readOnly:
line_items:
type: array
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
invitations:
type: array
description: 'An array of objects which define the invitations of the invoice'
items:
$ref: '#/components/schemas/InvoiceInvitationRequest'
amount:
description: 'The invoice amount'
type: number
format: float
example: '10.00'
readOnly: true
balance:
description: 'The invoice balance'
type: number
format: float
example: '10.00'
readOnly: true
paid_to_date:
description: 'The amount paid on the invoice to date'
type: number
format: float
example: '10.00'
readOnly: true
discount:
description: 'The invoice discount, can be an amount or a percentage'
type: number
format: float
example: '10.00'
partial:
description: 'The deposit/partial amount'
type: number
format: float
example: '10.00'
is_amount_discount:
description: 'Flag determining if the discount is an amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Defines if the invoice has been deleted'
type: boolean
example: true
readOnly: true
uses_inclusive_taxes:
description: 'Defines the type of taxes used as either inclusive or exclusive'
type: boolean
example: true
date:
description: 'The Invoice Date'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the invoice was sent out'
type: string
format: date
example: '1994-07-30'
readOnly: true
next_send_date:
description: 'The Next date for a reminder to be sent'
type: string
format: date
example: '1994-07-30'
readOnly: true
partial_due_date:
description: 'The due date for the deposit/partial amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date of the invoice'
type: string
format: date
example: '1994-07-30'
last_viewed:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
custom_surcharge1:
description: 'First Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
type: object
ClientContact:
properties:
id:

View File

@ -101,7 +101,11 @@
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
invitations:
type: array
description: 'An array of objects which define the invitations of the invoice'
items:
$ref: '#/components/schemas/InvoiceInvitation'
amount:
description: 'The invoice amount'
type: number

View File

@ -0,0 +1,57 @@
InvoiceInvitation:
properties:
id:
description: 'The entity invitation hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
key:
description: 'The invitation key'
type: string
example: Opnel5aKBz4343343566236gvbb
readOnly: true
link:
description: 'The invitation link'
type: string
example: 'https://www.example.com/invitations/Opnel5aKBz4343343566236gvbb'
readOnly: true
sent_date:
description: 'The invitation sent date'
type: string
format: date-time
readOnly: true
viewed_date:
description: 'The invitation viewed date'
type: string
format: date-time
readOnly: true
opened_date:
description: 'The invitation opened date'
type: string
format: date-time
readOnly: true
updated_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
email_error:
description: 'The email error'
type: string
example: 'The email error'
readOnly: true
email_status:
description: 'The email status'
type: string
readOnly: true

View File

@ -0,0 +1,59 @@
InvoiceInvitationRequest:
required:
- client_contact_id
properties:
id:
description: 'The entity invitation hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_contact_id:
description: 'The client contact hashed id'
type: string
example: Opnel5aKBz
key:
description: 'The invitation key'
type: string
example: Opnel5aKBz4343343566236gvbb
readOnly: true
link:
description: 'The invitation link'
type: string
example: 'https://www.example.com/invitations/Opnel5aKBz4343343566236gvbb'
readOnly: true
sent_date:
description: 'The invitation sent date'
type: string
format: date-time
readOnly: true
viewed_date:
description: 'The invitation viewed date'
type: string
format: date-time
readOnly: true
opened_date:
description: 'The invitation opened date'
type: string
format: date-time
readOnly: true
updated_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: 'Timestamp'
type: number
format: integer
example: '1434342123'
readOnly: true
email_error:
description: 'The email error'
type: string
example: 'The email error'
readOnly: true
email_status:
description: 'The email status'
type: string
readOnly: true

View File

@ -0,0 +1,237 @@
InvoiceRequest:
required:
- client_id
properties:
id:
description: 'The invoice hashed id'
type: string
example: Opnel5aKBz
readOnly: true
user_id:
description: 'The user hashed id'
type: string
example: Opnel5aKBz
assigned_user_id:
description: 'The assigned user hashed id'
type: string
example: Opnel5aKBz
company_id:
description: 'The company hashed id'
type: string
example: Opnel5aKBz
readOnly: true
client_id:
description: 'The client hashed id'
type: string
example: Opnel5aKBz
status_id:
description: 'The invoice status variable'
type: string
example: '4'
readOnly: true
number:
description: 'The invoice number - is a unique alpha numeric number per invoice per company'
type: string
example: INV_101
po_number:
description: 'The purchase order associated with this invoice'
type: string
example: PO-1234
terms:
description: 'The invoice terms'
type: string
example: 'These are invoice terms'
public_notes:
description: 'The public notes of the invoice'
type: string
example: 'These are some public notes'
private_notes:
description: 'The private notes of the invoice'
type: string
example: 'These are some private notes'
footer:
description: 'The invoice footer notes'
type: string
example: ''
custom_value1:
description: 'A custom field value'
type: string
example: '2022-10-01'
custom_value2:
description: 'A custom field value'
type: string
example: 'Something custom'
custom_value3:
description: 'A custom field value'
type: string
example: ''
custom_value4:
description: 'A custom field value'
type: string
example: ''
tax_name1:
description: 'The tax name'
type: string
example: ''
tax_name2:
description: 'The tax name'
type: string
example: ''
tax_rate1:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_rate2:
description: 'The tax rate'
type: number
format: float
example: '10.00'
tax_name3:
description: 'The tax name'
type: string
example: ''
tax_rate3:
description: 'The tax rate'
type: number
format: float
example: '10.00'
total_taxes:
description: 'The total taxes for the invoice'
type: number
format: float
example: '10.00'
readOnly:
line_items:
type: array
description: 'An array of objects which define the line items of the invoice'
items:
$ref: '#/components/schemas/InvoiceItem'
invitations:
type: array
description: 'An array of objects which define the invitations of the invoice'
items:
$ref: '#/components/schemas/InvoiceInvitationRequest'
amount:
description: 'The invoice amount'
type: number
format: float
example: '10.00'
readOnly: true
balance:
description: 'The invoice balance'
type: number
format: float
example: '10.00'
readOnly: true
paid_to_date:
description: 'The amount paid on the invoice to date'
type: number
format: float
example: '10.00'
readOnly: true
discount:
description: 'The invoice discount, can be an amount or a percentage'
type: number
format: float
example: '10.00'
partial:
description: 'The deposit/partial amount'
type: number
format: float
example: '10.00'
is_amount_discount:
description: 'Flag determining if the discount is an amount or a percentage'
type: boolean
example: true
is_deleted:
description: 'Defines if the invoice has been deleted'
type: boolean
example: true
readOnly: true
uses_inclusive_taxes:
description: 'Defines the type of taxes used as either inclusive or exclusive'
type: boolean
example: true
date:
description: 'The Invoice Date'
type: string
format: date
example: '1994-07-30'
last_sent_date:
description: 'The last date the invoice was sent out'
type: string
format: date
example: '1994-07-30'
readOnly: true
next_send_date:
description: 'The Next date for a reminder to be sent'
type: string
format: date
example: '1994-07-30'
readOnly: true
partial_due_date:
description: 'The due date for the deposit/partial amount'
type: string
format: date
example: '1994-07-30'
due_date:
description: 'The due date of the invoice'
type: string
format: date
example: '1994-07-30'
last_viewed:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
updated_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
archived_at:
description: Timestamp
type: number
format: integer
example: '1434342123'
readOnly: true
custom_surcharge1:
description: 'First Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge2:
description: 'Second Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge3:
description: 'Third Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge4:
description: 'Fourth Custom Surcharge'
type: number
format: float
example: '10.00'
custom_surcharge_tax1:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax2:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax3:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
custom_surcharge_tax4:
description: 'Toggles charging taxes on custom surcharge amounts'
type: boolean
example: true
type: object

View File

@ -135,7 +135,7 @@
content:
application/json:
schema:
$ref: "#/components/schemas/FillableInvoice"
$ref: "#/components/schemas/InvoiceRequest"
responses:
200:
description: "Returns the saved invoice entity"