# Graph Ql

Please setup the Graph Ql extension at here: <https://github.com/landofcoder/module-product-label-graph-ql>

Or setup via composer by run commands:

```
composer require landofcoder/module-productlabel-graphql
php bin/magento module:enable Lof_ProductLabelGraphQl
php bin/magento setup:upgrade --keep-generated
php bin/magento cache:clean
```

### **Query**

## Magento 2 Module Lof RmaGraphQl

```
``landofcoder/module-rma-graph-ql``
```

* Main Functionalities
* Installation

### Main Functionalities

Graph QL supports for Magento 2 RMA extension.

### Installation

\* = in production please use the `--keep-generated` option

#### Type 1: Zip file

* Unzip the zip file in `app/code/Lof`
* Enable the module by running `php bin/magento module:enable Lof_RmaGraphQl`
* Apply database updates by running `php bin/magento setup:upgrade`\*
* Flush the cache by running `php bin/magento cache:flush`

#### Type 2: Composer

* Make the module available in a composer repository for example:
  * private repository `repo.magento.com`
  * public repository `packagist.org`
  * public github repository as vcs
* Add the composer repository to the configuration by running `composer config repositories.repo.magento.com composer https://repo.magento.com/`
* Install the module composer by running `composer require landofcoder/module-rma-graph-ql`
* enable the module by running `php bin/magento module:enable Lof_RmaGraphQl`
* apply database updates by running `php bin/magento setup:upgrade`\*
* Flush the cache by running `php bin/magento cache:flush`

### Query

#### Get Rma by ID

```
{
    LofRmaById(
        rma_id: String
    ){
        rma_id  
        increment_id  
        order_increment_id 
        return_address  
        customer_id 
        status_id 
        order_id  
        created_at
        updated_at 
        user_id 
        store_id 
        last_reply_name 
        last_reply_at 
        is_admin_read 
        parent_rma_id 
        customer_email 
        status 
        order_date
        order_status 
        shipping_address 
        messages {
            message_id  
            rma_id 
            user_id 
            customer_id  
            customer_name 
            text  
            is_html  
            is_visible_in_frontend 
            is_customer_notified 
            created_at 
            updated_at 
            is_read
            customer_email 
            }
        }
        items 
}
```

#### LofRmaList

```
{
    LofRmaList(
        search: String
        filter: RmaFilterInput
        pageSize: Int = 20
        currentPage: Int = 1
    ){
        items{
            rma_id  
            increment_id  
            order_increment_id 
            return_address  
            customer_id 
            status_id 
            order_id  
            created_at
            updated_at 
            user_id 
            store_id 
            last_reply_name 
            last_reply_at 
            is_admin_read 
            parent_rma_id 
            customer_email 
            status 
            order_date
            order_status 
            shipping_address 
            messages {
                message_id  
                rma_id 
                user_id 
                customer_id  
                customer_name 
                text  
                is_html  
                is_visible_in_frontend 
                is_customer_notified 
                created_at 
                updated_at 
                is_read
                customer_email 
                }
        }
        total_count: Int
    }
}
```

#### LofRmaOrderById

```
{
    LofRmaOrders(
        order_id: String
    ){
        entity_id
        order_date
        status
        number
        items: [OrderItemInterface]
        invoices: [Invoice]
        shipments: [OrderShipment] 
        credit_memos: [CreditMemo] 
        payment_methods: [OrderPaymentMethod]
        shipping_address
        billing_address
        carrier
        shipping_method
        comments: [SalesCommentItem] 
        increment_id
        order_number
        created_at
        grand_total
    }
}
```

#### LofRmaOrders

```
{
    LofRmaOrders(
        search: String
        filter: OrderFilterInput
        pageSize: Int = 20
        currentPage: Int = 1
    ){
        items{
            entity_id
            order_date
            status
            number
            items: [OrderItemInterface]
            invoices: [Invoice]
            shipments: [OrderShipment] 
            credit_memos: [CreditMemo] 
            payment_methods: [OrderPaymentMethod]
            shipping_address
            billing_address
            carrier
            shipping_method
            comments: [SalesCommentItem] 
            increment_id
            order_number
            created_at
            grand_total
        }
        total_count: Int
    }
}
```

### Mutation

#### Create a new Rma

```
{
    LofRmaCreateRma(input: RmaInput!)
}
```

#### Confirm Shipping

```
{
    LofRmaConfirmShipping(input: ConfirmInput!)
}
```

#### Send Message

```
{
    LofRmaSendMessage(input: RmaMessageInput!)
}
```
