imagina/iquote-module

1.0.10 2020-05-18 20:15 UTC

This package is auto-updated.

Last update: 2024-04-11 07:34:00 UTC


README

Installation

First, we require the installation of laravel-dompdf library (https://github.com/barryvdh/laravel-dompdf):

composer require barryvdh/laravel-dompdf

After updating composer, we proceed to configure it:

Add the ServiceProvider to the provides array in config/app.php

Barryvdh\DomPDF\ServiceProvider::class,

Then, use the facade for shorter code. Add this to your facades:

'PDF' => Barryvdh\DomPDF\Facade::class

After install and config laravel-dompdf we proceed to install iquote module:

composer require imagina/iquote

Important: the storage/ base folder must be read/write permissions (755)

Optional: If the quote pdf file does not load successfully, we must create in the storage/ base folder the fonts/ subfolder

End Points

Route Base: https://yourhost/api/iquote/v1/

  • Packages

    • Attributes

      NAME TYPE NULLABLE TRANSLATABLE
      name String
      description String
    • Create.

      • Method: POST

      • Requires Authentication: ☑

      • Routes:

        • /packages
      • Post params (Example):

        {
           attributes:{
             name: 'name',
             description: 'description'
           }
        }
        
    • Read

      • Method: GET

      • Requires Authentication: ☐

      • Routes:

        • /packages
        • /packages/id
      • Filters

        search
        date
        order
      • Includes

        products
    • Update

      • Method: PUT
      • Requires Authentication: ☑
      • Routes:
        • /packages/id
    • Delete

      • Method: DELETE
      • Requires Authentication: ☑
      • Routes:
        • /packages/id
  • Products

    • Attributes

      NAME TYPE NULLABLE TRANSLATABLE
      name String
      description String
      active Boolean
      price Number
    • Create.

      • Method: POST

      • Requires Authentication: ☑

      • Routes:

        • /products
      • Post params (Example):

        {
           attributes:{
             name: 'name',
             description: 'description',
             active: true,
             price: 15000
           }
        }
        
    • Read

      • Method: GET

      • Requires Authentication: ☐

      • Routes:

        • /products
        • /products/id
      • Filters

        search
        date
        order
        active
        package
      • Includes

        characteristics
        packages
    • Update

      • Method: PUT
      • Requires Authentication: ☑
      • Routes:
        • /products/id
    • Delete

      • Method: DELETE
      • Requires Authentication: ☑
      • Routes:
        • /products/id
  • Characteristics

    • Attributes

      NAME TYPE NULLABLE TRANSLATABLE
      name String
      description String
      options Text
      product_id Number
      type Number
      parent_id Number
      price Number
      active Boolean
      position Number
      required Boolean
    • Create:

      • Method: POST

      • Requires Authentication: ☑

      • Routes:

        • /characteristics
      • Post params (Example):

        {
           attributes:{
               name: 'name',
               description: 'description',
               options: 'options',
               product_id: 1,
               type: 1,
               parent_id: 1,
               price: 1500,
               active: true,
               position: 1,
               required: true
           }
        }
        
    • Read:

      • Method: GET

      • Requires Authentication: ☐

      • Routes:

        • /characteristics
        • /characteristics/id
      • Filters

        search
        date
        active
        product
        type
        parent
      • Includes

        product
        parent
        childrens
    • Update

      • Method: PUT
      • Requires Authentication: ☑
      • Routes:
        • /characteristics/id
    • Delete

      • Method: DELETE
      • Requires Authentication: ☑
      • Routes:
        • /characteristics/id
  • Types (Static Entity)

    • Attributes

      NAME TYPE NULLABLE TRANSLATABLE
      name String
    • Read:

      • Method: GET
      • Requires Authentication: ☐
      • Routes:
        • /types
  • Quotes

    • Attributes

      NAME TYPE NULLABLE TRANSLATABLE
      first_name String
      last_name String
      email String
      phone String
      notes String
      value Text
      user_id Number
      customer_id Boolean
    • Create:

      • Method: POST

      • Requires Authentication: ☑

      • Routes:

        • /quotes
      • Post params (Example):

        {
           attributes:{
              first_name: 'first_name',
              last_name: 'last_name',
              email: 'email',
              phone: 'phone',
              notes: 'notes',
              value: 'value',
              user_id: 1,
              customer_id: 1
           }
        }
        
    • Read:

      • Method: GET

      • Requires Authentication: ☐

      • Routes:

        • /quotes
        • /quotes/id
      • Filters

        search
        date
        order
        user
        customer
      • Includes

        user
        customer
    • Update

      • Method: PUT
      • Requires Authentication: ☑
      • Routes:
        • /characteristics/id
    • Delete

      • Method: DELETE
      • Requires Authentication: ☑
      • Routes:
        • /quotes/id