FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
surecart
/
app
/
src
/
Controllers
/
Rest
Edit File: InvoicesController.php
<?php namespace SureCart\Controllers\Rest; use SureCart\Models\Invoice; /** * Handle Invoice requests through the REST API */ class InvoicesController extends RestController { /** * Always fetch with these subcollections. * * @var array */ protected $with = [ 'checkout', 'checkout.line_items', 'line_item.price', 'line_item.fees', 'line_item.variant', 'price.product', 'product.featured_product_media', 'product_media.media', 'checkout.customer', 'customer.shipping_address', 'customer.billing_address', 'checkout.payment_intent', 'checkout.discount', 'discount.promotion', 'discount.coupon', 'checkout.shipping_address', 'checkout.billing_address', 'checkout.shipping_choices', 'shipping_choices.shipping_method', 'payment_method.card', 'checkout.tax_identifier', 'checkout.order', 'checkout.payment_method', 'checkout.manual_payment_method', ]; /** * Class to make the requests. * * @var string */ protected $class = Invoice::class; /** * Make draft invoice. * * @param \WP_REST_Request $request Request object. * * @return Invoice|\WP_Error */ public function makeDraft( \WP_REST_Request $request ) { $class = new $this->class( $request->get_json_params() ); $class->id = $request['id']; $model = $this->middleware( $class, $request ); if ( is_wp_error( $model ) ) { return $model; } return $model->where( $request->get_query_params() )->makeDraft( $request['id'] ); } /** * Open an invoice. * * @param \WP_REST_Request $request Request object. * * @return Invoice|\WP_Error */ public function open( \WP_REST_Request $request ) { $class = new $this->class( $request->get_json_params() ); $class->id = $request['id']; $model = $this->middleware( $class, $request ); if ( is_wp_error( $model ) ) { return $model; } return $model->where( $request->get_query_params() )->open( $request['id'] ); } /** * Resend invoice notification. * * @param \WP_REST_Request $request Rest Request. * * @return \WP_REST_Response */ public function resend_notification( \WP_REST_Request $request ) { $model = $this->middleware( new $this->class(), $request ); if ( is_wp_error( $model ) ) { return $model; } return $model->where( $request->get_query_params() )->resend_notification( $request['id'] ); } }
Save
Back